{"name":"spectrocloud","version":"0.28.1","description":"A Pulumi provider dynamically bridged from spectrocloud.","attribution":"This Pulumi package is based on the [`spectrocloud` Terraform Provider](https://github.com/spectrocloud/terraform-provider-spectrocloud).","repository":"https://github.com/spectrocloud/terraform-provider-spectrocloud","publisher":"spectrocloud","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"language":{"csharp":{"compatibility":"tfbridge20","liftSingleValueMethodReturns":true,"respectSchemaVersion":true},"go":{"generateExtraInputTypes":true,"importBasePath":"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud","liftSingleValueMethodReturns":true,"respectSchemaVersion":true,"rootPackageName":"spectrocloud"},"java":{"basePackage":"","buildFiles":"","gradleNexusPublishPluginVersion":"","gradleTest":""},"nodejs":{"compatibility":"tfbridge20","disableUnionOutputTypes":true,"liftSingleValueMethodReturns":true,"packageDescription":"A Pulumi provider dynamically bridged from spectrocloud.","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/spectrocloud/terraform-provider-spectrocloud)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e please consult the source [`terraform-provider-spectrocloud` repo](https://github.com/spectrocloud/terraform-provider-spectrocloud/issues).","respectSchemaVersion":true},"python":{"compatibility":"tfbridge20","pyproject":{"enabled":true},"readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/spectrocloud/terraform-provider-spectrocloud)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e please consult the source [`terraform-provider-spectrocloud` repo](https://github.com/spectrocloud/terraform-provider-spectrocloud/issues).","respectSchemaVersion":true}},"config":{"variables":{"apiKey":{"type":"string","description":"The Spectro Cloud API key. Can also be set with the `SPECTROCLOUD_APIKEY` environment variable.","secret":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"},"ignoreInsecureTlsError":{"type":"boolean","description":"Ignore insecure TLS errors for Spectro Cloud API endpoints. ⚠️ WARNING: Setting this to true disables SSL certificate verification and makes connections vulnerable to man-in-the-middle attacks. Only use this in development/testing environments or when connecting to self-signed certificates in trusted networks. Defaults to false."},"projectName":{"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`."},"retryAttempts":{"type":"number","description":"Number of retry attempts. Can also be set with the `SPECTROCLOUD_RETRY_ATTEMPTS` environment variable. Defaults to 10."},"trace":{"type":"boolean"}}},"types":{"spectrocloud:index/AddonDeploymentClusterProfile:AddonDeploymentClusterProfile":{"properties":{"id":{"type":"string","description":"The ID of the cluster profile.\n"},"packs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FAddonDeploymentClusterProfilePack:AddonDeploymentClusterProfilePack"},"description":"For packs of type \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, at least one pack must be specified.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/AddonDeploymentClusterProfilePack:AddonDeploymentClusterProfilePack":{"properties":{"manifests":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FAddonDeploymentClusterProfilePackManifest:AddonDeploymentClusterProfilePackManifest"}},"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile.\n"},"registryName":{"type":"string","description":"The registry name of the pack. The registry name is the human-readable name of the registry. This attribute can be used instead of \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e for better readability. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field can be used along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"registryUid":{"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. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"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 \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e (or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e) to resolve the pack UID internally.\n"},"type":{"type":"string","description":"The type of the pack. Allowed values are \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e. The default value is spectro. If using an OCI registry for pack, set the type to \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e.\n"},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the \u003cspan pulumi-lang-nodejs=\"`spectrocloud.getPack`\" pulumi-lang-dotnet=\"`spectrocloud.getPack`\" pulumi-lang-go=\"`getPack`\" pulumi-lang-python=\"`get_pack`\" pulumi-lang-yaml=\"`spectrocloud.getPack`\" pulumi-lang-java=\"`spectrocloud.getPack`\"\u003e`spectrocloud.getPack`\u003c/span\u003e data source. This value is required if the pack type is \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e and for \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e if the chart is from a public helm registry. If not provided, all of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e must be specified to resolve the pack UID internally.\n"},"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.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["name","uid"]}}},"spectrocloud:index/AddonDeploymentClusterProfilePackManifest:AddonDeploymentClusterProfilePackManifest":{"properties":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest.\n"},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack.\n"},"uid":{"type":"string"}},"type":"object","required":["content","name"],"language":{"nodejs":{"requiredOutputs":["content","name","uid"]}}},"spectrocloud:index/AddonDeploymentTimeouts:AddonDeploymentTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/AlertHttp:AlertHttp":{"properties":{"body":{"type":"string","description":"The payload to include in the HTTP request body when the alert is triggered.\n"},"headers":{"type":"object","additionalProperties":{"type":"string"},"description":"Optional HTTP headers to include in the request. Each header should be specified as a key-value pair.\n"},"method":{"type":"string","description":"The HTTP method to use for the alert. Supported values are `POST`, `GET`, and `PUT`.\n"},"url":{"type":"string","description":"The target URL to send the HTTP request to when the alert is triggered.\n"}},"type":"object","required":["body","method","url"]},"spectrocloud:index/AlertStatus:AlertStatus":{"properties":{"isSucceeded":{"type":"boolean"},"message":{"type":"string"},"time":{"type":"string"}},"type":"object"},"spectrocloud:index/AlertTimeouts:AlertTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/ApplianceTimeouts:ApplianceTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/ApplicationConfig:ApplicationConfig":{"properties":{"clusterContext":{"type":"string","description":"The context for the cluster,  Either \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e can be provided.\n"},"clusterGroupUid":{"type":"string","description":"The unique identifier (UID) of the cluster group. Either \u003cspan pulumi-lang-nodejs=\"`clusterUid`\" pulumi-lang-dotnet=\"`ClusterUid`\" pulumi-lang-go=\"`clusterUid`\" pulumi-lang-python=\"`cluster_uid`\" pulumi-lang-yaml=\"`clusterUid`\" pulumi-lang-java=\"`clusterUid`\"\u003e`cluster_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`clusterGroupUid`\" pulumi-lang-dotnet=\"`ClusterGroupUid`\" pulumi-lang-go=\"`clusterGroupUid`\" pulumi-lang-python=\"`cluster_group_uid`\" pulumi-lang-yaml=\"`clusterGroupUid`\" pulumi-lang-java=\"`clusterGroupUid`\"\u003e`cluster_group_uid`\u003c/span\u003e can be provided.\n"},"clusterName":{"type":"string","description":"An optional name for the target cluster.\n"},"clusterUid":{"type":"string","description":"The unique identifier (UID) of the target cluster. Either \u003cspan pulumi-lang-nodejs=\"`clusterUid`\" pulumi-lang-dotnet=\"`ClusterUid`\" pulumi-lang-go=\"`clusterUid`\" pulumi-lang-python=\"`cluster_uid`\" pulumi-lang-yaml=\"`clusterUid`\" pulumi-lang-java=\"`clusterUid`\"\u003e`cluster_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`clusterGroupUid`\" pulumi-lang-dotnet=\"`ClusterGroupUid`\" pulumi-lang-go=\"`clusterGroupUid`\" pulumi-lang-python=\"`cluster_group_uid`\" pulumi-lang-yaml=\"`clusterGroupUid`\" pulumi-lang-java=\"`clusterGroupUid`\"\u003e`cluster_group_uid`\u003c/span\u003e can be provided.\n"},"limits":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FApplicationConfigLimit:ApplicationConfigLimit"},"description":"Optional resource limits for the application, including CPU, memory, and storage constraints.\n"}},"type":"object","required":["clusterContext"]},"spectrocloud:index/ApplicationConfigLimit:ApplicationConfigLimit":{"properties":{"cpu":{"type":"number","description":"The CPU allocation for the application, specified in integer values.\n"},"memory":{"type":"number","description":"The memory allocation for the application, specified in megabytes.\n"},"storage":{"type":"number","description":"The storage allocation for the application, specified in gigabytes.\n"}},"type":"object"},"spectrocloud:index/ApplicationProfilePack:ApplicationProfilePack":{"properties":{"installOrder":{"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 \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"manifests":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FApplicationProfilePackManifest:ApplicationProfilePackManifest"},"description":"The manifest of the pack.\n"},"name":{"type":"string","description":"The name of the specified pack.\n"},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"The various properties required by different database tiers eg: `databaseName` and `databaseVolumeSize` size for Redis etc.\n"},"registryName":{"type":"string","description":"The name of the registry to be used for the pack. This can be used instead of \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e for better readability. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"registryUid":{"type":"string","description":"The unique id of the registry to be used for the pack. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"sourceAppTier":{"type":"string","description":"The unique id of the pack to be used as the source for the pack.\n"},"tag":{"type":"string","description":"The identifier or version to label the pack.\n"},"type":{"type":"string","description":"The type of Pack. Allowed values are \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, or `operator-instance`.\n"},"uid":{"type":"string","description":"The unique id of the pack. This is a computed field and is not required to be set.\n"},"values":{"type":"string","description":"The values to be used for the pack. This is a stringified JSON object.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["name","uid"]}}},"spectrocloud:index/ApplicationProfilePackManifest:ApplicationProfilePackManifest":{"properties":{"content":{"type":"string","description":"The content of the manifest.\n"},"name":{"type":"string","description":"The name of the manifest.\n"},"uid":{"type":"string"}},"type":"object","required":["content","name"],"language":{"nodejs":{"requiredOutputs":["content","name","uid"]}}},"spectrocloud:index/ApplicationProfileTimeouts:ApplicationProfileTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/ApplicationTimeouts:ApplicationTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/BackupStorageLocationAzureStorageConfig:BackupStorageLocationAzureStorageConfig":{"properties":{"azureClientId":{"type":"string","description":"Unique client Id from Azure console.\n"},"azureClientSecret":{"type":"string","description":"Azure secret for authentication.\n","secret":true},"azureTenantId":{"type":"string","description":"Unique tenant Id from Azure console.\n"},"containerName":{"type":"string","description":"The container name.\n"},"resourceGroup":{"type":"string","description":"The resource group name.\n"},"stockKeepingUnit":{"type":"string","description":"The stop-keeping unit. eg: `Standard_LRS`\n"},"storageName":{"type":"string","description":"The storage name.\n"},"subscriptionId":{"type":"string","description":"Unique subscription Id from Azure console.\n"}},"type":"object","required":["azureClientId","azureClientSecret","azureTenantId","containerName","resourceGroup","stockKeepingUnit","storageName","subscriptionId"]},"spectrocloud:index/BackupStorageLocationGcpStorageConfig:BackupStorageLocationGcpStorageConfig":{"properties":{"gcpJsonCredentials":{"type":"string","description":"The GCP credentials in JSON format. These credentials are required to authenticate and manage.\n","secret":true},"projectId":{"type":"string","description":"The GCP project ID.\n"}},"type":"object","required":["gcpJsonCredentials","projectId"]},"spectrocloud:index/BackupStorageLocationS3:BackupStorageLocationS3":{"properties":{"accessKey":{"type":"string","description":"The access key for S3 authentication, required if 'credential_type' is set to 'secret'.\n"},"arn":{"type":"string","description":"The Amazon Resource Name (ARN) of the IAM role to assume for accessing S3 when using 'sts' credentials.\n"},"credentialType":{"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.\n"},"externalId":{"type":"string","description":"An external ID used for cross-account access to the S3 storage when using 'sts' credentials.\n"},"s3ForcePathStyle":{"type":"boolean","description":"A boolean flag indicating whether to enforce the path-style URL for accessing S3.\n"},"s3Url":{"type":"string","description":"The S3 URL endpoint.\n"},"secretKey":{"type":"string","description":"The secret key for S3 authentication, required if 'credential_type' is set to 'secret'.\n","secret":true}},"type":"object","required":["credentialType"]},"spectrocloud:index/BackupStorageLocationTimeouts:BackupStorageLocationTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/ClusterAksBackupPolicy:ClusterAksBackupPolicy":{"properties":{"backupLocationId":{"type":"string","description":"The ID of the backup location to use for the backup.\n"},"clusterUids":{"type":"array","items":{"type":"string"},"description":"The list of cluster UIDs to include in the backup. If \u003cspan pulumi-lang-nodejs=\"`includeAllClusters`\" pulumi-lang-dotnet=\"`IncludeAllClusters`\" pulumi-lang-go=\"`includeAllClusters`\" pulumi-lang-python=\"`include_all_clusters`\" pulumi-lang-yaml=\"`includeAllClusters`\" pulumi-lang-java=\"`includeAllClusters`\"\u003e`include_all_clusters`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then all clusters will be included.\n"},"expiryInHour":{"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.\n"},"includeAllClusters":{"type":"boolean","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in \u003cspan pulumi-lang-nodejs=\"`clusterUids`\" pulumi-lang-dotnet=\"`ClusterUids`\" pulumi-lang-go=\"`clusterUids`\" pulumi-lang-python=\"`cluster_uids`\" pulumi-lang-yaml=\"`clusterUids`\" pulumi-lang-java=\"`clusterUids`\"\u003e`cluster_uids`\u003c/span\u003e will be included.\n"},"includeClusterResources":{"type":"boolean","description":"Indicates whether to include 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 deprecated, and a new attribute, include*cluster*resources_mode, will be introduced.)\n"},"includeClusterResourcesMode":{"type":"string","description":"Specifies whether to include the cluster resources in the backup. Supported values are \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\"\u003e`never`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\"\u003e`auto`\u003c/span\u003e.\n"},"includeDisks":{"type":"boolean","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.\n"},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \\n\\n-\\n\\n-\\n\\n.\n"},"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 * * *`.\n"}},"type":"object","required":["backupLocationId","expiryInHour","prefix","schedule"]},"spectrocloud:index/ClusterAksCloudConfig:ClusterAksCloudConfig":{"properties":{"controlPlaneCidr":{"type":"string"},"controlPlaneSubnetName":{"type":"string"},"controlPlaneSubnetSecurityGroupName":{"type":"string"},"privateCluster":{"type":"boolean","description":"Whether to create a private cluster(API endpoint). Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"region":{"type":"string"},"resourceGroup":{"type":"string"},"sshKey":{"type":"string","description":"Public SSH key to be used for the cluster nodes.\n"},"subscriptionId":{"type":"string"},"vnetCidrBlock":{"type":"string"},"vnetName":{"type":"string"},"vnetResourceGroup":{"type":"string"},"workerCidr":{"type":"string"},"workerSubnetName":{"type":"string"},"workerSubnetSecurityGroupName":{"type":"string"}},"type":"object","required":["region","resourceGroup","sshKey","subscriptionId"]},"spectrocloud:index/ClusterAksClusterProfile:ClusterAksClusterProfile":{"properties":{"id":{"type":"string","description":"The ID of the cluster profile.\n"},"packs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAksClusterProfilePack:ClusterAksClusterProfilePack"},"description":"For packs of type \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, at least one pack must be specified.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterAksClusterProfilePack:ClusterAksClusterProfilePack":{"properties":{"manifests":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAksClusterProfilePackManifest:ClusterAksClusterProfilePackManifest"}},"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile.\n"},"registryName":{"type":"string","description":"The registry name of the pack. The registry name is the human-readable name of the registry. This attribute can be used instead of \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e for better readability. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field can be used along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"registryUid":{"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. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"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 \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e (or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e) to resolve the pack UID internally.\n"},"type":{"type":"string","description":"The type of the pack. Allowed values are \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e. The default value is spectro. If using an OCI registry for pack, set the type to \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e.\n"},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the \u003cspan pulumi-lang-nodejs=\"`spectrocloud.getPack`\" pulumi-lang-dotnet=\"`spectrocloud.getPack`\" pulumi-lang-go=\"`getPack`\" pulumi-lang-python=\"`get_pack`\" pulumi-lang-yaml=\"`spectrocloud.getPack`\" pulumi-lang-java=\"`spectrocloud.getPack`\"\u003e`spectrocloud.getPack`\u003c/span\u003e data source. This value is required if the pack type is \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e and for \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e if the chart is from a public helm registry. If not provided, all of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e must be specified to resolve the pack UID internally.\n"},"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.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["name","uid"]}}},"spectrocloud:index/ClusterAksClusterProfilePackManifest:ClusterAksClusterProfilePackManifest":{"properties":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest.\n"},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack.\n"},"uid":{"type":"string"}},"type":"object","required":["content","name"],"language":{"nodejs":{"requiredOutputs":["content","name","uid"]}}},"spectrocloud:index/ClusterAksClusterRbacBinding:ClusterAksClusterRbacBinding":{"properties":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.\n"},"role":{"type":"object","additionalProperties":{"type":"string"},"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'. Must include 'name' and 'kind' fields.\n"},"subjects":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAksClusterRbacBindingSubject:ClusterAksClusterRbacBindingSubject"}},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.\n"}},"type":"object","required":["type"]},"spectrocloud:index/ClusterAksClusterRbacBindingSubject:ClusterAksClusterRbacBindingSubject":{"properties":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.\n"},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.\n"},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.\n"}},"type":"object","required":["name","type"]},"spectrocloud:index/ClusterAksClusterTemplate:ClusterAksClusterTemplate":{"properties":{"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAksClusterTemplateClusterProfile:ClusterAksClusterTemplateClusterProfile"},"description":"The cluster profile of the cluster template.\n"},"id":{"type":"string","description":"The ID of the cluster template.\n"},"name":{"type":"string","description":"The name of the cluster template.\n"}},"type":"object","required":["id"],"language":{"nodejs":{"requiredOutputs":["id","name"]}}},"spectrocloud:index/ClusterAksClusterTemplateClusterProfile:ClusterAksClusterTemplateClusterProfile":{"properties":{"id":{"type":"string","description":"The UID of the cluster profile.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterAksHostConfig:ClusterAksHostConfig":{"properties":{"externalTrafficPolicy":{"type":"string","description":"The external traffic policy for the cluster.\n"},"hostEndpointType":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.\n"},"ingressHost":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host*endpoint*type' is set to 'Ingress'.\n"},"loadBalancerSourceRanges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host*endpoint*type' is set to 'LoadBalancer'.\n"}},"type":"object"},"spectrocloud:index/ClusterAksLocationConfig:ClusterAksLocationConfig":{"properties":{"countryCode":{"type":"string"},"countryName":{"type":"string"},"latitude":{"type":"number"},"longitude":{"type":"number"},"regionCode":{"type":"string"},"regionName":{"type":"string"}},"type":"object","required":["countryCode","countryName","latitude","longitude","regionCode","regionName"]},"spectrocloud:index/ClusterAksMachinePool:ClusterAksMachinePool":{"properties":{"additionalAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional annotations to be applied to the machine pool. Annotations must be in the form of `key:value`.\n"},"additionalLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional labels to be applied to the machine pool. Labels must be in the form of `key:value`.\n"},"count":{"type":"number","description":"Number of nodes in the machine pool.\n"},"diskSizeGb":{"type":"number"},"instanceType":{"type":"string"},"isSystemNodePool":{"type":"boolean"},"max":{"type":"number","description":"Maximum number of nodes in the machine pool. This is used for autoscaling the machine pool.\n"},"min":{"type":"number","description":"Minimum number of nodes in the machine pool. This is used for autoscaling the machine pool.\n"},"name":{"type":"string"},"nodes":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAksMachinePoolNode:ClusterAksMachinePoolNode"}},"overrideKubeadmConfiguration":{"type":"string","description":"YAML config for kubeletExtraArgs, preKubeadmCommands, postKubeadmCommands. Overrides pack-level settings. Worker pools only.\n"},"overrideScaling":{"$ref":"#/types/spectrocloud:index%2FClusterAksMachinePoolOverrideScaling:ClusterAksMachinePoolOverrideScaling","description":"Rolling update strategy for the machine pool.\n"},"storageAccountType":{"type":"string"},"taints":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAksMachinePoolTaint:ClusterAksMachinePoolTaint"}},"updateStrategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut`, `RollingUpdateScaleIn` and `OverrideScaling`. If `OverrideScaling` is used, \u003cspan pulumi-lang-nodejs=\"`overrideScaling`\" pulumi-lang-dotnet=\"`OverrideScaling`\" pulumi-lang-go=\"`overrideScaling`\" pulumi-lang-python=\"`override_scaling`\" pulumi-lang-yaml=\"`overrideScaling`\" pulumi-lang-java=\"`overrideScaling`\"\u003e`override_scaling`\u003c/span\u003e must be specified with both \u003cspan pulumi-lang-nodejs=\"`maxSurge`\" pulumi-lang-dotnet=\"`MaxSurge`\" pulumi-lang-go=\"`maxSurge`\" pulumi-lang-python=\"`max_surge`\" pulumi-lang-yaml=\"`maxSurge`\" pulumi-lang-java=\"`maxSurge`\"\u003e`max_surge`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maxUnavailable`\" pulumi-lang-dotnet=\"`MaxUnavailable`\" pulumi-lang-go=\"`maxUnavailable`\" pulumi-lang-python=\"`max_unavailable`\" pulumi-lang-yaml=\"`maxUnavailable`\" pulumi-lang-java=\"`maxUnavailable`\"\u003e`max_unavailable`\u003c/span\u003e.\n"}},"type":"object","required":["count","diskSizeGb","instanceType","isSystemNodePool","name","storageAccountType"]},"spectrocloud:index/ClusterAksMachinePoolNode:ClusterAksMachinePoolNode":{"properties":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: \u003cspan pulumi-lang-nodejs=\"`cordon`\" pulumi-lang-dotnet=\"`Cordon`\" pulumi-lang-go=\"`cordon`\" pulumi-lang-python=\"`cordon`\" pulumi-lang-yaml=\"`cordon`\" pulumi-lang-java=\"`cordon`\"\u003e`cordon`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`uncordon`\" pulumi-lang-dotnet=\"`Uncordon`\" pulumi-lang-go=\"`uncordon`\" pulumi-lang-python=\"`uncordon`\" pulumi-lang-yaml=\"`uncordon`\" pulumi-lang-java=\"`uncordon`\"\u003e`uncordon`\u003c/span\u003e.\n"},"nodeId":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" nodeId \" pulumi-lang-dotnet=\" NodeId \" pulumi-lang-go=\" nodeId \" pulumi-lang-python=\" node_id \" pulumi-lang-yaml=\" nodeId \" pulumi-lang-java=\" nodeId \"\u003e node_id \u003c/span\u003eof the node, For example `i-07f899a33dee624f7`\n"}},"type":"object","required":["action","nodeId"]},"spectrocloud:index/ClusterAksMachinePoolOverrideScaling:ClusterAksMachinePoolOverrideScaling":{"properties":{"maxSurge":{"type":"string","description":"Max extra nodes during rolling update. Integer or percentage (e.g., '1' or '20%'). Only valid when type=OverrideScaling. Both maxSurge and maxUnavailable are required.\n"},"maxUnavailable":{"type":"string","description":"Max unavailable nodes during rolling update. Integer or percentage (e.g., '0' or '10%'). Only valid when type=OverrideScaling. Both maxSurge and maxUnavailable are required.\n"}},"type":"object"},"spectrocloud:index/ClusterAksMachinePoolTaint:ClusterAksMachinePoolTaint":{"properties":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.\n"},"key":{"type":"string","description":"The key of the taint.\n"},"value":{"type":"string","description":"The value of the taint.\n"}},"type":"object","required":["effect","key","value"]},"spectrocloud:index/ClusterAksNamespace:ClusterAksNamespace":{"properties":{"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.\n"},"resourceAllocation":{"type":"object","additionalProperties":{"type":"string"},"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048', gpu_limit: '1', gpu_provider: 'nvidia'}`\n"}},"type":"object","required":["name","resourceAllocation"]},"spectrocloud:index/ClusterAksScanPolicy:ClusterAksScanPolicy":{"properties":{"configurationScanSchedule":{"type":"string","description":"The schedule for configuration scan.\n"},"conformanceScanSchedule":{"type":"string","description":"The schedule for conformance scan.\n"},"penetrationScanSchedule":{"type":"string","description":"The schedule for penetration scan.\n"}},"type":"object","required":["configurationScanSchedule","conformanceScanSchedule","penetrationScanSchedule"]},"spectrocloud:index/ClusterAksTimeouts:ClusterAksTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/ClusterApacheCloudstackBackupPolicy:ClusterApacheCloudstackBackupPolicy":{"properties":{"backupLocationId":{"type":"string","description":"The ID of the backup location to use for the backup.\n"},"clusterUids":{"type":"array","items":{"type":"string"},"description":"The list of cluster UIDs to include in the backup. If \u003cspan pulumi-lang-nodejs=\"`includeAllClusters`\" pulumi-lang-dotnet=\"`IncludeAllClusters`\" pulumi-lang-go=\"`includeAllClusters`\" pulumi-lang-python=\"`include_all_clusters`\" pulumi-lang-yaml=\"`includeAllClusters`\" pulumi-lang-java=\"`includeAllClusters`\"\u003e`include_all_clusters`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then all clusters will be included.\n"},"expiryInHour":{"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.\n"},"includeAllClusters":{"type":"boolean","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in \u003cspan pulumi-lang-nodejs=\"`clusterUids`\" pulumi-lang-dotnet=\"`ClusterUids`\" pulumi-lang-go=\"`clusterUids`\" pulumi-lang-python=\"`cluster_uids`\" pulumi-lang-yaml=\"`clusterUids`\" pulumi-lang-java=\"`clusterUids`\"\u003e`cluster_uids`\u003c/span\u003e will be included.\n"},"includeClusterResources":{"type":"boolean","description":"Indicates whether to include 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 deprecated, and a new attribute, include*cluster*resources_mode, will be introduced.)\n"},"includeClusterResourcesMode":{"type":"string","description":"Specifies whether to include the cluster resources in the backup. Supported values are \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\"\u003e`never`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\"\u003e`auto`\u003c/span\u003e.\n"},"includeDisks":{"type":"boolean","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.\n"},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \\n\\n-\\n\\n-\\n\\n.\n"},"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 * * *`.\n"}},"type":"object","required":["backupLocationId","expiryInHour","prefix","schedule"]},"spectrocloud:index/ClusterApacheCloudstackCloudConfig:ClusterApacheCloudstackCloudConfig":{"properties":{"controlPlaneEndpoint":{"type":"string","description":"Endpoint IP to be used for the API server. Should only be set for static CloudStack networks.\n"},"project":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackCloudConfigProject:ClusterApacheCloudstackCloudConfigProject","description":"CloudStack project configuration (optional). If not specified, the cluster will be created in the domain's default project.\n"},"sshKeyName":{"type":"string","description":"SSH key name for accessing cluster nodes.\n"},"syncWithCks":{"type":"boolean","description":"Determines if an external managed CKS (CloudStack Kubernetes Service) cluster should be created. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"zones":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackCloudConfigZone:ClusterApacheCloudstackCloudConfigZone"},"description":"List of CloudStack zones for multi-AZ deployments. If only one zone is specified, it will be treated as single-zone deployment.\n"}},"type":"object","required":["zones"]},"spectrocloud:index/ClusterApacheCloudstackCloudConfigProject:ClusterApacheCloudstackCloudConfigProject":{"properties":{"id":{"type":"string","description":"CloudStack project ID.\n"},"name":{"type":"string","description":"CloudStack project name.\n"}},"type":"object"},"spectrocloud:index/ClusterApacheCloudstackCloudConfigZone:ClusterApacheCloudstackCloudConfigZone":{"properties":{"id":{"type":"string","description":"CloudStack zone ID. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e can be used to identify the zone. If both are specified, \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e takes precedence.\n"},"name":{"type":"string","description":"CloudStack zone name where the cluster will be deployed.\n"},"network":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackCloudConfigZoneNetwork:ClusterApacheCloudstackCloudConfigZoneNetwork","description":"Network configuration for this zone.\n"}},"type":"object","required":["name"]},"spectrocloud:index/ClusterApacheCloudstackCloudConfigZoneNetwork:ClusterApacheCloudstackCloudConfigZoneNetwork":{"properties":{"gateway":{"type":"string","description":"Gateway IP address for the network.\n"},"id":{"type":"string","description":"Network ID in CloudStack. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e can be used to identify the network. If both are specified, \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e takes precedence.\n"},"name":{"type":"string","description":"Network name in this zone.\n"},"netmask":{"type":"string","description":"Network mask for the network.\n"},"offering":{"type":"string","description":"Network offering name to use when creating the network. Optional for advanced network configurations.\n"},"routingMode":{"type":"string","description":"Routing mode for the network (e.g., Static, Dynamic). Optional, defaults to CloudStack's default routing mode.\n"},"type":{"type":"string","description":"Network type: Isolated, Shared, etc.\n"},"vpc":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackCloudConfigZoneNetworkVpc:ClusterApacheCloudstackCloudConfigZoneNetworkVpc","description":"VPC configuration for VPC-based network deployments. Optional, only needed when deploying in a VPC.\n"}},"type":"object","required":["name"]},"spectrocloud:index/ClusterApacheCloudstackCloudConfigZoneNetworkVpc:ClusterApacheCloudstackCloudConfigZoneNetworkVpc":{"properties":{"cidr":{"type":"string","description":"CIDR block for the VPC (e.g., 10.0.0.0/16).\n"},"id":{"type":"string","description":"VPC ID. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e can be used to identify the VPC. If both are specified, \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e takes precedence.\n"},"name":{"type":"string","description":"VPC name.\n"},"offering":{"type":"string","description":"VPC offering name.\n"}},"type":"object","required":["name"]},"spectrocloud:index/ClusterApacheCloudstackClusterProfile:ClusterApacheCloudstackClusterProfile":{"properties":{"id":{"type":"string","description":"The ID of the cluster profile.\n"},"packs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackClusterProfilePack:ClusterApacheCloudstackClusterProfilePack"},"description":"For packs of type \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, at least one pack must be specified.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterApacheCloudstackClusterProfilePack:ClusterApacheCloudstackClusterProfilePack":{"properties":{"manifests":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackClusterProfilePackManifest:ClusterApacheCloudstackClusterProfilePackManifest"}},"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile.\n"},"registryName":{"type":"string","description":"The registry name of the pack. The registry name is the human-readable name of the registry. This attribute can be used instead of \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e for better readability. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field can be used along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"registryUid":{"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. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"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 \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e (or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e) to resolve the pack UID internally.\n"},"type":{"type":"string","description":"The type of the pack. Allowed values are \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e. The default value is spectro. If using an OCI registry for pack, set the type to \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e.\n"},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the \u003cspan pulumi-lang-nodejs=\"`spectrocloud.getPack`\" pulumi-lang-dotnet=\"`spectrocloud.getPack`\" pulumi-lang-go=\"`getPack`\" pulumi-lang-python=\"`get_pack`\" pulumi-lang-yaml=\"`spectrocloud.getPack`\" pulumi-lang-java=\"`spectrocloud.getPack`\"\u003e`spectrocloud.getPack`\u003c/span\u003e data source. This value is required if the pack type is \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e and for \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e if the chart is from a public helm registry. If not provided, all of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e must be specified to resolve the pack UID internally.\n"},"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.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["name","uid"]}}},"spectrocloud:index/ClusterApacheCloudstackClusterProfilePackManifest:ClusterApacheCloudstackClusterProfilePackManifest":{"properties":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest.\n"},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack.\n"},"uid":{"type":"string"}},"type":"object","required":["content","name"],"language":{"nodejs":{"requiredOutputs":["content","name","uid"]}}},"spectrocloud:index/ClusterApacheCloudstackClusterRbacBinding:ClusterApacheCloudstackClusterRbacBinding":{"properties":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.\n"},"role":{"type":"object","additionalProperties":{"type":"string"},"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'. Must include 'name' and 'kind' fields.\n"},"subjects":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackClusterRbacBindingSubject:ClusterApacheCloudstackClusterRbacBindingSubject"}},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.\n"}},"type":"object","required":["type"]},"spectrocloud:index/ClusterApacheCloudstackClusterRbacBindingSubject:ClusterApacheCloudstackClusterRbacBindingSubject":{"properties":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.\n"},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.\n"},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.\n"}},"type":"object","required":["name","type"]},"spectrocloud:index/ClusterApacheCloudstackClusterTemplate:ClusterApacheCloudstackClusterTemplate":{"properties":{"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackClusterTemplateClusterProfile:ClusterApacheCloudstackClusterTemplateClusterProfile"},"description":"The cluster profile of the cluster template.\n"},"id":{"type":"string","description":"The ID of the cluster template.\n"},"name":{"type":"string","description":"The name of the cluster template.\n"}},"type":"object","required":["id"],"language":{"nodejs":{"requiredOutputs":["id","name"]}}},"spectrocloud:index/ClusterApacheCloudstackClusterTemplateClusterProfile:ClusterApacheCloudstackClusterTemplateClusterProfile":{"properties":{"id":{"type":"string","description":"The UID of the cluster profile.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterApacheCloudstackHostConfig:ClusterApacheCloudstackHostConfig":{"properties":{"externalTrafficPolicy":{"type":"string","description":"The external traffic policy for the cluster.\n"},"hostEndpointType":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.\n"},"ingressHost":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host*endpoint*type' is set to 'Ingress'.\n"},"loadBalancerSourceRanges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host*endpoint*type' is set to 'LoadBalancer'.\n"}},"type":"object"},"spectrocloud:index/ClusterApacheCloudstackLocationConfig:ClusterApacheCloudstackLocationConfig":{"properties":{"countryCode":{"type":"string"},"countryName":{"type":"string"},"latitude":{"type":"number"},"longitude":{"type":"number"},"regionCode":{"type":"string"},"regionName":{"type":"string"}},"type":"object","required":["countryCode","countryName","latitude","longitude","regionCode","regionName"]},"spectrocloud:index/ClusterApacheCloudstackMachinePool:ClusterApacheCloudstackMachinePool":{"properties":{"additionalAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional annotation to be applied to the machine pool. annotation must be in the form of `key:value`.\n"},"additionalLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional labels to be applied to the machine pool. Labels must be in the form of `key:value`.\n"},"controlPlane":{"type":"boolean","description":"Whether this machine pool is a control plane. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"controlPlaneAsWorker":{"type":"boolean","description":"Whether this machine pool is a control plane and a worker. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"count":{"type":"number","description":"Number of nodes in the machine pool.\n"},"instanceConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackMachinePoolInstanceConfig:ClusterApacheCloudstackMachinePoolInstanceConfig"},"description":"Instance configuration details returned by the CloudStack API. This is a computed field based on the selected offering.\n"},"max":{"type":"number","description":"Maximum number of nodes in the machine pool. This is used for autoscaling.\n"},"min":{"type":"number","description":"Minimum number of nodes in the machine pool. This is used for autoscaling.\n"},"name":{"type":"string","description":"Name of the machine pool.\n"},"networks":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackMachinePoolNetwork:ClusterApacheCloudstackMachinePoolNetwork"},"description":"Network configuration for the machine pool instances.\n"},"nodeRepaveInterval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, Applicable only for worker pools.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackMachinePoolNode:ClusterApacheCloudstackMachinePoolNode"}},"offering":{"type":"string","description":"Apache CloudStack compute offering (instance type/size) name.\n"},"overrideKubeadmConfiguration":{"type":"string","description":"YAML config for kubeletExtraArgs, preKubeadmCommands, postKubeadmCommands. Overrides pack-level settings. Worker pools only.\n"},"overrideScaling":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackMachinePoolOverrideScaling:ClusterApacheCloudstackMachinePoolOverrideScaling","description":"Rolling update strategy for the machine pool.\n"},"taints":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackMachinePoolTaint:ClusterApacheCloudstackMachinePoolTaint"}},"template":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackMachinePoolTemplate:ClusterApacheCloudstackMachinePoolTemplate","description":"Apache CloudStack template override for this machine pool. If not specified, inherits cluster default.\n"},"updateStrategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut`, `RollingUpdateScaleIn` and `OverrideScaling`. If `OverrideScaling` is used, \u003cspan pulumi-lang-nodejs=\"`overrideScaling`\" pulumi-lang-dotnet=\"`OverrideScaling`\" pulumi-lang-go=\"`overrideScaling`\" pulumi-lang-python=\"`override_scaling`\" pulumi-lang-yaml=\"`overrideScaling`\" pulumi-lang-java=\"`overrideScaling`\"\u003e`override_scaling`\u003c/span\u003e must be specified with both \u003cspan pulumi-lang-nodejs=\"`maxSurge`\" pulumi-lang-dotnet=\"`MaxSurge`\" pulumi-lang-go=\"`maxSurge`\" pulumi-lang-python=\"`max_surge`\" pulumi-lang-yaml=\"`maxSurge`\" pulumi-lang-java=\"`maxSurge`\"\u003e`max_surge`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maxUnavailable`\" pulumi-lang-dotnet=\"`MaxUnavailable`\" pulumi-lang-go=\"`maxUnavailable`\" pulumi-lang-python=\"`max_unavailable`\" pulumi-lang-yaml=\"`maxUnavailable`\" pulumi-lang-java=\"`maxUnavailable`\"\u003e`max_unavailable`\u003c/span\u003e.\n"}},"type":"object","required":["count","name","offering"],"language":{"nodejs":{"requiredOutputs":["count","instanceConfigs","name","offering"]}}},"spectrocloud:index/ClusterApacheCloudstackMachinePoolInstanceConfig:ClusterApacheCloudstackMachinePoolInstanceConfig":{"properties":{"category":{"type":"string"},"cpuSet":{"type":"number"},"diskGib":{"type":"number"},"memoryMib":{"type":"number"},"name":{"type":"string"},"numCpus":{"type":"number"}},"type":"object","required":["category","cpuSet","diskGib","memoryMib","name","numCpus"]},"spectrocloud:index/ClusterApacheCloudstackMachinePoolNetwork:ClusterApacheCloudstackMachinePoolNetwork":{"properties":{"ipAddress":{"type":"string","description":"Static IP address to assign. **DEPRECATED**: This field is no longer supported by CloudStack and will be ignored.\n","deprecationMessage":"Deprecated"},"networkName":{"type":"string","description":"Network name to attach to the machine pool.\n"}},"type":"object","required":["networkName"]},"spectrocloud:index/ClusterApacheCloudstackMachinePoolNode:ClusterApacheCloudstackMachinePoolNode":{"properties":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: \u003cspan pulumi-lang-nodejs=\"`cordon`\" pulumi-lang-dotnet=\"`Cordon`\" pulumi-lang-go=\"`cordon`\" pulumi-lang-python=\"`cordon`\" pulumi-lang-yaml=\"`cordon`\" pulumi-lang-java=\"`cordon`\"\u003e`cordon`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`uncordon`\" pulumi-lang-dotnet=\"`Uncordon`\" pulumi-lang-go=\"`uncordon`\" pulumi-lang-python=\"`uncordon`\" pulumi-lang-yaml=\"`uncordon`\" pulumi-lang-java=\"`uncordon`\"\u003e`uncordon`\u003c/span\u003e.\n"},"nodeId":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" nodeId \" pulumi-lang-dotnet=\" NodeId \" pulumi-lang-go=\" nodeId \" pulumi-lang-python=\" node_id \" pulumi-lang-yaml=\" nodeId \" pulumi-lang-java=\" nodeId \"\u003e node_id \u003c/span\u003eof the node, For example `i-07f899a33dee624f7`\n"}},"type":"object","required":["action","nodeId"]},"spectrocloud:index/ClusterApacheCloudstackMachinePoolOverrideScaling:ClusterApacheCloudstackMachinePoolOverrideScaling":{"properties":{"maxSurge":{"type":"string","description":"Max extra nodes during rolling update. Integer or percentage (e.g., '1' or '20%'). Only valid when type=OverrideScaling. Both maxSurge and maxUnavailable are required.\n"},"maxUnavailable":{"type":"string","description":"Max unavailable nodes during rolling update. Integer or percentage (e.g., '0' or '10%'). Only valid when type=OverrideScaling. Both maxSurge and maxUnavailable are required.\n"}},"type":"object"},"spectrocloud:index/ClusterApacheCloudstackMachinePoolTaint:ClusterApacheCloudstackMachinePoolTaint":{"properties":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.\n"},"key":{"type":"string","description":"The key of the taint.\n"},"value":{"type":"string","description":"The value of the taint.\n"}},"type":"object","required":["effect","key","value"]},"spectrocloud:index/ClusterApacheCloudstackMachinePoolTemplate:ClusterApacheCloudstackMachinePoolTemplate":{"properties":{"id":{"type":"string","description":"Template ID. Either ID or name must be provided.\n"},"name":{"type":"string","description":"Template name. Either ID or name must be provided.\n"}},"type":"object"},"spectrocloud:index/ClusterApacheCloudstackNamespace:ClusterApacheCloudstackNamespace":{"properties":{"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.\n"},"resourceAllocation":{"type":"object","additionalProperties":{"type":"string"},"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048', gpu_limit: '1', gpu_provider: 'nvidia'}`\n"}},"type":"object","required":["name","resourceAllocation"]},"spectrocloud:index/ClusterApacheCloudstackScanPolicy:ClusterApacheCloudstackScanPolicy":{"properties":{"configurationScanSchedule":{"type":"string","description":"The schedule for configuration scan.\n"},"conformanceScanSchedule":{"type":"string","description":"The schedule for conformance scan.\n"},"penetrationScanSchedule":{"type":"string","description":"The schedule for penetration scan.\n"}},"type":"object","required":["configurationScanSchedule","conformanceScanSchedule","penetrationScanSchedule"]},"spectrocloud:index/ClusterApacheCloudstackTimeouts:ClusterApacheCloudstackTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/ClusterAwsBackupPolicy:ClusterAwsBackupPolicy":{"properties":{"backupLocationId":{"type":"string","description":"The ID of the backup location to use for the backup.\n"},"clusterUids":{"type":"array","items":{"type":"string"},"description":"The list of cluster UIDs to include in the backup. If \u003cspan pulumi-lang-nodejs=\"`includeAllClusters`\" pulumi-lang-dotnet=\"`IncludeAllClusters`\" pulumi-lang-go=\"`includeAllClusters`\" pulumi-lang-python=\"`include_all_clusters`\" pulumi-lang-yaml=\"`includeAllClusters`\" pulumi-lang-java=\"`includeAllClusters`\"\u003e`include_all_clusters`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then all clusters will be included.\n"},"expiryInHour":{"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.\n"},"includeAllClusters":{"type":"boolean","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in \u003cspan pulumi-lang-nodejs=\"`clusterUids`\" pulumi-lang-dotnet=\"`ClusterUids`\" pulumi-lang-go=\"`clusterUids`\" pulumi-lang-python=\"`cluster_uids`\" pulumi-lang-yaml=\"`clusterUids`\" pulumi-lang-java=\"`clusterUids`\"\u003e`cluster_uids`\u003c/span\u003e will be included.\n"},"includeClusterResources":{"type":"boolean","description":"Indicates whether to include 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 deprecated, and a new attribute, include*cluster*resources_mode, will be introduced.)\n"},"includeClusterResourcesMode":{"type":"string","description":"Specifies whether to include the cluster resources in the backup. Supported values are \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\"\u003e`never`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\"\u003e`auto`\u003c/span\u003e.\n"},"includeDisks":{"type":"boolean","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.\n"},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \\n\\n-\\n\\n-\\n\\n.\n"},"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 * * *`.\n"}},"type":"object","required":["backupLocationId","expiryInHour","prefix","schedule"]},"spectrocloud:index/ClusterAwsCloudConfig:ClusterAwsCloudConfig":{"properties":{"controlPlaneLb":{"type":"string","description":"Control plane load balancer type. Valid values are `Internet-facing` and \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e. Defaults to `` (empty string).\n"},"region":{"type":"string","description":"The AWS region to deploy the cluster in.\n"},"sshKeyName":{"type":"string","description":"Public SSH key to be used for the cluster nodes.\n"},"vpcId":{"type":"string","description":"The VPC ID to deploy the cluster in. If not provided, VPC will be provisioned dynamically.\n"}},"type":"object","required":["region","sshKeyName"]},"spectrocloud:index/ClusterAwsClusterProfile:ClusterAwsClusterProfile":{"properties":{"id":{"type":"string","description":"The ID of the cluster profile.\n"},"packs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAwsClusterProfilePack:ClusterAwsClusterProfilePack"},"description":"For packs of type \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, at least one pack must be specified.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterAwsClusterProfilePack:ClusterAwsClusterProfilePack":{"properties":{"manifests":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAwsClusterProfilePackManifest:ClusterAwsClusterProfilePackManifest"}},"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile.\n"},"registryName":{"type":"string","description":"The registry name of the pack. The registry name is the human-readable name of the registry. This attribute can be used instead of \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e for better readability. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field can be used along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"registryUid":{"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. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"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 \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e (or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e) to resolve the pack UID internally.\n"},"type":{"type":"string","description":"The type of the pack. Allowed values are \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e. The default value is spectro. If using an OCI registry for pack, set the type to \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e.\n"},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the \u003cspan pulumi-lang-nodejs=\"`spectrocloud.getPack`\" pulumi-lang-dotnet=\"`spectrocloud.getPack`\" pulumi-lang-go=\"`getPack`\" pulumi-lang-python=\"`get_pack`\" pulumi-lang-yaml=\"`spectrocloud.getPack`\" pulumi-lang-java=\"`spectrocloud.getPack`\"\u003e`spectrocloud.getPack`\u003c/span\u003e data source. This value is required if the pack type is \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e and for \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e if the chart is from a public helm registry. If not provided, all of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e must be specified to resolve the pack UID internally.\n"},"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.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["name","uid"]}}},"spectrocloud:index/ClusterAwsClusterProfilePackManifest:ClusterAwsClusterProfilePackManifest":{"properties":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest.\n"},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack.\n"},"uid":{"type":"string"}},"type":"object","required":["content","name"],"language":{"nodejs":{"requiredOutputs":["content","name","uid"]}}},"spectrocloud:index/ClusterAwsClusterRbacBinding:ClusterAwsClusterRbacBinding":{"properties":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.\n"},"role":{"type":"object","additionalProperties":{"type":"string"},"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'. Must include 'name' and 'kind' fields.\n"},"subjects":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAwsClusterRbacBindingSubject:ClusterAwsClusterRbacBindingSubject"}},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.\n"}},"type":"object","required":["type"]},"spectrocloud:index/ClusterAwsClusterRbacBindingSubject:ClusterAwsClusterRbacBindingSubject":{"properties":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.\n"},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.\n"},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.\n"}},"type":"object","required":["name","type"]},"spectrocloud:index/ClusterAwsClusterTemplate:ClusterAwsClusterTemplate":{"properties":{"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAwsClusterTemplateClusterProfile:ClusterAwsClusterTemplateClusterProfile"},"description":"The cluster profile of the cluster template.\n"},"id":{"type":"string","description":"The ID of the cluster template.\n"},"name":{"type":"string","description":"The name of the cluster template.\n"}},"type":"object","required":["id"],"language":{"nodejs":{"requiredOutputs":["id","name"]}}},"spectrocloud:index/ClusterAwsClusterTemplateClusterProfile:ClusterAwsClusterTemplateClusterProfile":{"properties":{"id":{"type":"string","description":"The UID of the cluster profile.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterAwsHostConfig:ClusterAwsHostConfig":{"properties":{"externalTrafficPolicy":{"type":"string","description":"The external traffic policy for the cluster.\n"},"hostEndpointType":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.\n"},"ingressHost":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host*endpoint*type' is set to 'Ingress'.\n"},"loadBalancerSourceRanges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host*endpoint*type' is set to 'LoadBalancer'.\n"}},"type":"object"},"spectrocloud:index/ClusterAwsLocationConfig:ClusterAwsLocationConfig":{"properties":{"countryCode":{"type":"string"},"countryName":{"type":"string"},"latitude":{"type":"number"},"longitude":{"type":"number"},"regionCode":{"type":"string"},"regionName":{"type":"string"}},"type":"object","required":["countryCode","countryName","latitude","longitude","regionCode","regionName"]},"spectrocloud:index/ClusterAwsMachinePool:ClusterAwsMachinePool":{"properties":{"additionalAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional annotations to be applied to the machine pool. Annotations must be in the form of `key:value`.\n"},"additionalLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional labels to be applied to the machine pool. Labels must be in the form of `key:value`.\n"},"additionalSecurityGroups":{"type":"array","items":{"type":"string"},"description":"Additional security groups to attach to the instance.\n"},"azSubnets":{"type":"object","additionalProperties":{"type":"string"},"description":"Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`azs`\" pulumi-lang-dotnet=\"`Azs`\" pulumi-lang-go=\"`azs`\" pulumi-lang-python=\"`azs`\" pulumi-lang-yaml=\"`azs`\" pulumi-lang-java=\"`azs`\"\u003e`azs`\u003c/span\u003e. Use \u003cspan pulumi-lang-nodejs=\"`azSubnets`\" pulumi-lang-dotnet=\"`AzSubnets`\" pulumi-lang-go=\"`azSubnets`\" pulumi-lang-python=\"`az_subnets`\" pulumi-lang-yaml=\"`azSubnets`\" pulumi-lang-java=\"`azSubnets`\"\u003e`az_subnets`\u003c/span\u003e for Static provisioning.\n"},"azs":{"type":"array","items":{"type":"string"},"description":"Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`azSubnets`\" pulumi-lang-dotnet=\"`AzSubnets`\" pulumi-lang-go=\"`azSubnets`\" pulumi-lang-python=\"`az_subnets`\" pulumi-lang-yaml=\"`azSubnets`\" pulumi-lang-java=\"`azSubnets`\"\u003e`az_subnets`\u003c/span\u003e. Use \u003cspan pulumi-lang-nodejs=\"`azs`\" pulumi-lang-dotnet=\"`Azs`\" pulumi-lang-go=\"`azs`\" pulumi-lang-python=\"`azs`\" pulumi-lang-yaml=\"`azs`\" pulumi-lang-java=\"`azs`\"\u003e`azs`\u003c/span\u003e for Dynamic provisioning.\n"},"capacityType":{"type":"string","description":"Capacity type is an instance type,  can be 'on-demand' or 'spot'. Defaults to 'on-demand'.\n"},"controlPlane":{"type":"boolean","description":"Whether this machine pool is a control plane. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"controlPlaneAsWorker":{"type":"boolean","description":"Whether this machine pool is a control plane and a worker. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"count":{"type":"number","description":"Number of nodes in the machine pool.\n"},"diskSizeGb":{"type":"number","description":"The disk size in GB for the machine pool nodes.\n"},"instanceType":{"type":"string","description":"The instance type to use for the machine pool nodes.\n"},"max":{"type":"number","description":"Maximum number of nodes in the machine pool. This is used for autoscaling the machine pool.\n"},"maxPrice":{"type":"string","description":"Maximum price to bid for spot instances. Only applied when instance type is 'spot'.\n"},"min":{"type":"number","description":"Minimum number of nodes in the machine pool. This is used for autoscaling the machine pool.\n"},"name":{"type":"string","description":"The name of the machine pool.\n"},"nodeRepaveInterval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, Applicable only for worker pools.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAwsMachinePoolNode:ClusterAwsMachinePoolNode"}},"overrideKubeadmConfiguration":{"type":"string","description":"YAML config for kubeletExtraArgs, preKubeadmCommands, postKubeadmCommands. Overrides pack-level settings. Worker pools only.\n"},"overrideScaling":{"$ref":"#/types/spectrocloud:index%2FClusterAwsMachinePoolOverrideScaling:ClusterAwsMachinePoolOverrideScaling","description":"Rolling update strategy for the machine pool.\n"},"skipK8sUpgrade":{"type":"string","description":"Skip Kubernetes version upgrade for this worker pool. Use 'enabled' to skip OS/K8s update on profile upgrade (N-3 skew allowed); 'disabled' to upgrade with profile (default). Applicable only for worker pools.\n"},"taints":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAwsMachinePoolTaint:ClusterAwsMachinePoolTaint"}},"updateStrategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut`, `RollingUpdateScaleIn` and `OverrideScaling`. If `OverrideScaling` is used, \u003cspan pulumi-lang-nodejs=\"`overrideScaling`\" pulumi-lang-dotnet=\"`OverrideScaling`\" pulumi-lang-go=\"`overrideScaling`\" pulumi-lang-python=\"`override_scaling`\" pulumi-lang-yaml=\"`overrideScaling`\" pulumi-lang-java=\"`overrideScaling`\"\u003e`override_scaling`\u003c/span\u003e must be specified with both \u003cspan pulumi-lang-nodejs=\"`maxSurge`\" pulumi-lang-dotnet=\"`MaxSurge`\" pulumi-lang-go=\"`maxSurge`\" pulumi-lang-python=\"`max_surge`\" pulumi-lang-yaml=\"`maxSurge`\" pulumi-lang-java=\"`maxSurge`\"\u003e`max_surge`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maxUnavailable`\" pulumi-lang-dotnet=\"`MaxUnavailable`\" pulumi-lang-go=\"`maxUnavailable`\" pulumi-lang-python=\"`max_unavailable`\" pulumi-lang-yaml=\"`maxUnavailable`\" pulumi-lang-java=\"`maxUnavailable`\"\u003e`max_unavailable`\u003c/span\u003e.\n"}},"type":"object","required":["count","instanceType","name"]},"spectrocloud:index/ClusterAwsMachinePoolNode:ClusterAwsMachinePoolNode":{"properties":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: \u003cspan pulumi-lang-nodejs=\"`cordon`\" pulumi-lang-dotnet=\"`Cordon`\" pulumi-lang-go=\"`cordon`\" pulumi-lang-python=\"`cordon`\" pulumi-lang-yaml=\"`cordon`\" pulumi-lang-java=\"`cordon`\"\u003e`cordon`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`uncordon`\" pulumi-lang-dotnet=\"`Uncordon`\" pulumi-lang-go=\"`uncordon`\" pulumi-lang-python=\"`uncordon`\" pulumi-lang-yaml=\"`uncordon`\" pulumi-lang-java=\"`uncordon`\"\u003e`uncordon`\u003c/span\u003e.\n"},"nodeId":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" nodeId \" pulumi-lang-dotnet=\" NodeId \" pulumi-lang-go=\" nodeId \" pulumi-lang-python=\" node_id \" pulumi-lang-yaml=\" nodeId \" pulumi-lang-java=\" nodeId \"\u003e node_id \u003c/span\u003eof the node, For example `i-07f899a33dee624f7`\n"}},"type":"object","required":["action","nodeId"]},"spectrocloud:index/ClusterAwsMachinePoolOverrideScaling:ClusterAwsMachinePoolOverrideScaling":{"properties":{"maxSurge":{"type":"string","description":"Max extra nodes during rolling update. Integer or percentage (e.g., '1' or '20%'). Only valid when type=OverrideScaling. Both maxSurge and maxUnavailable are required.\n"},"maxUnavailable":{"type":"string","description":"Max unavailable nodes during rolling update. Integer or percentage (e.g., '0' or '10%'). Only valid when type=OverrideScaling. Both maxSurge and maxUnavailable are required.\n"}},"type":"object"},"spectrocloud:index/ClusterAwsMachinePoolTaint:ClusterAwsMachinePoolTaint":{"properties":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.\n"},"key":{"type":"string","description":"The key of the taint.\n"},"value":{"type":"string","description":"The value of the taint.\n"}},"type":"object","required":["effect","key","value"]},"spectrocloud:index/ClusterAwsNamespace:ClusterAwsNamespace":{"properties":{"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.\n"},"resourceAllocation":{"type":"object","additionalProperties":{"type":"string"},"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048', gpu_limit: '1', gpu_provider: 'nvidia'}`\n"}},"type":"object","required":["name","resourceAllocation"]},"spectrocloud:index/ClusterAwsScanPolicy:ClusterAwsScanPolicy":{"properties":{"configurationScanSchedule":{"type":"string","description":"The schedule for configuration scan.\n"},"conformanceScanSchedule":{"type":"string","description":"The schedule for conformance scan.\n"},"penetrationScanSchedule":{"type":"string","description":"The schedule for penetration scan.\n"}},"type":"object","required":["configurationScanSchedule","conformanceScanSchedule","penetrationScanSchedule"]},"spectrocloud:index/ClusterAwsTimeouts:ClusterAwsTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/ClusterAzureBackupPolicy:ClusterAzureBackupPolicy":{"properties":{"backupLocationId":{"type":"string","description":"The ID of the backup location to use for the backup.\n"},"clusterUids":{"type":"array","items":{"type":"string"},"description":"The list of cluster UIDs to include in the backup. If \u003cspan pulumi-lang-nodejs=\"`includeAllClusters`\" pulumi-lang-dotnet=\"`IncludeAllClusters`\" pulumi-lang-go=\"`includeAllClusters`\" pulumi-lang-python=\"`include_all_clusters`\" pulumi-lang-yaml=\"`includeAllClusters`\" pulumi-lang-java=\"`includeAllClusters`\"\u003e`include_all_clusters`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then all clusters will be included.\n"},"expiryInHour":{"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.\n"},"includeAllClusters":{"type":"boolean","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in \u003cspan pulumi-lang-nodejs=\"`clusterUids`\" pulumi-lang-dotnet=\"`ClusterUids`\" pulumi-lang-go=\"`clusterUids`\" pulumi-lang-python=\"`cluster_uids`\" pulumi-lang-yaml=\"`clusterUids`\" pulumi-lang-java=\"`clusterUids`\"\u003e`cluster_uids`\u003c/span\u003e will be included.\n"},"includeClusterResources":{"type":"boolean","description":"Indicates whether to include 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 deprecated, and a new attribute, include*cluster*resources_mode, will be introduced.)\n"},"includeClusterResourcesMode":{"type":"string","description":"Specifies whether to include the cluster resources in the backup. Supported values are \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\"\u003e`never`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\"\u003e`auto`\u003c/span\u003e.\n"},"includeDisks":{"type":"boolean","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.\n"},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \\n\\n-\\n\\n-\\n\\n.\n"},"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 * * *`.\n"}},"type":"object","required":["backupLocationId","expiryInHour","prefix","schedule"]},"spectrocloud:index/ClusterAzureCloudConfig:ClusterAzureCloudConfig":{"properties":{"containerName":{"type":"string","description":"Container name within your azure storage account.\n"},"controlPlaneSubnet":{"$ref":"#/types/spectrocloud:index%2FClusterAzureCloudConfigControlPlaneSubnet:ClusterAzureCloudConfigControlPlaneSubnet"},"networkResourceGroup":{"type":"string","description":"Azure network resource group in which the cluster is to be provisioned.\n"},"privateApiServer":{"$ref":"#/types/spectrocloud:index%2FClusterAzureCloudConfigPrivateApiServer:ClusterAzureCloudConfigPrivateApiServer","description":"Custom private DNS zone for your cluster's API server. For more details, refer to the https://docs.spectrocloud.com/clusters/public-cloud/azure/create-azure-cluster/#private-api-server-lb-settings\n"},"region":{"type":"string","description":"Azure region. This can be found in the Azure portal under `Resource groups`.\n"},"resourceGroup":{"type":"string","description":"Azure resource group. This can be found in the Azure portal under `Resource groups`.\n"},"sshKey":{"type":"string","description":"Public SSH key to be used for the cluster nodes.\n"},"storageAccountName":{"type":"string","description":"Azure storage account name.\n"},"subscriptionId":{"type":"string","description":"Azure subscription ID. This can be found in the Azure portal under `Subscriptions`.\n"},"virtualNetworkCidrBlock":{"type":"string","description":"Azure virtual network cidr block in which the cluster is to be provisioned.\n"},"virtualNetworkName":{"type":"string","description":"Azure virtual network in which the cluster is to be provisioned.\n"},"workerNodeSubnet":{"$ref":"#/types/spectrocloud:index%2FClusterAzureCloudConfigWorkerNodeSubnet:ClusterAzureCloudConfigWorkerNodeSubnet"}},"type":"object","required":["region","resourceGroup","sshKey","subscriptionId"]},"spectrocloud:index/ClusterAzureCloudConfigControlPlaneSubnet:ClusterAzureCloudConfigControlPlaneSubnet":{"properties":{"cidrBlock":{"type":"string","description":"CidrBlock is the CIDR block to be used when the provider creates a managed virtual network.\n"},"name":{"type":"string","description":"Name of the subnet.\n"},"securityGroupName":{"type":"string","description":"Network Security Group(NSG) to be attached to subnet.\n"}},"type":"object","required":["cidrBlock","name"]},"spectrocloud:index/ClusterAzureCloudConfigPrivateApiServer:ClusterAzureCloudConfigPrivateApiServer":{"properties":{"privateDnsZone":{"type":"string","description":"The private DNS zone for the cluster. This is optional. If not provided, a new private DNS zone will be created.\n"},"resourceGroup":{"type":"string","description":"The resource group of the private DNS zone.\n"},"staticIp":{"type":"string","description":"Static IP address for the private API server load balancer. This is optional. If not provided, Dynamic IP allocation will be used.\n"}},"type":"object","required":["resourceGroup"]},"spectrocloud:index/ClusterAzureCloudConfigWorkerNodeSubnet:ClusterAzureCloudConfigWorkerNodeSubnet":{"properties":{"cidrBlock":{"type":"string","description":"CidrBlock is the CIDR block to be used when the provider creates a managed virtual network.\n"},"name":{"type":"string","description":"Name of the subnet.\n"},"securityGroupName":{"type":"string","description":"Network Security Group(NSG) to be attached to subnet.\n"}},"type":"object","required":["cidrBlock","name"]},"spectrocloud:index/ClusterAzureClusterProfile:ClusterAzureClusterProfile":{"properties":{"id":{"type":"string","description":"The ID of the cluster profile.\n"},"packs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAzureClusterProfilePack:ClusterAzureClusterProfilePack"},"description":"For packs of type \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, at least one pack must be specified.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterAzureClusterProfilePack:ClusterAzureClusterProfilePack":{"properties":{"manifests":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAzureClusterProfilePackManifest:ClusterAzureClusterProfilePackManifest"}},"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile.\n"},"registryName":{"type":"string","description":"The registry name of the pack. The registry name is the human-readable name of the registry. This attribute can be used instead of \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e for better readability. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field can be used along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"registryUid":{"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. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"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 \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e (or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e) to resolve the pack UID internally.\n"},"type":{"type":"string","description":"The type of the pack. Allowed values are \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e. The default value is spectro. If using an OCI registry for pack, set the type to \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e.\n"},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the \u003cspan pulumi-lang-nodejs=\"`spectrocloud.getPack`\" pulumi-lang-dotnet=\"`spectrocloud.getPack`\" pulumi-lang-go=\"`getPack`\" pulumi-lang-python=\"`get_pack`\" pulumi-lang-yaml=\"`spectrocloud.getPack`\" pulumi-lang-java=\"`spectrocloud.getPack`\"\u003e`spectrocloud.getPack`\u003c/span\u003e data source. This value is required if the pack type is \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e and for \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e if the chart is from a public helm registry. If not provided, all of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e must be specified to resolve the pack UID internally.\n"},"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.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["name","uid"]}}},"spectrocloud:index/ClusterAzureClusterProfilePackManifest:ClusterAzureClusterProfilePackManifest":{"properties":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest.\n"},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack.\n"},"uid":{"type":"string"}},"type":"object","required":["content","name"],"language":{"nodejs":{"requiredOutputs":["content","name","uid"]}}},"spectrocloud:index/ClusterAzureClusterRbacBinding:ClusterAzureClusterRbacBinding":{"properties":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.\n"},"role":{"type":"object","additionalProperties":{"type":"string"},"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'. Must include 'name' and 'kind' fields.\n"},"subjects":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAzureClusterRbacBindingSubject:ClusterAzureClusterRbacBindingSubject"}},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.\n"}},"type":"object","required":["type"]},"spectrocloud:index/ClusterAzureClusterRbacBindingSubject:ClusterAzureClusterRbacBindingSubject":{"properties":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.\n"},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.\n"},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.\n"}},"type":"object","required":["name","type"]},"spectrocloud:index/ClusterAzureClusterTemplate:ClusterAzureClusterTemplate":{"properties":{"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAzureClusterTemplateClusterProfile:ClusterAzureClusterTemplateClusterProfile"},"description":"The cluster profile of the cluster template.\n"},"id":{"type":"string","description":"The ID of the cluster template.\n"},"name":{"type":"string","description":"The name of the cluster template.\n"}},"type":"object","required":["id"],"language":{"nodejs":{"requiredOutputs":["id","name"]}}},"spectrocloud:index/ClusterAzureClusterTemplateClusterProfile:ClusterAzureClusterTemplateClusterProfile":{"properties":{"id":{"type":"string","description":"The UID of the cluster profile.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterAzureHostConfig:ClusterAzureHostConfig":{"properties":{"externalTrafficPolicy":{"type":"string","description":"The external traffic policy for the cluster.\n"},"hostEndpointType":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.\n"},"ingressHost":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host*endpoint*type' is set to 'Ingress'.\n"},"loadBalancerSourceRanges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host*endpoint*type' is set to 'LoadBalancer'.\n"}},"type":"object"},"spectrocloud:index/ClusterAzureLocationConfig:ClusterAzureLocationConfig":{"properties":{"countryCode":{"type":"string"},"countryName":{"type":"string"},"latitude":{"type":"number"},"longitude":{"type":"number"},"regionCode":{"type":"string"},"regionName":{"type":"string"}},"type":"object","required":["countryCode","countryName","latitude","longitude","regionCode","regionName"]},"spectrocloud:index/ClusterAzureMachinePool:ClusterAzureMachinePool":{"properties":{"additionalAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional annotations to be applied to the machine pool. Annotations must be in the form of `key:value`.\n"},"additionalLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional labels to be applied to the machine pool. Labels must be in the form of `key:value`.\n"},"azs":{"type":"array","items":{"type":"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 `[\"\"]`.\n"},"controlPlane":{"type":"boolean","description":"Whether this machine pool is a control plane. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"controlPlaneAsWorker":{"type":"boolean","description":"Whether this machine pool is a control plane and a worker. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"count":{"type":"number","description":"Number of nodes in the machine pool.\n"},"disk":{"$ref":"#/types/spectrocloud:index%2FClusterAzureMachinePoolDisk:ClusterAzureMachinePoolDisk","description":"Disk configuration for the machine pool.\n"},"instanceType":{"type":"string","description":"Azure instance type from the Azure portal.\n"},"isSystemNodePool":{"type":"boolean","description":"Whether this machine pool is a system node pool. Default value is `false'.\n"},"name":{"type":"string","description":"Name of the machine pool. This must be unique within the cluster.\n"},"nodeRepaveInterval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, Applicable only for worker pools.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAzureMachinePoolNode:ClusterAzureMachinePoolNode"}},"osType":{"type":"string","description":"Operating system type for the machine pool. Valid values are `Linux` and `Windows`. Defaults to `Linux`.\n"},"overrideKubeadmConfiguration":{"type":"string","description":"YAML config for kubeletExtraArgs, preKubeadmCommands, postKubeadmCommands. Overrides pack-level settings. Worker pools only.\n"},"overrideScaling":{"$ref":"#/types/spectrocloud:index%2FClusterAzureMachinePoolOverrideScaling:ClusterAzureMachinePoolOverrideScaling","description":"Rolling update strategy for the machine pool.\n"},"taints":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAzureMachinePoolTaint:ClusterAzureMachinePoolTaint"}},"updateStrategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut`, `RollingUpdateScaleIn` and `OverrideScaling`. If `OverrideScaling` is used, \u003cspan pulumi-lang-nodejs=\"`overrideScaling`\" pulumi-lang-dotnet=\"`OverrideScaling`\" pulumi-lang-go=\"`overrideScaling`\" pulumi-lang-python=\"`override_scaling`\" pulumi-lang-yaml=\"`overrideScaling`\" pulumi-lang-java=\"`overrideScaling`\"\u003e`override_scaling`\u003c/span\u003e must be specified with both \u003cspan pulumi-lang-nodejs=\"`maxSurge`\" pulumi-lang-dotnet=\"`MaxSurge`\" pulumi-lang-go=\"`maxSurge`\" pulumi-lang-python=\"`max_surge`\" pulumi-lang-yaml=\"`maxSurge`\" pulumi-lang-java=\"`maxSurge`\"\u003e`max_surge`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maxUnavailable`\" pulumi-lang-dotnet=\"`MaxUnavailable`\" pulumi-lang-go=\"`maxUnavailable`\" pulumi-lang-python=\"`max_unavailable`\" pulumi-lang-yaml=\"`maxUnavailable`\" pulumi-lang-java=\"`maxUnavailable`\"\u003e`max_unavailable`\u003c/span\u003e.\n"}},"type":"object","required":["count","instanceType","name"]},"spectrocloud:index/ClusterAzureMachinePoolDisk:ClusterAzureMachinePoolDisk":{"properties":{"sizeGb":{"type":"number","description":"Size of the disk in GB.\n"},"type":{"type":"string","description":"Type of the disk. Valid values are `Standard_LRS`, `StandardSSD_LRS`, `Premium_LRS`.\n"}},"type":"object","required":["sizeGb","type"]},"spectrocloud:index/ClusterAzureMachinePoolNode:ClusterAzureMachinePoolNode":{"properties":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: \u003cspan pulumi-lang-nodejs=\"`cordon`\" pulumi-lang-dotnet=\"`Cordon`\" pulumi-lang-go=\"`cordon`\" pulumi-lang-python=\"`cordon`\" pulumi-lang-yaml=\"`cordon`\" pulumi-lang-java=\"`cordon`\"\u003e`cordon`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`uncordon`\" pulumi-lang-dotnet=\"`Uncordon`\" pulumi-lang-go=\"`uncordon`\" pulumi-lang-python=\"`uncordon`\" pulumi-lang-yaml=\"`uncordon`\" pulumi-lang-java=\"`uncordon`\"\u003e`uncordon`\u003c/span\u003e.\n"},"nodeId":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" nodeId \" pulumi-lang-dotnet=\" NodeId \" pulumi-lang-go=\" nodeId \" pulumi-lang-python=\" node_id \" pulumi-lang-yaml=\" nodeId \" pulumi-lang-java=\" nodeId \"\u003e node_id \u003c/span\u003eof the node, For example `i-07f899a33dee624f7`\n"}},"type":"object","required":["action","nodeId"]},"spectrocloud:index/ClusterAzureMachinePoolOverrideScaling:ClusterAzureMachinePoolOverrideScaling":{"properties":{"maxSurge":{"type":"string","description":"Max extra nodes during rolling update. Integer or percentage (e.g., '1' or '20%'). Only valid when type=OverrideScaling. Both maxSurge and maxUnavailable are required.\n"},"maxUnavailable":{"type":"string","description":"Max unavailable nodes during rolling update. Integer or percentage (e.g., '0' or '10%'). Only valid when type=OverrideScaling. Both maxSurge and maxUnavailable are required.\n"}},"type":"object"},"spectrocloud:index/ClusterAzureMachinePoolTaint:ClusterAzureMachinePoolTaint":{"properties":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.\n"},"key":{"type":"string","description":"The key of the taint.\n"},"value":{"type":"string","description":"The value of the taint.\n"}},"type":"object","required":["effect","key","value"]},"spectrocloud:index/ClusterAzureNamespace:ClusterAzureNamespace":{"properties":{"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.\n"},"resourceAllocation":{"type":"object","additionalProperties":{"type":"string"},"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048', gpu_limit: '1', gpu_provider: 'nvidia'}`\n"}},"type":"object","required":["name","resourceAllocation"]},"spectrocloud:index/ClusterAzureScanPolicy:ClusterAzureScanPolicy":{"properties":{"configurationScanSchedule":{"type":"string","description":"The schedule for configuration scan.\n"},"conformanceScanSchedule":{"type":"string","description":"The schedule for conformance scan.\n"},"penetrationScanSchedule":{"type":"string","description":"The schedule for penetration scan.\n"}},"type":"object","required":["configurationScanSchedule","conformanceScanSchedule","penetrationScanSchedule"]},"spectrocloud:index/ClusterAzureTimeouts:ClusterAzureTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/ClusterBrownfieldBackupPolicy:ClusterBrownfieldBackupPolicy":{"properties":{"backupLocationId":{"type":"string","description":"The ID of the backup location to use for the backup.\n"},"clusterUids":{"type":"array","items":{"type":"string"},"description":"The list of cluster UIDs to include in the backup. If \u003cspan pulumi-lang-nodejs=\"`includeAllClusters`\" pulumi-lang-dotnet=\"`IncludeAllClusters`\" pulumi-lang-go=\"`includeAllClusters`\" pulumi-lang-python=\"`include_all_clusters`\" pulumi-lang-yaml=\"`includeAllClusters`\" pulumi-lang-java=\"`includeAllClusters`\"\u003e`include_all_clusters`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then all clusters will be included.\n"},"expiryInHour":{"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.\n"},"includeAllClusters":{"type":"boolean","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in \u003cspan pulumi-lang-nodejs=\"`clusterUids`\" pulumi-lang-dotnet=\"`ClusterUids`\" pulumi-lang-go=\"`clusterUids`\" pulumi-lang-python=\"`cluster_uids`\" pulumi-lang-yaml=\"`clusterUids`\" pulumi-lang-java=\"`clusterUids`\"\u003e`cluster_uids`\u003c/span\u003e will be included.\n"},"includeClusterResources":{"type":"boolean","description":"Indicates whether to include 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 deprecated, and a new attribute, include*cluster*resources_mode, will be introduced.)\n"},"includeClusterResourcesMode":{"type":"string","description":"Specifies whether to include the cluster resources in the backup. Supported values are \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\"\u003e`never`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\"\u003e`auto`\u003c/span\u003e.\n"},"includeDisks":{"type":"boolean","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.\n"},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \\n\\n-\\n\\n-\\n\\n.\n"},"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 * * *`.\n"}},"type":"object","required":["backupLocationId","expiryInHour","prefix","schedule"]},"spectrocloud:index/ClusterBrownfieldClusterProfile:ClusterBrownfieldClusterProfile":{"properties":{"id":{"type":"string","description":"The ID of the cluster profile.\n"},"packs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldClusterProfilePack:ClusterBrownfieldClusterProfilePack"},"description":"For packs of type \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, at least one pack must be specified.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterBrownfieldClusterProfilePack:ClusterBrownfieldClusterProfilePack":{"properties":{"manifests":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldClusterProfilePackManifest:ClusterBrownfieldClusterProfilePackManifest"}},"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile.\n"},"registryName":{"type":"string","description":"The registry name of the pack. The registry name is the human-readable name of the registry. This attribute can be used instead of \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e for better readability. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field can be used along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"registryUid":{"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. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"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 \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e (or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e) to resolve the pack UID internally.\n"},"type":{"type":"string","description":"The type of the pack. Allowed values are \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e. The default value is spectro. If using an OCI registry for pack, set the type to \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e.\n"},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the \u003cspan pulumi-lang-nodejs=\"`spectrocloud.getPack`\" pulumi-lang-dotnet=\"`spectrocloud.getPack`\" pulumi-lang-go=\"`getPack`\" pulumi-lang-python=\"`get_pack`\" pulumi-lang-yaml=\"`spectrocloud.getPack`\" pulumi-lang-java=\"`spectrocloud.getPack`\"\u003e`spectrocloud.getPack`\u003c/span\u003e data source. This value is required if the pack type is \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e and for \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e if the chart is from a public helm registry. If not provided, all of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e must be specified to resolve the pack UID internally.\n"},"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.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["name","uid"]}}},"spectrocloud:index/ClusterBrownfieldClusterProfilePackManifest:ClusterBrownfieldClusterProfilePackManifest":{"properties":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest.\n"},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack.\n"},"uid":{"type":"string"}},"type":"object","required":["content","name"],"language":{"nodejs":{"requiredOutputs":["content","name","uid"]}}},"spectrocloud:index/ClusterBrownfieldClusterRbacBinding:ClusterBrownfieldClusterRbacBinding":{"properties":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.\n"},"role":{"type":"object","additionalProperties":{"type":"string"},"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'. Must include 'name' and 'kind' fields.\n"},"subjects":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldClusterRbacBindingSubject:ClusterBrownfieldClusterRbacBindingSubject"}},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.\n"}},"type":"object","required":["type"]},"spectrocloud:index/ClusterBrownfieldClusterRbacBindingSubject:ClusterBrownfieldClusterRbacBindingSubject":{"properties":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.\n"},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.\n"},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.\n"}},"type":"object","required":["name","type"]},"spectrocloud:index/ClusterBrownfieldHostConfig:ClusterBrownfieldHostConfig":{"properties":{"externalTrafficPolicy":{"type":"string","description":"The external traffic policy for the cluster.\n"},"hostEndpointType":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.\n"},"ingressHost":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host*endpoint*type' is set to 'Ingress'.\n"},"loadBalancerSourceRanges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host*endpoint*type' is set to 'LoadBalancer'.\n"}},"type":"object"},"spectrocloud:index/ClusterBrownfieldLocationConfig:ClusterBrownfieldLocationConfig":{"properties":{"countryCode":{"type":"string"},"countryName":{"type":"string"},"latitude":{"type":"number"},"longitude":{"type":"number"},"regionCode":{"type":"string"},"regionName":{"type":"string"}},"type":"object","required":["countryCode","countryName","latitude","longitude","regionCode","regionName"]},"spectrocloud:index/ClusterBrownfieldMachinePool:ClusterBrownfieldMachinePool":{"properties":{"name":{"type":"string","description":"The name of the machine pool.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldMachinePoolNode:ClusterBrownfieldMachinePoolNode"}}},"type":"object","required":["name"]},"spectrocloud:index/ClusterBrownfieldMachinePoolNode:ClusterBrownfieldMachinePoolNode":{"properties":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: \u003cspan pulumi-lang-nodejs=\"`cordon`\" pulumi-lang-dotnet=\"`Cordon`\" pulumi-lang-go=\"`cordon`\" pulumi-lang-python=\"`cordon`\" pulumi-lang-yaml=\"`cordon`\" pulumi-lang-java=\"`cordon`\"\u003e`cordon`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`uncordon`\" pulumi-lang-dotnet=\"`Uncordon`\" pulumi-lang-go=\"`uncordon`\" pulumi-lang-python=\"`uncordon`\" pulumi-lang-yaml=\"`uncordon`\" pulumi-lang-java=\"`uncordon`\"\u003e`uncordon`\u003c/span\u003e.\n"},"nodeId":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" nodeId \" pulumi-lang-dotnet=\" NodeId \" pulumi-lang-go=\" nodeId \" pulumi-lang-python=\" node_id \" pulumi-lang-yaml=\" nodeId \" pulumi-lang-java=\" nodeId \"\u003e node_id \u003c/span\u003eof the node, For example `i-07f899a33dee624f7`\n"},"nodeName":{"type":"string","description":"The name of the machine pool.\n"}},"type":"object","required":["action"]},"spectrocloud:index/ClusterBrownfieldNamespace:ClusterBrownfieldNamespace":{"properties":{"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.\n"},"resourceAllocation":{"type":"object","additionalProperties":{"type":"string"},"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048', gpu_limit: '1', gpu_provider: 'nvidia'}`\n"}},"type":"object","required":["name","resourceAllocation"]},"spectrocloud:index/ClusterBrownfieldScanPolicy:ClusterBrownfieldScanPolicy":{"properties":{"configurationScanSchedule":{"type":"string","description":"The schedule for configuration scan.\n"},"conformanceScanSchedule":{"type":"string","description":"The schedule for conformance scan.\n"},"penetrationScanSchedule":{"type":"string","description":"The schedule for penetration scan.\n"}},"type":"object","required":["configurationScanSchedule","conformanceScanSchedule","penetrationScanSchedule"]},"spectrocloud:index/ClusterBrownfieldTimeouts:ClusterBrownfieldTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"read":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/ClusterConfigPolicySchedule:ClusterConfigPolicySchedule":{"properties":{"durationHrs":{"type":"number","description":"Specifies the time window in hours during which the system is allowed to start upgrades on eligible clusters. Valid range: 1-24.\n"},"name":{"type":"string","description":"Name of the upgrade schedule.\n"},"startCron":{"type":"string","description":"Cron expression for the start time of the schedule.\n"}},"type":"object","required":["durationHrs","name","startCron"]},"spectrocloud:index/ClusterConfigPolicyTimeouts:ClusterConfigPolicyTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/ClusterConfigTemplateAttachedCluster:ClusterConfigTemplateAttachedCluster":{"properties":{"clusterUid":{"type":"string"},"name":{"type":"string"}},"type":"object","required":["clusterUid","name"]},"spectrocloud:index/ClusterConfigTemplateClusterProfile:ClusterConfigTemplateClusterProfile":{"properties":{"id":{"type":"string","description":"ID of the cluster profile.\n"},"variables":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterConfigTemplateClusterProfileVariable:ClusterConfigTemplateClusterProfileVariable"},"description":"Set of profile variable values and assignment strategies.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterConfigTemplateClusterProfileVariable:ClusterConfigTemplateClusterProfileVariable":{"properties":{"assignStrategy":{"type":"string","description":"Assignment strategy for the variable. Allowed values are \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Name of the variable.\n"},"value":{"type":"string","description":"Value of the variable to be applied to all clusters launched from this template. This value is used when\u003cspan pulumi-lang-nodejs=\" assignStrategy \" pulumi-lang-dotnet=\" AssignStrategy \" pulumi-lang-go=\" assignStrategy \" pulumi-lang-python=\" assign_strategy \" pulumi-lang-yaml=\" assignStrategy \" pulumi-lang-java=\" assignStrategy \"\u003e assign_strategy \u003c/span\u003eis set to 'all'.\n"}},"type":"object","required":["name"]},"spectrocloud:index/ClusterConfigTemplatePolicy:ClusterConfigTemplatePolicy":{"properties":{"id":{"type":"string","description":"ID of the policy.\n"},"kind":{"type":"string","description":"Kind of the policy.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterConfigTemplateTimeouts:ClusterConfigTemplateTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/ClusterCustomCloudBackupPolicy:ClusterCustomCloudBackupPolicy":{"properties":{"backupLocationId":{"type":"string","description":"The ID of the backup location to use for the backup.\n"},"clusterUids":{"type":"array","items":{"type":"string"},"description":"The list of cluster UIDs to include in the backup. If \u003cspan pulumi-lang-nodejs=\"`includeAllClusters`\" pulumi-lang-dotnet=\"`IncludeAllClusters`\" pulumi-lang-go=\"`includeAllClusters`\" pulumi-lang-python=\"`include_all_clusters`\" pulumi-lang-yaml=\"`includeAllClusters`\" pulumi-lang-java=\"`includeAllClusters`\"\u003e`include_all_clusters`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then all clusters will be included.\n"},"expiryInHour":{"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.\n"},"includeAllClusters":{"type":"boolean","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in \u003cspan pulumi-lang-nodejs=\"`clusterUids`\" pulumi-lang-dotnet=\"`ClusterUids`\" pulumi-lang-go=\"`clusterUids`\" pulumi-lang-python=\"`cluster_uids`\" pulumi-lang-yaml=\"`clusterUids`\" pulumi-lang-java=\"`clusterUids`\"\u003e`cluster_uids`\u003c/span\u003e will be included.\n"},"includeClusterResources":{"type":"boolean","description":"Indicates whether to include 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 deprecated, and a new attribute, include*cluster*resources_mode, will be introduced.)\n"},"includeClusterResourcesMode":{"type":"string","description":"Specifies whether to include the cluster resources in the backup. Supported values are \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\"\u003e`never`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\"\u003e`auto`\u003c/span\u003e.\n"},"includeDisks":{"type":"boolean","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.\n"},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \\n\\n-\\n\\n-\\n\\n.\n"},"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 * * *`.\n"}},"type":"object","required":["backupLocationId","expiryInHour","prefix","schedule"]},"spectrocloud:index/ClusterCustomCloudCloudConfig:ClusterCustomCloudCloudConfig":{"properties":{"overrides":{"type":"object","additionalProperties":{"type":"string"},"description":"Key-value pairs to override specific values in the YAML. Supports template variables, wildcard patterns, field pattern search, document-specific and global overrides.\n"},"values":{"type":"string","description":"The values of the cloud config. The values are specified in YAML format.\n"}},"type":"object","required":["values"]},"spectrocloud:index/ClusterCustomCloudClusterProfile:ClusterCustomCloudClusterProfile":{"properties":{"id":{"type":"string","description":"The ID of the cluster profile.\n"},"packs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudClusterProfilePack:ClusterCustomCloudClusterProfilePack"},"description":"For packs of type \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, at least one pack must be specified.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterCustomCloudClusterProfilePack:ClusterCustomCloudClusterProfilePack":{"properties":{"manifests":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudClusterProfilePackManifest:ClusterCustomCloudClusterProfilePackManifest"}},"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile.\n"},"registryName":{"type":"string","description":"The registry name of the pack. The registry name is the human-readable name of the registry. This attribute can be used instead of \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e for better readability. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field can be used along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"registryUid":{"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. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"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 \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e (or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e) to resolve the pack UID internally.\n"},"type":{"type":"string","description":"The type of the pack. Allowed values are \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e. The default value is spectro. If using an OCI registry for pack, set the type to \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e.\n"},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the \u003cspan pulumi-lang-nodejs=\"`spectrocloud.getPack`\" pulumi-lang-dotnet=\"`spectrocloud.getPack`\" pulumi-lang-go=\"`getPack`\" pulumi-lang-python=\"`get_pack`\" pulumi-lang-yaml=\"`spectrocloud.getPack`\" pulumi-lang-java=\"`spectrocloud.getPack`\"\u003e`spectrocloud.getPack`\u003c/span\u003e data source. This value is required if the pack type is \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e and for \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e if the chart is from a public helm registry. If not provided, all of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e must be specified to resolve the pack UID internally.\n"},"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.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["name","uid"]}}},"spectrocloud:index/ClusterCustomCloudClusterProfilePackManifest:ClusterCustomCloudClusterProfilePackManifest":{"properties":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest.\n"},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack.\n"},"uid":{"type":"string"}},"type":"object","required":["content","name"],"language":{"nodejs":{"requiredOutputs":["content","name","uid"]}}},"spectrocloud:index/ClusterCustomCloudClusterRbacBinding:ClusterCustomCloudClusterRbacBinding":{"properties":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.\n"},"role":{"type":"object","additionalProperties":{"type":"string"},"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'. Must include 'name' and 'kind' fields.\n"},"subjects":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudClusterRbacBindingSubject:ClusterCustomCloudClusterRbacBindingSubject"}},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.\n"}},"type":"object","required":["type"]},"spectrocloud:index/ClusterCustomCloudClusterRbacBindingSubject:ClusterCustomCloudClusterRbacBindingSubject":{"properties":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.\n"},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.\n"},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.\n"}},"type":"object","required":["name","type"]},"spectrocloud:index/ClusterCustomCloudClusterTemplate:ClusterCustomCloudClusterTemplate":{"properties":{"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudClusterTemplateClusterProfile:ClusterCustomCloudClusterTemplateClusterProfile"},"description":"The cluster profile of the cluster template.\n"},"id":{"type":"string","description":"The ID of the cluster template.\n"},"name":{"type":"string","description":"The name of the cluster template.\n"}},"type":"object","required":["id"],"language":{"nodejs":{"requiredOutputs":["id","name"]}}},"spectrocloud:index/ClusterCustomCloudClusterTemplateClusterProfile:ClusterCustomCloudClusterTemplateClusterProfile":{"properties":{"id":{"type":"string","description":"The UID of the cluster profile.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterCustomCloudLocationConfig:ClusterCustomCloudLocationConfig":{"properties":{"countryCode":{"type":"string","description":"The country code of the country the cluster is located in.\n"},"countryName":{"type":"string","description":"The name of the country.\n"},"latitude":{"type":"number","description":"The latitude coordinates value.\n"},"longitude":{"type":"number","description":"The longitude coordinates value.\n"},"regionCode":{"type":"string","description":"The region code of where the cluster is located in.\n"},"regionName":{"type":"string","description":"The name of the region.\n"}},"type":"object","required":["latitude","longitude"]},"spectrocloud:index/ClusterCustomCloudMachinePool:ClusterCustomCloudMachinePool":{"properties":{"controlPlane":{"type":"boolean","description":"Whether this machine pool is a control plane. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"controlPlaneAsWorker":{"type":"boolean","description":"Whether this machine pool is a control plane and a worker. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"count":{"type":"number","description":"Number of nodes in the machine pool. This will be derived from the replica value in the 'node_pool_config'.\n"},"name":{"type":"string","description":"The name of the cluster.\n"},"nodePoolConfig":{"type":"string","description":"The values of the node pool config. The values are specified in YAML format.\n"},"overrides":{"type":"object","additionalProperties":{"type":"string"},"description":"Key-value pairs to override specific values in the node pool config YAML. Supports template variables, wildcard patterns, field pattern search, document-specific and global overrides.\n"},"taints":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudMachinePoolTaint:ClusterCustomCloudMachinePoolTaint"}}},"type":"object","required":["nodePoolConfig"],"language":{"nodejs":{"requiredOutputs":["count","name","nodePoolConfig"]}}},"spectrocloud:index/ClusterCustomCloudMachinePoolTaint:ClusterCustomCloudMachinePoolTaint":{"properties":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.\n"},"key":{"type":"string","description":"The key of the taint.\n"},"value":{"type":"string","description":"The value of the taint.\n"}},"type":"object","required":["effect","key","value"]},"spectrocloud:index/ClusterCustomCloudNamespace:ClusterCustomCloudNamespace":{"properties":{"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.\n"},"resourceAllocation":{"type":"object","additionalProperties":{"type":"string"},"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048', gpu_limit: '1', gpu_provider: 'nvidia'}`\n"}},"type":"object","required":["name","resourceAllocation"]},"spectrocloud:index/ClusterCustomCloudScanPolicy:ClusterCustomCloudScanPolicy":{"properties":{"configurationScanSchedule":{"type":"string","description":"The schedule for configuration scan.\n"},"conformanceScanSchedule":{"type":"string","description":"The schedule for conformance scan.\n"},"penetrationScanSchedule":{"type":"string","description":"The schedule for penetration scan.\n"}},"type":"object","required":["configurationScanSchedule","conformanceScanSchedule","penetrationScanSchedule"]},"spectrocloud:index/ClusterCustomCloudTimeouts:ClusterCustomCloudTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/ClusterEdgeNativeBackupPolicy:ClusterEdgeNativeBackupPolicy":{"properties":{"backupLocationId":{"type":"string","description":"The ID of the backup location to use for the backup.\n"},"clusterUids":{"type":"array","items":{"type":"string"},"description":"The list of cluster UIDs to include in the backup. If \u003cspan pulumi-lang-nodejs=\"`includeAllClusters`\" pulumi-lang-dotnet=\"`IncludeAllClusters`\" pulumi-lang-go=\"`includeAllClusters`\" pulumi-lang-python=\"`include_all_clusters`\" pulumi-lang-yaml=\"`includeAllClusters`\" pulumi-lang-java=\"`includeAllClusters`\"\u003e`include_all_clusters`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then all clusters will be included.\n"},"expiryInHour":{"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.\n"},"includeAllClusters":{"type":"boolean","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in \u003cspan pulumi-lang-nodejs=\"`clusterUids`\" pulumi-lang-dotnet=\"`ClusterUids`\" pulumi-lang-go=\"`clusterUids`\" pulumi-lang-python=\"`cluster_uids`\" pulumi-lang-yaml=\"`clusterUids`\" pulumi-lang-java=\"`clusterUids`\"\u003e`cluster_uids`\u003c/span\u003e will be included.\n"},"includeClusterResources":{"type":"boolean","description":"Indicates whether to include 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 deprecated, and a new attribute, include*cluster*resources_mode, will be introduced.)\n"},"includeClusterResourcesMode":{"type":"string","description":"Specifies whether to include the cluster resources in the backup. Supported values are \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\"\u003e`never`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\"\u003e`auto`\u003c/span\u003e.\n"},"includeDisks":{"type":"boolean","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.\n"},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \\n\\n-\\n\\n-\\n\\n.\n"},"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 * * *`.\n"}},"type":"object","required":["backupLocationId","expiryInHour","prefix","schedule"]},"spectrocloud:index/ClusterEdgeNativeCloudConfig:ClusterEdgeNativeCloudConfig":{"properties":{"isTwoNodeCluster":{"type":"boolean","description":"Set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to enable a two-node cluster.\n"},"ntpServers":{"type":"array","items":{"type":"string"},"description":"A list of NTP servers to be used by the cluster.\n"},"overlayCidrRange":{"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`\n"},"sshKeys":{"type":"array","items":{"type":"string"},"description":"List of public SSH (Secure Shell) to establish, administer, and communicate with remote clusters.\n"},"vip":{"type":"string","description":"The \u003cspan pulumi-lang-nodejs=\"`vip`\" pulumi-lang-dotnet=\"`Vip`\" pulumi-lang-go=\"`vip`\" pulumi-lang-python=\"`vip`\" pulumi-lang-yaml=\"`vip`\" pulumi-lang-java=\"`vip`\"\u003e`vip`\u003c/span\u003e can be specified as either an IP address or a fully qualified domain name (FQDN). If \u003cspan pulumi-lang-nodejs=\"`overlayCidrRange`\" pulumi-lang-dotnet=\"`OverlayCidrRange`\" pulumi-lang-go=\"`overlayCidrRange`\" pulumi-lang-python=\"`overlay_cidr_range`\" pulumi-lang-yaml=\"`overlayCidrRange`\" pulumi-lang-java=\"`overlayCidrRange`\"\u003e`overlay_cidr_range`\u003c/span\u003e is set, the \u003cspan pulumi-lang-nodejs=\"`vip`\" pulumi-lang-dotnet=\"`Vip`\" pulumi-lang-go=\"`vip`\" pulumi-lang-python=\"`vip`\" pulumi-lang-yaml=\"`vip`\" pulumi-lang-java=\"`vip`\"\u003e`vip`\u003c/span\u003e should be within the specified \u003cspan pulumi-lang-nodejs=\"`overlayCidrRange`\" pulumi-lang-dotnet=\"`OverlayCidrRange`\" pulumi-lang-go=\"`overlayCidrRange`\" pulumi-lang-python=\"`overlay_cidr_range`\" pulumi-lang-yaml=\"`overlayCidrRange`\" pulumi-lang-java=\"`overlayCidrRange`\"\u003e`overlay_cidr_range`\u003c/span\u003e. By default, the \u003cspan pulumi-lang-nodejs=\"`vip`\" pulumi-lang-dotnet=\"`Vip`\" pulumi-lang-go=\"`vip`\" pulumi-lang-python=\"`vip`\" pulumi-lang-yaml=\"`vip`\" pulumi-lang-java=\"`vip`\"\u003e`vip`\u003c/span\u003e is set to the first IP address within the given \u003cspan pulumi-lang-nodejs=\"`overlayCidrRange`\" pulumi-lang-dotnet=\"`OverlayCidrRange`\" pulumi-lang-go=\"`overlayCidrRange`\" pulumi-lang-python=\"`overlay_cidr_range`\" pulumi-lang-yaml=\"`overlayCidrRange`\" pulumi-lang-java=\"`overlayCidrRange`\"\u003e`overlay_cidr_range`\u003c/span\u003e.\n"}},"type":"object"},"spectrocloud:index/ClusterEdgeNativeClusterProfile:ClusterEdgeNativeClusterProfile":{"properties":{"id":{"type":"string","description":"The ID of the cluster profile.\n"},"packs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeClusterProfilePack:ClusterEdgeNativeClusterProfilePack"},"description":"For packs of type \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, at least one pack must be specified.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterEdgeNativeClusterProfilePack:ClusterEdgeNativeClusterProfilePack":{"properties":{"manifests":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeClusterProfilePackManifest:ClusterEdgeNativeClusterProfilePackManifest"}},"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile.\n"},"registryName":{"type":"string","description":"The registry name of the pack. The registry name is the human-readable name of the registry. This attribute can be used instead of \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e for better readability. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field can be used along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"registryUid":{"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. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"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 \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e (or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e) to resolve the pack UID internally.\n"},"type":{"type":"string","description":"The type of the pack. Allowed values are \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e. The default value is spectro. If using an OCI registry for pack, set the type to \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e.\n"},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the \u003cspan pulumi-lang-nodejs=\"`spectrocloud.getPack`\" pulumi-lang-dotnet=\"`spectrocloud.getPack`\" pulumi-lang-go=\"`getPack`\" pulumi-lang-python=\"`get_pack`\" pulumi-lang-yaml=\"`spectrocloud.getPack`\" pulumi-lang-java=\"`spectrocloud.getPack`\"\u003e`spectrocloud.getPack`\u003c/span\u003e data source. This value is required if the pack type is \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e and for \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e if the chart is from a public helm registry. If not provided, all of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e must be specified to resolve the pack UID internally.\n"},"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.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["name","uid"]}}},"spectrocloud:index/ClusterEdgeNativeClusterProfilePackManifest:ClusterEdgeNativeClusterProfilePackManifest":{"properties":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest.\n"},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack.\n"},"uid":{"type":"string"}},"type":"object","required":["content","name"],"language":{"nodejs":{"requiredOutputs":["content","name","uid"]}}},"spectrocloud:index/ClusterEdgeNativeClusterRbacBinding:ClusterEdgeNativeClusterRbacBinding":{"properties":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.\n"},"role":{"type":"object","additionalProperties":{"type":"string"},"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'. Must include 'name' and 'kind' fields.\n"},"subjects":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeClusterRbacBindingSubject:ClusterEdgeNativeClusterRbacBindingSubject"}},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.\n"}},"type":"object","required":["type"]},"spectrocloud:index/ClusterEdgeNativeClusterRbacBindingSubject:ClusterEdgeNativeClusterRbacBindingSubject":{"properties":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.\n"},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.\n"},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.\n"}},"type":"object","required":["name","type"]},"spectrocloud:index/ClusterEdgeNativeClusterTemplate:ClusterEdgeNativeClusterTemplate":{"properties":{"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeClusterTemplateClusterProfile:ClusterEdgeNativeClusterTemplateClusterProfile"},"description":"The cluster profile of the cluster template.\n"},"id":{"type":"string","description":"The ID of the cluster template.\n"},"name":{"type":"string","description":"The name of the cluster template.\n"}},"type":"object","required":["id"],"language":{"nodejs":{"requiredOutputs":["id","name"]}}},"spectrocloud:index/ClusterEdgeNativeClusterTemplateClusterProfile:ClusterEdgeNativeClusterTemplateClusterProfile":{"properties":{"id":{"type":"string","description":"The UID of the cluster profile.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterEdgeNativeHostConfig:ClusterEdgeNativeHostConfig":{"properties":{"externalTrafficPolicy":{"type":"string","description":"The external traffic policy for the cluster.\n"},"hostEndpointType":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.\n"},"ingressHost":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host*endpoint*type' is set to 'Ingress'.\n"},"loadBalancerSourceRanges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host*endpoint*type' is set to 'LoadBalancer'.\n"}},"type":"object"},"spectrocloud:index/ClusterEdgeNativeLocationConfig:ClusterEdgeNativeLocationConfig":{"properties":{"countryCode":{"type":"string","description":"The country code of the country the cluster is located in.\n"},"countryName":{"type":"string","description":"The name of the country.\n"},"latitude":{"type":"number","description":"The latitude coordinates value.\n"},"longitude":{"type":"number","description":"The longitude coordinates value.\n"},"regionCode":{"type":"string","description":"The region code of where the cluster is located in.\n"},"regionName":{"type":"string","description":"The name of the region.\n"}},"type":"object","required":["latitude","longitude"]},"spectrocloud:index/ClusterEdgeNativeMachinePool:ClusterEdgeNativeMachinePool":{"properties":{"additionalAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional annotations to be applied to the machine pool. Annotations must be in the form of `key:value`.\n"},"additionalLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional labels to be applied to the machine pool. Labels must be in the form of `key:value`.\n"},"controlPlane":{"type":"boolean","description":"Whether this machine pool is a control plane. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"controlPlaneAsWorker":{"type":"boolean","description":"Whether this machine pool is a control plane and a worker. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"edgeHosts":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeMachinePoolEdgeHost:ClusterEdgeNativeMachinePoolEdgeHost"}},"name":{"type":"string"},"nodeRepaveInterval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, Applicable only for worker pools.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeMachinePoolNode:ClusterEdgeNativeMachinePoolNode"}},"overrideKubeadmConfiguration":{"type":"string","description":"YAML config for kubeletExtraArgs, preKubeadmCommands, postKubeadmCommands. Overrides pack-level settings. Worker pools only.\n"},"overrideScaling":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeMachinePoolOverrideScaling:ClusterEdgeNativeMachinePoolOverrideScaling","description":"Rolling update strategy for the machine pool.\n"},"taints":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeMachinePoolTaint:ClusterEdgeNativeMachinePoolTaint"}},"updateStrategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut`, `RollingUpdateScaleIn` and `OverrideScaling`. If `OverrideScaling` is used, \u003cspan pulumi-lang-nodejs=\"`overrideScaling`\" pulumi-lang-dotnet=\"`OverrideScaling`\" pulumi-lang-go=\"`overrideScaling`\" pulumi-lang-python=\"`override_scaling`\" pulumi-lang-yaml=\"`overrideScaling`\" pulumi-lang-java=\"`overrideScaling`\"\u003e`override_scaling`\u003c/span\u003e must be specified with both \u003cspan pulumi-lang-nodejs=\"`maxSurge`\" pulumi-lang-dotnet=\"`MaxSurge`\" pulumi-lang-go=\"`maxSurge`\" pulumi-lang-python=\"`max_surge`\" pulumi-lang-yaml=\"`maxSurge`\" pulumi-lang-java=\"`maxSurge`\"\u003e`max_surge`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maxUnavailable`\" pulumi-lang-dotnet=\"`MaxUnavailable`\" pulumi-lang-go=\"`maxUnavailable`\" pulumi-lang-python=\"`max_unavailable`\" pulumi-lang-yaml=\"`maxUnavailable`\" pulumi-lang-java=\"`maxUnavailable`\"\u003e`max_unavailable`\u003c/span\u003e.\n"}},"type":"object","required":["edgeHosts","name"]},"spectrocloud:index/ClusterEdgeNativeMachinePoolEdgeHost:ClusterEdgeNativeMachinePoolEdgeHost":{"properties":{"defaultGateway":{"type":"string","description":"Edge host default gateway\n"},"dnsServers":{"type":"array","items":{"type":"string"},"description":"Edge host DNS servers\n"},"hostName":{"type":"string","description":"Edge host name\n"},"hostUid":{"type":"string","description":"Edge host id\n"},"nicName":{"type":"string","description":"NIC Name for edge host.\n"},"staticIp":{"type":"string","description":"Edge host static IP address\n"},"subnetMask":{"type":"string","description":"Edge host subnet mask\n"},"twoNodeRole":{"type":"string","description":"Two node role for edge host. Valid values are \u003cspan pulumi-lang-nodejs=\"`primary`\" pulumi-lang-dotnet=\"`Primary`\" pulumi-lang-go=\"`primary`\" pulumi-lang-python=\"`primary`\" pulumi-lang-yaml=\"`primary`\" pulumi-lang-java=\"`primary`\"\u003e`primary`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`secondary`\" pulumi-lang-dotnet=\"`Secondary`\" pulumi-lang-go=\"`secondary`\" pulumi-lang-python=\"`secondary`\" pulumi-lang-yaml=\"`secondary`\" pulumi-lang-java=\"`secondary`\"\u003e`secondary`\u003c/span\u003e.\n"}},"type":"object","required":["hostUid"]},"spectrocloud:index/ClusterEdgeNativeMachinePoolNode:ClusterEdgeNativeMachinePoolNode":{"properties":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: \u003cspan pulumi-lang-nodejs=\"`cordon`\" pulumi-lang-dotnet=\"`Cordon`\" pulumi-lang-go=\"`cordon`\" pulumi-lang-python=\"`cordon`\" pulumi-lang-yaml=\"`cordon`\" pulumi-lang-java=\"`cordon`\"\u003e`cordon`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`uncordon`\" pulumi-lang-dotnet=\"`Uncordon`\" pulumi-lang-go=\"`uncordon`\" pulumi-lang-python=\"`uncordon`\" pulumi-lang-yaml=\"`uncordon`\" pulumi-lang-java=\"`uncordon`\"\u003e`uncordon`\u003c/span\u003e.\n"},"nodeId":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" nodeId \" pulumi-lang-dotnet=\" NodeId \" pulumi-lang-go=\" nodeId \" pulumi-lang-python=\" node_id \" pulumi-lang-yaml=\" nodeId \" pulumi-lang-java=\" nodeId \"\u003e node_id \u003c/span\u003eof the node, For example `i-07f899a33dee624f7`\n"}},"type":"object","required":["action","nodeId"]},"spectrocloud:index/ClusterEdgeNativeMachinePoolOverrideScaling:ClusterEdgeNativeMachinePoolOverrideScaling":{"properties":{"maxSurge":{"type":"string","description":"Max extra nodes during rolling update. Integer or percentage (e.g., '1' or '20%'). Only valid when type=OverrideScaling. Both maxSurge and maxUnavailable are required.\n"},"maxUnavailable":{"type":"string","description":"Max unavailable nodes during rolling update. Integer or percentage (e.g., '0' or '10%'). Only valid when type=OverrideScaling. Both maxSurge and maxUnavailable are required.\n"}},"type":"object"},"spectrocloud:index/ClusterEdgeNativeMachinePoolTaint:ClusterEdgeNativeMachinePoolTaint":{"properties":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.\n"},"key":{"type":"string","description":"The key of the taint.\n"},"value":{"type":"string","description":"The value of the taint.\n"}},"type":"object","required":["effect","key","value"]},"spectrocloud:index/ClusterEdgeNativeNamespace:ClusterEdgeNativeNamespace":{"properties":{"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.\n"},"resourceAllocation":{"type":"object","additionalProperties":{"type":"string"},"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048', gpu_limit: '1', gpu_provider: 'nvidia'}`\n"}},"type":"object","required":["name","resourceAllocation"]},"spectrocloud:index/ClusterEdgeNativeScanPolicy:ClusterEdgeNativeScanPolicy":{"properties":{"configurationScanSchedule":{"type":"string","description":"The schedule for configuration scan.\n"},"conformanceScanSchedule":{"type":"string","description":"The schedule for conformance scan.\n"},"penetrationScanSchedule":{"type":"string","description":"The schedule for penetration scan.\n"}},"type":"object","required":["configurationScanSchedule","conformanceScanSchedule","penetrationScanSchedule"]},"spectrocloud:index/ClusterEdgeNativeTimeouts:ClusterEdgeNativeTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/ClusterEdgeVsphereBackupPolicy:ClusterEdgeVsphereBackupPolicy":{"properties":{"backupLocationId":{"type":"string","description":"The ID of the backup location to use for the backup.\n"},"clusterUids":{"type":"array","items":{"type":"string"},"description":"The list of cluster UIDs to include in the backup. If \u003cspan pulumi-lang-nodejs=\"`includeAllClusters`\" pulumi-lang-dotnet=\"`IncludeAllClusters`\" pulumi-lang-go=\"`includeAllClusters`\" pulumi-lang-python=\"`include_all_clusters`\" pulumi-lang-yaml=\"`includeAllClusters`\" pulumi-lang-java=\"`includeAllClusters`\"\u003e`include_all_clusters`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then all clusters will be included.\n"},"expiryInHour":{"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.\n"},"includeAllClusters":{"type":"boolean","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in \u003cspan pulumi-lang-nodejs=\"`clusterUids`\" pulumi-lang-dotnet=\"`ClusterUids`\" pulumi-lang-go=\"`clusterUids`\" pulumi-lang-python=\"`cluster_uids`\" pulumi-lang-yaml=\"`clusterUids`\" pulumi-lang-java=\"`clusterUids`\"\u003e`cluster_uids`\u003c/span\u003e will be included.\n"},"includeClusterResources":{"type":"boolean","description":"Indicates whether to include 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 deprecated, and a new attribute, include*cluster*resources_mode, will be introduced.)\n"},"includeClusterResourcesMode":{"type":"string","description":"Specifies whether to include the cluster resources in the backup. Supported values are \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\"\u003e`never`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\"\u003e`auto`\u003c/span\u003e.\n"},"includeDisks":{"type":"boolean","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.\n"},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \\n\\n-\\n\\n-\\n\\n.\n"},"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 * * *`.\n"}},"type":"object","required":["backupLocationId","expiryInHour","prefix","schedule"]},"spectrocloud:index/ClusterEdgeVsphereCloudConfig:ClusterEdgeVsphereCloudConfig":{"properties":{"datacenter":{"type":"string"},"folder":{"type":"string"},"imageTemplateFolder":{"type":"string"},"networkSearchDomain":{"type":"string"},"networkType":{"type":"string"},"sshKey":{"type":"string","description":"Public SSH Key (Secure Shell) to establish, administer, and communicate with remote clusters, \u003cspan pulumi-lang-nodejs=\"`sshKey \" pulumi-lang-dotnet=\"`SshKey \" pulumi-lang-go=\"`sshKey \" pulumi-lang-python=\"`ssh_key \" pulumi-lang-yaml=\"`sshKey \" pulumi-lang-java=\"`sshKey \"\u003e`ssh_key \u003c/span\u003e\u0026\u003cspan pulumi-lang-nodejs=\" sshKeys`\" pulumi-lang-dotnet=\" SshKeys`\" pulumi-lang-go=\" sshKeys`\" pulumi-lang-python=\" ssh_keys`\" pulumi-lang-yaml=\" sshKeys`\" pulumi-lang-java=\" sshKeys`\"\u003e ssh_keys`\u003c/span\u003e are mutually exclusive.\n"},"sshKeys":{"type":"array","items":{"type":"string"},"description":"List of public SSH (Secure Shell) keys to establish, administer, and communicate with remote clusters, \u003cspan pulumi-lang-nodejs=\"`sshKey \" pulumi-lang-dotnet=\"`SshKey \" pulumi-lang-go=\"`sshKey \" pulumi-lang-python=\"`ssh_key \" pulumi-lang-yaml=\"`sshKey \" pulumi-lang-java=\"`sshKey \"\u003e`ssh_key \u003c/span\u003e\u0026\u003cspan pulumi-lang-nodejs=\" sshKeys`\" pulumi-lang-dotnet=\" SshKeys`\" pulumi-lang-go=\" sshKeys`\" pulumi-lang-python=\" ssh_keys`\" pulumi-lang-yaml=\" sshKeys`\" pulumi-lang-java=\" sshKeys`\"\u003e ssh_keys`\u003c/span\u003e are mutually exclusive.\n"},"staticIp":{"type":"boolean"},"vip":{"type":"string"}},"type":"object","required":["datacenter","folder","vip"]},"spectrocloud:index/ClusterEdgeVsphereClusterProfile:ClusterEdgeVsphereClusterProfile":{"properties":{"id":{"type":"string","description":"The ID of the cluster profile.\n"},"packs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereClusterProfilePack:ClusterEdgeVsphereClusterProfilePack"},"description":"For packs of type \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, at least one pack must be specified.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterEdgeVsphereClusterProfilePack:ClusterEdgeVsphereClusterProfilePack":{"properties":{"manifests":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereClusterProfilePackManifest:ClusterEdgeVsphereClusterProfilePackManifest"}},"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile.\n"},"registryName":{"type":"string","description":"The registry name of the pack. The registry name is the human-readable name of the registry. This attribute can be used instead of \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e for better readability. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field can be used along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"registryUid":{"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. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"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 \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e (or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e) to resolve the pack UID internally.\n"},"type":{"type":"string","description":"The type of the pack. Allowed values are \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e. The default value is spectro. If using an OCI registry for pack, set the type to \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e.\n"},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the \u003cspan pulumi-lang-nodejs=\"`spectrocloud.getPack`\" pulumi-lang-dotnet=\"`spectrocloud.getPack`\" pulumi-lang-go=\"`getPack`\" pulumi-lang-python=\"`get_pack`\" pulumi-lang-yaml=\"`spectrocloud.getPack`\" pulumi-lang-java=\"`spectrocloud.getPack`\"\u003e`spectrocloud.getPack`\u003c/span\u003e data source. This value is required if the pack type is \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e and for \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e if the chart is from a public helm registry. If not provided, all of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e must be specified to resolve the pack UID internally.\n"},"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.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["name","uid"]}}},"spectrocloud:index/ClusterEdgeVsphereClusterProfilePackManifest:ClusterEdgeVsphereClusterProfilePackManifest":{"properties":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest.\n"},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack.\n"},"uid":{"type":"string"}},"type":"object","required":["content","name"],"language":{"nodejs":{"requiredOutputs":["content","name","uid"]}}},"spectrocloud:index/ClusterEdgeVsphereClusterRbacBinding:ClusterEdgeVsphereClusterRbacBinding":{"properties":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.\n"},"role":{"type":"object","additionalProperties":{"type":"string"},"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'. Must include 'name' and 'kind' fields.\n"},"subjects":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereClusterRbacBindingSubject:ClusterEdgeVsphereClusterRbacBindingSubject"}},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.\n"}},"type":"object","required":["type"]},"spectrocloud:index/ClusterEdgeVsphereClusterRbacBindingSubject:ClusterEdgeVsphereClusterRbacBindingSubject":{"properties":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.\n"},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.\n"},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.\n"}},"type":"object","required":["name","type"]},"spectrocloud:index/ClusterEdgeVsphereClusterTemplate:ClusterEdgeVsphereClusterTemplate":{"properties":{"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereClusterTemplateClusterProfile:ClusterEdgeVsphereClusterTemplateClusterProfile"},"description":"The cluster profile of the cluster template.\n"},"id":{"type":"string","description":"The ID of the cluster template.\n"},"name":{"type":"string","description":"The name of the cluster template.\n"}},"type":"object","required":["id"],"language":{"nodejs":{"requiredOutputs":["id","name"]}}},"spectrocloud:index/ClusterEdgeVsphereClusterTemplateClusterProfile:ClusterEdgeVsphereClusterTemplateClusterProfile":{"properties":{"id":{"type":"string","description":"The UID of the cluster profile.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterEdgeVsphereHostConfig:ClusterEdgeVsphereHostConfig":{"properties":{"externalTrafficPolicy":{"type":"string","description":"The external traffic policy for the cluster.\n"},"hostEndpointType":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.\n"},"ingressHost":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host*endpoint*type' is set to 'Ingress'.\n"},"loadBalancerSourceRanges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host*endpoint*type' is set to 'LoadBalancer'.\n"}},"type":"object"},"spectrocloud:index/ClusterEdgeVsphereLocationConfig:ClusterEdgeVsphereLocationConfig":{"properties":{"countryCode":{"type":"string","description":"The country code of the country the cluster is located in.\n"},"countryName":{"type":"string","description":"The name of the country.\n"},"latitude":{"type":"number","description":"The latitude coordinates value.\n"},"longitude":{"type":"number","description":"The longitude coordinates value.\n"},"regionCode":{"type":"string","description":"The region code of where the cluster is located in.\n"},"regionName":{"type":"string","description":"The name of the region.\n"}},"type":"object","required":["latitude","longitude"]},"spectrocloud:index/ClusterEdgeVsphereMachinePool:ClusterEdgeVsphereMachinePool":{"properties":{"additionalAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional annotations to be applied to the machine pool. Annotations must be in the form of `key:value`.\n"},"additionalLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional labels to be applied to the machine pool. Labels must be in the form of `key:value`.\n"},"controlPlane":{"type":"boolean","description":"Whether this machine pool is a control plane. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"controlPlaneAsWorker":{"type":"boolean","description":"Whether this machine pool is a control plane and a worker. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"count":{"type":"number","description":"Number of nodes in the machine pool.\n"},"instanceType":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereMachinePoolInstanceType:ClusterEdgeVsphereMachinePoolInstanceType"},"name":{"type":"string"},"nodeRepaveInterval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, Applicable only for worker pools.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereMachinePoolNode:ClusterEdgeVsphereMachinePoolNode"}},"overrideKubeadmConfiguration":{"type":"string","description":"YAML config for kubeletExtraArgs, preKubeadmCommands, postKubeadmCommands. Overrides pack-level settings. Worker pools only.\n"},"overrideScaling":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereMachinePoolOverrideScaling:ClusterEdgeVsphereMachinePoolOverrideScaling","description":"Rolling update strategy for the machine pool.\n"},"placements":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereMachinePoolPlacement:ClusterEdgeVsphereMachinePoolPlacement"}},"taints":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereMachinePoolTaint:ClusterEdgeVsphereMachinePoolTaint"}},"updateStrategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut`, `RollingUpdateScaleIn` and `OverrideScaling`. If `OverrideScaling` is used, \u003cspan pulumi-lang-nodejs=\"`overrideScaling`\" pulumi-lang-dotnet=\"`OverrideScaling`\" pulumi-lang-go=\"`overrideScaling`\" pulumi-lang-python=\"`override_scaling`\" pulumi-lang-yaml=\"`overrideScaling`\" pulumi-lang-java=\"`overrideScaling`\"\u003e`override_scaling`\u003c/span\u003e must be specified with both \u003cspan pulumi-lang-nodejs=\"`maxSurge`\" pulumi-lang-dotnet=\"`MaxSurge`\" pulumi-lang-go=\"`maxSurge`\" pulumi-lang-python=\"`max_surge`\" pulumi-lang-yaml=\"`maxSurge`\" pulumi-lang-java=\"`maxSurge`\"\u003e`max_surge`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maxUnavailable`\" pulumi-lang-dotnet=\"`MaxUnavailable`\" pulumi-lang-go=\"`maxUnavailable`\" pulumi-lang-python=\"`max_unavailable`\" pulumi-lang-yaml=\"`maxUnavailable`\" pulumi-lang-java=\"`maxUnavailable`\"\u003e`max_unavailable`\u003c/span\u003e.\n"}},"type":"object","required":["count","instanceType","name","placements"]},"spectrocloud:index/ClusterEdgeVsphereMachinePoolInstanceType:ClusterEdgeVsphereMachinePoolInstanceType":{"properties":{"cpu":{"type":"number"},"diskSizeGb":{"type":"number"},"memoryMb":{"type":"number"}},"type":"object","required":["cpu","diskSizeGb","memoryMb"]},"spectrocloud:index/ClusterEdgeVsphereMachinePoolNode:ClusterEdgeVsphereMachinePoolNode":{"properties":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: \u003cspan pulumi-lang-nodejs=\"`cordon`\" pulumi-lang-dotnet=\"`Cordon`\" pulumi-lang-go=\"`cordon`\" pulumi-lang-python=\"`cordon`\" pulumi-lang-yaml=\"`cordon`\" pulumi-lang-java=\"`cordon`\"\u003e`cordon`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`uncordon`\" pulumi-lang-dotnet=\"`Uncordon`\" pulumi-lang-go=\"`uncordon`\" pulumi-lang-python=\"`uncordon`\" pulumi-lang-yaml=\"`uncordon`\" pulumi-lang-java=\"`uncordon`\"\u003e`uncordon`\u003c/span\u003e.\n"},"nodeId":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" nodeId \" pulumi-lang-dotnet=\" NodeId \" pulumi-lang-go=\" nodeId \" pulumi-lang-python=\" node_id \" pulumi-lang-yaml=\" nodeId \" pulumi-lang-java=\" nodeId \"\u003e node_id \u003c/span\u003eof the node, For example `i-07f899a33dee624f7`\n"}},"type":"object","required":["action","nodeId"]},"spectrocloud:index/ClusterEdgeVsphereMachinePoolOverrideScaling:ClusterEdgeVsphereMachinePoolOverrideScaling":{"properties":{"maxSurge":{"type":"string","description":"Max extra nodes during rolling update. Integer or percentage (e.g., '1' or '20%'). Only valid when type=OverrideScaling. Both maxSurge and maxUnavailable are required.\n"},"maxUnavailable":{"type":"string","description":"Max unavailable nodes during rolling update. Integer or percentage (e.g., '0' or '10%'). Only valid when type=OverrideScaling. Both maxSurge and maxUnavailable are required.\n"}},"type":"object"},"spectrocloud:index/ClusterEdgeVsphereMachinePoolPlacement:ClusterEdgeVsphereMachinePoolPlacement":{"properties":{"cluster":{"type":"string"},"datastore":{"type":"string"},"id":{"type":"string"},"network":{"type":"string"},"resourcePool":{"type":"string"},"staticIpPoolId":{"type":"string"}},"type":"object","required":["cluster","datastore","network","resourcePool"],"language":{"nodejs":{"requiredOutputs":["cluster","datastore","id","network","resourcePool"]}}},"spectrocloud:index/ClusterEdgeVsphereMachinePoolTaint:ClusterEdgeVsphereMachinePoolTaint":{"properties":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.\n"},"key":{"type":"string","description":"The key of the taint.\n"},"value":{"type":"string","description":"The value of the taint.\n"}},"type":"object","required":["effect","key","value"]},"spectrocloud:index/ClusterEdgeVsphereNamespace:ClusterEdgeVsphereNamespace":{"properties":{"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.\n"},"resourceAllocation":{"type":"object","additionalProperties":{"type":"string"},"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048', gpu_limit: '1', gpu_provider: 'nvidia'}`\n"}},"type":"object","required":["name","resourceAllocation"]},"spectrocloud:index/ClusterEdgeVsphereScanPolicy:ClusterEdgeVsphereScanPolicy":{"properties":{"configurationScanSchedule":{"type":"string","description":"The schedule for configuration scan.\n"},"conformanceScanSchedule":{"type":"string","description":"The schedule for conformance scan.\n"},"penetrationScanSchedule":{"type":"string","description":"The schedule for penetration scan.\n"}},"type":"object","required":["configurationScanSchedule","conformanceScanSchedule","penetrationScanSchedule"]},"spectrocloud:index/ClusterEdgeVsphereTimeouts:ClusterEdgeVsphereTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/ClusterEksBackupPolicy:ClusterEksBackupPolicy":{"properties":{"backupLocationId":{"type":"string","description":"The ID of the backup location to use for the backup.\n"},"clusterUids":{"type":"array","items":{"type":"string"},"description":"The list of cluster UIDs to include in the backup. If \u003cspan pulumi-lang-nodejs=\"`includeAllClusters`\" pulumi-lang-dotnet=\"`IncludeAllClusters`\" pulumi-lang-go=\"`includeAllClusters`\" pulumi-lang-python=\"`include_all_clusters`\" pulumi-lang-yaml=\"`includeAllClusters`\" pulumi-lang-java=\"`includeAllClusters`\"\u003e`include_all_clusters`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then all clusters will be included.\n"},"expiryInHour":{"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.\n"},"includeAllClusters":{"type":"boolean","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in \u003cspan pulumi-lang-nodejs=\"`clusterUids`\" pulumi-lang-dotnet=\"`ClusterUids`\" pulumi-lang-go=\"`clusterUids`\" pulumi-lang-python=\"`cluster_uids`\" pulumi-lang-yaml=\"`clusterUids`\" pulumi-lang-java=\"`clusterUids`\"\u003e`cluster_uids`\u003c/span\u003e will be included.\n"},"includeClusterResources":{"type":"boolean","description":"Indicates whether to include 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 deprecated, and a new attribute, include*cluster*resources_mode, will be introduced.)\n"},"includeClusterResourcesMode":{"type":"string","description":"Specifies whether to include the cluster resources in the backup. Supported values are \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\"\u003e`never`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\"\u003e`auto`\u003c/span\u003e.\n"},"includeDisks":{"type":"boolean","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.\n"},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \\n\\n-\\n\\n-\\n\\n.\n"},"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 * * *`.\n"}},"type":"object","required":["backupLocationId","expiryInHour","prefix","schedule"]},"spectrocloud:index/ClusterEksCloudConfig:ClusterEksCloudConfig":{"properties":{"azSubnets":{"type":"object","additionalProperties":{"type":"string"},"description":"Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`azs`\" pulumi-lang-dotnet=\"`Azs`\" pulumi-lang-go=\"`azs`\" pulumi-lang-python=\"`azs`\" pulumi-lang-yaml=\"`azs`\" pulumi-lang-java=\"`azs`\"\u003e`azs`\u003c/span\u003e. Use for Static provisioning.\n"},"azs":{"type":"array","items":{"type":"string"},"description":"Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`azSubnets`\" pulumi-lang-dotnet=\"`AzSubnets`\" pulumi-lang-go=\"`azSubnets`\" pulumi-lang-python=\"`az_subnets`\" pulumi-lang-yaml=\"`azSubnets`\" pulumi-lang-java=\"`azSubnets`\"\u003e`az_subnets`\u003c/span\u003e. Use for Dynamic provisioning.\n"},"encryptionConfigArn":{"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.\n"},"endpointAccess":{"type":"string","description":"Choose between \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`public`\" pulumi-lang-dotnet=\"`Public`\" pulumi-lang-go=\"`public`\" pulumi-lang-python=\"`public`\" pulumi-lang-yaml=\"`public`\" pulumi-lang-java=\"`public`\"\u003e`public`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`privateAndPublic`\" pulumi-lang-dotnet=\"`PrivateAndPublic`\" pulumi-lang-go=\"`privateAndPublic`\" pulumi-lang-python=\"`private_and_public`\" pulumi-lang-yaml=\"`privateAndPublic`\" pulumi-lang-java=\"`privateAndPublic`\"\u003e`private_and_public`\u003c/span\u003e to define how communication is established with the endpoint for the managed Kubernetes API server and your cluster. The default value is \u003cspan pulumi-lang-nodejs=\"`public`\" pulumi-lang-dotnet=\"`Public`\" pulumi-lang-go=\"`public`\" pulumi-lang-python=\"`public`\" pulumi-lang-yaml=\"`public`\" pulumi-lang-java=\"`public`\"\u003e`public`\u003c/span\u003e.\n"},"privateAccessCidrs":{"type":"array","items":{"type":"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.\n"},"publicAccessCidrs":{"type":"array","items":{"type":"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.\n"},"region":{"type":"string"},"sshKeyName":{"type":"string","description":"Public SSH key to be used for the cluster nodes.\n"},"vpcId":{"type":"string"}},"type":"object","required":["region"]},"spectrocloud:index/ClusterEksClusterProfile:ClusterEksClusterProfile":{"properties":{"id":{"type":"string","description":"The ID of the cluster profile.\n"},"packs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksClusterProfilePack:ClusterEksClusterProfilePack"},"description":"For packs of type \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, at least one pack must be specified.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterEksClusterProfilePack:ClusterEksClusterProfilePack":{"properties":{"manifests":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksClusterProfilePackManifest:ClusterEksClusterProfilePackManifest"}},"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile.\n"},"registryName":{"type":"string","description":"The registry name of the pack. The registry name is the human-readable name of the registry. This attribute can be used instead of \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e for better readability. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field can be used along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"registryUid":{"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. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"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 \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e (or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e) to resolve the pack UID internally.\n"},"type":{"type":"string","description":"The type of the pack. Allowed values are \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e. The default value is spectro. If using an OCI registry for pack, set the type to \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e.\n"},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the \u003cspan pulumi-lang-nodejs=\"`spectrocloud.getPack`\" pulumi-lang-dotnet=\"`spectrocloud.getPack`\" pulumi-lang-go=\"`getPack`\" pulumi-lang-python=\"`get_pack`\" pulumi-lang-yaml=\"`spectrocloud.getPack`\" pulumi-lang-java=\"`spectrocloud.getPack`\"\u003e`spectrocloud.getPack`\u003c/span\u003e data source. This value is required if the pack type is \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e and for \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e if the chart is from a public helm registry. If not provided, all of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e must be specified to resolve the pack UID internally.\n"},"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.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["name","uid"]}}},"spectrocloud:index/ClusterEksClusterProfilePackManifest:ClusterEksClusterProfilePackManifest":{"properties":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest.\n"},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack.\n"},"uid":{"type":"string"}},"type":"object","required":["content","name"],"language":{"nodejs":{"requiredOutputs":["content","name","uid"]}}},"spectrocloud:index/ClusterEksClusterRbacBinding:ClusterEksClusterRbacBinding":{"properties":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.\n"},"role":{"type":"object","additionalProperties":{"type":"string"},"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'. Must include 'name' and 'kind' fields.\n"},"subjects":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksClusterRbacBindingSubject:ClusterEksClusterRbacBindingSubject"}},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.\n"}},"type":"object","required":["type"]},"spectrocloud:index/ClusterEksClusterRbacBindingSubject:ClusterEksClusterRbacBindingSubject":{"properties":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.\n"},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.\n"},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.\n"}},"type":"object","required":["name","type"]},"spectrocloud:index/ClusterEksClusterTemplate:ClusterEksClusterTemplate":{"properties":{"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksClusterTemplateClusterProfile:ClusterEksClusterTemplateClusterProfile"},"description":"The cluster profile of the cluster template.\n"},"id":{"type":"string","description":"The ID of the cluster template.\n"},"name":{"type":"string","description":"The name of the cluster template.\n"}},"type":"object","required":["id"],"language":{"nodejs":{"requiredOutputs":["id","name"]}}},"spectrocloud:index/ClusterEksClusterTemplateClusterProfile:ClusterEksClusterTemplateClusterProfile":{"properties":{"id":{"type":"string","description":"The UID of the cluster profile.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterEksFargateProfile:ClusterEksFargateProfile":{"properties":{"additionalTags":{"type":"object","additionalProperties":{"type":"string"}},"name":{"type":"string"},"selectors":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksFargateProfileSelector:ClusterEksFargateProfileSelector"}},"subnets":{"type":"array","items":{"type":"string"}}},"type":"object","required":["name","selectors"]},"spectrocloud:index/ClusterEksFargateProfileSelector:ClusterEksFargateProfileSelector":{"properties":{"labels":{"type":"object","additionalProperties":{"type":"string"}},"namespace":{"type":"string"}},"type":"object","required":["namespace"]},"spectrocloud:index/ClusterEksHostConfig:ClusterEksHostConfig":{"properties":{"externalTrafficPolicy":{"type":"string","description":"The external traffic policy for the cluster.\n"},"hostEndpointType":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.\n"},"ingressHost":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host*endpoint*type' is set to 'Ingress'.\n"},"loadBalancerSourceRanges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host*endpoint*type' is set to 'LoadBalancer'.\n"}},"type":"object"},"spectrocloud:index/ClusterEksLocationConfig:ClusterEksLocationConfig":{"properties":{"countryCode":{"type":"string"},"countryName":{"type":"string"},"latitude":{"type":"number"},"longitude":{"type":"number"},"regionCode":{"type":"string"},"regionName":{"type":"string"}},"type":"object","required":["countryCode","countryName","latitude","longitude","regionCode","regionName"]},"spectrocloud:index/ClusterEksMachinePool:ClusterEksMachinePool":{"properties":{"additionalAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional annotations to be applied to the machine pool. Annotations must be in the form of `key:value`.\n"},"additionalLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional labels to be applied to the machine pool. Labels must be in the form of `key:value`.\n"},"amiType":{"type":"string","description":"Specifies the type of Amazon Machine Image (AMI) to use for the machine pool. Valid values are [`AL2_x86_64`, `AL2_x86_64_GPU`, `AL2023_x86_64_STANDARD`, `AL2023_x86_64_NEURON` and `AL2023_x86_64_NVIDIA`]. Defaults to `AL2023_x86_64_STANDARD`.\n"},"azSubnets":{"type":"object","additionalProperties":{"type":"string"},"description":"Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`azs`\" pulumi-lang-dotnet=\"`Azs`\" pulumi-lang-go=\"`azs`\" pulumi-lang-python=\"`azs`\" pulumi-lang-yaml=\"`azs`\" pulumi-lang-java=\"`azs`\"\u003e`azs`\u003c/span\u003e. Use for Static provisioning.\n"},"azs":{"type":"array","items":{"type":"string"},"description":"Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`azSubnets`\" pulumi-lang-dotnet=\"`AzSubnets`\" pulumi-lang-go=\"`azSubnets`\" pulumi-lang-python=\"`az_subnets`\" pulumi-lang-yaml=\"`azSubnets`\" pulumi-lang-java=\"`azSubnets`\"\u003e`az_subnets`\u003c/span\u003e.\n"},"capacityType":{"type":"string","description":"Capacity type is an instance type,  can be 'on-demand' or 'spot'. Defaults to 'on-demand'.\n"},"count":{"type":"number","description":"Number of nodes in the machine pool.\n"},"diskSizeGb":{"type":"number"},"eksLaunchTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterEksMachinePoolEksLaunchTemplate:ClusterEksMachinePoolEksLaunchTemplate"},"instanceType":{"type":"string"},"max":{"type":"number","description":"Maximum number of nodes in the machine pool. This is used for autoscaling the machine pool.\n"},"maxPrice":{"type":"string"},"min":{"type":"number","description":"Minimum number of nodes in the machine pool. This is used for autoscaling the machine pool.\n"},"name":{"type":"string"},"nodes":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksMachinePoolNode:ClusterEksMachinePoolNode"}},"overrideKubeadmConfiguration":{"type":"string","description":"YAML config for kubeletExtraArgs, preKubeadmCommands, postKubeadmCommands. Overrides pack-level settings. Worker pools only.\n"},"overrideScaling":{"$ref":"#/types/spectrocloud:index%2FClusterEksMachinePoolOverrideScaling:ClusterEksMachinePoolOverrideScaling","description":"Rolling update strategy for the machine pool.\n"},"taints":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksMachinePoolTaint:ClusterEksMachinePoolTaint"}},"updateStrategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut`, `RollingUpdateScaleIn` and `OverrideScaling`. If `OverrideScaling` is used, \u003cspan pulumi-lang-nodejs=\"`overrideScaling`\" pulumi-lang-dotnet=\"`OverrideScaling`\" pulumi-lang-go=\"`overrideScaling`\" pulumi-lang-python=\"`override_scaling`\" pulumi-lang-yaml=\"`overrideScaling`\" pulumi-lang-java=\"`overrideScaling`\"\u003e`override_scaling`\u003c/span\u003e must be specified with both \u003cspan pulumi-lang-nodejs=\"`maxSurge`\" pulumi-lang-dotnet=\"`MaxSurge`\" pulumi-lang-go=\"`maxSurge`\" pulumi-lang-python=\"`max_surge`\" pulumi-lang-yaml=\"`maxSurge`\" pulumi-lang-java=\"`maxSurge`\"\u003e`max_surge`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maxUnavailable`\" pulumi-lang-dotnet=\"`MaxUnavailable`\" pulumi-lang-go=\"`maxUnavailable`\" pulumi-lang-python=\"`max_unavailable`\" pulumi-lang-yaml=\"`maxUnavailable`\" pulumi-lang-java=\"`maxUnavailable`\"\u003e`max_unavailable`\u003c/span\u003e.\n"}},"type":"object","required":["count","diskSizeGb","instanceType","name"]},"spectrocloud:index/ClusterEksMachinePoolEksLaunchTemplate:ClusterEksMachinePoolEksLaunchTemplate":{"properties":{"additionalSecurityGroups":{"type":"array","items":{"type":"string"},"description":"Additional security groups to attach to the instance.\n"},"amiId":{"type":"string","description":"The ID of the custom Amazon Machine Image (AMI). If you do not set an \u003cspan pulumi-lang-nodejs=\"`amiId`\" pulumi-lang-dotnet=\"`AmiId`\" pulumi-lang-go=\"`amiId`\" pulumi-lang-python=\"`ami_id`\" pulumi-lang-yaml=\"`amiId`\" pulumi-lang-java=\"`amiId`\"\u003e`ami_id`\u003c/span\u003e, Palette will repave the cluster when it automatically updates the EKS AMI.\n"},"rootVolumeIops":{"type":"number","description":"The number of input/output operations per second (IOPS) for the root volume.\n"},"rootVolumeThroughput":{"type":"number","description":"The throughput of the root volume in MiB/s.\n"},"rootVolumeType":{"type":"string","description":"The type of the root volume.\n"}},"type":"object"},"spectrocloud:index/ClusterEksMachinePoolNode:ClusterEksMachinePoolNode":{"properties":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: \u003cspan pulumi-lang-nodejs=\"`cordon`\" pulumi-lang-dotnet=\"`Cordon`\" pulumi-lang-go=\"`cordon`\" pulumi-lang-python=\"`cordon`\" pulumi-lang-yaml=\"`cordon`\" pulumi-lang-java=\"`cordon`\"\u003e`cordon`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`uncordon`\" pulumi-lang-dotnet=\"`Uncordon`\" pulumi-lang-go=\"`uncordon`\" pulumi-lang-python=\"`uncordon`\" pulumi-lang-yaml=\"`uncordon`\" pulumi-lang-java=\"`uncordon`\"\u003e`uncordon`\u003c/span\u003e.\n"},"nodeId":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" nodeId \" pulumi-lang-dotnet=\" NodeId \" pulumi-lang-go=\" nodeId \" pulumi-lang-python=\" node_id \" pulumi-lang-yaml=\" nodeId \" pulumi-lang-java=\" nodeId \"\u003e node_id \u003c/span\u003eof the node, For example `i-07f899a33dee624f7`\n"}},"type":"object","required":["action","nodeId"]},"spectrocloud:index/ClusterEksMachinePoolOverrideScaling:ClusterEksMachinePoolOverrideScaling":{"properties":{"maxSurge":{"type":"string","description":"Max extra nodes during rolling update. Integer or percentage (e.g., '1' or '20%'). Only valid when type=OverrideScaling. Both maxSurge and maxUnavailable are required.\n"},"maxUnavailable":{"type":"string","description":"Max unavailable nodes during rolling update. Integer or percentage (e.g., '0' or '10%'). Only valid when type=OverrideScaling. Both maxSurge and maxUnavailable are required.\n"}},"type":"object"},"spectrocloud:index/ClusterEksMachinePoolTaint:ClusterEksMachinePoolTaint":{"properties":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.\n"},"key":{"type":"string","description":"The key of the taint.\n"},"value":{"type":"string","description":"The value of the taint.\n"}},"type":"object","required":["effect","key","value"]},"spectrocloud:index/ClusterEksNamespace:ClusterEksNamespace":{"properties":{"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.\n"},"resourceAllocation":{"type":"object","additionalProperties":{"type":"string"},"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048', gpu_limit: '1', gpu_provider: 'nvidia'}`\n"}},"type":"object","required":["name","resourceAllocation"]},"spectrocloud:index/ClusterEksScanPolicy:ClusterEksScanPolicy":{"properties":{"configurationScanSchedule":{"type":"string","description":"The schedule for configuration scan.\n"},"conformanceScanSchedule":{"type":"string","description":"The schedule for conformance scan.\n"},"penetrationScanSchedule":{"type":"string","description":"The schedule for penetration scan.\n"}},"type":"object","required":["configurationScanSchedule","conformanceScanSchedule","penetrationScanSchedule"]},"spectrocloud:index/ClusterEksTimeouts:ClusterEksTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/ClusterGcpBackupPolicy:ClusterGcpBackupPolicy":{"properties":{"backupLocationId":{"type":"string","description":"The ID of the backup location to use for the backup.\n"},"clusterUids":{"type":"array","items":{"type":"string"},"description":"The list of cluster UIDs to include in the backup. If \u003cspan pulumi-lang-nodejs=\"`includeAllClusters`\" pulumi-lang-dotnet=\"`IncludeAllClusters`\" pulumi-lang-go=\"`includeAllClusters`\" pulumi-lang-python=\"`include_all_clusters`\" pulumi-lang-yaml=\"`includeAllClusters`\" pulumi-lang-java=\"`includeAllClusters`\"\u003e`include_all_clusters`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then all clusters will be included.\n"},"expiryInHour":{"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.\n"},"includeAllClusters":{"type":"boolean","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in \u003cspan pulumi-lang-nodejs=\"`clusterUids`\" pulumi-lang-dotnet=\"`ClusterUids`\" pulumi-lang-go=\"`clusterUids`\" pulumi-lang-python=\"`cluster_uids`\" pulumi-lang-yaml=\"`clusterUids`\" pulumi-lang-java=\"`clusterUids`\"\u003e`cluster_uids`\u003c/span\u003e will be included.\n"},"includeClusterResources":{"type":"boolean","description":"Indicates whether to include 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 deprecated, and a new attribute, include*cluster*resources_mode, will be introduced.)\n"},"includeClusterResourcesMode":{"type":"string","description":"Specifies whether to include the cluster resources in the backup. Supported values are \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\"\u003e`never`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\"\u003e`auto`\u003c/span\u003e.\n"},"includeDisks":{"type":"boolean","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.\n"},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \\n\\n-\\n\\n-\\n\\n.\n"},"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 * * *`.\n"}},"type":"object","required":["backupLocationId","expiryInHour","prefix","schedule"]},"spectrocloud:index/ClusterGcpCloudConfig:ClusterGcpCloudConfig":{"properties":{"network":{"type":"string"},"project":{"type":"string"},"region":{"type":"string"}},"type":"object","required":["project","region"]},"spectrocloud:index/ClusterGcpClusterProfile:ClusterGcpClusterProfile":{"properties":{"id":{"type":"string","description":"The ID of the cluster profile.\n"},"packs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGcpClusterProfilePack:ClusterGcpClusterProfilePack"},"description":"For packs of type \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, at least one pack must be specified.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterGcpClusterProfilePack:ClusterGcpClusterProfilePack":{"properties":{"manifests":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGcpClusterProfilePackManifest:ClusterGcpClusterProfilePackManifest"}},"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile.\n"},"registryName":{"type":"string","description":"The registry name of the pack. The registry name is the human-readable name of the registry. This attribute can be used instead of \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e for better readability. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field can be used along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"registryUid":{"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. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"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 \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e (or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e) to resolve the pack UID internally.\n"},"type":{"type":"string","description":"The type of the pack. Allowed values are \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e. The default value is spectro. If using an OCI registry for pack, set the type to \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e.\n"},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the \u003cspan pulumi-lang-nodejs=\"`spectrocloud.getPack`\" pulumi-lang-dotnet=\"`spectrocloud.getPack`\" pulumi-lang-go=\"`getPack`\" pulumi-lang-python=\"`get_pack`\" pulumi-lang-yaml=\"`spectrocloud.getPack`\" pulumi-lang-java=\"`spectrocloud.getPack`\"\u003e`spectrocloud.getPack`\u003c/span\u003e data source. This value is required if the pack type is \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e and for \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e if the chart is from a public helm registry. If not provided, all of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e must be specified to resolve the pack UID internally.\n"},"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.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["name","uid"]}}},"spectrocloud:index/ClusterGcpClusterProfilePackManifest:ClusterGcpClusterProfilePackManifest":{"properties":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest.\n"},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack.\n"},"uid":{"type":"string"}},"type":"object","required":["content","name"],"language":{"nodejs":{"requiredOutputs":["content","name","uid"]}}},"spectrocloud:index/ClusterGcpClusterRbacBinding:ClusterGcpClusterRbacBinding":{"properties":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.\n"},"role":{"type":"object","additionalProperties":{"type":"string"},"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'. Must include 'name' and 'kind' fields.\n"},"subjects":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGcpClusterRbacBindingSubject:ClusterGcpClusterRbacBindingSubject"}},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.\n"}},"type":"object","required":["type"]},"spectrocloud:index/ClusterGcpClusterRbacBindingSubject:ClusterGcpClusterRbacBindingSubject":{"properties":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.\n"},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.\n"},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.\n"}},"type":"object","required":["name","type"]},"spectrocloud:index/ClusterGcpClusterTemplate:ClusterGcpClusterTemplate":{"properties":{"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGcpClusterTemplateClusterProfile:ClusterGcpClusterTemplateClusterProfile"},"description":"The cluster profile of the cluster template.\n"},"id":{"type":"string","description":"The ID of the cluster template.\n"},"name":{"type":"string","description":"The name of the cluster template.\n"}},"type":"object","required":["id"],"language":{"nodejs":{"requiredOutputs":["id","name"]}}},"spectrocloud:index/ClusterGcpClusterTemplateClusterProfile:ClusterGcpClusterTemplateClusterProfile":{"properties":{"id":{"type":"string","description":"The UID of the cluster profile.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterGcpHostConfig:ClusterGcpHostConfig":{"properties":{"externalTrafficPolicy":{"type":"string","description":"The external traffic policy for the cluster.\n"},"hostEndpointType":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.\n"},"ingressHost":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host*endpoint*type' is set to 'Ingress'.\n"},"loadBalancerSourceRanges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host*endpoint*type' is set to 'LoadBalancer'.\n"}},"type":"object"},"spectrocloud:index/ClusterGcpLocationConfig:ClusterGcpLocationConfig":{"properties":{"countryCode":{"type":"string"},"countryName":{"type":"string"},"latitude":{"type":"number"},"longitude":{"type":"number"},"regionCode":{"type":"string"},"regionName":{"type":"string"}},"type":"object","required":["countryCode","countryName","latitude","longitude","regionCode","regionName"]},"spectrocloud:index/ClusterGcpMachinePool:ClusterGcpMachinePool":{"properties":{"additionalAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional annotations to be applied to the machine pool. Annotations must be in the form of `key:value`.\n"},"additionalLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional labels to be applied to the machine pool. Labels must be in the form of `key:value`.\n"},"azs":{"type":"array","items":{"type":"string"}},"controlPlane":{"type":"boolean","description":"Whether this machine pool is a control plane. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"controlPlaneAsWorker":{"type":"boolean","description":"Whether this machine pool is a control plane and a worker. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"count":{"type":"number","description":"Number of nodes in the machine pool.\n"},"diskSizeGb":{"type":"number"},"instanceType":{"type":"string"},"name":{"type":"string"},"nodeRepaveInterval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, Applicable only for worker pools.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGcpMachinePoolNode:ClusterGcpMachinePoolNode"}},"overrideKubeadmConfiguration":{"type":"string","description":"YAML config for kubeletExtraArgs, preKubeadmCommands, postKubeadmCommands. Overrides pack-level settings. Worker pools only.\n"},"overrideScaling":{"$ref":"#/types/spectrocloud:index%2FClusterGcpMachinePoolOverrideScaling:ClusterGcpMachinePoolOverrideScaling","description":"Rolling update strategy for the machine pool.\n"},"taints":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGcpMachinePoolTaint:ClusterGcpMachinePoolTaint"}},"updateStrategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut`, `RollingUpdateScaleIn` and `OverrideScaling`. If `OverrideScaling` is used, \u003cspan pulumi-lang-nodejs=\"`overrideScaling`\" pulumi-lang-dotnet=\"`OverrideScaling`\" pulumi-lang-go=\"`overrideScaling`\" pulumi-lang-python=\"`override_scaling`\" pulumi-lang-yaml=\"`overrideScaling`\" pulumi-lang-java=\"`overrideScaling`\"\u003e`override_scaling`\u003c/span\u003e must be specified with both \u003cspan pulumi-lang-nodejs=\"`maxSurge`\" pulumi-lang-dotnet=\"`MaxSurge`\" pulumi-lang-go=\"`maxSurge`\" pulumi-lang-python=\"`max_surge`\" pulumi-lang-yaml=\"`maxSurge`\" pulumi-lang-java=\"`maxSurge`\"\u003e`max_surge`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maxUnavailable`\" pulumi-lang-dotnet=\"`MaxUnavailable`\" pulumi-lang-go=\"`maxUnavailable`\" pulumi-lang-python=\"`max_unavailable`\" pulumi-lang-yaml=\"`maxUnavailable`\" pulumi-lang-java=\"`maxUnavailable`\"\u003e`max_unavailable`\u003c/span\u003e.\n"}},"type":"object","required":["azs","count","instanceType","name"]},"spectrocloud:index/ClusterGcpMachinePoolNode:ClusterGcpMachinePoolNode":{"properties":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: \u003cspan pulumi-lang-nodejs=\"`cordon`\" pulumi-lang-dotnet=\"`Cordon`\" pulumi-lang-go=\"`cordon`\" pulumi-lang-python=\"`cordon`\" pulumi-lang-yaml=\"`cordon`\" pulumi-lang-java=\"`cordon`\"\u003e`cordon`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`uncordon`\" pulumi-lang-dotnet=\"`Uncordon`\" pulumi-lang-go=\"`uncordon`\" pulumi-lang-python=\"`uncordon`\" pulumi-lang-yaml=\"`uncordon`\" pulumi-lang-java=\"`uncordon`\"\u003e`uncordon`\u003c/span\u003e.\n"},"nodeId":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" nodeId \" pulumi-lang-dotnet=\" NodeId \" pulumi-lang-go=\" nodeId \" pulumi-lang-python=\" node_id \" pulumi-lang-yaml=\" nodeId \" pulumi-lang-java=\" nodeId \"\u003e node_id \u003c/span\u003eof the node, For example `i-07f899a33dee624f7`\n"}},"type":"object","required":["action","nodeId"]},"spectrocloud:index/ClusterGcpMachinePoolOverrideScaling:ClusterGcpMachinePoolOverrideScaling":{"properties":{"maxSurge":{"type":"string","description":"Max extra nodes during rolling update. Integer or percentage (e.g., '1' or '20%'). Only valid when type=OverrideScaling. Both maxSurge and maxUnavailable are required.\n"},"maxUnavailable":{"type":"string","description":"Max unavailable nodes during rolling update. Integer or percentage (e.g., '0' or '10%'). Only valid when type=OverrideScaling. Both maxSurge and maxUnavailable are required.\n"}},"type":"object"},"spectrocloud:index/ClusterGcpMachinePoolTaint:ClusterGcpMachinePoolTaint":{"properties":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.\n"},"key":{"type":"string","description":"The key of the taint.\n"},"value":{"type":"string","description":"The value of the taint.\n"}},"type":"object","required":["effect","key","value"]},"spectrocloud:index/ClusterGcpNamespace:ClusterGcpNamespace":{"properties":{"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.\n"},"resourceAllocation":{"type":"object","additionalProperties":{"type":"string"},"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048', gpu_limit: '1', gpu_provider: 'nvidia'}`\n"}},"type":"object","required":["name","resourceAllocation"]},"spectrocloud:index/ClusterGcpScanPolicy:ClusterGcpScanPolicy":{"properties":{"configurationScanSchedule":{"type":"string","description":"The schedule for configuration scan.\n"},"conformanceScanSchedule":{"type":"string","description":"The schedule for conformance scan.\n"},"penetrationScanSchedule":{"type":"string","description":"The schedule for penetration scan.\n"}},"type":"object","required":["configurationScanSchedule","conformanceScanSchedule","penetrationScanSchedule"]},"spectrocloud:index/ClusterGcpTimeouts:ClusterGcpTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/ClusterGkeBackupPolicy:ClusterGkeBackupPolicy":{"properties":{"backupLocationId":{"type":"string","description":"The ID of the backup location to use for the backup.\n"},"clusterUids":{"type":"array","items":{"type":"string"},"description":"The list of cluster UIDs to include in the backup. If \u003cspan pulumi-lang-nodejs=\"`includeAllClusters`\" pulumi-lang-dotnet=\"`IncludeAllClusters`\" pulumi-lang-go=\"`includeAllClusters`\" pulumi-lang-python=\"`include_all_clusters`\" pulumi-lang-yaml=\"`includeAllClusters`\" pulumi-lang-java=\"`includeAllClusters`\"\u003e`include_all_clusters`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then all clusters will be included.\n"},"expiryInHour":{"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.\n"},"includeAllClusters":{"type":"boolean","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in \u003cspan pulumi-lang-nodejs=\"`clusterUids`\" pulumi-lang-dotnet=\"`ClusterUids`\" pulumi-lang-go=\"`clusterUids`\" pulumi-lang-python=\"`cluster_uids`\" pulumi-lang-yaml=\"`clusterUids`\" pulumi-lang-java=\"`clusterUids`\"\u003e`cluster_uids`\u003c/span\u003e will be included.\n"},"includeClusterResources":{"type":"boolean","description":"Indicates whether to include 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 deprecated, and a new attribute, include*cluster*resources_mode, will be introduced.)\n"},"includeClusterResourcesMode":{"type":"string","description":"Specifies whether to include the cluster resources in the backup. Supported values are \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\"\u003e`never`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\"\u003e`auto`\u003c/span\u003e.\n"},"includeDisks":{"type":"boolean","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.\n"},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \\n\\n-\\n\\n-\\n\\n.\n"},"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 * * *`.\n"}},"type":"object","required":["backupLocationId","expiryInHour","prefix","schedule"]},"spectrocloud:index/ClusterGkeCloudConfig:ClusterGkeCloudConfig":{"properties":{"project":{"type":"string","description":"GCP project name.\n"},"region":{"type":"string"}},"type":"object","required":["project","region"]},"spectrocloud:index/ClusterGkeClusterProfile:ClusterGkeClusterProfile":{"properties":{"id":{"type":"string","description":"The ID of the cluster profile.\n"},"packs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGkeClusterProfilePack:ClusterGkeClusterProfilePack"},"description":"For packs of type \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, at least one pack must be specified.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterGkeClusterProfilePack:ClusterGkeClusterProfilePack":{"properties":{"manifests":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGkeClusterProfilePackManifest:ClusterGkeClusterProfilePackManifest"}},"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile.\n"},"registryName":{"type":"string","description":"The registry name of the pack. The registry name is the human-readable name of the registry. This attribute can be used instead of \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e for better readability. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field can be used along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"registryUid":{"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. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"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 \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e (or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e) to resolve the pack UID internally.\n"},"type":{"type":"string","description":"The type of the pack. Allowed values are \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e. The default value is spectro. If using an OCI registry for pack, set the type to \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e.\n"},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the \u003cspan pulumi-lang-nodejs=\"`spectrocloud.getPack`\" pulumi-lang-dotnet=\"`spectrocloud.getPack`\" pulumi-lang-go=\"`getPack`\" pulumi-lang-python=\"`get_pack`\" pulumi-lang-yaml=\"`spectrocloud.getPack`\" pulumi-lang-java=\"`spectrocloud.getPack`\"\u003e`spectrocloud.getPack`\u003c/span\u003e data source. This value is required if the pack type is \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e and for \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e if the chart is from a public helm registry. If not provided, all of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e must be specified to resolve the pack UID internally.\n"},"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.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["name","uid"]}}},"spectrocloud:index/ClusterGkeClusterProfilePackManifest:ClusterGkeClusterProfilePackManifest":{"properties":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest.\n"},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack.\n"},"uid":{"type":"string"}},"type":"object","required":["content","name"],"language":{"nodejs":{"requiredOutputs":["content","name","uid"]}}},"spectrocloud:index/ClusterGkeClusterRbacBinding:ClusterGkeClusterRbacBinding":{"properties":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.\n"},"role":{"type":"object","additionalProperties":{"type":"string"},"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'. Must include 'name' and 'kind' fields.\n"},"subjects":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGkeClusterRbacBindingSubject:ClusterGkeClusterRbacBindingSubject"}},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.\n"}},"type":"object","required":["type"]},"spectrocloud:index/ClusterGkeClusterRbacBindingSubject:ClusterGkeClusterRbacBindingSubject":{"properties":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.\n"},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.\n"},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.\n"}},"type":"object","required":["name","type"]},"spectrocloud:index/ClusterGkeClusterTemplate:ClusterGkeClusterTemplate":{"properties":{"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGkeClusterTemplateClusterProfile:ClusterGkeClusterTemplateClusterProfile"},"description":"The cluster profile of the cluster template.\n"},"id":{"type":"string","description":"The ID of the cluster template.\n"},"name":{"type":"string","description":"The name of the cluster template.\n"}},"type":"object","required":["id"],"language":{"nodejs":{"requiredOutputs":["id","name"]}}},"spectrocloud:index/ClusterGkeClusterTemplateClusterProfile:ClusterGkeClusterTemplateClusterProfile":{"properties":{"id":{"type":"string","description":"The UID of the cluster profile.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterGkeHostConfig:ClusterGkeHostConfig":{"properties":{"externalTrafficPolicy":{"type":"string","description":"The external traffic policy for the cluster.\n"},"hostEndpointType":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.\n"},"ingressHost":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host*endpoint*type' is set to 'Ingress'.\n"},"loadBalancerSourceRanges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host*endpoint*type' is set to 'LoadBalancer'.\n"}},"type":"object"},"spectrocloud:index/ClusterGkeLocationConfig:ClusterGkeLocationConfig":{"properties":{"countryCode":{"type":"string"},"countryName":{"type":"string"},"latitude":{"type":"number"},"longitude":{"type":"number"},"regionCode":{"type":"string"},"regionName":{"type":"string"}},"type":"object","required":["countryCode","countryName","latitude","longitude","regionCode","regionName"]},"spectrocloud:index/ClusterGkeMachinePool:ClusterGkeMachinePool":{"properties":{"additionalAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional annotations to be applied to the machine pool. Annotations must be in the form of `key:value`.\n"},"additionalLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional labels to be applied to the machine pool. Labels must be in the form of `key:value`.\n"},"count":{"type":"number","description":"Number of nodes in the machine pool.\n"},"diskSizeGb":{"type":"number"},"instanceType":{"type":"string"},"name":{"type":"string"},"nodes":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGkeMachinePoolNode:ClusterGkeMachinePoolNode"}},"overrideKubeadmConfiguration":{"type":"string","description":"YAML config for kubeletExtraArgs, preKubeadmCommands, postKubeadmCommands. Overrides pack-level settings. Worker pools only.\n"},"overrideScaling":{"$ref":"#/types/spectrocloud:index%2FClusterGkeMachinePoolOverrideScaling:ClusterGkeMachinePoolOverrideScaling","description":"Rolling update strategy for the machine pool.\n"},"taints":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGkeMachinePoolTaint:ClusterGkeMachinePoolTaint"}},"updateStrategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut`, `RollingUpdateScaleIn` and `OverrideScaling`. If `OverrideScaling` is used, \u003cspan pulumi-lang-nodejs=\"`overrideScaling`\" pulumi-lang-dotnet=\"`OverrideScaling`\" pulumi-lang-go=\"`overrideScaling`\" pulumi-lang-python=\"`override_scaling`\" pulumi-lang-yaml=\"`overrideScaling`\" pulumi-lang-java=\"`overrideScaling`\"\u003e`override_scaling`\u003c/span\u003e must be specified with both \u003cspan pulumi-lang-nodejs=\"`maxSurge`\" pulumi-lang-dotnet=\"`MaxSurge`\" pulumi-lang-go=\"`maxSurge`\" pulumi-lang-python=\"`max_surge`\" pulumi-lang-yaml=\"`maxSurge`\" pulumi-lang-java=\"`maxSurge`\"\u003e`max_surge`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maxUnavailable`\" pulumi-lang-dotnet=\"`MaxUnavailable`\" pulumi-lang-go=\"`maxUnavailable`\" pulumi-lang-python=\"`max_unavailable`\" pulumi-lang-yaml=\"`maxUnavailable`\" pulumi-lang-java=\"`maxUnavailable`\"\u003e`max_unavailable`\u003c/span\u003e.\n"}},"type":"object","required":["count","instanceType","name"]},"spectrocloud:index/ClusterGkeMachinePoolNode:ClusterGkeMachinePoolNode":{"properties":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: \u003cspan pulumi-lang-nodejs=\"`cordon`\" pulumi-lang-dotnet=\"`Cordon`\" pulumi-lang-go=\"`cordon`\" pulumi-lang-python=\"`cordon`\" pulumi-lang-yaml=\"`cordon`\" pulumi-lang-java=\"`cordon`\"\u003e`cordon`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`uncordon`\" pulumi-lang-dotnet=\"`Uncordon`\" pulumi-lang-go=\"`uncordon`\" pulumi-lang-python=\"`uncordon`\" pulumi-lang-yaml=\"`uncordon`\" pulumi-lang-java=\"`uncordon`\"\u003e`uncordon`\u003c/span\u003e.\n"},"nodeId":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" nodeId \" pulumi-lang-dotnet=\" NodeId \" pulumi-lang-go=\" nodeId \" pulumi-lang-python=\" node_id \" pulumi-lang-yaml=\" nodeId \" pulumi-lang-java=\" nodeId \"\u003e node_id \u003c/span\u003eof the node, For example `i-07f899a33dee624f7`\n"}},"type":"object","required":["action","nodeId"]},"spectrocloud:index/ClusterGkeMachinePoolOverrideScaling:ClusterGkeMachinePoolOverrideScaling":{"properties":{"maxSurge":{"type":"string","description":"Max extra nodes during rolling update. Integer or percentage (e.g., '1' or '20%'). Only valid when type=OverrideScaling. Both maxSurge and maxUnavailable are required.\n"},"maxUnavailable":{"type":"string","description":"Max unavailable nodes during rolling update. Integer or percentage (e.g., '0' or '10%'). Only valid when type=OverrideScaling. Both maxSurge and maxUnavailable are required.\n"}},"type":"object"},"spectrocloud:index/ClusterGkeMachinePoolTaint:ClusterGkeMachinePoolTaint":{"properties":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.\n"},"key":{"type":"string","description":"The key of the taint.\n"},"value":{"type":"string","description":"The value of the taint.\n"}},"type":"object","required":["effect","key","value"]},"spectrocloud:index/ClusterGkeNamespace:ClusterGkeNamespace":{"properties":{"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.\n"},"resourceAllocation":{"type":"object","additionalProperties":{"type":"string"},"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048', gpu_limit: '1', gpu_provider: 'nvidia'}`\n"}},"type":"object","required":["name","resourceAllocation"]},"spectrocloud:index/ClusterGkeScanPolicy:ClusterGkeScanPolicy":{"properties":{"configurationScanSchedule":{"type":"string","description":"The schedule for configuration scan.\n"},"conformanceScanSchedule":{"type":"string","description":"The schedule for conformance scan.\n"},"penetrationScanSchedule":{"type":"string","description":"The schedule for penetration scan.\n"}},"type":"object","required":["configurationScanSchedule","conformanceScanSchedule","penetrationScanSchedule"]},"spectrocloud:index/ClusterGkeTimeouts:ClusterGkeTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/ClusterGroupCluster:ClusterGroupCluster":{"properties":{"clusterUid":{"type":"string","description":"The UID of the host cluster.\n"},"hostDns":{"type":"string","description":"The host DNS wildcard for the cluster. i.e. `*.dev` or `*test.com`\n"}},"type":"object","required":["clusterUid"]},"spectrocloud:index/ClusterGroupClusterProfile:ClusterGroupClusterProfile":{"properties":{"id":{"type":"string","description":"The ID of the cluster profile.\n"},"packs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGroupClusterProfilePack:ClusterGroupClusterProfilePack"},"description":"For packs of type \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, at least one pack must be specified.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterGroupClusterProfilePack:ClusterGroupClusterProfilePack":{"properties":{"manifests":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGroupClusterProfilePackManifest:ClusterGroupClusterProfilePackManifest"}},"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile.\n"},"registryName":{"type":"string","description":"The registry name of the pack. The registry name is the human-readable name of the registry. This attribute can be used instead of \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e for better readability. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field can be used along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"registryUid":{"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. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"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 \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e (or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e) to resolve the pack UID internally.\n"},"type":{"type":"string","description":"The type of the pack. Allowed values are \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e. The default value is spectro. If using an OCI registry for pack, set the type to \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e.\n"},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the \u003cspan pulumi-lang-nodejs=\"`spectrocloud.getPack`\" pulumi-lang-dotnet=\"`spectrocloud.getPack`\" pulumi-lang-go=\"`getPack`\" pulumi-lang-python=\"`get_pack`\" pulumi-lang-yaml=\"`spectrocloud.getPack`\" pulumi-lang-java=\"`spectrocloud.getPack`\"\u003e`spectrocloud.getPack`\u003c/span\u003e data source. This value is required if the pack type is \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e and for \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e if the chart is from a public helm registry. If not provided, all of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e must be specified to resolve the pack UID internally.\n"},"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.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["name","uid"]}}},"spectrocloud:index/ClusterGroupClusterProfilePackManifest:ClusterGroupClusterProfilePackManifest":{"properties":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest.\n"},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack.\n"},"uid":{"type":"string"}},"type":"object","required":["content","name"],"language":{"nodejs":{"requiredOutputs":["content","name","uid"]}}},"spectrocloud:index/ClusterGroupConfig:ClusterGroupConfig":{"properties":{"cpuMillicore":{"type":"number","description":"The CPU limit in millicores.\n"},"hostEndpointType":{"type":"string","description":"The host endpoint type. Allowed values are 'Ingress' or 'LoadBalancer'. Defaults to 'Ingress'.\n"},"k8sDistribution":{"type":"string","description":"The Kubernetes distribution, allowed values are `vcluster-generic`,\u003cspan pulumi-lang-nodejs=\"`k3s`\" pulumi-lang-dotnet=\"`K3s`\" pulumi-lang-go=\"`k3s`\" pulumi-lang-python=\"`k3s`\" pulumi-lang-yaml=\"`k3s`\" pulumi-lang-java=\"`k3s`\"\u003e`k3s`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`cncfK8s`\" pulumi-lang-dotnet=\"`CncfK8s`\" pulumi-lang-go=\"`cncfK8s`\" pulumi-lang-python=\"`cncf_k8s`\" pulumi-lang-yaml=\"`cncfK8s`\" pulumi-lang-java=\"`cncfK8s`\"\u003e`cncf_k8s`\u003c/span\u003e.\n"},"memoryInMb":{"type":"number","description":"The memory limit in megabytes (MB).\n"},"oversubscriptionPercent":{"type":"number","description":"The allowed oversubscription percentage.\n"},"storageInGb":{"type":"number","description":"The storage limit in gigabytes (GB).\n"},"values":{"type":"string"}},"type":"object"},"spectrocloud:index/ClusterGroupTimeouts:ClusterGroupTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/ClusterMaasBackupPolicy:ClusterMaasBackupPolicy":{"properties":{"backupLocationId":{"type":"string","description":"The ID of the backup location to use for the backup.\n"},"clusterUids":{"type":"array","items":{"type":"string"},"description":"The list of cluster UIDs to include in the backup. If \u003cspan pulumi-lang-nodejs=\"`includeAllClusters`\" pulumi-lang-dotnet=\"`IncludeAllClusters`\" pulumi-lang-go=\"`includeAllClusters`\" pulumi-lang-python=\"`include_all_clusters`\" pulumi-lang-yaml=\"`includeAllClusters`\" pulumi-lang-java=\"`includeAllClusters`\"\u003e`include_all_clusters`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then all clusters will be included.\n"},"expiryInHour":{"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.\n"},"includeAllClusters":{"type":"boolean","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in \u003cspan pulumi-lang-nodejs=\"`clusterUids`\" pulumi-lang-dotnet=\"`ClusterUids`\" pulumi-lang-go=\"`clusterUids`\" pulumi-lang-python=\"`cluster_uids`\" pulumi-lang-yaml=\"`clusterUids`\" pulumi-lang-java=\"`clusterUids`\"\u003e`cluster_uids`\u003c/span\u003e will be included.\n"},"includeClusterResources":{"type":"boolean","description":"Indicates whether to include 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 deprecated, and a new attribute, include*cluster*resources_mode, will be introduced.)\n"},"includeClusterResourcesMode":{"type":"string","description":"Specifies whether to include the cluster resources in the backup. Supported values are \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\"\u003e`never`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\"\u003e`auto`\u003c/span\u003e.\n"},"includeDisks":{"type":"boolean","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.\n"},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \\n\\n-\\n\\n-\\n\\n.\n"},"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 * * *`.\n"}},"type":"object","required":["backupLocationId","expiryInHour","prefix","schedule"]},"spectrocloud:index/ClusterMaasCloudConfig:ClusterMaasCloudConfig":{"properties":{"domain":{"type":"string","description":"Domain name in which the cluster to be provisioned.\n"},"enableLxdVm":{"type":"boolean","description":"Whether to enable LXD VM. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"ntpServers":{"type":"array","items":{"type":"string"},"description":"A list of NTP servers to use instead of the machine image's default NTP server list.\n"}},"type":"object","required":["domain"]},"spectrocloud:index/ClusterMaasClusterProfile:ClusterMaasClusterProfile":{"properties":{"id":{"type":"string","description":"The ID of the cluster profile.\n"},"packs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterMaasClusterProfilePack:ClusterMaasClusterProfilePack"},"description":"For packs of type \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, at least one pack must be specified.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterMaasClusterProfilePack:ClusterMaasClusterProfilePack":{"properties":{"manifests":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterMaasClusterProfilePackManifest:ClusterMaasClusterProfilePackManifest"}},"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile.\n"},"registryName":{"type":"string","description":"The registry name of the pack. The registry name is the human-readable name of the registry. This attribute can be used instead of \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e for better readability. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field can be used along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"registryUid":{"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. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"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 \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e (or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e) to resolve the pack UID internally.\n"},"type":{"type":"string","description":"The type of the pack. Allowed values are \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e. The default value is spectro. If using an OCI registry for pack, set the type to \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e.\n"},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the \u003cspan pulumi-lang-nodejs=\"`spectrocloud.getPack`\" pulumi-lang-dotnet=\"`spectrocloud.getPack`\" pulumi-lang-go=\"`getPack`\" pulumi-lang-python=\"`get_pack`\" pulumi-lang-yaml=\"`spectrocloud.getPack`\" pulumi-lang-java=\"`spectrocloud.getPack`\"\u003e`spectrocloud.getPack`\u003c/span\u003e data source. This value is required if the pack type is \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e and for \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e if the chart is from a public helm registry. If not provided, all of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e must be specified to resolve the pack UID internally.\n"},"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.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["name","uid"]}}},"spectrocloud:index/ClusterMaasClusterProfilePackManifest:ClusterMaasClusterProfilePackManifest":{"properties":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest.\n"},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack.\n"},"uid":{"type":"string"}},"type":"object","required":["content","name"],"language":{"nodejs":{"requiredOutputs":["content","name","uid"]}}},"spectrocloud:index/ClusterMaasClusterRbacBinding:ClusterMaasClusterRbacBinding":{"properties":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.\n"},"role":{"type":"object","additionalProperties":{"type":"string"},"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'. Must include 'name' and 'kind' fields.\n"},"subjects":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterMaasClusterRbacBindingSubject:ClusterMaasClusterRbacBindingSubject"}},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.\n"}},"type":"object","required":["type"]},"spectrocloud:index/ClusterMaasClusterRbacBindingSubject:ClusterMaasClusterRbacBindingSubject":{"properties":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.\n"},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.\n"},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.\n"}},"type":"object","required":["name","type"]},"spectrocloud:index/ClusterMaasClusterTemplate:ClusterMaasClusterTemplate":{"properties":{"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterMaasClusterTemplateClusterProfile:ClusterMaasClusterTemplateClusterProfile"},"description":"The cluster profile of the cluster template.\n"},"id":{"type":"string","description":"The ID of the cluster template.\n"},"name":{"type":"string","description":"The name of the cluster template.\n"}},"type":"object","required":["id"],"language":{"nodejs":{"requiredOutputs":["id","name"]}}},"spectrocloud:index/ClusterMaasClusterTemplateClusterProfile:ClusterMaasClusterTemplateClusterProfile":{"properties":{"id":{"type":"string","description":"The UID of the cluster profile.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterMaasHostConfig:ClusterMaasHostConfig":{"properties":{"externalTrafficPolicy":{"type":"string","description":"The external traffic policy for the cluster.\n"},"hostEndpointType":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.\n"},"ingressHost":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host*endpoint*type' is set to 'Ingress'.\n"},"loadBalancerSourceRanges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host*endpoint*type' is set to 'LoadBalancer'.\n"}},"type":"object"},"spectrocloud:index/ClusterMaasLocationConfig:ClusterMaasLocationConfig":{"properties":{"countryCode":{"type":"string","description":"The country code of the country the cluster is located in.\n"},"countryName":{"type":"string","description":"The name of the country.\n"},"latitude":{"type":"number","description":"The latitude coordinates value.\n"},"longitude":{"type":"number","description":"The longitude coordinates value.\n"},"regionCode":{"type":"string","description":"The region code of where the cluster is located in.\n"},"regionName":{"type":"string","description":"The name of the region.\n"}},"type":"object","required":["latitude","longitude"]},"spectrocloud:index/ClusterMaasMachinePool:ClusterMaasMachinePool":{"properties":{"additionalAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional annotations to be applied to the machine pool. Annotations must be in the form of `key:value`.\n"},"additionalLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional labels to be applied to the machine pool. Labels must be in the form of `key:value`.\n"},"azs":{"type":"array","items":{"type":"string"},"description":"Availability zones in which the machine pool nodes to be provisioned.\n"},"controlPlane":{"type":"boolean","description":"Whether this machine pool is a control plane. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"controlPlaneAsWorker":{"type":"boolean","description":"Whether this machine pool is a control plane and a worker. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"count":{"type":"number","description":"Number of nodes in the machine pool.\n"},"instanceType":{"$ref":"#/types/spectrocloud:index%2FClusterMaasMachinePoolInstanceType:ClusterMaasMachinePoolInstanceType"},"max":{"type":"number","description":"Maximum number of nodes in the machine pool. This is used for autoscaling the machine pool.\n"},"min":{"type":"number","description":"Minimum number of nodes in the machine pool. This is used for autoscaling the machine pool.\n"},"name":{"type":"string","description":"Name of the machine pool.\n"},"network":{"$ref":"#/types/spectrocloud:index%2FClusterMaasMachinePoolNetwork:ClusterMaasMachinePoolNetwork","description":"Network configuration for the machine pool. Available once **Palette with LXD support** is released.\n"},"nodeRepaveInterval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, Applicable only for worker pools.\n"},"nodeTags":{"type":"array","items":{"type":"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.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterMaasMachinePoolNode:ClusterMaasMachinePoolNode"}},"overrideKubeadmConfiguration":{"type":"string","description":"YAML config for kubeletExtraArgs, preKubeadmCommands, postKubeadmCommands. Overrides pack-level settings. Worker pools only.\n"},"overrideScaling":{"$ref":"#/types/spectrocloud:index%2FClusterMaasMachinePoolOverrideScaling:ClusterMaasMachinePoolOverrideScaling","description":"Rolling update strategy for the machine pool.\n"},"placement":{"$ref":"#/types/spectrocloud:index%2FClusterMaasMachinePoolPlacement:ClusterMaasMachinePoolPlacement"},"taints":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterMaasMachinePoolTaint:ClusterMaasMachinePoolTaint"}},"updateStrategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut`, `RollingUpdateScaleIn` and `OverrideScaling`. If `OverrideScaling` is used, \u003cspan pulumi-lang-nodejs=\"`overrideScaling`\" pulumi-lang-dotnet=\"`OverrideScaling`\" pulumi-lang-go=\"`overrideScaling`\" pulumi-lang-python=\"`override_scaling`\" pulumi-lang-yaml=\"`overrideScaling`\" pulumi-lang-java=\"`overrideScaling`\"\u003e`override_scaling`\u003c/span\u003e must be specified with both \u003cspan pulumi-lang-nodejs=\"`maxSurge`\" pulumi-lang-dotnet=\"`MaxSurge`\" pulumi-lang-go=\"`maxSurge`\" pulumi-lang-python=\"`max_surge`\" pulumi-lang-yaml=\"`maxSurge`\" pulumi-lang-java=\"`maxSurge`\"\u003e`max_surge`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maxUnavailable`\" pulumi-lang-dotnet=\"`MaxUnavailable`\" pulumi-lang-go=\"`maxUnavailable`\" pulumi-lang-python=\"`max_unavailable`\" pulumi-lang-yaml=\"`maxUnavailable`\" pulumi-lang-java=\"`maxUnavailable`\"\u003e`max_unavailable`\u003c/span\u003e.\n"},"useLxdVm":{"type":"boolean","description":"Whether to use LXD VM. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Available once **Palette with LXD support** is released.\n"}},"type":"object","required":["azs","count","instanceType","name","placement"]},"spectrocloud:index/ClusterMaasMachinePoolInstanceType:ClusterMaasMachinePoolInstanceType":{"properties":{"minCpu":{"type":"number","description":"Minimum number of CPU required for the machine pool node.\n"},"minMemoryMb":{"type":"number","description":"Minimum memory in MB required for the machine pool node.\n"}},"type":"object","required":["minCpu","minMemoryMb"]},"spectrocloud:index/ClusterMaasMachinePoolNetwork:ClusterMaasMachinePoolNetwork":{"properties":{"networkName":{"type":"string","description":"The name of the network in which VMs are created/located.\n"},"parentPoolUid":{"type":"string","description":"The UID of the parent pool which allocates IPs for this IPPool.\n"},"staticIp":{"type":"boolean","description":"Whether to use static IP. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["networkName"]},"spectrocloud:index/ClusterMaasMachinePoolNode:ClusterMaasMachinePoolNode":{"properties":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: \u003cspan pulumi-lang-nodejs=\"`cordon`\" pulumi-lang-dotnet=\"`Cordon`\" pulumi-lang-go=\"`cordon`\" pulumi-lang-python=\"`cordon`\" pulumi-lang-yaml=\"`cordon`\" pulumi-lang-java=\"`cordon`\"\u003e`cordon`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`uncordon`\" pulumi-lang-dotnet=\"`Uncordon`\" pulumi-lang-go=\"`uncordon`\" pulumi-lang-python=\"`uncordon`\" pulumi-lang-yaml=\"`uncordon`\" pulumi-lang-java=\"`uncordon`\"\u003e`uncordon`\u003c/span\u003e.\n"},"nodeId":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" nodeId \" pulumi-lang-dotnet=\" NodeId \" pulumi-lang-go=\" nodeId \" pulumi-lang-python=\" node_id \" pulumi-lang-yaml=\" nodeId \" pulumi-lang-java=\" nodeId \"\u003e node_id \u003c/span\u003eof the node, For example `i-07f899a33dee624f7`\n"}},"type":"object","required":["action","nodeId"]},"spectrocloud:index/ClusterMaasMachinePoolOverrideScaling:ClusterMaasMachinePoolOverrideScaling":{"properties":{"maxSurge":{"type":"string","description":"Max extra nodes during rolling update. Integer or percentage (e.g., '1' or '20%'). Only valid when type=OverrideScaling. Both maxSurge and maxUnavailable are required.\n"},"maxUnavailable":{"type":"string","description":"Max unavailable nodes during rolling update. Integer or percentage (e.g., '0' or '10%'). Only valid when type=OverrideScaling. Both maxSurge and maxUnavailable are required.\n"}},"type":"object"},"spectrocloud:index/ClusterMaasMachinePoolPlacement:ClusterMaasMachinePoolPlacement":{"properties":{"id":{"type":"string","description":"This is a computed(read-only) ID of the placement that is used to connect to the Maas cloud.\n"},"resourcePool":{"type":"string","description":"The name of the resource pool in the Maas cloud.\n"}},"type":"object","required":["resourcePool"],"language":{"nodejs":{"requiredOutputs":["id","resourcePool"]}}},"spectrocloud:index/ClusterMaasMachinePoolTaint:ClusterMaasMachinePoolTaint":{"properties":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.\n"},"key":{"type":"string","description":"The key of the taint.\n"},"value":{"type":"string","description":"The value of the taint.\n"}},"type":"object","required":["effect","key","value"]},"spectrocloud:index/ClusterMaasNamespace:ClusterMaasNamespace":{"properties":{"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.\n"},"resourceAllocation":{"type":"object","additionalProperties":{"type":"string"},"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048', gpu_limit: '1', gpu_provider: 'nvidia'}`\n"}},"type":"object","required":["name","resourceAllocation"]},"spectrocloud:index/ClusterMaasScanPolicy:ClusterMaasScanPolicy":{"properties":{"configurationScanSchedule":{"type":"string","description":"The schedule for configuration scan.\n"},"conformanceScanSchedule":{"type":"string","description":"The schedule for conformance scan.\n"},"penetrationScanSchedule":{"type":"string","description":"The schedule for penetration scan.\n"}},"type":"object","required":["configurationScanSchedule","conformanceScanSchedule","penetrationScanSchedule"]},"spectrocloud:index/ClusterMaasTimeouts:ClusterMaasTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/ClusterOpenstackBackupPolicy:ClusterOpenstackBackupPolicy":{"properties":{"backupLocationId":{"type":"string","description":"The ID of the backup location to use for the backup.\n"},"clusterUids":{"type":"array","items":{"type":"string"},"description":"The list of cluster UIDs to include in the backup. If \u003cspan pulumi-lang-nodejs=\"`includeAllClusters`\" pulumi-lang-dotnet=\"`IncludeAllClusters`\" pulumi-lang-go=\"`includeAllClusters`\" pulumi-lang-python=\"`include_all_clusters`\" pulumi-lang-yaml=\"`includeAllClusters`\" pulumi-lang-java=\"`includeAllClusters`\"\u003e`include_all_clusters`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then all clusters will be included.\n"},"expiryInHour":{"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.\n"},"includeAllClusters":{"type":"boolean","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in \u003cspan pulumi-lang-nodejs=\"`clusterUids`\" pulumi-lang-dotnet=\"`ClusterUids`\" pulumi-lang-go=\"`clusterUids`\" pulumi-lang-python=\"`cluster_uids`\" pulumi-lang-yaml=\"`clusterUids`\" pulumi-lang-java=\"`clusterUids`\"\u003e`cluster_uids`\u003c/span\u003e will be included.\n"},"includeClusterResources":{"type":"boolean","description":"Indicates whether to include 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 deprecated, and a new attribute, include*cluster*resources_mode, will be introduced.)\n"},"includeClusterResourcesMode":{"type":"string","description":"Specifies whether to include the cluster resources in the backup. Supported values are \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\"\u003e`never`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\"\u003e`auto`\u003c/span\u003e.\n"},"includeDisks":{"type":"boolean","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.\n"},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \\n\\n-\\n\\n-\\n\\n.\n"},"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 * * *`.\n"}},"type":"object","required":["backupLocationId","expiryInHour","prefix","schedule"]},"spectrocloud:index/ClusterOpenstackCloudConfig:ClusterOpenstackCloudConfig":{"properties":{"dnsServers":{"type":"array","items":{"type":"string"}},"domain":{"type":"string"},"networkId":{"type":"string"},"project":{"type":"string"},"region":{"type":"string"},"sshKey":{"type":"string","description":"Public SSH key to be used for the cluster nodes.\n"},"subnetCidr":{"type":"string"},"subnetId":{"type":"string"}},"type":"object","required":["dnsServers","domain","project","region","sshKey","subnetCidr"]},"spectrocloud:index/ClusterOpenstackClusterProfile:ClusterOpenstackClusterProfile":{"properties":{"id":{"type":"string","description":"The ID of the cluster profile.\n"},"packs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackClusterProfilePack:ClusterOpenstackClusterProfilePack"},"description":"For packs of type \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, at least one pack must be specified.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterOpenstackClusterProfilePack:ClusterOpenstackClusterProfilePack":{"properties":{"manifests":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackClusterProfilePackManifest:ClusterOpenstackClusterProfilePackManifest"}},"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile.\n"},"registryName":{"type":"string","description":"The registry name of the pack. The registry name is the human-readable name of the registry. This attribute can be used instead of \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e for better readability. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field can be used along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"registryUid":{"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. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"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 \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e (or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e) to resolve the pack UID internally.\n"},"type":{"type":"string","description":"The type of the pack. Allowed values are \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e. The default value is spectro. If using an OCI registry for pack, set the type to \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e.\n"},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the \u003cspan pulumi-lang-nodejs=\"`spectrocloud.getPack`\" pulumi-lang-dotnet=\"`spectrocloud.getPack`\" pulumi-lang-go=\"`getPack`\" pulumi-lang-python=\"`get_pack`\" pulumi-lang-yaml=\"`spectrocloud.getPack`\" pulumi-lang-java=\"`spectrocloud.getPack`\"\u003e`spectrocloud.getPack`\u003c/span\u003e data source. This value is required if the pack type is \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e and for \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e if the chart is from a public helm registry. If not provided, all of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e must be specified to resolve the pack UID internally.\n"},"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.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["name","uid"]}}},"spectrocloud:index/ClusterOpenstackClusterProfilePackManifest:ClusterOpenstackClusterProfilePackManifest":{"properties":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest.\n"},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack.\n"},"uid":{"type":"string"}},"type":"object","required":["content","name"],"language":{"nodejs":{"requiredOutputs":["content","name","uid"]}}},"spectrocloud:index/ClusterOpenstackClusterRbacBinding:ClusterOpenstackClusterRbacBinding":{"properties":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.\n"},"role":{"type":"object","additionalProperties":{"type":"string"},"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'. Must include 'name' and 'kind' fields.\n"},"subjects":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackClusterRbacBindingSubject:ClusterOpenstackClusterRbacBindingSubject"}},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.\n"}},"type":"object","required":["type"]},"spectrocloud:index/ClusterOpenstackClusterRbacBindingSubject:ClusterOpenstackClusterRbacBindingSubject":{"properties":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.\n"},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.\n"},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.\n"}},"type":"object","required":["name","type"]},"spectrocloud:index/ClusterOpenstackClusterTemplate:ClusterOpenstackClusterTemplate":{"properties":{"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackClusterTemplateClusterProfile:ClusterOpenstackClusterTemplateClusterProfile"},"description":"The cluster profile of the cluster template.\n"},"id":{"type":"string","description":"The ID of the cluster template.\n"},"name":{"type":"string","description":"The name of the cluster template.\n"}},"type":"object","required":["id"],"language":{"nodejs":{"requiredOutputs":["id","name"]}}},"spectrocloud:index/ClusterOpenstackClusterTemplateClusterProfile:ClusterOpenstackClusterTemplateClusterProfile":{"properties":{"id":{"type":"string","description":"The UID of the cluster profile.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterOpenstackHostConfig:ClusterOpenstackHostConfig":{"properties":{"externalTrafficPolicy":{"type":"string","description":"The external traffic policy for the cluster.\n"},"hostEndpointType":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.\n"},"ingressHost":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host*endpoint*type' is set to 'Ingress'.\n"},"loadBalancerSourceRanges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host*endpoint*type' is set to 'LoadBalancer'.\n"}},"type":"object"},"spectrocloud:index/ClusterOpenstackLocationConfig:ClusterOpenstackLocationConfig":{"properties":{"countryCode":{"type":"string","description":"The country code of the country the cluster is located in.\n"},"countryName":{"type":"string","description":"The name of the country.\n"},"latitude":{"type":"number","description":"The latitude coordinates value.\n"},"longitude":{"type":"number","description":"The longitude coordinates value.\n"},"regionCode":{"type":"string","description":"The region code of where the cluster is located in.\n"},"regionName":{"type":"string","description":"The name of the region.\n"}},"type":"object","required":["latitude","longitude"]},"spectrocloud:index/ClusterOpenstackMachinePool:ClusterOpenstackMachinePool":{"properties":{"additionalAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional annotations to be applied to the machine pool. Annotations must be in the form of `key:value`.\n"},"additionalLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional labels to be applied to the machine pool. Labels must be in the form of `key:value`.\n"},"azs":{"type":"array","items":{"type":"string"}},"controlPlane":{"type":"boolean","description":"Whether this machine pool is a control plane. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"controlPlaneAsWorker":{"type":"boolean","description":"Whether this machine pool is a control plane and a worker. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"count":{"type":"number","description":"Number of nodes in the machine pool.\n"},"instanceType":{"type":"string"},"name":{"type":"string"},"nodeRepaveInterval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, Applicable only for worker pools.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackMachinePoolNode:ClusterOpenstackMachinePoolNode"}},"overrideKubeadmConfiguration":{"type":"string","description":"YAML config for kubeletExtraArgs, preKubeadmCommands, postKubeadmCommands. Overrides pack-level settings. Worker pools only.\n"},"overrideScaling":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackMachinePoolOverrideScaling:ClusterOpenstackMachinePoolOverrideScaling","description":"Rolling update strategy for the machine pool.\n"},"subnetId":{"type":"string"},"taints":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackMachinePoolTaint:ClusterOpenstackMachinePoolTaint"}},"updateStrategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut`, `RollingUpdateScaleIn` and `OverrideScaling`. If `OverrideScaling` is used, \u003cspan pulumi-lang-nodejs=\"`overrideScaling`\" pulumi-lang-dotnet=\"`OverrideScaling`\" pulumi-lang-go=\"`overrideScaling`\" pulumi-lang-python=\"`override_scaling`\" pulumi-lang-yaml=\"`overrideScaling`\" pulumi-lang-java=\"`overrideScaling`\"\u003e`override_scaling`\u003c/span\u003e must be specified with both \u003cspan pulumi-lang-nodejs=\"`maxSurge`\" pulumi-lang-dotnet=\"`MaxSurge`\" pulumi-lang-go=\"`maxSurge`\" pulumi-lang-python=\"`max_surge`\" pulumi-lang-yaml=\"`maxSurge`\" pulumi-lang-java=\"`maxSurge`\"\u003e`max_surge`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maxUnavailable`\" pulumi-lang-dotnet=\"`MaxUnavailable`\" pulumi-lang-go=\"`maxUnavailable`\" pulumi-lang-python=\"`max_unavailable`\" pulumi-lang-yaml=\"`maxUnavailable`\" pulumi-lang-java=\"`maxUnavailable`\"\u003e`max_unavailable`\u003c/span\u003e.\n"}},"type":"object","required":["count","instanceType","name"]},"spectrocloud:index/ClusterOpenstackMachinePoolNode:ClusterOpenstackMachinePoolNode":{"properties":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: \u003cspan pulumi-lang-nodejs=\"`cordon`\" pulumi-lang-dotnet=\"`Cordon`\" pulumi-lang-go=\"`cordon`\" pulumi-lang-python=\"`cordon`\" pulumi-lang-yaml=\"`cordon`\" pulumi-lang-java=\"`cordon`\"\u003e`cordon`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`uncordon`\" pulumi-lang-dotnet=\"`Uncordon`\" pulumi-lang-go=\"`uncordon`\" pulumi-lang-python=\"`uncordon`\" pulumi-lang-yaml=\"`uncordon`\" pulumi-lang-java=\"`uncordon`\"\u003e`uncordon`\u003c/span\u003e.\n"},"nodeId":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" nodeId \" pulumi-lang-dotnet=\" NodeId \" pulumi-lang-go=\" nodeId \" pulumi-lang-python=\" node_id \" pulumi-lang-yaml=\" nodeId \" pulumi-lang-java=\" nodeId \"\u003e node_id \u003c/span\u003eof the node, For example `i-07f899a33dee624f7`\n"}},"type":"object","required":["action","nodeId"]},"spectrocloud:index/ClusterOpenstackMachinePoolOverrideScaling:ClusterOpenstackMachinePoolOverrideScaling":{"properties":{"maxSurge":{"type":"string","description":"Max extra nodes during rolling update. Integer or percentage (e.g., '1' or '20%'). Only valid when type=OverrideScaling. Both maxSurge and maxUnavailable are required.\n"},"maxUnavailable":{"type":"string","description":"Max unavailable nodes during rolling update. Integer or percentage (e.g., '0' or '10%'). Only valid when type=OverrideScaling. Both maxSurge and maxUnavailable are required.\n"}},"type":"object"},"spectrocloud:index/ClusterOpenstackMachinePoolTaint:ClusterOpenstackMachinePoolTaint":{"properties":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.\n"},"key":{"type":"string","description":"The key of the taint.\n"},"value":{"type":"string","description":"The value of the taint.\n"}},"type":"object","required":["effect","key","value"]},"spectrocloud:index/ClusterOpenstackNamespace:ClusterOpenstackNamespace":{"properties":{"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.\n"},"resourceAllocation":{"type":"object","additionalProperties":{"type":"string"},"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048', gpu_limit: '1', gpu_provider: 'nvidia'}`\n"}},"type":"object","required":["name","resourceAllocation"]},"spectrocloud:index/ClusterOpenstackScanPolicy:ClusterOpenstackScanPolicy":{"properties":{"configurationScanSchedule":{"type":"string","description":"The schedule for configuration scan.\n"},"conformanceScanSchedule":{"type":"string","description":"The schedule for conformance scan.\n"},"penetrationScanSchedule":{"type":"string","description":"The schedule for penetration scan.\n"}},"type":"object","required":["configurationScanSchedule","conformanceScanSchedule","penetrationScanSchedule"]},"spectrocloud:index/ClusterOpenstackTimeouts:ClusterOpenstackTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/ClusterProfilePack:ClusterProfilePack":{"properties":{"manifests":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterProfilePackManifest:ClusterProfilePackManifest"}},"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile.\n"},"registryName":{"type":"string","description":"The registry name of the pack. The registry name is the human-readable name of the registry. This attribute can be used instead of \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e for better readability. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field can be used along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"registryUid":{"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. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"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 \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e (or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e) to resolve the pack UID internally.\n"},"type":{"type":"string","description":"The type of the pack. Allowed values are \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e. The default value is spectro. If using an OCI registry for pack, set the type to \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e.\n"},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the \u003cspan pulumi-lang-nodejs=\"`spectrocloud.getPack`\" pulumi-lang-dotnet=\"`spectrocloud.getPack`\" pulumi-lang-go=\"`getPack`\" pulumi-lang-python=\"`get_pack`\" pulumi-lang-yaml=\"`spectrocloud.getPack`\" pulumi-lang-java=\"`spectrocloud.getPack`\"\u003e`spectrocloud.getPack`\u003c/span\u003e data source. This value is required if the pack type is \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e and for \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e if the chart is from a public helm registry. If not provided, all of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e must be specified to resolve the pack UID internally.\n"},"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.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["name","uid"]}}},"spectrocloud:index/ClusterProfilePackManifest:ClusterProfilePackManifest":{"properties":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest.\n"},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack.\n"},"uid":{"type":"string"}},"type":"object","required":["content","name"],"language":{"nodejs":{"requiredOutputs":["content","name","uid"]}}},"spectrocloud:index/ClusterProfileProfileVariables:ClusterProfileProfileVariables":{"properties":{"variables":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterProfileProfileVariablesVariable:ClusterProfileProfileVariablesVariable"}}},"type":"object","required":["variables"]},"spectrocloud:index/ClusterProfileProfileVariablesVariable:ClusterProfileProfileVariablesVariable":{"properties":{"defaultValue":{"type":"string","description":"The default value of the variable.\n"},"description":{"type":"string","description":"The description of the variable.\n"},"displayName":{"type":"string","description":"The display name of the variable should be unique among variables.\n"},"format":{"type":"string","description":"The format of the variable. Default is \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`format`\" pulumi-lang-dotnet=\"`Format`\" pulumi-lang-go=\"`format`\" pulumi-lang-python=\"`format`\" pulumi-lang-yaml=\"`format`\" pulumi-lang-java=\"`format`\"\u003e`format`\u003c/span\u003e field can only be set during cluster profile creation. Allowed formats include \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`number`\" pulumi-lang-dotnet=\"`Number`\" pulumi-lang-go=\"`number`\" pulumi-lang-python=\"`number`\" pulumi-lang-yaml=\"`number`\" pulumi-lang-java=\"`number`\"\u003e`number`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`boolean`\" pulumi-lang-dotnet=\"`Boolean`\" pulumi-lang-go=\"`boolean`\" pulumi-lang-python=\"`boolean`\" pulumi-lang-yaml=\"`boolean`\" pulumi-lang-java=\"`boolean`\"\u003e`boolean`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipv4cidr`\" pulumi-lang-dotnet=\"`Ipv4cidr`\" pulumi-lang-go=\"`ipv4cidr`\" pulumi-lang-python=\"`ipv4cidr`\" pulumi-lang-yaml=\"`ipv4cidr`\" pulumi-lang-java=\"`ipv4cidr`\"\u003e`ipv4cidr`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`version`\" pulumi-lang-dotnet=\"`Version`\" pulumi-lang-go=\"`version`\" pulumi-lang-python=\"`version`\" pulumi-lang-yaml=\"`version`\" pulumi-lang-java=\"`version`\"\u003e`version`\u003c/span\u003e.\n"},"hidden":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`hidden`\" pulumi-lang-dotnet=\"`Hidden`\" pulumi-lang-go=\"`hidden`\" pulumi-lang-python=\"`hidden`\" pulumi-lang-yaml=\"`hidden`\" pulumi-lang-java=\"`hidden`\"\u003e`hidden`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then variable will be hidden for overriding the value. By default the \u003cspan pulumi-lang-nodejs=\"`hidden`\" pulumi-lang-dotnet=\"`Hidden`\" pulumi-lang-go=\"`hidden`\" pulumi-lang-python=\"`hidden`\" pulumi-lang-yaml=\"`hidden`\" pulumi-lang-java=\"`hidden`\"\u003e`hidden`\u003c/span\u003e flag will be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"immutable":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`immutable`\" pulumi-lang-dotnet=\"`Immutable`\" pulumi-lang-go=\"`immutable`\" pulumi-lang-python=\"`immutable`\" pulumi-lang-yaml=\"`immutable`\" pulumi-lang-java=\"`immutable`\"\u003e`immutable`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then variable value can't be editable. By default the \u003cspan pulumi-lang-nodejs=\"`immutable`\" pulumi-lang-dotnet=\"`Immutable`\" pulumi-lang-go=\"`immutable`\" pulumi-lang-python=\"`immutable`\" pulumi-lang-yaml=\"`immutable`\" pulumi-lang-java=\"`immutable`\"\u003e`immutable`\u003c/span\u003e flag will be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"isSensitive":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`isSensitive`\" pulumi-lang-dotnet=\"`IsSensitive`\" pulumi-lang-go=\"`isSensitive`\" pulumi-lang-python=\"`is_sensitive`\" pulumi-lang-yaml=\"`isSensitive`\" pulumi-lang-java=\"`isSensitive`\"\u003e`is_sensitive`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then default value will be masked. By default the \u003cspan pulumi-lang-nodejs=\"`isSensitive`\" pulumi-lang-dotnet=\"`IsSensitive`\" pulumi-lang-go=\"`isSensitive`\" pulumi-lang-python=\"`is_sensitive`\" pulumi-lang-yaml=\"`isSensitive`\" pulumi-lang-java=\"`isSensitive`\"\u003e`is_sensitive`\u003c/span\u003e flag will be set to false.\n"},"name":{"type":"string","description":"The name of the variable should be unique among variables.\n"},"regex":{"type":"string","description":"Regular expression pattern which the variable value must match.\n"},"required":{"type":"boolean","description":"The \u003cspan pulumi-lang-nodejs=\"`required`\" pulumi-lang-dotnet=\"`Required`\" pulumi-lang-go=\"`required`\" pulumi-lang-python=\"`required`\" pulumi-lang-yaml=\"`required`\" pulumi-lang-java=\"`required`\"\u003e`required`\u003c/span\u003e to specify if the variable is optional or mandatory. If it is mandatory then default value must be provided.\n"}},"type":"object","required":["displayName","name"]},"spectrocloud:index/ClusterProfileTimeouts:ClusterProfileTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/ClusterVsphereBackupPolicy:ClusterVsphereBackupPolicy":{"properties":{"backupLocationId":{"type":"string","description":"The ID of the backup location to use for the backup.\n"},"clusterUids":{"type":"array","items":{"type":"string"},"description":"The list of cluster UIDs to include in the backup. If \u003cspan pulumi-lang-nodejs=\"`includeAllClusters`\" pulumi-lang-dotnet=\"`IncludeAllClusters`\" pulumi-lang-go=\"`includeAllClusters`\" pulumi-lang-python=\"`include_all_clusters`\" pulumi-lang-yaml=\"`includeAllClusters`\" pulumi-lang-java=\"`includeAllClusters`\"\u003e`include_all_clusters`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then all clusters will be included.\n"},"expiryInHour":{"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.\n"},"includeAllClusters":{"type":"boolean","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in \u003cspan pulumi-lang-nodejs=\"`clusterUids`\" pulumi-lang-dotnet=\"`ClusterUids`\" pulumi-lang-go=\"`clusterUids`\" pulumi-lang-python=\"`cluster_uids`\" pulumi-lang-yaml=\"`clusterUids`\" pulumi-lang-java=\"`clusterUids`\"\u003e`cluster_uids`\u003c/span\u003e will be included.\n"},"includeClusterResources":{"type":"boolean","description":"Indicates whether to include 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 deprecated, and a new attribute, include*cluster*resources_mode, will be introduced.)\n"},"includeClusterResourcesMode":{"type":"string","description":"Specifies whether to include the cluster resources in the backup. Supported values are \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\"\u003e`never`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\"\u003e`auto`\u003c/span\u003e.\n"},"includeDisks":{"type":"boolean","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.\n"},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \\n\\n-\\n\\n-\\n\\n.\n"},"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 * * *`.\n"}},"type":"object","required":["backupLocationId","expiryInHour","prefix","schedule"]},"spectrocloud:index/ClusterVsphereCloudConfig:ClusterVsphereCloudConfig":{"properties":{"datacenter":{"type":"string","description":"The name of the datacenter in vSphere. This is the name of the datacenter as it appears in vSphere.\n"},"folder":{"type":"string","description":"The name of the folder in vSphere. This is the name of the folder as it appears in vSphere.\n"},"hostEndpoint":{"type":"string","description":"The host endpoint to use for the cluster. This can be `IP` or `FQDN(External/DDNS)`.\n"},"imageTemplateFolder":{"type":"string","description":"The name of the image template folder in vSphere. This is the name of the folder as it appears in vSphere.\n"},"networkSearchDomain":{"type":"string","description":"The search domain to use for the cluster in case of DHCP.\n"},"networkType":{"type":"string","description":"The type of network to use for the cluster. This can be `VIP` or `DDNS`.\n"},"ntpServers":{"type":"array","items":{"type":"string"},"description":"A list of NTP servers to be used by the cluster.\n"},"sshKey":{"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. \u003cspan pulumi-lang-nodejs=\"`sshKey \" pulumi-lang-dotnet=\"`SshKey \" pulumi-lang-go=\"`sshKey \" pulumi-lang-python=\"`ssh_key \" pulumi-lang-yaml=\"`sshKey \" pulumi-lang-java=\"`sshKey \"\u003e`ssh_key \u003c/span\u003e\u0026\u003cspan pulumi-lang-nodejs=\" sshKeys`\" pulumi-lang-dotnet=\" SshKeys`\" pulumi-lang-go=\" sshKeys`\" pulumi-lang-python=\" ssh_keys`\" pulumi-lang-yaml=\" sshKeys`\" pulumi-lang-java=\" sshKeys`\"\u003e ssh_keys`\u003c/span\u003e are mutually exclusive.\n","deprecationMessage":"Deprecated"},"sshKeys":{"type":"array","items":{"type":"string"},"description":"List of public SSH (Secure Shell) keys to establish, administer, and communicate with remote clusters, \u003cspan pulumi-lang-nodejs=\"`sshKey \" pulumi-lang-dotnet=\"`SshKey \" pulumi-lang-go=\"`sshKey \" pulumi-lang-python=\"`ssh_key \" pulumi-lang-yaml=\"`sshKey \" pulumi-lang-java=\"`sshKey \"\u003e`ssh_key \u003c/span\u003e\u0026\u003cspan pulumi-lang-nodejs=\" sshKeys`\" pulumi-lang-dotnet=\" SshKeys`\" pulumi-lang-go=\" sshKeys`\" pulumi-lang-python=\" ssh_keys`\" pulumi-lang-yaml=\" sshKeys`\" pulumi-lang-java=\" sshKeys`\"\u003e ssh_keys`\u003c/span\u003e are mutually exclusive.\n"},"staticIp":{"type":"boolean","description":"Whether to use static IP addresses for the cluster. If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will use static IP addresses. If \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, the cluster will use DDNS. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["datacenter","folder"]},"spectrocloud:index/ClusterVsphereClusterProfile:ClusterVsphereClusterProfile":{"properties":{"id":{"type":"string","description":"The ID of the cluster profile.\n"},"packs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereClusterProfilePack:ClusterVsphereClusterProfilePack"},"description":"For packs of type \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, at least one pack must be specified.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterVsphereClusterProfilePack:ClusterVsphereClusterProfilePack":{"properties":{"manifests":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereClusterProfilePackManifest:ClusterVsphereClusterProfilePackManifest"}},"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile.\n"},"registryName":{"type":"string","description":"The registry name of the pack. The registry name is the human-readable name of the registry. This attribute can be used instead of \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e for better readability. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field can be used along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"registryUid":{"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. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"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 \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e (or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e) to resolve the pack UID internally.\n"},"type":{"type":"string","description":"The type of the pack. Allowed values are \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e. The default value is spectro. If using an OCI registry for pack, set the type to \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e.\n"},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the \u003cspan pulumi-lang-nodejs=\"`spectrocloud.getPack`\" pulumi-lang-dotnet=\"`spectrocloud.getPack`\" pulumi-lang-go=\"`getPack`\" pulumi-lang-python=\"`get_pack`\" pulumi-lang-yaml=\"`spectrocloud.getPack`\" pulumi-lang-java=\"`spectrocloud.getPack`\"\u003e`spectrocloud.getPack`\u003c/span\u003e data source. This value is required if the pack type is \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e and for \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e if the chart is from a public helm registry. If not provided, all of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e must be specified to resolve the pack UID internally.\n"},"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.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["name","uid"]}}},"spectrocloud:index/ClusterVsphereClusterProfilePackManifest:ClusterVsphereClusterProfilePackManifest":{"properties":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest.\n"},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack.\n"},"uid":{"type":"string"}},"type":"object","required":["content","name"],"language":{"nodejs":{"requiredOutputs":["content","name","uid"]}}},"spectrocloud:index/ClusterVsphereClusterRbacBinding:ClusterVsphereClusterRbacBinding":{"properties":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.\n"},"role":{"type":"object","additionalProperties":{"type":"string"},"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'. Must include 'name' and 'kind' fields.\n"},"subjects":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereClusterRbacBindingSubject:ClusterVsphereClusterRbacBindingSubject"}},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.\n"}},"type":"object","required":["type"]},"spectrocloud:index/ClusterVsphereClusterRbacBindingSubject:ClusterVsphereClusterRbacBindingSubject":{"properties":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.\n"},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.\n"},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.\n"}},"type":"object","required":["name","type"]},"spectrocloud:index/ClusterVsphereClusterTemplate:ClusterVsphereClusterTemplate":{"properties":{"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereClusterTemplateClusterProfile:ClusterVsphereClusterTemplateClusterProfile"},"description":"The cluster profile of the cluster template.\n"},"id":{"type":"string","description":"The ID of the cluster template.\n"},"name":{"type":"string","description":"The name of the cluster template.\n"}},"type":"object","required":["id"],"language":{"nodejs":{"requiredOutputs":["id","name"]}}},"spectrocloud:index/ClusterVsphereClusterTemplateClusterProfile:ClusterVsphereClusterTemplateClusterProfile":{"properties":{"id":{"type":"string","description":"The UID of the cluster profile.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/ClusterVsphereHostConfig:ClusterVsphereHostConfig":{"properties":{"externalTrafficPolicy":{"type":"string","description":"The external traffic policy for the cluster.\n"},"hostEndpointType":{"type":"string","description":"The type of endpoint for the cluster. Can be either 'Ingress' or 'LoadBalancer'. The default is 'Ingress'.\n"},"ingressHost":{"type":"string","description":"The host for the Ingress endpoint. Required if 'host*endpoint*type' is set to 'Ingress'.\n"},"loadBalancerSourceRanges":{"type":"string","description":"The source ranges for the load balancer. Required if 'host*endpoint*type' is set to 'LoadBalancer'.\n"}},"type":"object"},"spectrocloud:index/ClusterVsphereLocationConfig:ClusterVsphereLocationConfig":{"properties":{"countryCode":{"type":"string","description":"The country code of the country the cluster is located in.\n"},"countryName":{"type":"string","description":"The name of the country.\n"},"latitude":{"type":"number","description":"The latitude coordinates value.\n"},"longitude":{"type":"number","description":"The longitude coordinates value.\n"},"regionCode":{"type":"string","description":"The region code of where the cluster is located in.\n"},"regionName":{"type":"string","description":"The name of the region.\n"}},"type":"object","required":["latitude","longitude"]},"spectrocloud:index/ClusterVsphereMachinePool:ClusterVsphereMachinePool":{"properties":{"additionalAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional annotations to be applied to the machine pool. Annotations must be in the form of `key:value`.\n"},"additionalLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional labels to be applied to the machine pool. Labels must be in the form of `key:value`.\n"},"controlPlane":{"type":"boolean","description":"Whether this machine pool is a control plane. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"controlPlaneAsWorker":{"type":"boolean","description":"Whether this machine pool is a control plane and a worker. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"count":{"type":"number","description":"Number of nodes in the machine pool.\n"},"instanceType":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereMachinePoolInstanceType:ClusterVsphereMachinePoolInstanceType"},"max":{"type":"number","description":"Maximum number of nodes in the machine pool. This is used for autoscaling the machine pool.\n"},"min":{"type":"number","description":"Minimum number of nodes in the machine pool. This is used for autoscaling the machine pool.\n"},"name":{"type":"string","description":"The name of the machine pool. This is used to identify the machine pool in the cluster.\n"},"nodeRepaveInterval":{"type":"number","description":"Minimum number of seconds node should be Ready, before the next node is selected for repave. Default value is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, Applicable only for worker pools.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereMachinePoolNode:ClusterVsphereMachinePoolNode"}},"overrideKubeadmConfiguration":{"type":"string","description":"YAML config for kubeletExtraArgs, preKubeadmCommands, postKubeadmCommands. Overrides pack-level settings. Worker pools only.\n"},"overrideScaling":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereMachinePoolOverrideScaling:ClusterVsphereMachinePoolOverrideScaling","description":"Rolling update strategy for the machine pool.\n"},"placement":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereMachinePoolPlacement:ClusterVsphereMachinePoolPlacement"},"taints":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereMachinePoolTaint:ClusterVsphereMachinePoolTaint"}},"updateStrategy":{"type":"string","description":"Update strategy for the machine pool. Valid values are `RollingUpdateScaleOut`, `RollingUpdateScaleIn` and `OverrideScaling`. If `OverrideScaling` is used, \u003cspan pulumi-lang-nodejs=\"`overrideScaling`\" pulumi-lang-dotnet=\"`OverrideScaling`\" pulumi-lang-go=\"`overrideScaling`\" pulumi-lang-python=\"`override_scaling`\" pulumi-lang-yaml=\"`overrideScaling`\" pulumi-lang-java=\"`overrideScaling`\"\u003e`override_scaling`\u003c/span\u003e must be specified with both \u003cspan pulumi-lang-nodejs=\"`maxSurge`\" pulumi-lang-dotnet=\"`MaxSurge`\" pulumi-lang-go=\"`maxSurge`\" pulumi-lang-python=\"`max_surge`\" pulumi-lang-yaml=\"`maxSurge`\" pulumi-lang-java=\"`maxSurge`\"\u003e`max_surge`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maxUnavailable`\" pulumi-lang-dotnet=\"`MaxUnavailable`\" pulumi-lang-go=\"`maxUnavailable`\" pulumi-lang-python=\"`max_unavailable`\" pulumi-lang-yaml=\"`maxUnavailable`\" pulumi-lang-java=\"`maxUnavailable`\"\u003e`max_unavailable`\u003c/span\u003e.\n"}},"type":"object","required":["count","instanceType","name","placement"]},"spectrocloud:index/ClusterVsphereMachinePoolInstanceType:ClusterVsphereMachinePoolInstanceType":{"properties":{"cpu":{"type":"number","description":"The number of CPUs.\n"},"diskSizeGb":{"type":"number","description":"The size of the disk in GB.\n"},"memoryMb":{"type":"number","description":"The amount of memory in MB.\n"}},"type":"object","required":["cpu","diskSizeGb","memoryMb"]},"spectrocloud:index/ClusterVsphereMachinePoolNode:ClusterVsphereMachinePoolNode":{"properties":{"action":{"type":"string","description":"The action to perform on the node. Valid values are: \u003cspan pulumi-lang-nodejs=\"`cordon`\" pulumi-lang-dotnet=\"`Cordon`\" pulumi-lang-go=\"`cordon`\" pulumi-lang-python=\"`cordon`\" pulumi-lang-yaml=\"`cordon`\" pulumi-lang-java=\"`cordon`\"\u003e`cordon`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`uncordon`\" pulumi-lang-dotnet=\"`Uncordon`\" pulumi-lang-go=\"`uncordon`\" pulumi-lang-python=\"`uncordon`\" pulumi-lang-yaml=\"`uncordon`\" pulumi-lang-java=\"`uncordon`\"\u003e`uncordon`\u003c/span\u003e.\n"},"nodeId":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" nodeId \" pulumi-lang-dotnet=\" NodeId \" pulumi-lang-go=\" nodeId \" pulumi-lang-python=\" node_id \" pulumi-lang-yaml=\" nodeId \" pulumi-lang-java=\" nodeId \"\u003e node_id \u003c/span\u003eof the node, For example `i-07f899a33dee624f7`\n"}},"type":"object","required":["action","nodeId"]},"spectrocloud:index/ClusterVsphereMachinePoolOverrideScaling:ClusterVsphereMachinePoolOverrideScaling":{"properties":{"maxSurge":{"type":"string","description":"Max extra nodes during rolling update. Integer or percentage (e.g., '1' or '20%'). Only valid when type=OverrideScaling. Both maxSurge and maxUnavailable are required.\n"},"maxUnavailable":{"type":"string","description":"Max unavailable nodes during rolling update. Integer or percentage (e.g., '0' or '10%'). Only valid when type=OverrideScaling. Both maxSurge and maxUnavailable are required.\n"}},"type":"object"},"spectrocloud:index/ClusterVsphereMachinePoolPlacement:ClusterVsphereMachinePoolPlacement":{"properties":{"cluster":{"type":"string","description":"The name of the cluster to use for the machine pool. As it appears in the vSphere.\n"},"datastore":{"type":"string","description":"The name of the datastore to use for the machine pool. As it appears in the vSphere.\n"},"id":{"type":"string"},"network":{"type":"string","description":"The name of the network to use for the machine pool. As it appears in the vSphere.\n"},"resourcePool":{"type":"string","description":"The name of the resource pool to use for the machine pool. As it appears in the vSphere.\n"},"staticIpPoolId":{"type":"string","description":"The ID of the static IP pool to use for the machine pool in case of static cluster placement.\n"}},"type":"object","required":["cluster","datastore","network","resourcePool"],"language":{"nodejs":{"requiredOutputs":["cluster","datastore","id","network","resourcePool"]}}},"spectrocloud:index/ClusterVsphereMachinePoolTaint:ClusterVsphereMachinePoolTaint":{"properties":{"effect":{"type":"string","description":"The effect of the taint. Allowed values are: `NoSchedule`, `PreferNoSchedule` or `NoExecute`.\n"},"key":{"type":"string","description":"The key of the taint.\n"},"value":{"type":"string","description":"The value of the taint.\n"}},"type":"object","required":["effect","key","value"]},"spectrocloud:index/ClusterVsphereNamespace:ClusterVsphereNamespace":{"properties":{"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.\n"},"resourceAllocation":{"type":"object","additionalProperties":{"type":"string"},"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048', gpu_limit: '1', gpu_provider: 'nvidia'}`\n"}},"type":"object","required":["name","resourceAllocation"]},"spectrocloud:index/ClusterVsphereScanPolicy:ClusterVsphereScanPolicy":{"properties":{"configurationScanSchedule":{"type":"string","description":"The schedule for configuration scan.\n"},"conformanceScanSchedule":{"type":"string","description":"The schedule for conformance scan.\n"},"penetrationScanSchedule":{"type":"string","description":"The schedule for penetration scan.\n"}},"type":"object","required":["configurationScanSchedule","conformanceScanSchedule","penetrationScanSchedule"]},"spectrocloud:index/ClusterVsphereTimeouts:ClusterVsphereTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/DatavolumeAddVolumeOptions:DatavolumeAddVolumeOptions":{"properties":{"disk":{"$ref":"#/types/spectrocloud:index%2FDatavolumeAddVolumeOptionsDisk:DatavolumeAddVolumeOptionsDisk"},"name":{"type":"string"},"volumeSource":{"$ref":"#/types/spectrocloud:index%2FDatavolumeAddVolumeOptionsVolumeSource:DatavolumeAddVolumeOptionsVolumeSource"}},"type":"object","required":["disk","name","volumeSource"]},"spectrocloud:index/DatavolumeAddVolumeOptionsDisk:DatavolumeAddVolumeOptionsDisk":{"properties":{"bus":{"type":"string"},"name":{"type":"string"}},"type":"object","required":["bus","name"]},"spectrocloud:index/DatavolumeAddVolumeOptionsVolumeSource:DatavolumeAddVolumeOptionsVolumeSource":{"properties":{"dataVolume":{"$ref":"#/types/spectrocloud:index%2FDatavolumeAddVolumeOptionsVolumeSourceDataVolume:DatavolumeAddVolumeOptionsVolumeSourceDataVolume"}},"type":"object","required":["dataVolume"]},"spectrocloud:index/DatavolumeAddVolumeOptionsVolumeSourceDataVolume:DatavolumeAddVolumeOptionsVolumeSourceDataVolume":{"properties":{"hotpluggable":{"type":"boolean"},"name":{"type":"string"}},"type":"object","required":["name"]},"spectrocloud:index/DatavolumeMetadata:DatavolumeMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"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\n"},"generation":{"type":"number","description":"A sequence number representing a specific generation of the desired state.\n"},"labels":{"type":"object","additionalProperties":{"type":"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\n"},"name":{"type":"string","description":"Name of the DataVolume, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names\n"},"namespace":{"type":"string","description":"Namespace defines the space within which name of the DataVolume must be unique.\n"},"resourceVersion":{"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\n"},"uid":{"type":"string","description":"The unique in time and space value for this DataVolume. More info: http://kubernetes.io/docs/user-guide/identifiers#uids\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["annotations","generation","name","resourceVersion","uid"]}}},"spectrocloud:index/DatavolumeSpec:DatavolumeSpec":{"properties":{"contentType":{"type":"string","description":"ContentType options: \"kubevirt\", \"archive\".\n"},"pvc":{"$ref":"#/types/spectrocloud:index%2FDatavolumeSpecPvc:DatavolumeSpecPvc","description":"PVC is a pointer to the PVC Spec we want to use.\n"},"source":{"$ref":"#/types/spectrocloud:index%2FDatavolumeSpecSource:DatavolumeSpecSource","description":"Source is the src of the data for the requested DataVolume.\n"},"storage":{"$ref":"#/types/spectrocloud:index%2FDatavolumeSpecStorage:DatavolumeSpecStorage","description":"Storage is the requested storage specification for the DataVolume.\n"}},"type":"object"},"spectrocloud:index/DatavolumeSpecPvc:DatavolumeSpecPvc":{"properties":{"accessModes":{"type":"array","items":{"type":"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\n"},"resources":{"$ref":"#/types/spectrocloud:index%2FDatavolumeSpecPvcResources:DatavolumeSpecPvcResources","description":"A list of the minimum resources the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#resources\n"},"selector":{"$ref":"#/types/spectrocloud:index%2FDatavolumeSpecPvcSelector:DatavolumeSpecPvcSelector","description":"A label query over volumes to consider for binding.\n"},"storageClassName":{"type":"string","description":"Name of the storage class requested by the claim\n"},"volumeMode":{"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.\n"},"volumeName":{"type":"string","description":"The binding reference to the PersistentVolume backing this claim.\n"}},"type":"object","required":["accessModes","resources"],"language":{"nodejs":{"requiredOutputs":["accessModes","resources","storageClassName","volumeMode","volumeName"]}}},"spectrocloud:index/DatavolumeSpecPvcResources:DatavolumeSpecPvcResources":{"properties":{"limits":{"type":"object","additionalProperties":{"type":"string"},"description":"Map describing the maximum amount of compute resources allowed. More info: http://kubernetes.io/docs/user-guide/compute-resources/\n"},"requests":{"type":"object","additionalProperties":{"type":"string"},"description":"Map describing the minimum amount of compute resources required. If this is omitted for a container, it defaults to \u003cspan pulumi-lang-nodejs=\"`limits`\" pulumi-lang-dotnet=\"`Limits`\" pulumi-lang-go=\"`limits`\" pulumi-lang-python=\"`limits`\" pulumi-lang-yaml=\"`limits`\" pulumi-lang-java=\"`limits`\"\u003e`limits`\u003c/span\u003e if that is explicitly specified, otherwise to an implementation-defined value. More info: http://kubernetes.io/docs/user-guide/compute-resources/\n"}},"type":"object"},"spectrocloud:index/DatavolumeSpecPvcSelector:DatavolumeSpecPvcSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FDatavolumeSpecPvcSelectorMatchExpression:DatavolumeSpecPvcSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"spectrocloud:index/DatavolumeSpecPvcSelectorMatchExpression:DatavolumeSpecPvcSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"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.\n"}},"type":"object"},"spectrocloud:index/DatavolumeSpecSource:DatavolumeSpecSource":{"properties":{"blank":{"$ref":"#/types/spectrocloud:index%2FDatavolumeSpecSourceBlank:DatavolumeSpecSourceBlank","description":"DataVolumeSourceBlank provides the parameters to create a Data Volume from an empty source.\n"},"http":{"$ref":"#/types/spectrocloud:index%2FDatavolumeSpecSourceHttp:DatavolumeSpecSourceHttp","description":"DataVolumeSourceHTTP provides the parameters to create a Data Volume from an HTTP source.\n"},"pvc":{"$ref":"#/types/spectrocloud:index%2FDatavolumeSpecSourcePvc:DatavolumeSpecSourcePvc","description":"DataVolumeSourcePVC provides the parameters to create a Data Volume from an existing PVC.\n"},"registry":{"$ref":"#/types/spectrocloud:index%2FDatavolumeSpecSourceRegistry:DatavolumeSpecSourceRegistry","description":"DataVolumeSourceRegistry provides the parameters to create a Data Volume from an existing PVC.\n"}},"type":"object"},"spectrocloud:index/DatavolumeSpecSourceBlank:DatavolumeSpecSourceBlank":{"type":"object"},"spectrocloud:index/DatavolumeSpecSourceHttp:DatavolumeSpecSourceHttp":{"properties":{"certConfigMap":{"type":"string","description":"Cert*config*map provides a reference to the Registry certs.\n"},"secretRef":{"type":"string","description":"Secret_ref provides the secret reference needed to access the HTTP source.\n"},"url":{"type":"string","description":"url is the URL of the http source.\n"}},"type":"object"},"spectrocloud:index/DatavolumeSpecSourcePvc:DatavolumeSpecSourcePvc":{"properties":{"name":{"type":"string","description":"The name of the PVC.\n"},"namespace":{"type":"string","description":"The namespace which the PVC located in.\n"}},"type":"object"},"spectrocloud:index/DatavolumeSpecSourceRegistry:DatavolumeSpecSourceRegistry":{"properties":{"imageUrl":{"type":"string","description":"The registry URL of the image to download.\n"}},"type":"object"},"spectrocloud:index/DatavolumeSpecStorage:DatavolumeSpecStorage":{"properties":{"accessModes":{"type":"array","items":{"type":"string"},"description":"A set of the desired access modes the volume should have. More info: http://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1\n"},"resources":{"$ref":"#/types/spectrocloud:index%2FDatavolumeSpecStorageResources:DatavolumeSpecStorageResources","description":"A list of the minimum resources the volume should have. More info: http://kubernetes.io/docs/concepts/storage/persistent-volumes#resources\n"},"selector":{"$ref":"#/types/spectrocloud:index%2FDatavolumeSpecStorageSelector:DatavolumeSpecStorageSelector","description":"A label query over volumes to consider for binding.\n"},"storageClassName":{"type":"string","description":"Name of the storage class requested by the claim\n"},"volumeMode":{"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.\n"},"volumeName":{"type":"string","description":"The binding reference to the PersistentVolume backing this claim.\n"}},"type":"object"},"spectrocloud:index/DatavolumeSpecStorageResources:DatavolumeSpecStorageResources":{"properties":{"limits":{"type":"object","additionalProperties":{"type":"string"},"description":"Map describing the maximum amount of compute resources allowed. More info: http://kubernetes.io/docs/user-guide/compute-resources/\n"},"requests":{"type":"object","additionalProperties":{"type":"string"},"description":"Map describing the minimum amount of compute resources required. If this is omitted for a container, it defaults to \u003cspan pulumi-lang-nodejs=\"`limits`\" pulumi-lang-dotnet=\"`Limits`\" pulumi-lang-go=\"`limits`\" pulumi-lang-python=\"`limits`\" pulumi-lang-yaml=\"`limits`\" pulumi-lang-java=\"`limits`\"\u003e`limits`\u003c/span\u003e if that is explicitly specified, otherwise to an implementation-defined value. More info: http://kubernetes.io/docs/user-guide/compute-resources/\n"}},"type":"object"},"spectrocloud:index/DatavolumeSpecStorageSelector:DatavolumeSpecStorageSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FDatavolumeSpecStorageSelectorMatchExpression:DatavolumeSpecStorageSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\".\n"}},"type":"object"},"spectrocloud:index/DatavolumeSpecStorageSelectorMatchExpression:DatavolumeSpecStorageSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators are `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"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.\n"}},"type":"object"},"spectrocloud:index/DatavolumeStatus:DatavolumeStatus":{"properties":{"phase":{"type":"string","description":"DataVolumePhase is the current phase of the DataVolume.\n"},"progress":{"type":"string","description":"DataVolumePhase is the current phase of the DataVolume.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["phase","progress"]}}},"spectrocloud:index/DatavolumeTimeouts:DatavolumeTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"spectrocloud:index/DeveloperSettingTimeouts:DeveloperSettingTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/FilterMetadata:FilterMetadata":{"properties":{"name":{"type":"string","description":"The name of the filter.\n"}},"type":"object","required":["name"]},"spectrocloud:index/FilterSpec:FilterSpec":{"properties":{"filterGroup":{"$ref":"#/types/spectrocloud:index%2FFilterSpecFilterGroup:FilterSpecFilterGroup","description":"Filter group of the filter.\n"}},"type":"object","required":["filterGroup"]},"spectrocloud:index/FilterSpecFilterGroup:FilterSpecFilterGroup":{"properties":{"conjunction":{"type":"string","description":"Conjunction operation of the filter group. Valid values are 'and' and 'or'.\n"},"filters":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FFilterSpecFilterGroupFilter:FilterSpecFilterGroupFilter"},"description":"List of filters in the filter group.\n"}},"type":"object","required":["conjunction","filters"]},"spectrocloud:index/FilterSpecFilterGroupFilter:FilterSpecFilterGroupFilter":{"properties":{"key":{"type":"string","description":"Key of the filter.\n"},"negation":{"type":"boolean","description":"Negation flag of the filter condition.\n"},"operator":{"type":"string","description":"Operator of the filter. Valid values are 'eq'.\n"},"values":{"type":"array","items":{"type":"string"},"description":"Values of the filter.\n"}},"type":"object","required":["key","operator","values"]},"spectrocloud:index/FilterTimeouts:FilterTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/MacrosTimeouts:MacrosTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/PasswordPolicyTimeouts:PasswordPolicyTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/PlatformSettingLoginBanner:PlatformSettingLoginBanner":{"properties":{"message":{"type":"string","description":"Specify the message displayed in the login banner.\n"},"title":{"type":"string","description":"Specify the title of the login banner.\n"}},"type":"object","required":["message","title"]},"spectrocloud:index/PlatformSettingTimeouts:PlatformSettingTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/PrivatecloudgatewayDnsMapTimeouts:PrivatecloudgatewayDnsMapTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/PrivatecloudgatewayIppoolTimeouts:PrivatecloudgatewayIppoolTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/ProjectTimeouts:ProjectTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/RegistrationTokenTimeouts:RegistrationTokenTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/RegistryHelmCredentials:RegistryHelmCredentials":{"properties":{"credentialType":{"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.\n"},"password":{"type":"string","description":"The password for basic authentication. Required if 'credential_type' is set to 'basic'.\n"},"token":{"type":"string","description":"The authentication token. Required if 'credential_type' is set to 'token'.\n"},"username":{"type":"string","description":"The username for basic authentication. Required if 'credential_type' is set to 'basic'.\n"}},"type":"object","required":["credentialType"]},"spectrocloud:index/RegistryHelmTimeouts:RegistryHelmTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/RegistryOciCredentials:RegistryOciCredentials":{"properties":{"accessKey":{"type":"string","description":"The access key for accessing the registry. Required if 'credential_type' is set to 'secret'.\n"},"arn":{"type":"string","description":"The Amazon Resource Name (ARN) used for AWS-based authentication. Required if 'credential_type' is 'sts'.\n"},"credentialType":{"type":"string","description":"The type of authentication used for accessing the registry. Supported values are 'secret', 'sts', 'basic', and 'noAuth'.\n"},"externalId":{"type":"string","description":"The external ID used for AWS STS (Security Token Service) authentication. Required if 'credential_type' is 'sts'.\n"},"password":{"type":"string","description":"The password for basic authentication. Required if 'credential_type' is 'basic'.\n","secret":true},"secretKey":{"type":"string","description":"The secret key for accessing the registry. Required if 'credential_type' is set to 'secret'.\n","secret":true},"tlsConfig":{"$ref":"#/types/spectrocloud:index%2FRegistryOciCredentialsTlsConfig:RegistryOciCredentialsTlsConfig","description":"TLS configuration for the registry.\n"},"username":{"type":"string","description":"The username for basic authentication. Required if 'credential_type' is 'basic'.\n"}},"type":"object","required":["credentialType"]},"spectrocloud:index/RegistryOciCredentialsTlsConfig:RegistryOciCredentialsTlsConfig":{"properties":{"certificate":{"type":"string","description":"Specifies the TLS certificate used for secure communication. Required for enabling SSL/TLS encryption.\n"},"insecureSkipVerify":{"type":"boolean","description":"Disables TLS certificate verification when set to true. ⚠️ WARNING: Setting this to true disables SSL certificate verification and makes connections vulnerable to man-in-the-middle attacks. Only use this when connecting to registries with self-signed certificates in trusted networks.\n"}},"type":"object"},"spectrocloud:index/RegistryOciTimeouts:RegistryOciTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/ResourceLimitTimeouts:ResourceLimitTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/RoleTimeouts:RoleTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/SshKeyTimeouts:SshKeyTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/SsoOidc:SsoOidc":{"properties":{"callbackUrl":{"type":"string","description":"URL to which the identity provider redirects after authentication.\n"},"clientId":{"type":"string","description":"Client ID for OIDC authentication.\n"},"clientSecret":{"type":"string","description":"Client secret for OIDC authentication (sensitive).\n","secret":true},"defaultTeamIds":{"type":"array","items":{"type":"string"},"description":"A set of default team IDs assigned to users.\n"},"email":{"type":"string","description":"The name of the claim that returns the user's email address from the identity provider.\n"},"firstName":{"type":"string","description":"The name of the claim that returns the user's first name from the identity provider.\n"},"identityProviderCaCertificate":{"type":"string","description":"Certificate authority (CA) certificate for the identity provider.\n"},"insecureSkipTlsVerify":{"type":"boolean","description":"Boolean to skip TLS verification for identity provider communication. ⚠️ WARNING: Setting this to true disables SSL certificate verification and makes connections vulnerable to man-in-the-middle attacks. Only use this when connecting to identity providers with self-signed certificates in trusted networks.\n"},"issuerUrl":{"type":"string","description":"URL of the OIDC issuer.\n"},"lastName":{"type":"string","description":"The name of the claim that returns the user's last name from the identity provider.\n"},"logoutUrl":{"type":"string","description":"URL used for logging out of the OIDC session.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"Scopes requested during OIDC authentication.\n"},"spectroTeam":{"type":"string","description":"The name of the claim that returns the user's group memberships from the Identity Provider. The values of this claim will map to SpectroCloud teams.\n"},"userInfoEndpoint":{"$ref":"#/types/spectrocloud:index%2FSsoOidcUserInfoEndpoint:SsoOidcUserInfoEndpoint","description":"To allow Palette to query the OIDC userinfo endpoint using the provided Issuer URL. Palette will first attempt to retrieve role and group information from userInfo endpoint. If unavailable, Palette will fall back to using Required Claims as specified above. Use the following fields to specify what Required Claims Palette will include when querying the userinfo endpoint.\n"}},"type":"object","required":["clientId","clientSecret","email","firstName","issuerUrl","lastName","scopes","spectroTeam"],"language":{"nodejs":{"requiredOutputs":["callbackUrl","clientId","clientSecret","email","firstName","issuerUrl","lastName","logoutUrl","scopes","spectroTeam"]}}},"spectrocloud:index/SsoOidcUserInfoEndpoint:SsoOidcUserInfoEndpoint":{"properties":{"email":{"type":"string","description":"The name of the claim that returns the user's email address from the identity provider.\n"},"firstName":{"type":"string","description":"The name of the claim that returns the user's first name from the identity provider.\n"},"lastName":{"type":"string","description":"The name of the claim that returns the user's last name from the identity provider.\n"},"spectroTeam":{"type":"string","description":"The name of the claim that returns the user's group memberships from the Identity Provider. The values of this claim will map to SpectroCloud teams.\n"}},"type":"object","required":["email","firstName","lastName","spectroTeam"]},"spectrocloud:index/SsoSaml:SsoSaml":{"properties":{"certificate":{"type":"string","description":"Certificate for SAML authentication.\n"},"defaultTeamIds":{"type":"array","items":{"type":"string"},"description":"A set of default team IDs assigned to users.\n"},"email":{"type":"string","description":"User's email address retrieved from identity provider.\n"},"enableSingleLogout":{"type":"boolean","description":"Boolean to enable SAML single logout feature.\n"},"entityId":{"type":"string","description":"Entity ID used to identify the service provider.\n"},"firstName":{"type":"string","description":"User's first name retrieved from identity provider.\n"},"identityProviderMetadata":{"type":"string","description":"Metadata XML of the SAML identity provider.\n"},"issuer":{"type":"string","description":"SAML identity provider issuer URL.\n"},"lastName":{"type":"string","description":"User's last name retrieved from identity provider.\n"},"loginUrl":{"type":"string","description":"Login URL for the SAML identity provider.\n"},"nameIdFormat":{"type":"string","description":"Format of the NameID attribute in SAML responses.\n"},"serviceProvider":{"type":"string","description":"The identity provider service used for SAML authentication.\n"},"serviceProviderMetadata":{"type":"string","description":"Metadata XML of the SAML service provider.\n"},"singleLogoutUrl":{"type":"string","description":"URL used for initiating SAML single logout.\n"},"spectroTeam":{"type":"string","description":"The SpectroCloud team the user belongs to.\n"}},"type":"object","required":["identityProviderMetadata","nameIdFormat","serviceProvider"],"language":{"nodejs":{"requiredOutputs":["certificate","entityId","identityProviderMetadata","issuer","loginUrl","nameIdFormat","serviceProvider","serviceProviderMetadata","singleLogoutUrl"]}}},"spectrocloud:index/SsoTimeouts:SsoTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/TeamProjectRoleMapping:TeamProjectRoleMapping":{"properties":{"id":{"type":"string","description":"Project id to be associated with the team.\n"},"roles":{"type":"array","items":{"type":"string"},"description":"List of project roles to be associated with the team.\n"}},"type":"object","required":["id","roles"]},"spectrocloud:index/TeamTimeouts:TeamTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/TeamWorkspaceRoleMapping:TeamWorkspaceRoleMapping":{"properties":{"id":{"type":"string","description":"Project id to be associated with the team.\n"},"workspaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FTeamWorkspaceRoleMappingWorkspace:TeamWorkspaceRoleMappingWorkspace"},"description":"List of workspace roles to be associated with the team.\n"}},"type":"object","required":["id"]},"spectrocloud:index/TeamWorkspaceRoleMappingWorkspace:TeamWorkspaceRoleMappingWorkspace":{"properties":{"id":{"type":"string","description":"Workspace id to be associated with the team.\n"},"roles":{"type":"array","items":{"type":"string"},"description":"List of workspace roles to be associated with the team.\n"}},"type":"object","required":["id","roles"]},"spectrocloud:index/UserProjectRole:UserProjectRole":{"properties":{"projectId":{"type":"string","description":"Project id to be associated with the user.\n"},"roleIds":{"type":"array","items":{"type":"string"},"description":"List of project role ids to be associated with the user.\n"}},"type":"object","required":["projectId","roleIds"]},"spectrocloud:index/UserResourceRole:UserResourceRole":{"properties":{"filterIds":{"type":"array","items":{"type":"string"},"description":"List of filter ids.\n"},"projectIds":{"type":"array","items":{"type":"string"},"description":"Project id's to be associated with the user.\n"},"roleIds":{"type":"array","items":{"type":"string"},"description":"List of resource role ids to be associated with the user.\n"}},"type":"object","required":["filterIds","projectIds","roleIds"]},"spectrocloud:index/UserTimeouts:UserTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/UserWorkspaceRole:UserWorkspaceRole":{"properties":{"projectId":{"type":"string","description":"Project id to be associated with the user.\n"},"workspaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FUserWorkspaceRoleWorkspace:UserWorkspaceRoleWorkspace"},"description":"List of workspace roles to be associated with the user.\n"}},"type":"object","required":["projectId","workspaces"]},"spectrocloud:index/UserWorkspaceRoleWorkspace:UserWorkspaceRoleWorkspace":{"properties":{"id":{"type":"string","description":"Workspace id to be associated with the user.\n"},"roleIds":{"type":"array","items":{"type":"string"},"description":"List of workspace role ids to be associated with the user.\n"}},"type":"object","required":["id","roleIds"]},"spectrocloud:index/VirtualClusterBackupPolicy:VirtualClusterBackupPolicy":{"properties":{"backupLocationId":{"type":"string","description":"The ID of the backup location to use for the backup.\n"},"clusterUids":{"type":"array","items":{"type":"string"},"description":"The list of cluster UIDs to include in the backup. If \u003cspan pulumi-lang-nodejs=\"`includeAllClusters`\" pulumi-lang-dotnet=\"`IncludeAllClusters`\" pulumi-lang-go=\"`includeAllClusters`\" pulumi-lang-python=\"`include_all_clusters`\" pulumi-lang-yaml=\"`includeAllClusters`\" pulumi-lang-java=\"`includeAllClusters`\"\u003e`include_all_clusters`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then all clusters will be included.\n"},"expiryInHour":{"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.\n"},"includeAllClusters":{"type":"boolean","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in \u003cspan pulumi-lang-nodejs=\"`clusterUids`\" pulumi-lang-dotnet=\"`ClusterUids`\" pulumi-lang-go=\"`clusterUids`\" pulumi-lang-python=\"`cluster_uids`\" pulumi-lang-yaml=\"`clusterUids`\" pulumi-lang-java=\"`clusterUids`\"\u003e`cluster_uids`\u003c/span\u003e will be included.\n"},"includeClusterResources":{"type":"boolean","description":"Indicates whether to include 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 deprecated, and a new attribute, include*cluster*resources_mode, will be introduced.)\n"},"includeClusterResourcesMode":{"type":"string","description":"Specifies whether to include the cluster resources in the backup. Supported values are \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\"\u003e`never`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\"\u003e`auto`\u003c/span\u003e.\n"},"includeDisks":{"type":"boolean","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.\n"},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \\n\\n-\\n\\n-\\n\\n.\n"},"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 * * *`.\n"}},"type":"object","required":["backupLocationId","expiryInHour","prefix","schedule"]},"spectrocloud:index/VirtualClusterCloudConfig:VirtualClusterCloudConfig":{"properties":{"chartName":{"type":"string"},"chartRepo":{"type":"string"},"chartValues":{"type":"string"},"chartVersion":{"type":"string"},"k8sVersion":{"type":"string"}},"type":"object"},"spectrocloud:index/VirtualClusterClusterProfile:VirtualClusterClusterProfile":{"properties":{"id":{"type":"string","description":"The ID of the cluster profile.\n"},"packs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterClusterProfilePack:VirtualClusterClusterProfilePack"},"description":"For packs of type \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, at least one pack must be specified.\n"},"variables":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of cluster profile variables, specified as key-value pairs. For example: `priority = \"5\"`.\n"}},"type":"object","required":["id"]},"spectrocloud:index/VirtualClusterClusterProfilePack:VirtualClusterClusterProfilePack":{"properties":{"manifests":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterClusterProfilePackManifest:VirtualClusterClusterProfilePackManifest"}},"name":{"type":"string","description":"The name of the pack. The name must be unique within the cluster profile.\n"},"registryName":{"type":"string","description":"The registry name of the pack. The registry name is the human-readable name of the registry. This attribute can be used instead of \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e for better readability. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field can be used along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"registryUid":{"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. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e to resolve the pack UID internally. Either \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e can be specified, but not both.\n"},"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 \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e. If \u003cspan pulumi-lang-nodejs=\"`uid`\" pulumi-lang-dotnet=\"`Uid`\" pulumi-lang-go=\"`uid`\" pulumi-lang-python=\"`uid`\" pulumi-lang-yaml=\"`uid`\" pulumi-lang-java=\"`uid`\"\u003e`uid`\u003c/span\u003e is not provided, this field is required along with \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e (or \u003cspan pulumi-lang-nodejs=\"`registryName`\" pulumi-lang-dotnet=\"`RegistryName`\" pulumi-lang-go=\"`registryName`\" pulumi-lang-python=\"`registry_name`\" pulumi-lang-yaml=\"`registryName`\" pulumi-lang-java=\"`registryName`\"\u003e`registry_name`\u003c/span\u003e) to resolve the pack UID internally.\n"},"type":{"type":"string","description":"The type of the pack. Allowed values are \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e. The default value is spectro. If using an OCI registry for pack, set the type to \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e.\n"},"uid":{"type":"string","description":"The unique identifier of the pack. The value can be looked up using the \u003cspan pulumi-lang-nodejs=\"`spectrocloud.getPack`\" pulumi-lang-dotnet=\"`spectrocloud.getPack`\" pulumi-lang-go=\"`getPack`\" pulumi-lang-python=\"`get_pack`\" pulumi-lang-yaml=\"`spectrocloud.getPack`\" pulumi-lang-java=\"`spectrocloud.getPack`\"\u003e`spectrocloud.getPack`\u003c/span\u003e data source. This value is required if the pack type is \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e and for \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e if the chart is from a public helm registry. If not provided, all of \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e must be specified to resolve the pack UID internally.\n"},"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.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredOutputs":["name","uid"]}}},"spectrocloud:index/VirtualClusterClusterProfilePackManifest:VirtualClusterClusterProfilePackManifest":{"properties":{"content":{"type":"string","description":"The content of the manifest. The content is the YAML content of the manifest.\n"},"name":{"type":"string","description":"The name of the manifest. The name must be unique within the pack.\n"},"uid":{"type":"string"}},"type":"object","required":["content","name"],"language":{"nodejs":{"requiredOutputs":["content","name","uid"]}}},"spectrocloud:index/VirtualClusterClusterRbacBinding:VirtualClusterClusterRbacBinding":{"properties":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.\n"},"role":{"type":"object","additionalProperties":{"type":"string"},"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'. Must include 'name' and 'kind' fields.\n"},"subjects":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterClusterRbacBindingSubject:VirtualClusterClusterRbacBindingSubject"}},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.\n"}},"type":"object","required":["type"]},"spectrocloud:index/VirtualClusterClusterRbacBindingSubject:VirtualClusterClusterRbacBindingSubject":{"properties":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.\n"},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.\n"},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.\n"}},"type":"object","required":["name","type"]},"spectrocloud:index/VirtualClusterLocationConfig:VirtualClusterLocationConfig":{"properties":{"countryCode":{"type":"string"},"countryName":{"type":"string"},"latitude":{"type":"number"},"longitude":{"type":"number"},"regionCode":{"type":"string"},"regionName":{"type":"string"}},"type":"object","required":["countryCode","countryName","latitude","longitude","regionCode","regionName"]},"spectrocloud:index/VirtualClusterNamespace:VirtualClusterNamespace":{"properties":{"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.\n"},"resourceAllocation":{"type":"object","additionalProperties":{"type":"string"},"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. For example, `{cpu_cores: '2', memory_MiB: '2048', gpu_limit: '1', gpu_provider: 'nvidia'}`\n"}},"type":"object","required":["name","resourceAllocation"]},"spectrocloud:index/VirtualClusterResources:VirtualClusterResources":{"properties":{"maxCpu":{"type":"number"},"maxMemInMb":{"type":"number"},"maxStorageInGb":{"type":"number"},"minCpu":{"type":"number"},"minMemInMb":{"type":"number"},"minStorageInGb":{"type":"number"}},"type":"object"},"spectrocloud:index/VirtualClusterScanPolicy:VirtualClusterScanPolicy":{"properties":{"configurationScanSchedule":{"type":"string","description":"The schedule for configuration scan.\n"},"conformanceScanSchedule":{"type":"string","description":"The schedule for conformance scan.\n"},"penetrationScanSchedule":{"type":"string","description":"The schedule for penetration scan.\n"}},"type":"object","required":["configurationScanSchedule","conformanceScanSchedule","penetrationScanSchedule"]},"spectrocloud:index/VirtualClusterTimeouts:VirtualClusterTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"},"update":{"type":"string"}},"type":"object"},"spectrocloud:index/VirtualMachineAffinity:VirtualMachineAffinity":{"properties":{"nodeAffinity":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinityNodeAffinity:VirtualMachineAffinityNodeAffinity","description":"Node affinity scheduling rules for the pod.\n"},"podAffinity":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinityPodAffinity:VirtualMachineAffinityPodAffinity","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.)\n"},"podAntiAffinity":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinityPodAntiAffinity:VirtualMachineAffinityPodAntiAffinity","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.)\n"}},"type":"object"},"spectrocloud:index/VirtualMachineAffinityNodeAffinity:VirtualMachineAffinityNodeAffinity":{"properties":{"preferredDuringSchedulingIgnoredDuringExecutions":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution:VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution"},"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.\n"},"requiredDuringSchedulingIgnoredDuringExecution":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution:VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution","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.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution:VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution":{"properties":{"preference":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference:VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference","description":"A node selector term, associated with the corresponding weight.\n"},"weight":{"type":"number","description":"weight is in the range 1-100\n"}},"type":"object","required":["preference","weight"]},"spectrocloud:index/VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference:VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpression:VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpression"},"description":"List of node selector requirements. The requirements are ANDed.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpression:VirtualMachineAffinityNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"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.\n"},"values":{"type":"array","items":{"type":"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.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution:VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution":{"properties":{"nodeSelectorTerms":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerm:VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerm"},"description":"List of node selector terms. The terms are ORed.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerm:VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerm":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermMatchExpression:VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermMatchExpression"},"description":"List of node selector requirements. The requirements are ANDed.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermMatchExpression:VirtualMachineAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"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.\n"},"values":{"type":"array","items":{"type":"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.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineAffinityPodAffinity:VirtualMachineAffinityPodAffinity":{"properties":{"preferredDuringSchedulingIgnoredDuringExecutions":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution:VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution"},"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.\n"},"requiredDuringSchedulingIgnoredDuringExecutions":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution:VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution"},"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.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution:VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecution":{"properties":{"podAffinityTerm":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm:VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm","description":"A pod affinity term, associated with the corresponding weight\n"},"weight":{"type":"number","description":"weight associated with matching the corresponding podAffinityTerm, in the range 1-100\n"}},"type":"object","required":["podAffinityTerm","weight"]},"spectrocloud:index/VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm:VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm":{"properties":{"labelSelectors":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector:VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector"},"description":"A label query over a set of resources, in this case pods.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'\n"},"topologyKey":{"type":"string","description":"empty topology key is interpreted by the scheduler as 'all topologies'\n"}},"type":"object"},"spectrocloud:index/VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector:VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpression:VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpression:VirtualMachineAffinityPodAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"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.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution:VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecution":{"properties":{"labelSelectors":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector:VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector"},"description":"A label query over a set of resources, in this case pods.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'\n"},"topologyKey":{"type":"string","description":"empty topology key is interpreted by the scheduler as 'all topologies'\n"}},"type":"object"},"spectrocloud:index/VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector:VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpression:VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpression:VirtualMachineAffinityPodAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"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.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineAffinityPodAntiAffinity:VirtualMachineAffinityPodAntiAffinity":{"properties":{"preferredDuringSchedulingIgnoredDuringExecutions":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution:VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution"},"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.\n"},"requiredDuringSchedulingIgnoredDuringExecutions":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution:VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution"},"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.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution:VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecution":{"properties":{"podAffinityTerm":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm:VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm","description":"A pod affinity term, associated with the corresponding weight\n"},"weight":{"type":"number","description":"weight associated with matching the corresponding podAffinityTerm, in the range 1-100\n"}},"type":"object","required":["podAffinityTerm","weight"]},"spectrocloud:index/VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm:VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm":{"properties":{"labelSelectors":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector:VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector"},"description":"A label query over a set of resources, in this case pods.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'\n"},"topologyKey":{"type":"string","description":"empty topology key is interpreted by the scheduler as 'all topologies'\n"}},"type":"object"},"spectrocloud:index/VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector:VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpression:VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpression:VirtualMachineAffinityPodAntiAffinityPreferredDuringSchedulingIgnoredDuringExecutionPodAffinityTermLabelSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"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.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution:VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecution":{"properties":{"labelSelectors":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector:VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector"},"description":"A label query over a set of resources, in this case pods.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means 'this pod's namespace'\n"},"topologyKey":{"type":"string","description":"empty topology key is interpreted by the scheduler as 'all topologies'\n"}},"type":"object"},"spectrocloud:index/VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector:VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpression:VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpression:VirtualMachineAffinityPodAntiAffinityRequiredDuringSchedulingIgnoredDuringExecutionLabelSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"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.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineCpu:VirtualMachineCpu":{"properties":{"cores":{"type":"number","description":"Cores is the number of cores inside the vmi. Must be a value greater or equal 1\n"},"sockets":{"type":"number","description":"Sockets is the number of sockets inside the vmi. Must be a value greater or equal 1.\n"},"threads":{"type":"number","description":"Threads is the number of threads inside the vmi. Must be a value greater or equal 1.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineDataVolumeTemplate:VirtualMachineDataVolumeTemplate":{"properties":{"metadata":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineDataVolumeTemplateMetadata:VirtualMachineDataVolumeTemplateMetadata","description":"Standard DataVolume's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata\n"},"spec":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineDataVolumeTemplateSpec:VirtualMachineDataVolumeTemplateSpec","description":"DataVolumeSpec defines our specification for a DataVolume type\n"}},"type":"object","required":["metadata","spec"]},"spectrocloud:index/VirtualMachineDataVolumeTemplateMetadata:VirtualMachineDataVolumeTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"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\n"},"generation":{"type":"number","description":"A sequence number representing a specific generation of the desired state.\n"},"labels":{"type":"object","additionalProperties":{"type":"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\n"},"name":{"type":"string","description":"Name of the DataVolume, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names\n"},"namespace":{"type":"string","description":"Namespace defines the space within which name of the DataVolume must be unique.\n"},"resourceVersion":{"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\n"},"uid":{"type":"string","description":"The unique in time and space value for this DataVolume. More info: http://kubernetes.io/docs/user-guide/identifiers#uids\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["annotations","generation","name","resourceVersion","uid"]}}},"spectrocloud:index/VirtualMachineDataVolumeTemplateSpec:VirtualMachineDataVolumeTemplateSpec":{"properties":{"contentType":{"type":"string","description":"ContentType options: \"kubevirt\", \"archive\".\n"},"pvc":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineDataVolumeTemplateSpecPvc:VirtualMachineDataVolumeTemplateSpecPvc","description":"PVC is a pointer to the PVC Spec we want to use.\n"},"source":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineDataVolumeTemplateSpecSource:VirtualMachineDataVolumeTemplateSpecSource","description":"Source is the src of the data for the requested DataVolume.\n"},"storage":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineDataVolumeTemplateSpecStorage:VirtualMachineDataVolumeTemplateSpecStorage","description":"Storage is the requested storage specification for the DataVolume.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineDataVolumeTemplateSpecPvc:VirtualMachineDataVolumeTemplateSpecPvc":{"properties":{"accessModes":{"type":"array","items":{"type":"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\n"},"resources":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineDataVolumeTemplateSpecPvcResources:VirtualMachineDataVolumeTemplateSpecPvcResources","description":"A list of the minimum resources the volume should have. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#resources\n"},"selector":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineDataVolumeTemplateSpecPvcSelector:VirtualMachineDataVolumeTemplateSpecPvcSelector","description":"A label query over volumes to consider for binding.\n"},"storageClassName":{"type":"string","description":"Name of the storage class requested by the claim\n"},"volumeMode":{"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.\n"},"volumeName":{"type":"string","description":"The binding reference to the PersistentVolume backing this claim.\n"}},"type":"object","required":["accessModes","resources"],"language":{"nodejs":{"requiredOutputs":["accessModes","resources","storageClassName","volumeMode","volumeName"]}}},"spectrocloud:index/VirtualMachineDataVolumeTemplateSpecPvcResources:VirtualMachineDataVolumeTemplateSpecPvcResources":{"properties":{"limits":{"type":"object","additionalProperties":{"type":"string"},"description":"Map describing the maximum amount of compute resources allowed. More info: http://kubernetes.io/docs/user-guide/compute-resources/\n"},"requests":{"type":"object","additionalProperties":{"type":"string"},"description":"Map describing the minimum amount of compute resources required. If this is omitted for a container, it defaults to \u003cspan pulumi-lang-nodejs=\"`limits`\" pulumi-lang-dotnet=\"`Limits`\" pulumi-lang-go=\"`limits`\" pulumi-lang-python=\"`limits`\" pulumi-lang-yaml=\"`limits`\" pulumi-lang-java=\"`limits`\"\u003e`limits`\u003c/span\u003e if that is explicitly specified, otherwise to an implementation-defined value. More info: http://kubernetes.io/docs/user-guide/compute-resources/\n"}},"type":"object"},"spectrocloud:index/VirtualMachineDataVolumeTemplateSpecPvcSelector:VirtualMachineDataVolumeTemplateSpecPvcSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineDataVolumeTemplateSpecPvcSelectorMatchExpression:VirtualMachineDataVolumeTemplateSpecPvcSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineDataVolumeTemplateSpecPvcSelectorMatchExpression:VirtualMachineDataVolumeTemplateSpecPvcSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"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.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineDataVolumeTemplateSpecSource:VirtualMachineDataVolumeTemplateSpecSource":{"properties":{"blank":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineDataVolumeTemplateSpecSourceBlank:VirtualMachineDataVolumeTemplateSpecSourceBlank","description":"DataVolumeSourceBlank provides the parameters to create a Data Volume from an empty source.\n"},"http":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineDataVolumeTemplateSpecSourceHttp:VirtualMachineDataVolumeTemplateSpecSourceHttp","description":"DataVolumeSourceHTTP provides the parameters to create a Data Volume from an HTTP source.\n"},"pvc":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineDataVolumeTemplateSpecSourcePvc:VirtualMachineDataVolumeTemplateSpecSourcePvc","description":"DataVolumeSourcePVC provides the parameters to create a Data Volume from an existing PVC.\n"},"registry":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineDataVolumeTemplateSpecSourceRegistry:VirtualMachineDataVolumeTemplateSpecSourceRegistry","description":"DataVolumeSourceRegistry provides the parameters to create a Data Volume from an existing PVC.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineDataVolumeTemplateSpecSourceBlank:VirtualMachineDataVolumeTemplateSpecSourceBlank":{"type":"object"},"spectrocloud:index/VirtualMachineDataVolumeTemplateSpecSourceHttp:VirtualMachineDataVolumeTemplateSpecSourceHttp":{"properties":{"certConfigMap":{"type":"string","description":"Cert*config*map provides a reference to the Registry certs.\n"},"secretRef":{"type":"string","description":"Secret_ref provides the secret reference needed to access the HTTP source.\n"},"url":{"type":"string","description":"url is the URL of the http source.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineDataVolumeTemplateSpecSourcePvc:VirtualMachineDataVolumeTemplateSpecSourcePvc":{"properties":{"name":{"type":"string","description":"The name of the PVC.\n"},"namespace":{"type":"string","description":"The namespace which the PVC located in.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineDataVolumeTemplateSpecSourceRegistry:VirtualMachineDataVolumeTemplateSpecSourceRegistry":{"properties":{"imageUrl":{"type":"string","description":"The registry URL of the image to download.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineDataVolumeTemplateSpecStorage:VirtualMachineDataVolumeTemplateSpecStorage":{"properties":{"accessModes":{"type":"array","items":{"type":"string"},"description":"A set of the desired access modes the volume should have. More info: http://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1\n"},"resources":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineDataVolumeTemplateSpecStorageResources:VirtualMachineDataVolumeTemplateSpecStorageResources","description":"A list of the minimum resources the volume should have. More info: http://kubernetes.io/docs/concepts/storage/persistent-volumes#resources\n"},"selector":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineDataVolumeTemplateSpecStorageSelector:VirtualMachineDataVolumeTemplateSpecStorageSelector","description":"A label query over volumes to consider for binding.\n"},"storageClassName":{"type":"string","description":"Name of the storage class requested by the claim\n"},"volumeMode":{"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.\n"},"volumeName":{"type":"string","description":"The binding reference to the PersistentVolume backing this claim.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineDataVolumeTemplateSpecStorageResources:VirtualMachineDataVolumeTemplateSpecStorageResources":{"properties":{"limits":{"type":"object","additionalProperties":{"type":"string"},"description":"Map describing the maximum amount of compute resources allowed. More info: http://kubernetes.io/docs/user-guide/compute-resources/\n"},"requests":{"type":"object","additionalProperties":{"type":"string"},"description":"Map describing the minimum amount of compute resources required. If this is omitted for a container, it defaults to \u003cspan pulumi-lang-nodejs=\"`limits`\" pulumi-lang-dotnet=\"`Limits`\" pulumi-lang-go=\"`limits`\" pulumi-lang-python=\"`limits`\" pulumi-lang-yaml=\"`limits`\" pulumi-lang-java=\"`limits`\"\u003e`limits`\u003c/span\u003e if that is explicitly specified, otherwise to an implementation-defined value. More info: http://kubernetes.io/docs/user-guide/compute-resources/\n"}},"type":"object"},"spectrocloud:index/VirtualMachineDataVolumeTemplateSpecStorageSelector:VirtualMachineDataVolumeTemplateSpecStorageSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineDataVolumeTemplateSpecStorageSelectorMatchExpression:VirtualMachineDataVolumeTemplateSpecStorageSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\".\n"}},"type":"object"},"spectrocloud:index/VirtualMachineDataVolumeTemplateSpecStorageSelectorMatchExpression:VirtualMachineDataVolumeTemplateSpecStorageSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators are `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"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.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineDisk:VirtualMachineDisk":{"properties":{"bootOrder":{"type":"number","description":"BootOrder is an integer value \u003e 0, used to determine ordering of boot devices. Lower values take precedence.\n"},"diskDevices":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineDiskDiskDevice:VirtualMachineDiskDiskDevice"},"description":"DiskDevice specifies as which device the disk should be added to the guest.\n"},"name":{"type":"string","description":"Name is the device name\n"},"serial":{"type":"string","description":"Serial provides the ability to specify a serial number for the disk device.\n"}},"type":"object","required":["diskDevices","name"]},"spectrocloud:index/VirtualMachineDiskDiskDevice:VirtualMachineDiskDiskDevice":{"properties":{"disks":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineDiskDiskDeviceDisk:VirtualMachineDiskDiskDeviceDisk"},"description":"Attach a volume as a disk to the vmi.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineDiskDiskDeviceDisk:VirtualMachineDiskDiskDeviceDisk":{"properties":{"bus":{"type":"string","description":"Bus indicates the type of disk device to emulate.\n"},"pciAddress":{"type":"string","description":"If specified, the virtual disk will be placed on the guests pci address with the specified PCI address. For example: 0000:81:01.10\n"},"readOnly":{"type":"boolean","description":"ReadOnly. Defaults to false.\n"}},"type":"object","required":["bus"]},"spectrocloud:index/VirtualMachineFeatures:VirtualMachineFeatures":{"properties":{"acpi":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineFeaturesAcpi:VirtualMachineFeaturesAcpi","description":"ACPI enables/disables ACPI inside the guest. Defaults to enabled.\n"},"apic":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineFeaturesApic:VirtualMachineFeaturesApic","description":"APIC enables/disables APIC inside the guest. Defaults to enabled.\n"},"smm":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineFeaturesSmm:VirtualMachineFeaturesSmm","description":"SMM enables/disables System Management Mode. Required for Secure Boot with EFI.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineFeaturesAcpi:VirtualMachineFeaturesAcpi":{"properties":{"enabled":{"type":"boolean","description":"Enabled determines if the feature should be enabled or disabled on the guest. Defaults to true.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineFeaturesApic:VirtualMachineFeaturesApic":{"properties":{"enabled":{"type":"boolean","description":"Enabled determines if the feature should be enabled or disabled on the guest. Defaults to true.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineFeaturesSmm:VirtualMachineFeaturesSmm":{"properties":{"enabled":{"type":"boolean","description":"Enabled determines if the feature should be enabled or disabled on the guest.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineFirmware:VirtualMachineFirmware":{"properties":{"bootloader":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineFirmwareBootloader:VirtualMachineFirmwareBootloader","description":"Settings to control the bootloader that is used.\n"},"serial":{"type":"string","description":"The system-serial-number in SMBIOS.\n"},"uuid":{"type":"string","description":"UUID reported by the vmi bios. Defaults to a random generated uid.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["serial","uuid"]}}},"spectrocloud:index/VirtualMachineFirmwareBootloader:VirtualMachineFirmwareBootloader":{"properties":{"bios":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineFirmwareBootloaderBios:VirtualMachineFirmwareBootloaderBios","description":"If set (default), BIOS will be used.\n"},"efi":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineFirmwareBootloaderEfi:VirtualMachineFirmwareBootloaderEfi","description":"If set, EFI will be used instead of BIOS.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineFirmwareBootloaderBios:VirtualMachineFirmwareBootloaderBios":{"properties":{"useSerial":{"type":"boolean","description":"If set, the BIOS output will be transmitted over serial.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineFirmwareBootloaderEfi:VirtualMachineFirmwareBootloaderEfi":{"properties":{"persistent":{"type":"boolean","description":"If set to true, Persistent will persist the EFI NVRAM across reboots. Defaults to false.\n"},"secureBoot":{"type":"boolean","description":"If set, SecureBoot will be enabled and the OVMF roms will be swapped for SecureBoot-enabled ones. Requires SMM to be enabled. Defaults to true.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineInterface:VirtualMachineInterface":{"properties":{"interfaceBindingMethod":{"type":"string","description":"Represents the Interface model, One of: e1000, e1000e, ne2k_pci, pcnet, rtl8139, virtio. Defaults to virtio.\n"},"model":{"type":"string","description":"Represents the method which will be used to connect the interface to the guest.\n"},"name":{"type":"string","description":"Logical name of the interface as well as a reference to the associated networks.\n"}},"type":"object","required":["interfaceBindingMethod","name"]},"spectrocloud:index/VirtualMachineLivenessProbe:VirtualMachineLivenessProbe":{"type":"object"},"spectrocloud:index/VirtualMachineMemory:VirtualMachineMemory":{"properties":{"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.\n"},"hugepages":{"type":"string","description":"Hugepages attribute specifies the hugepage size, for\u003cspan pulumi-lang-nodejs=\" x8664 \" pulumi-lang-dotnet=\" X8664 \" pulumi-lang-go=\" x8664 \" pulumi-lang-python=\" x86_64 \" pulumi-lang-yaml=\" x8664 \" pulumi-lang-java=\" x8664 \"\u003e x86_64 \u003c/span\u003earchitecture valid values are 1Gi and 2Mi.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineNetwork:VirtualMachineNetwork":{"properties":{"name":{"type":"string","description":"Network name.\n"},"networkSource":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineNetworkNetworkSource:VirtualMachineNetworkNetworkSource","description":"NetworkSource represents the network type and the source interface that should be connected to the virtual machine.\n"}},"type":"object","required":["name"]},"spectrocloud:index/VirtualMachineNetworkNetworkSource:VirtualMachineNetworkNetworkSource":{"properties":{"multus":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineNetworkNetworkSourceMultus:VirtualMachineNetworkNetworkSourceMultus","description":"Multus network.\n"},"pod":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineNetworkNetworkSourcePod:VirtualMachineNetworkNetworkSourcePod","description":"Pod network.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineNetworkNetworkSourceMultus:VirtualMachineNetworkNetworkSourceMultus":{"properties":{"default":{"type":"boolean","description":"Select the default network and add it to the multus-cni.io/default-network annotation.\n"},"networkName":{"type":"string","description":"References to a NetworkAttachmentDefinition CRD object. Format: \\n\\n, \\n\\n/\\n\\n. If namespace is not specified, VMI namespace is assumed.\n"}},"type":"object","required":["networkName"]},"spectrocloud:index/VirtualMachineNetworkNetworkSourcePod:VirtualMachineNetworkNetworkSourcePod":{"properties":{"vmNetworkCidr":{"type":"string","description":"CIDR for vm network.\n"}},"type":"object"},"spectrocloud:index/VirtualMachinePodDnsConfig:VirtualMachinePodDnsConfig":{"properties":{"nameservers":{"type":"array","items":{"type":"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.\n"},"options":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachinePodDnsConfigOption:VirtualMachinePodDnsConfigOption"},"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.\n"},"searches":{"type":"array","items":{"type":"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.\n"}},"type":"object"},"spectrocloud:index/VirtualMachinePodDnsConfigOption:VirtualMachinePodDnsConfigOption":{"properties":{"name":{"type":"string","description":"Name of the option.\n"},"value":{"type":"string","description":"Value of the option. Optional: Defaults to empty.\n"}},"type":"object","required":["name"]},"spectrocloud:index/VirtualMachineReadinessProbe:VirtualMachineReadinessProbe":{"type":"object"},"spectrocloud:index/VirtualMachineResources:VirtualMachineResources":{"properties":{"limits":{"type":"object","additionalProperties":{"type":"string"},"description":"Requests is the maximum amount of compute resources allowed. Valid resource keys are \"memory\" and \"cpu\"\n"},"overCommitGuestOverhead":{"type":"boolean","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.\n"},"requests":{"type":"object","additionalProperties":{"type":"string"},"description":"Requests is a description of the initial vmi resources.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineStatus:VirtualMachineStatus":{"properties":{"conditions":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineStatusCondition:VirtualMachineStatusCondition"},"description":"Hold the state information of the VirtualMachine and its VirtualMachineInstance.\n"},"created":{"type":"boolean","description":"Created indicates if the virtual machine is created in the cluster.\n"},"ready":{"type":"boolean","description":"Ready indicates if the virtual machine is running and ready.\n"},"stateChangeRequests":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineStatusStateChangeRequest:VirtualMachineStatusStateChangeRequest"},"description":"StateChangeRequests indicates a list of actions that should be taken on a VMI.\n"}},"type":"object","required":["conditions","stateChangeRequests"]},"spectrocloud:index/VirtualMachineStatusCondition:VirtualMachineStatusCondition":{"properties":{"message":{"type":"string","description":"Condition message.\n"},"reason":{"type":"string","description":"Condition reason.\n"},"status":{"type":"string","description":"ConditionStatus represents the status of this VM condition, if the VM currently in the condition.\n"},"type":{"type":"string","description":"VirtualMachineConditionType represent the type of the VM as concluded from its VMi status.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineStatusStateChangeRequest:VirtualMachineStatusStateChangeRequest":{"properties":{"action":{"type":"string","description":"Indicates the type of action that is requested. e.g. Start or Stop.\n"},"data":{"type":"object","additionalProperties":{"type":"string"},"description":"Provides additional data in order to perform the Action.\n"},"uid":{"type":"string","description":"Indicates the UUID of an existing Virtual Machine Instance that this change request applies to -- if applicable.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineTimeouts:VirtualMachineTimeouts":{"properties":{"create":{"type":"string"},"delete":{"type":"string"}},"type":"object"},"spectrocloud:index/VirtualMachineToleration:VirtualMachineToleration":{"properties":{"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.\n"},"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.\n"},"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.\n"},"tolerationSeconds":{"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.\n"},"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.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineVolume:VirtualMachineVolume":{"properties":{"name":{"type":"string","description":"Volume's name.\n"},"volumeSource":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineVolumeVolumeSource:VirtualMachineVolumeVolumeSource","description":"VolumeSource represents the location and type of the mounted volume. Defaults to Disk, if no type is specified.\n"}},"type":"object","required":["name","volumeSource"]},"spectrocloud:index/VirtualMachineVolumeVolumeSource:VirtualMachineVolumeVolumeSource":{"properties":{"cloudInitConfigDrive":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineVolumeVolumeSourceCloudInitConfigDrive:VirtualMachineVolumeVolumeSourceCloudInitConfigDrive","description":"CloudInitConfigDrive represents a cloud-init Config Drive user-data source.\n"},"cloudInitNoClouds":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineVolumeVolumeSourceCloudInitNoCloud:VirtualMachineVolumeVolumeSourceCloudInitNoCloud"},"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\n"},"configMap":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineVolumeVolumeSourceConfigMap:VirtualMachineVolumeVolumeSourceConfigMap","description":"ConfigMapVolumeSource adapts a ConfigMap into a volume.\n"},"containerDisks":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineVolumeVolumeSourceContainerDisk:VirtualMachineVolumeVolumeSourceContainerDisk"},"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.\n"},"dataVolume":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineVolumeVolumeSourceDataVolume:VirtualMachineVolumeVolumeSourceDataVolume","description":"DataVolume represents the dynamic creation a PVC for this volume as well as the process of populating that PVC with a disk image.\n"},"emptyDisk":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineVolumeVolumeSourceEmptyDisk:VirtualMachineVolumeVolumeSourceEmptyDisk","description":"EmptyDisk represents a temporary disk which shares the VM's lifecycle.\n"},"ephemeral":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineVolumeVolumeSourceEphemeral:VirtualMachineVolumeVolumeSourceEphemeral","description":"EphemeralVolumeSource represents a volume that is populated with the contents of a pod. Ephemeral volumes do not support ownership management or SELinux relabeling.\n"},"hostDisk":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineVolumeVolumeSourceHostDisk:VirtualMachineVolumeVolumeSourceHostDisk","description":"HostDisk represents a disk created on the host.\n"},"persistentVolumeClaim":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineVolumeVolumeSourcePersistentVolumeClaim:VirtualMachineVolumeVolumeSourcePersistentVolumeClaim","description":"PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace.\n"},"serviceAccount":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineVolumeVolumeSourceServiceAccount:VirtualMachineVolumeVolumeSourceServiceAccount","description":"ServiceAccountVolumeSource represents a reference to a service account.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineVolumeVolumeSourceCloudInitConfigDrive:VirtualMachineVolumeVolumeSourceCloudInitConfigDrive":{"properties":{"networkData":{"type":"string","description":"NetworkData contains config drive inline cloud-init networkdata.\n"},"networkDataBase64":{"type":"string","description":"NetworkDataBase64 contains config drive cloud-init networkdata as a base64 encoded string.\n"},"networkDataSecretRef":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineVolumeVolumeSourceCloudInitConfigDriveNetworkDataSecretRef:VirtualMachineVolumeVolumeSourceCloudInitConfigDriveNetworkDataSecretRef","description":"NetworkDataSecretRef references a k8s secret that contains config drive networkdata.\n"},"userData":{"type":"string","description":"UserData contains config drive inline cloud-init userdata.\n"},"userDataBase64":{"type":"string","description":"UserDataBase64 contains config drive cloud-init userdata as a base64 encoded string.\n"},"userDataSecretRef":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineVolumeVolumeSourceCloudInitConfigDriveUserDataSecretRef:VirtualMachineVolumeVolumeSourceCloudInitConfigDriveUserDataSecretRef","description":"UserDataSecretRef references a k8s secret that contains config drive userdata.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineVolumeVolumeSourceCloudInitConfigDriveNetworkDataSecretRef:VirtualMachineVolumeVolumeSourceCloudInitConfigDriveNetworkDataSecretRef":{"properties":{"name":{"type":"string","description":"Name of the referent.\n"}},"type":"object","required":["name"]},"spectrocloud:index/VirtualMachineVolumeVolumeSourceCloudInitConfigDriveUserDataSecretRef:VirtualMachineVolumeVolumeSourceCloudInitConfigDriveUserDataSecretRef":{"properties":{"name":{"type":"string","description":"Name of the referent.\n"}},"type":"object","required":["name"]},"spectrocloud:index/VirtualMachineVolumeVolumeSourceCloudInitNoCloud:VirtualMachineVolumeVolumeSourceCloudInitNoCloud":{"properties":{"networkData":{"type":"string","description":"NetworkData contains cloud-init inline network configuration data.\n"},"networkDataBase64":{"type":"string","description":"NetworkDataBase64 contains cloud-init networkdata as a base64 encoded string.\n"},"networkDataSecretRef":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineVolumeVolumeSourceCloudInitNoCloudNetworkDataSecretRef:VirtualMachineVolumeVolumeSourceCloudInitNoCloudNetworkDataSecretRef","description":"NetworkDataSecretRef references a k8s secret that contains cloud-init networkdata.\n"},"userData":{"type":"string","description":"UserData contains cloud-init inline userdata.\n"},"userDataBase64":{"type":"string","description":"UserDataBase64 contains cloud-init userdata as a base64 encoded string.\n"},"userDataSecretRef":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineVolumeVolumeSourceCloudInitNoCloudUserDataSecretRef:VirtualMachineVolumeVolumeSourceCloudInitNoCloudUserDataSecretRef","description":"UserDataSecretRef references a k8s secret that contains cloud-init userdata.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineVolumeVolumeSourceCloudInitNoCloudNetworkDataSecretRef:VirtualMachineVolumeVolumeSourceCloudInitNoCloudNetworkDataSecretRef":{"properties":{"name":{"type":"string","description":"Name of the referent.\n"}},"type":"object","required":["name"]},"spectrocloud:index/VirtualMachineVolumeVolumeSourceCloudInitNoCloudUserDataSecretRef:VirtualMachineVolumeVolumeSourceCloudInitNoCloudUserDataSecretRef":{"properties":{"name":{"type":"string","description":"Name of the referent.\n"}},"type":"object","required":["name"]},"spectrocloud:index/VirtualMachineVolumeVolumeSourceConfigMap:VirtualMachineVolumeVolumeSourceConfigMap":{"properties":{"defaultMode":{"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.\n"},"items":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineVolumeVolumeSourceConfigMapItem:VirtualMachineVolumeVolumeSourceConfigMapItem"},"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 '..'.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineVolumeVolumeSourceConfigMapItem:VirtualMachineVolumeVolumeSourceConfigMapItem":{"properties":{"key":{"type":"string"}},"type":"object"},"spectrocloud:index/VirtualMachineVolumeVolumeSourceContainerDisk:VirtualMachineVolumeVolumeSourceContainerDisk":{"properties":{"imageUrl":{"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.\n"}},"type":"object","required":["imageUrl"]},"spectrocloud:index/VirtualMachineVolumeVolumeSourceDataVolume:VirtualMachineVolumeVolumeSourceDataVolume":{"properties":{"name":{"type":"string","description":"Name represents the name of the DataVolume in the same namespace.\n"}},"type":"object","required":["name"]},"spectrocloud:index/VirtualMachineVolumeVolumeSourceEmptyDisk:VirtualMachineVolumeVolumeSourceEmptyDisk":{"properties":{"capacity":{"type":"string","description":"Capacity of the sparse disk.\n"}},"type":"object","required":["capacity"]},"spectrocloud:index/VirtualMachineVolumeVolumeSourceEphemeral:VirtualMachineVolumeVolumeSourceEphemeral":{"properties":{"persistentVolumeClaim":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineVolumeVolumeSourceEphemeralPersistentVolumeClaim:VirtualMachineVolumeVolumeSourceEphemeralPersistentVolumeClaim","description":"PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace.\n"}},"type":"object"},"spectrocloud:index/VirtualMachineVolumeVolumeSourceEphemeralPersistentVolumeClaim:VirtualMachineVolumeVolumeSourceEphemeralPersistentVolumeClaim":{"properties":{"claimName":{"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\n"},"readOnly":{"type":"boolean","description":"Will force the ReadOnly setting in VolumeMounts. Default false.\n"}},"type":"object","required":["claimName"]},"spectrocloud:index/VirtualMachineVolumeVolumeSourceHostDisk:VirtualMachineVolumeVolumeSourceHostDisk":{"properties":{"path":{"type":"string","description":"Path of the disk.\n"},"type":{"type":"string","description":"Type of the disk, supported values are disk, directory, socket, char, block.\n"}},"type":"object","required":["path","type"]},"spectrocloud:index/VirtualMachineVolumeVolumeSourcePersistentVolumeClaim:VirtualMachineVolumeVolumeSourcePersistentVolumeClaim":{"properties":{"claimName":{"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\n"},"readOnly":{"type":"boolean","description":"Will force the ReadOnly setting in VolumeMounts. Default false.\n"}},"type":"object","required":["claimName"]},"spectrocloud:index/VirtualMachineVolumeVolumeSourceServiceAccount:VirtualMachineVolumeVolumeSourceServiceAccount":{"properties":{"serviceAccountName":{"type":"string","description":"Name of the service account in the pod's namespace to use.\n"}},"type":"object","required":["serviceAccountName"]},"spectrocloud:index/WorkspaceBackupPolicy:WorkspaceBackupPolicy":{"properties":{"backupLocationId":{"type":"string","description":"The ID of the backup location to use for the backup.\n"},"clusterUids":{"type":"array","items":{"type":"string"},"description":"The list of cluster UIDs to include in the backup. If \u003cspan pulumi-lang-nodejs=\"`includeAllClusters`\" pulumi-lang-dotnet=\"`IncludeAllClusters`\" pulumi-lang-go=\"`includeAllClusters`\" pulumi-lang-python=\"`include_all_clusters`\" pulumi-lang-yaml=\"`includeAllClusters`\" pulumi-lang-java=\"`includeAllClusters`\"\u003e`include_all_clusters`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, then all clusters will be included.\n"},"expiryInHour":{"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.\n"},"includeAllClusters":{"type":"boolean","description":"Whether to include all clusters in the backup. If set to false, only the clusters specified in \u003cspan pulumi-lang-nodejs=\"`clusterUids`\" pulumi-lang-dotnet=\"`ClusterUids`\" pulumi-lang-go=\"`clusterUids`\" pulumi-lang-python=\"`cluster_uids`\" pulumi-lang-yaml=\"`clusterUids`\" pulumi-lang-java=\"`clusterUids`\"\u003e`cluster_uids`\u003c/span\u003e will be included.\n"},"includeClusterResources":{"type":"boolean","description":"Indicates whether to include 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 deprecated, and a new attribute, include*cluster*resources_mode, will be introduced.)\n"},"includeClusterResourcesMode":{"type":"string","description":"Specifies whether to include the cluster resources in the backup. Supported values are \u003cspan pulumi-lang-nodejs=\"`always`\" pulumi-lang-dotnet=\"`Always`\" pulumi-lang-go=\"`always`\" pulumi-lang-python=\"`always`\" pulumi-lang-yaml=\"`always`\" pulumi-lang-java=\"`always`\"\u003e`always`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`never`\" pulumi-lang-dotnet=\"`Never`\" pulumi-lang-go=\"`never`\" pulumi-lang-python=\"`never`\" pulumi-lang-yaml=\"`never`\" pulumi-lang-java=\"`never`\"\u003e`never`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`auto`\" pulumi-lang-dotnet=\"`Auto`\" pulumi-lang-go=\"`auto`\" pulumi-lang-python=\"`auto`\" pulumi-lang-yaml=\"`auto`\" pulumi-lang-java=\"`auto`\"\u003e`auto`\u003c/span\u003e.\n"},"includeDisks":{"type":"boolean","description":"Whether to include the disks in the backup. If set to false, only the cluster configuration will be backed up.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"The list of Kubernetes namespaces to include in the backup. If not specified, all namespaces will be included.\n"},"prefix":{"type":"string","description":"Prefix for the backup name. The backup name will be of the format \\n\\n-\\n\\n-\\n\\n.\n"},"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 * * *`.\n"}},"type":"object","required":["backupLocationId","expiryInHour","prefix","schedule"]},"spectrocloud:index/WorkspaceCluster:WorkspaceCluster":{"properties":{"clusterName":{"type":"string"},"uid":{"type":"string"}},"type":"object","required":["uid"],"language":{"nodejs":{"requiredOutputs":["clusterName","uid"]}}},"spectrocloud:index/WorkspaceClusterRbacBinding:WorkspaceClusterRbacBinding":{"properties":{"namespace":{"type":"string","description":"The Kubernetes namespace of the RBAC binding. Required if 'type' is set to 'RoleBinding'.\n"},"role":{"type":"object","additionalProperties":{"type":"string"},"description":"The role of the RBAC binding. Required if 'type' is set to 'RoleBinding'. Must include 'name' and 'kind' fields.\n"},"subjects":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FWorkspaceClusterRbacBindingSubject:WorkspaceClusterRbacBindingSubject"}},"type":{"type":"string","description":"The type of the RBAC binding. Can be one of the following values: `RoleBinding`, or `ClusterRoleBinding`.\n"}},"type":"object","required":["type"]},"spectrocloud:index/WorkspaceClusterRbacBindingSubject:WorkspaceClusterRbacBindingSubject":{"properties":{"name":{"type":"string","description":"The name of the subject. Required if 'type' is set to 'User' or 'Group'.\n"},"namespace":{"type":"string","description":"The Kubernetes namespace of the subject. Required if 'type' is set to 'ServiceAccount'.\n"},"type":{"type":"string","description":"The type of the subject. Can be one of the following values: `User`, `Group`, or `ServiceAccount`.\n"}},"type":"object","required":["name","type"]},"spectrocloud:index/WorkspaceNamespace:WorkspaceNamespace":{"properties":{"clusterResourceAllocations":{"$ref":"#/types/spectrocloud:index%2FWorkspaceNamespaceClusterResourceAllocations:WorkspaceNamespaceClusterResourceAllocations"},"imagesBlacklists":{"type":"array","items":{"type":"string"},"description":"List of images to disallow for the namespace. For example, `['nginx:latest', 'redis:latest']`\n"},"name":{"type":"string","description":"Name of the namespace. This is the name of the Kubernetes namespace in the cluster.\n"},"resourceAllocation":{"type":"object","additionalProperties":{"type":"string"},"description":"Resource allocation for the namespace. This is a map containing the resource type and the resource value. Only the following field names are supported for resource configuration: \u003cspan pulumi-lang-nodejs=\"`cpuCores`\" pulumi-lang-dotnet=\"`CpuCores`\" pulumi-lang-go=\"`cpuCores`\" pulumi-lang-python=\"`cpu_cores`\" pulumi-lang-yaml=\"`cpuCores`\" pulumi-lang-java=\"`cpuCores`\"\u003e`cpu_cores`\u003c/span\u003e, `memory_MiB`, \u003cspan pulumi-lang-nodejs=\"`gpu`\" pulumi-lang-dotnet=\"`Gpu`\" pulumi-lang-go=\"`gpu`\" pulumi-lang-python=\"`gpu`\" pulumi-lang-yaml=\"`gpu`\" pulumi-lang-java=\"`gpu`\"\u003e`gpu`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`gpuProvider`\" pulumi-lang-dotnet=\"`GpuProvider`\" pulumi-lang-go=\"`gpuProvider`\" pulumi-lang-python=\"`gpu_provider`\" pulumi-lang-yaml=\"`gpuProvider`\" pulumi-lang-java=\"`gpuProvider`\"\u003e`gpu_provider`\u003c/span\u003e. Any other field names will not be honored by the system. For example, `{cpu_cores: '2', memory_MiB: '2048', gpu: '1', gpu_provider: 'nvidia'}`\n"}},"type":"object","required":["name","resourceAllocation"]},"spectrocloud:index/WorkspaceNamespaceClusterResourceAllocations:WorkspaceNamespaceClusterResourceAllocations":{"properties":{"resourceAllocation":{"type":"object","additionalProperties":{"type":"string"},"description":"Resource allocation for the cluster. This is a map containing the resource type and the resource value. Only the following field names are supported for resource configuration: \u003cspan pulumi-lang-nodejs=\"`cpuCores`\" pulumi-lang-dotnet=\"`CpuCores`\" pulumi-lang-go=\"`cpuCores`\" pulumi-lang-python=\"`cpu_cores`\" pulumi-lang-yaml=\"`cpuCores`\" pulumi-lang-java=\"`cpuCores`\"\u003e`cpu_cores`\u003c/span\u003e, `memory_MiB`, \u003cspan pulumi-lang-nodejs=\"`gpu`\" pulumi-lang-dotnet=\"`Gpu`\" pulumi-lang-go=\"`gpu`\" pulumi-lang-python=\"`gpu`\" pulumi-lang-yaml=\"`gpu`\" pulumi-lang-java=\"`gpu`\"\u003e`gpu`\u003c/span\u003e. Any other field names will not be honored by the system. For example, `{cpu_cores: '2', memory_MiB: '2048', gpu: '1'}`. Note: gpu*provider is not supported here; use the default resource*allocation for GPU provider configuration.\n"},"uid":{"type":"string"}},"type":"object","required":["resourceAllocation","uid"]},"spectrocloud:index/WorkspaceWorkspaceQuota:WorkspaceWorkspaceQuota":{"properties":{"cpu":{"type":"number","description":"CPU that the entire workspace is allowed to consume. The default value is 0, which imposes no limit.\n"},"gpu":{"type":"number","description":"GPU that the entire workspace is allowed to consume. The default value is 0, which imposes no limit.\n"},"memory":{"type":"number","description":"Memory in Mib that the entire workspace is allowed to consume. The default value is 0, which imposes no limit.\n"}},"type":"object"},"spectrocloud:index/getClusterConfigPolicySchedule:getClusterConfigPolicySchedule":{"properties":{"durationHrs":{"type":"number"},"name":{"type":"string"},"startCron":{"type":"string"}},"type":"object","required":["durationHrs","name","startCron"],"language":{"nodejs":{"requiredInputs":[]}}},"spectrocloud:index/getClusterConfigTemplateAttachedCluster:getClusterConfigTemplateAttachedCluster":{"properties":{"clusterUid":{"type":"string"},"name":{"type":"string"}},"type":"object","required":["clusterUid","name"],"language":{"nodejs":{"requiredInputs":[]}}},"spectrocloud:index/getClusterConfigTemplateClusterProfile:getClusterConfigTemplateClusterProfile":{"properties":{"id":{"type":"string"},"variables":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FgetClusterConfigTemplateClusterProfileVariable:getClusterConfigTemplateClusterProfileVariable"}}},"type":"object","required":["id","variables"],"language":{"nodejs":{"requiredInputs":[]}}},"spectrocloud:index/getClusterConfigTemplateClusterProfileVariable:getClusterConfigTemplateClusterProfileVariable":{"properties":{"assignStrategy":{"type":"string"},"name":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["assignStrategy","name","value"],"language":{"nodejs":{"requiredInputs":[]}}},"spectrocloud:index/getClusterConfigTemplatePolicy:getClusterConfigTemplatePolicy":{"properties":{"id":{"type":"string"},"kind":{"type":"string"}},"type":"object","required":["id","kind"],"language":{"nodejs":{"requiredInputs":[]}}},"spectrocloud:index/getClusterProfilePack:getClusterProfilePack":{"properties":{"manifests":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FgetClusterProfilePackManifest:getClusterProfilePackManifest"}},"name":{"type":"string"},"registryUid":{"type":"string"},"tag":{"type":"string"},"type":{"type":"string"},"uid":{"type":"string"},"values":{"type":"string"}},"type":"object","required":["manifests","name","registryUid","tag","type","uid","values"],"language":{"nodejs":{"requiredInputs":[]}}},"spectrocloud:index/getClusterProfilePackManifest:getClusterProfilePackManifest":{"properties":{"content":{"type":"string"},"name":{"type":"string"},"uid":{"type":"string"}},"type":"object","required":["content","name","uid"],"language":{"nodejs":{"requiredInputs":[]}}},"spectrocloud:index/getFilterMetadata:getFilterMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"}},"labels":{"type":"object","additionalProperties":{"type":"string"}},"name":{"type":"string"}},"type":"object","required":["annotations","labels","name"],"language":{"nodejs":{"requiredInputs":[]}}},"spectrocloud:index/getFilterSpec:getFilterSpec":{"properties":{"filterGroups":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FgetFilterSpecFilterGroup:getFilterSpecFilterGroup"}}},"type":"object","required":["filterGroups"],"language":{"nodejs":{"requiredInputs":[]}}},"spectrocloud:index/getFilterSpecFilterGroup:getFilterSpecFilterGroup":{"properties":{"conjunction":{"type":"string"},"filters":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FgetFilterSpecFilterGroupFilter:getFilterSpecFilterGroupFilter"}}},"type":"object","required":["conjunction","filters"],"language":{"nodejs":{"requiredInputs":[]}}},"spectrocloud:index/getFilterSpecFilterGroupFilter:getFilterSpecFilterGroupFilter":{"properties":{"key":{"type":"string"},"negation":{"type":"boolean"},"operator":{"type":"string"},"values":{"type":"array","items":{"type":"string"}}},"type":"object","required":["key","negation","operator","values"],"language":{"nodejs":{"requiredInputs":[]}}},"spectrocloud:index/getPackAdvanceFilters:getPackAdvanceFilters":{"properties":{"addonTypes":{"type":"array","items":{"type":"string"},"description":"Defines the type of add-on pack. Allowed values are `load balancer`, \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logging`\" pulumi-lang-dotnet=\"`Logging`\" pulumi-lang-go=\"`logging`\" pulumi-lang-python=\"`logging`\" pulumi-lang-yaml=\"`logging`\" pulumi-lang-java=\"`logging`\"\u003e`logging`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`monitoring`\" pulumi-lang-dotnet=\"`Monitoring`\" pulumi-lang-go=\"`monitoring`\" pulumi-lang-python=\"`monitoring`\" pulumi-lang-yaml=\"`monitoring`\" pulumi-lang-java=\"`monitoring`\"\u003e`monitoring`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\"\u003e`security`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`authentication`\" pulumi-lang-dotnet=\"`Authentication`\" pulumi-lang-go=\"`authentication`\" pulumi-lang-python=\"`authentication`\" pulumi-lang-yaml=\"`authentication`\" pulumi-lang-java=\"`authentication`\"\u003e`authentication`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`servicemesh`\" pulumi-lang-dotnet=\"`Servicemesh`\" pulumi-lang-go=\"`servicemesh`\" pulumi-lang-python=\"`servicemesh`\" pulumi-lang-yaml=\"`servicemesh`\" pulumi-lang-java=\"`servicemesh`\"\u003e`servicemesh`\u003c/span\u003e, `system app`, `app services`, \u003cspan pulumi-lang-nodejs=\"`registry`\" pulumi-lang-dotnet=\"`Registry`\" pulumi-lang-go=\"`registry`\" pulumi-lang-python=\"`registry`\" pulumi-lang-yaml=\"`registry`\" pulumi-lang-java=\"`registry`\"\u003e`registry`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`integration`\" pulumi-lang-dotnet=\"`Integration`\" pulumi-lang-go=\"`integration`\" pulumi-lang-python=\"`integration`\" pulumi-lang-yaml=\"`integration`\" pulumi-lang-java=\"`integration`\"\u003e`integration`\u003c/span\u003e. If not specified, all options will be set by default. For \u003cspan pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\"\u003e`storage`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`network`\" pulumi-lang-dotnet=\"`Network`\" pulumi-lang-go=\"`network`\" pulumi-lang-python=\"`network`\" pulumi-lang-yaml=\"`network`\" pulumi-lang-java=\"`network`\"\u003e`network`\u003c/span\u003e addon*type set \u003cspan pulumi-lang-nodejs=\"`csi`\" pulumi-lang-dotnet=\"`Csi`\" pulumi-lang-go=\"`csi`\" pulumi-lang-python=\"`csi`\" pulumi-lang-yaml=\"`csi`\" pulumi-lang-java=\"`csi`\"\u003e`csi`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`cni`\" pulumi-lang-dotnet=\"`Cni`\" pulumi-lang-go=\"`cni`\" pulumi-lang-python=\"`cni`\" pulumi-lang-yaml=\"`cni`\" pulumi-lang-java=\"`cni`\"\u003e`cni`\u003c/span\u003e respectively in pack*layer\n"},"environments":{"type":"array","items":{"type":"string"},"description":"Defines the environment where the pack will be deployed. Options include \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aws`\" pulumi-lang-dotnet=\"`Aws`\" pulumi-lang-go=\"`aws`\" pulumi-lang-python=\"`aws`\" pulumi-lang-yaml=\"`aws`\" pulumi-lang-java=\"`aws`\"\u003e`aws`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`eks`\" pulumi-lang-dotnet=\"`Eks`\" pulumi-lang-go=\"`eks`\" pulumi-lang-python=\"`eks`\" pulumi-lang-yaml=\"`eks`\" pulumi-lang-java=\"`eks`\"\u003e`eks`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aks`\" pulumi-lang-dotnet=\"`Aks`\" pulumi-lang-go=\"`aks`\" pulumi-lang-python=\"`aks`\" pulumi-lang-yaml=\"`aks`\" pulumi-lang-java=\"`aks`\"\u003e`aks`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gcp`\" pulumi-lang-dotnet=\"`Gcp`\" pulumi-lang-go=\"`gcp`\" pulumi-lang-python=\"`gcp`\" pulumi-lang-yaml=\"`gcp`\" pulumi-lang-java=\"`gcp`\"\u003e`gcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gke`\" pulumi-lang-dotnet=\"`Gke`\" pulumi-lang-go=\"`gke`\" pulumi-lang-python=\"`gke`\" pulumi-lang-yaml=\"`gke`\" pulumi-lang-java=\"`gke`\"\u003e`gke`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vsphere`\" pulumi-lang-dotnet=\"`Vsphere`\" pulumi-lang-go=\"`vsphere`\" pulumi-lang-python=\"`vsphere`\" pulumi-lang-yaml=\"`vsphere`\" pulumi-lang-java=\"`vsphere`\"\u003e`vsphere`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`maas`\" pulumi-lang-dotnet=\"`Maas`\" pulumi-lang-go=\"`maas`\" pulumi-lang-python=\"`maas`\" pulumi-lang-yaml=\"`maas`\" pulumi-lang-java=\"`maas`\"\u003e`maas`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`openstack`\" pulumi-lang-dotnet=\"`Openstack`\" pulumi-lang-go=\"`openstack`\" pulumi-lang-python=\"`openstack`\" pulumi-lang-yaml=\"`openstack`\" pulumi-lang-java=\"`openstack`\"\u003e`openstack`\u003c/span\u003e and `edge-native`. If not specified, all options will be set by default.\n"},"isFips":{"type":"boolean","description":"Indicates whether the pack is FIPS-compliant. If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, only FIPS-compliant components will be used.\n"},"packLayers":{"type":"array","items":{"type":"string"},"description":"Indicates the pack layer, such as \u003cspan pulumi-lang-nodejs=\"`kernel`\" pulumi-lang-dotnet=\"`Kernel`\" pulumi-lang-go=\"`kernel`\" pulumi-lang-python=\"`kernel`\" pulumi-lang-yaml=\"`kernel`\" pulumi-lang-java=\"`kernel`\"\u003e`kernel`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`os`\" pulumi-lang-dotnet=\"`Os`\" pulumi-lang-go=\"`os`\" pulumi-lang-python=\"`os`\" pulumi-lang-yaml=\"`os`\" pulumi-lang-java=\"`os`\"\u003e`os`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`k8s`\" pulumi-lang-dotnet=\"`K8s`\" pulumi-lang-go=\"`k8s`\" pulumi-lang-python=\"`k8s`\" pulumi-lang-yaml=\"`k8s`\" pulumi-lang-java=\"`k8s`\"\u003e`k8s`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cni`\" pulumi-lang-dotnet=\"`Cni`\" pulumi-lang-go=\"`cni`\" pulumi-lang-python=\"`cni`\" pulumi-lang-yaml=\"`cni`\" pulumi-lang-java=\"`cni`\"\u003e`cni`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`csi`\" pulumi-lang-dotnet=\"`Csi`\" pulumi-lang-go=\"`csi`\" pulumi-lang-python=\"`csi`\" pulumi-lang-yaml=\"`csi`\" pulumi-lang-java=\"`csi`\"\u003e`csi`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`addon`\" pulumi-lang-dotnet=\"`Addon`\" pulumi-lang-go=\"`addon`\" pulumi-lang-python=\"`addon`\" pulumi-lang-yaml=\"`addon`\" pulumi-lang-java=\"`addon`\"\u003e`addon`\u003c/span\u003e. If not specified, all options will be set by default.\n"},"packSources":{"type":"array","items":{"type":"string"},"description":"Specify the source of the pack. Allowed values are \u003cspan pulumi-lang-nodejs=\"`spectrocloud`\" pulumi-lang-dotnet=\"`Spectrocloud`\" pulumi-lang-go=\"`spectrocloud`\" pulumi-lang-python=\"`spectrocloud`\" pulumi-lang-yaml=\"`spectrocloud`\" pulumi-lang-java=\"`spectrocloud`\"\u003e`spectrocloud`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`community`\" pulumi-lang-dotnet=\"`Community`\" pulumi-lang-go=\"`community`\" pulumi-lang-python=\"`community`\" pulumi-lang-yaml=\"`community`\" pulumi-lang-java=\"`community`\"\u003e`community`\u003c/span\u003e. If not specified, all options will be set by default.\n"},"packTypes":{"type":"array","items":{"type":"string"},"description":"Specify the type of pack. Allowed values are \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e. If not specified, all options will be set by default.\n"}},"type":"object"}},"provider":{"description":"The provider type for the spectrocloud package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n","properties":{"apiKey":{"type":"string","description":"The Spectro Cloud API key. Can also be set with the `SPECTROCLOUD_APIKEY` environment variable.","secret":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"},"projectName":{"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`."}},"type":"object","inputProperties":{"apiKey":{"type":"string","description":"The Spectro Cloud API key. Can also be set with the `SPECTROCLOUD_APIKEY` environment variable.","secret":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"},"ignoreInsecureTlsError":{"type":"boolean","description":"Ignore insecure TLS errors for Spectro Cloud API endpoints. ⚠️ WARNING: Setting this to true disables SSL certificate verification and makes connections vulnerable to man-in-the-middle attacks. Only use this in development/testing environments or when connecting to self-signed certificates in trusted networks. Defaults to false."},"projectName":{"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`."},"retryAttempts":{"type":"number","description":"Number of retry attempts. Can also be set with the `SPECTROCLOUD_RETRY_ATTEMPTS` environment variable. Defaults to 10."},"trace":{"type":"boolean"}},"methods":{"terraformConfig":"pulumi:providers:spectrocloud/terraformConfig"}},"resources":{"spectrocloud:index/addonDeployment:AddonDeployment":{"properties":{"addonDeploymentId":{"type":"string","description":"The ID of this resource.\n"},"applySetting":{"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`.\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FAddonDeploymentClusterProfile:AddonDeploymentClusterProfile"}},"clusterUid":{"type":"string","description":"The UID of the cluster to attach the addon profile to.\n"},"context":{"type":"string","description":"Specifies cluster context where addon profile is attached. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FAddonDeploymentTimeouts:AddonDeploymentTimeouts"}},"type":"object","required":["addonDeploymentId","clusterUid"],"inputProperties":{"addonDeploymentId":{"type":"string","description":"The ID of this resource.\n"},"applySetting":{"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`.\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FAddonDeploymentClusterProfile:AddonDeploymentClusterProfile"}},"clusterUid":{"type":"string","description":"The UID of the cluster to attach the addon profile to.\n"},"context":{"type":"string","description":"Specifies cluster context where addon profile is attached. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FAddonDeploymentTimeouts:AddonDeploymentTimeouts"}},"requiredInputs":["clusterUid"],"stateInputs":{"description":"Input properties used for looking up and filtering AddonDeployment resources.\n","properties":{"addonDeploymentId":{"type":"string","description":"The ID of this resource.\n"},"applySetting":{"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`.\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FAddonDeploymentClusterProfile:AddonDeploymentClusterProfile"}},"clusterUid":{"type":"string","description":"The UID of the cluster to attach the addon profile to.\n"},"context":{"type":"string","description":"Specifies cluster context where addon profile is attached. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FAddonDeploymentTimeouts:AddonDeploymentTimeouts"}},"type":"object"}},"spectrocloud:index/alert:Alert":{"description":"## Example Usage\n\nYou can set up a maximum of two alerts for cluster health per project. A webhook can be configured in the HTTP component,\nand for email. You can add a target email recipient or enable alerts for all users in the corresponding project.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst alertEmail = new spectrocloud.Alert(\"alert_email\", {\n    project: \"Default\",\n    isActive: true,\n    component: \"ClusterHealth\",\n    type: \"email\",\n    identifiers: [\n        \"abc@spectrocloud.com\",\n        \"cba@spectrocloud.com\",\n    ],\n    alertAllUsers: true,\n});\nconst alertHttp = new spectrocloud.Alert(\"alert_http\", {\n    project: \"Default\",\n    isActive: true,\n    component: \"ClusterHealth\",\n    https: [{\n        method: \"POST\",\n        url: \"https://openhook.com/put/notify\",\n        body: \"{ \\\"text\\\": \\\"message\\\" }\",\n        headers: {\n            tag: \"Health\",\n            source: \"spectrocloud\",\n        },\n    }],\n    type: \"http\",\n    alertAllUsers: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nalert_email = spectrocloud.Alert(\"alert_email\",\n    project=\"Default\",\n    is_active=True,\n    component=\"ClusterHealth\",\n    type=\"email\",\n    identifiers=[\n        \"abc@spectrocloud.com\",\n        \"cba@spectrocloud.com\",\n    ],\n    alert_all_users=True)\nalert_http = spectrocloud.Alert(\"alert_http\",\n    project=\"Default\",\n    is_active=True,\n    component=\"ClusterHealth\",\n    https=[{\n        \"method\": \"POST\",\n        \"url\": \"https://openhook.com/put/notify\",\n        \"body\": \"{ \\\"text\\\": \\\"message\\\" }\",\n        \"headers\": {\n            \"tag\": \"Health\",\n            \"source\": \"spectrocloud\",\n        },\n    }],\n    type=\"http\",\n    alert_all_users=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var alertEmail = new Spectrocloud.Alert(\"alert_email\", new()\n    {\n        Project = \"Default\",\n        IsActive = true,\n        Component = \"ClusterHealth\",\n        Type = \"email\",\n        Identifiers = new[]\n        {\n            \"abc@spectrocloud.com\",\n            \"cba@spectrocloud.com\",\n        },\n        AlertAllUsers = true,\n    });\n\n    var alertHttp = new Spectrocloud.Alert(\"alert_http\", new()\n    {\n        Project = \"Default\",\n        IsActive = true,\n        Component = \"ClusterHealth\",\n        Https = new[]\n        {\n            new Spectrocloud.Inputs.AlertHttpArgs\n            {\n                Method = \"POST\",\n                Url = \"https://openhook.com/put/notify\",\n                Body = \"{ \\\"text\\\": \\\"message\\\" }\",\n                Headers = \n                {\n                    { \"tag\", \"Health\" },\n                    { \"source\", \"spectrocloud\" },\n                },\n            },\n        },\n        Type = \"http\",\n        AlertAllUsers = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewAlert(ctx, \"alert_email\", \u0026spectrocloud.AlertArgs{\n\t\t\tProject:   pulumi.String(\"Default\"),\n\t\t\tIsActive:  pulumi.Bool(true),\n\t\t\tComponent: pulumi.String(\"ClusterHealth\"),\n\t\t\tType:      pulumi.String(\"email\"),\n\t\t\tIdentifiers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"abc@spectrocloud.com\"),\n\t\t\t\tpulumi.String(\"cba@spectrocloud.com\"),\n\t\t\t},\n\t\t\tAlertAllUsers: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.NewAlert(ctx, \"alert_http\", \u0026spectrocloud.AlertArgs{\n\t\t\tProject:   pulumi.String(\"Default\"),\n\t\t\tIsActive:  pulumi.Bool(true),\n\t\t\tComponent: pulumi.String(\"ClusterHealth\"),\n\t\t\tHttps: spectrocloud.AlertHttpArray{\n\t\t\t\t\u0026spectrocloud.AlertHttpArgs{\n\t\t\t\t\tMethod: pulumi.String(\"POST\"),\n\t\t\t\t\tUrl:    pulumi.String(\"https://openhook.com/put/notify\"),\n\t\t\t\t\tBody:   pulumi.String(\"{ \\\"text\\\": \\\"message\\\" }\"),\n\t\t\t\t\tHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"tag\":    pulumi.String(\"Health\"),\n\t\t\t\t\t\t\"source\": pulumi.String(\"spectrocloud\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tType:          pulumi.String(\"http\"),\n\t\t\tAlertAllUsers: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.Alert;\nimport com.pulumi.spectrocloud.AlertArgs;\nimport com.pulumi.spectrocloud.inputs.AlertHttpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var alertEmail = new Alert(\"alertEmail\", AlertArgs.builder()\n            .project(\"Default\")\n            .isActive(true)\n            .component(\"ClusterHealth\")\n            .type(\"email\")\n            .identifiers(            \n                \"abc@spectrocloud.com\",\n                \"cba@spectrocloud.com\")\n            .alertAllUsers(true)\n            .build());\n\n        var alertHttp = new Alert(\"alertHttp\", AlertArgs.builder()\n            .project(\"Default\")\n            .isActive(true)\n            .component(\"ClusterHealth\")\n            .https(AlertHttpArgs.builder()\n                .method(\"POST\")\n                .url(\"https://openhook.com/put/notify\")\n                .body(\"{ \\\"text\\\": \\\"message\\\" }\")\n                .headers(Map.ofEntries(\n                    Map.entry(\"tag\", \"Health\"),\n                    Map.entry(\"source\", \"spectrocloud\")\n                ))\n                .build())\n            .type(\"http\")\n            .alertAllUsers(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  alertEmail:\n    type: spectrocloud:Alert\n    name: alert_email\n    properties:\n      project: Default\n      isActive: true\n      component: ClusterHealth\n      type: email\n      identifiers:\n        - abc@spectrocloud.com\n        - cba@spectrocloud.com\n      alertAllUsers: true\n  alertHttp:\n    type: spectrocloud:Alert\n    name: alert_http\n    properties:\n      project: Default\n      isActive: true\n      component: ClusterHealth\n      https:\n        - method: POST\n          url: https://openhook.com/put/notify\n          body: '{ \"text\": \"message\" }'\n          headers:\n            tag: Health\n            source: spectrocloud\n      type: http\n      alertAllUsers: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"alertAllUsers":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the alert will be sent to all users. If \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, it will target specific users or identifiers.\n"},"alertId":{"type":"string","description":"The ID of this resource.\n"},"component":{"type":"string","description":"The component of the system that the alert is associated with. Currently, `ClusterHealth` is the only supported value.\n"},"createdBy":{"type":"string","description":"The user who created the alert.\n"},"https":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FAlertHttp:AlertHttp"},"description":"The configuration block for HTTP-based alerts. This is used when the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e.\n"},"identifiers":{"type":"array","items":{"type":"string"},"description":"A set of unique identifiers to which the alert will be sent. This is used to target specific users or groups.\n"},"isActive":{"type":"boolean","description":"Indicates whether the alert is active. Set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to activate the alert, or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e to deactivate it.\n"},"project":{"type":"string","description":"The project to which the alert belongs to.\n"},"statuses":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FAlertStatus:AlertStatus"},"description":"A status block representing the internal status of the alert. This is primarily for internal use and not utilized directly.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FAlertTimeouts:AlertTimeouts"},"type":{"type":"string","description":"The type of alert mechanism to use. Can be \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e for email alerts, \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e for HTTP webhooks, or empty string to auto-detect based on provided configuration.\n"}},"type":"object","required":["alertId","component","isActive","project"],"inputProperties":{"alertAllUsers":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the alert will be sent to all users. If \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, it will target specific users or identifiers.\n"},"alertId":{"type":"string","description":"The ID of this resource.\n"},"component":{"type":"string","description":"The component of the system that the alert is associated with. Currently, `ClusterHealth` is the only supported value.\n"},"createdBy":{"type":"string","description":"The user who created the alert.\n"},"https":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FAlertHttp:AlertHttp"},"description":"The configuration block for HTTP-based alerts. This is used when the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e.\n"},"identifiers":{"type":"array","items":{"type":"string"},"description":"A set of unique identifiers to which the alert will be sent. This is used to target specific users or groups.\n"},"isActive":{"type":"boolean","description":"Indicates whether the alert is active. Set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to activate the alert, or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e to deactivate it.\n"},"project":{"type":"string","description":"The project to which the alert belongs to.\n"},"statuses":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FAlertStatus:AlertStatus"},"description":"A status block representing the internal status of the alert. This is primarily for internal use and not utilized directly.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FAlertTimeouts:AlertTimeouts"},"type":{"type":"string","description":"The type of alert mechanism to use. Can be \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e for email alerts, \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e for HTTP webhooks, or empty string to auto-detect based on provided configuration.\n"}},"requiredInputs":["component","isActive","project"],"stateInputs":{"description":"Input properties used for looking up and filtering Alert resources.\n","properties":{"alertAllUsers":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the alert will be sent to all users. If \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, it will target specific users or identifiers.\n"},"alertId":{"type":"string","description":"The ID of this resource.\n"},"component":{"type":"string","description":"The component of the system that the alert is associated with. Currently, `ClusterHealth` is the only supported value.\n"},"createdBy":{"type":"string","description":"The user who created the alert.\n"},"https":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FAlertHttp:AlertHttp"},"description":"The configuration block for HTTP-based alerts. This is used when the \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e.\n"},"identifiers":{"type":"array","items":{"type":"string"},"description":"A set of unique identifiers to which the alert will be sent. This is used to target specific users or groups.\n"},"isActive":{"type":"boolean","description":"Indicates whether the alert is active. Set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to activate the alert, or \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e to deactivate it.\n"},"project":{"type":"string","description":"The project to which the alert belongs to.\n"},"statuses":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FAlertStatus:AlertStatus"},"description":"A status block representing the internal status of the alert. This is primarily for internal use and not utilized directly.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FAlertTimeouts:AlertTimeouts"},"type":{"type":"string","description":"The type of alert mechanism to use. Can be \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e for email alerts, \u003cspan pulumi-lang-nodejs=\"`http`\" pulumi-lang-dotnet=\"`Http`\" pulumi-lang-go=\"`http`\" pulumi-lang-python=\"`http`\" pulumi-lang-yaml=\"`http`\" pulumi-lang-java=\"`http`\"\u003e`http`\u003c/span\u003e for HTTP webhooks, or empty string to auto-detect based on provided configuration.\n"}},"type":"object"}},"spectrocloud:index/appliance:Appliance":{"description":"A resource for creating and managing appliances for Edge Native cluster provisioning.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst appliance = new spectrocloud.Appliance(\"appliance\", {\n    uid: \"test-dec9\",\n    tags: {\n        name: \"appliance_name\",\n    },\n    wait: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nappliance = spectrocloud.Appliance(\"appliance\",\n    uid=\"test-dec9\",\n    tags={\n        \"name\": \"appliance_name\",\n    },\n    wait=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var appliance = new Spectrocloud.Appliance(\"appliance\", new()\n    {\n        Uid = \"test-dec9\",\n        Tags = \n        {\n            { \"name\", \"appliance_name\" },\n        },\n        Wait = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewAppliance(ctx, \"appliance\", \u0026spectrocloud.ApplianceArgs{\n\t\t\tUid: pulumi.String(\"test-dec9\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"name\": pulumi.String(\"appliance_name\"),\n\t\t\t},\n\t\t\tWait: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.Appliance;\nimport com.pulumi.spectrocloud.ApplianceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var appliance = new Appliance(\"appliance\", ApplianceArgs.builder()\n            .uid(\"test-dec9\")\n            .tags(Map.of(\"name\", \"appliance_name\"))\n            .wait(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  appliance:\n    type: spectrocloud:Appliance\n    properties:\n      uid: test-dec9\n      tags:\n        name: appliance_name\n      wait: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nAppliances can be imported using the appliance UID. This is a project-level resource.\n\nbash\n\n```sh\n$ pulumi import spectrocloud:index/appliance:Appliance example \u003cappliance_uid\u003e\n```\n\nWhere `\u003cappliance_uid\u003e` is the appliance UID.\n\nThe import will automatically populate all configuration fields from the Spectro Cloud API, including the UID, tags, and tunnel configuration settings. The `wait` field will be set to `false` by default for imported appliances. After import, you can run `pulumi preview` to see the current configuration and make any necessary adjustments.\n\n**Note**: Since this is a project-level resource, ensure your provider is configured with appropriate project-level credentials and access.\n\n","properties":{"applianceId":{"type":"string","description":"The ID of this resource.\n"},"pairingKey":{"type":"string","description":"The pairing key used for appliance pairing.\n"},"remoteShell":{"type":"string","description":"Activate remote shell access to troubleshoot edge hosts by initiating an SSH connection from Palette using the configured username and password credentials. https://docs.spectrocloud.com/clusters/edge/cluster-management/remote-shell/\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A set of key-value pairs that can be used to organize and categorize the appliance.\n"},"temporaryShellCredentials":{"type":"string","description":"Enable the creation of a temporary user on the edge host with sudo privileges for SSH access from Palette. These credentials will be embedded in the SSH connection string for auto login, and the temporary user is deleted upon deactivation.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FApplianceTimeouts:ApplianceTimeouts"},"uid":{"type":"string","description":"The unique identifier (UID) for the appliance.\n"},"wait":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the resource creation will wait for the appliance provisioning process to complete before returning. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["applianceId","uid"],"inputProperties":{"applianceId":{"type":"string","description":"The ID of this resource.\n"},"pairingKey":{"type":"string","description":"The pairing key used for appliance pairing.\n"},"remoteShell":{"type":"string","description":"Activate remote shell access to troubleshoot edge hosts by initiating an SSH connection from Palette using the configured username and password credentials. https://docs.spectrocloud.com/clusters/edge/cluster-management/remote-shell/\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A set of key-value pairs that can be used to organize and categorize the appliance.\n"},"temporaryShellCredentials":{"type":"string","description":"Enable the creation of a temporary user on the edge host with sudo privileges for SSH access from Palette. These credentials will be embedded in the SSH connection string for auto login, and the temporary user is deleted upon deactivation.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FApplianceTimeouts:ApplianceTimeouts"},"uid":{"type":"string","description":"The unique identifier (UID) for the appliance.\n"},"wait":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the resource creation will wait for the appliance provisioning process to complete before returning. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["uid"],"stateInputs":{"description":"Input properties used for looking up and filtering Appliance resources.\n","properties":{"applianceId":{"type":"string","description":"The ID of this resource.\n"},"pairingKey":{"type":"string","description":"The pairing key used for appliance pairing.\n"},"remoteShell":{"type":"string","description":"Activate remote shell access to troubleshoot edge hosts by initiating an SSH connection from Palette using the configured username and password credentials. https://docs.spectrocloud.com/clusters/edge/cluster-management/remote-shell/\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A set of key-value pairs that can be used to organize and categorize the appliance.\n"},"temporaryShellCredentials":{"type":"string","description":"Enable the creation of a temporary user on the edge host with sudo privileges for SSH access from Palette. These credentials will be embedded in the SSH connection string for auto login, and the temporary user is deleted upon deactivation.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FApplianceTimeouts:ApplianceTimeouts"},"uid":{"type":"string","description":"The unique identifier (UID) for the appliance.\n"},"wait":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the resource creation will wait for the appliance provisioning process to complete before returning. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"}},"spectrocloud:index/application:Application":{"description":"## Example Usage\n\n### Application deployment into Cluster Group.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst application = new spectrocloud.Application(\"application\", {\n    name: \"app-beru-whitesun-lars\",\n    applicationProfileUid: id,\n    config: {\n        clusterName: \"sandbox-scorpius\",\n        clusterGroupUid: \"6358d799fad5aa39fa26a8c2\",\n        limits: [{\n            cpu: 2,\n            memory: 4096,\n            storage: 10,\n        }],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\napplication = spectrocloud.Application(\"application\",\n    name=\"app-beru-whitesun-lars\",\n    application_profile_uid=id,\n    config={\n        \"cluster_name\": \"sandbox-scorpius\",\n        \"cluster_group_uid\": \"6358d799fad5aa39fa26a8c2\",\n        \"limits\": [{\n            \"cpu\": 2,\n            \"memory\": 4096,\n            \"storage\": 10,\n        }],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var application = new Spectrocloud.Application(\"application\", new()\n    {\n        Name = \"app-beru-whitesun-lars\",\n        ApplicationProfileUid = id,\n        Config = new Spectrocloud.Inputs.ApplicationConfigArgs\n        {\n            ClusterName = \"sandbox-scorpius\",\n            ClusterGroupUid = \"6358d799fad5aa39fa26a8c2\",\n            Limits = new[]\n            {\n                new Spectrocloud.Inputs.ApplicationConfigLimitArgs\n                {\n                    Cpu = 2,\n                    Memory = 4096,\n                    Storage = 10,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewApplication(ctx, \"application\", \u0026spectrocloud.ApplicationArgs{\n\t\t\tName:                  pulumi.String(\"app-beru-whitesun-lars\"),\n\t\t\tApplicationProfileUid: pulumi.Any(id),\n\t\t\tConfig: \u0026spectrocloud.ApplicationConfigArgs{\n\t\t\t\tClusterName:     pulumi.String(\"sandbox-scorpius\"),\n\t\t\t\tClusterGroupUid: pulumi.String(\"6358d799fad5aa39fa26a8c2\"),\n\t\t\t\tLimits: spectrocloud.ApplicationConfigLimitArray{\n\t\t\t\t\t\u0026spectrocloud.ApplicationConfigLimitArgs{\n\t\t\t\t\t\tCpu:     pulumi.Float64(2),\n\t\t\t\t\t\tMemory:  pulumi.Float64(4096),\n\t\t\t\t\t\tStorage: pulumi.Float64(10),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.Application;\nimport com.pulumi.spectrocloud.ApplicationArgs;\nimport com.pulumi.spectrocloud.inputs.ApplicationConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var application = new Application(\"application\", ApplicationArgs.builder()\n            .name(\"app-beru-whitesun-lars\")\n            .applicationProfileUid(id)\n            .config(ApplicationConfigArgs.builder()\n                .clusterName(\"sandbox-scorpius\")\n                .clusterGroupUid(\"6358d799fad5aa39fa26a8c2\")\n                .limits(ApplicationConfigLimitArgs.builder()\n                    .cpu(2.0)\n                    .memory(4096.0)\n                    .storage(10.0)\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  application:\n    type: spectrocloud:Application\n    properties:\n      name: app-beru-whitesun-lars\n      applicationProfileUid: ${id}\n      config:\n        clusterName: sandbox-scorpius\n        clusterGroupUid: 6358d799fad5aa39fa26a8c2\n        limits:\n          - cpu: 2\n            memory: 4096\n            storage: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApplications can be imported using their UID. The import will automatically detect the cluster context.\n\nbash\n\n```sh\n$ pulumi import spectrocloud:index/application:Application example 63444eb70807dc2c14a8ad59\n```\n\nNote: During import, the application's configuration will be automatically populated from the Spectro Cloud API, including the correct cluster context.\n\n","properties":{"applicationId":{"type":"string","description":"The ID of this resource.\n"},"applicationProfileUid":{"type":"string","description":"The unique identifier (UID) of the application profile to use for this application.\n"},"config":{"$ref":"#/types/spectrocloud:index%2FApplicationConfig:ApplicationConfig","description":"The configuration block for specifying cluster and resource limits for the application.\n"},"name":{"type":"string","description":"The name of the application being created.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A set of tags to associate with the application for easier identification and categorization.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FApplicationTimeouts:ApplicationTimeouts"}},"type":"object","required":["applicationId","applicationProfileUid","name"],"inputProperties":{"applicationId":{"type":"string","description":"The ID of this resource.\n"},"applicationProfileUid":{"type":"string","description":"The unique identifier (UID) of the application profile to use for this application.\n"},"config":{"$ref":"#/types/spectrocloud:index%2FApplicationConfig:ApplicationConfig","description":"The configuration block for specifying cluster and resource limits for the application.\n"},"name":{"type":"string","description":"The name of the application being created.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A set of tags to associate with the application for easier identification and categorization.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FApplicationTimeouts:ApplicationTimeouts"}},"requiredInputs":["applicationProfileUid"],"stateInputs":{"description":"Input properties used for looking up and filtering Application resources.\n","properties":{"applicationId":{"type":"string","description":"The ID of this resource.\n"},"applicationProfileUid":{"type":"string","description":"The unique identifier (UID) of the application profile to use for this application.\n"},"config":{"$ref":"#/types/spectrocloud:index%2FApplicationConfig:ApplicationConfig","description":"The configuration block for specifying cluster and resource limits for the application.\n"},"name":{"type":"string","description":"The name of the application being created.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A set of tags to associate with the application for easier identification and categorization.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FApplicationTimeouts:ApplicationTimeouts"}},"type":"object"}},"spectrocloud:index/applicationProfile:ApplicationProfile":{"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.\n\n## Example Usage\n\n### App Profile with Manifest\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst byom = spectrocloud.getPack({\n    name: \"spectro-byo-manifest\",\n    version: \"1.0.0\",\n});\nconst csi = spectrocloud.getPack({\n    name: \"csi-gcp\",\n    version: \"1.0.0\",\n});\nconst cni = spectrocloud.getPack({\n    name: \"cni-calico\",\n    version: \"3.16.0\",\n});\nconst k8s = spectrocloud.getPack({\n    name: \"kubernetes\",\n    version: \"1.18.14\",\n});\nconst ubuntu = spectrocloud.getPack({\n    name: \"ubuntu-gcp\",\n    version: \"1.0.0\",\n});\nconst profile = new spectrocloud.ApplicationProfile(\"profile\", {\n    name: \"gcp-picard-2\",\n    description: \"basic cp\",\n    version: \"1.0.0\",\n    context: \"tenant\",\n    cloud: \"all\",\n    packs: [{\n        name: \"manifest-1\",\n        tag: \"1.0.0\",\n        type: \"manifest\",\n        sourceAppTier: \"spectro-manifest-pack\",\n        values: `manifests:\n  byo-manifest:\n    contents: |\n      apiVersion: v1\n      kind: Namespace\n      metadata:\n        labels:\n          app: wordpress\n          app3: wordpress3\n        name: wordpress\n`,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nbyom = spectrocloud.get_pack(name=\"spectro-byo-manifest\",\n    version=\"1.0.0\")\ncsi = spectrocloud.get_pack(name=\"csi-gcp\",\n    version=\"1.0.0\")\ncni = spectrocloud.get_pack(name=\"cni-calico\",\n    version=\"3.16.0\")\nk8s = spectrocloud.get_pack(name=\"kubernetes\",\n    version=\"1.18.14\")\nubuntu = spectrocloud.get_pack(name=\"ubuntu-gcp\",\n    version=\"1.0.0\")\nprofile = spectrocloud.ApplicationProfile(\"profile\",\n    name=\"gcp-picard-2\",\n    description=\"basic cp\",\n    version=\"1.0.0\",\n    context=\"tenant\",\n    cloud=\"all\",\n    packs=[{\n        \"name\": \"manifest-1\",\n        \"tag\": \"1.0.0\",\n        \"type\": \"manifest\",\n        \"source_app_tier\": \"spectro-manifest-pack\",\n        \"values\": \"\"\"manifests:\n  byo-manifest:\n    contents: |\n      apiVersion: v1\n      kind: Namespace\n      metadata:\n        labels:\n          app: wordpress\n          app3: wordpress3\n        name: wordpress\n\"\"\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var byom = Spectrocloud.GetPack.Invoke(new()\n    {\n        Name = \"spectro-byo-manifest\",\n        Version = \"1.0.0\",\n    });\n\n    var csi = Spectrocloud.GetPack.Invoke(new()\n    {\n        Name = \"csi-gcp\",\n        Version = \"1.0.0\",\n    });\n\n    var cni = Spectrocloud.GetPack.Invoke(new()\n    {\n        Name = \"cni-calico\",\n        Version = \"3.16.0\",\n    });\n\n    var k8s = Spectrocloud.GetPack.Invoke(new()\n    {\n        Name = \"kubernetes\",\n        Version = \"1.18.14\",\n    });\n\n    var ubuntu = Spectrocloud.GetPack.Invoke(new()\n    {\n        Name = \"ubuntu-gcp\",\n        Version = \"1.0.0\",\n    });\n\n    var profile = new Spectrocloud.ApplicationProfile(\"profile\", new()\n    {\n        Name = \"gcp-picard-2\",\n        Description = \"basic cp\",\n        Version = \"1.0.0\",\n        Context = \"tenant\",\n        Cloud = \"all\",\n        Packs = new[]\n        {\n            new Spectrocloud.Inputs.ApplicationProfilePackArgs\n            {\n                Name = \"manifest-1\",\n                Tag = \"1.0.0\",\n                Type = \"manifest\",\n                SourceAppTier = \"spectro-manifest-pack\",\n                Values = @\"manifests:\n  byo-manifest:\n    contents: |\n      apiVersion: v1\n      kind: Namespace\n      metadata:\n        labels:\n          app: wordpress\n          app3: wordpress3\n        name: wordpress\n\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.GetPack(ctx, \u0026spectrocloud.GetPackArgs{\n\t\t\tName:    pulumi.StringRef(\"spectro-byo-manifest\"),\n\t\t\tVersion: pulumi.StringRef(\"1.0.0\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.GetPack(ctx, \u0026spectrocloud.GetPackArgs{\n\t\t\tName:    pulumi.StringRef(\"csi-gcp\"),\n\t\t\tVersion: pulumi.StringRef(\"1.0.0\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.GetPack(ctx, \u0026spectrocloud.GetPackArgs{\n\t\t\tName:    pulumi.StringRef(\"cni-calico\"),\n\t\t\tVersion: pulumi.StringRef(\"3.16.0\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.GetPack(ctx, \u0026spectrocloud.GetPackArgs{\n\t\t\tName:    pulumi.StringRef(\"kubernetes\"),\n\t\t\tVersion: pulumi.StringRef(\"1.18.14\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.GetPack(ctx, \u0026spectrocloud.GetPackArgs{\n\t\t\tName:    pulumi.StringRef(\"ubuntu-gcp\"),\n\t\t\tVersion: pulumi.StringRef(\"1.0.0\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.NewApplicationProfile(ctx, \"profile\", \u0026spectrocloud.ApplicationProfileArgs{\n\t\t\tName:        pulumi.String(\"gcp-picard-2\"),\n\t\t\tDescription: pulumi.String(\"basic cp\"),\n\t\t\tVersion:     pulumi.String(\"1.0.0\"),\n\t\t\tContext:     pulumi.String(\"tenant\"),\n\t\t\tCloud:       pulumi.String(\"all\"),\n\t\t\tPacks: spectrocloud.ApplicationProfilePackArray{\n\t\t\t\t\u0026spectrocloud.ApplicationProfilePackArgs{\n\t\t\t\t\tName:          pulumi.String(\"manifest-1\"),\n\t\t\t\t\tTag:           pulumi.String(\"1.0.0\"),\n\t\t\t\t\tType:          pulumi.String(\"manifest\"),\n\t\t\t\t\tSourceAppTier: pulumi.String(\"spectro-manifest-pack\"),\n\t\t\t\t\tValues: pulumi.String(`manifests:\n  byo-manifest:\n    contents: |\n      apiVersion: v1\n      kind: Namespace\n      metadata:\n        labels:\n          app: wordpress\n          app3: wordpress3\n        name: wordpress\n`),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetPackArgs;\nimport com.pulumi.spectrocloud.ApplicationProfile;\nimport com.pulumi.spectrocloud.ApplicationProfileArgs;\nimport com.pulumi.spectrocloud.inputs.ApplicationProfilePackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var byom = SpectrocloudFunctions.getPack(GetPackArgs.builder()\n            .name(\"spectro-byo-manifest\")\n            .version(\"1.0.0\")\n            .build());\n\n        final var csi = SpectrocloudFunctions.getPack(GetPackArgs.builder()\n            .name(\"csi-gcp\")\n            .version(\"1.0.0\")\n            .build());\n\n        final var cni = SpectrocloudFunctions.getPack(GetPackArgs.builder()\n            .name(\"cni-calico\")\n            .version(\"3.16.0\")\n            .build());\n\n        final var k8s = SpectrocloudFunctions.getPack(GetPackArgs.builder()\n            .name(\"kubernetes\")\n            .version(\"1.18.14\")\n            .build());\n\n        final var ubuntu = SpectrocloudFunctions.getPack(GetPackArgs.builder()\n            .name(\"ubuntu-gcp\")\n            .version(\"1.0.0\")\n            .build());\n\n        var profile = new ApplicationProfile(\"profile\", ApplicationProfileArgs.builder()\n            .name(\"gcp-picard-2\")\n            .description(\"basic cp\")\n            .version(\"1.0.0\")\n            .context(\"tenant\")\n            .cloud(\"all\")\n            .packs(ApplicationProfilePackArgs.builder()\n                .name(\"manifest-1\")\n                .tag(\"1.0.0\")\n                .type(\"manifest\")\n                .sourceAppTier(\"spectro-manifest-pack\")\n                .values(\"\"\"\nmanifests:\n  byo-manifest:\n    contents: |\n      apiVersion: v1\n      kind: Namespace\n      metadata:\n        labels:\n          app: wordpress\n          app3: wordpress3\n        name: wordpress\n                \"\"\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  profile:\n    type: spectrocloud:ApplicationProfile\n    properties:\n      name: gcp-picard-2\n      description: basic cp\n      version: 1.0.0\n      context: tenant\n      cloud: all\n      packs:\n        - name: manifest-1\n          tag: 1.0.0\n          type: manifest\n          sourceAppTier: spectro-manifest-pack\n          values: |\n            manifests:\n              byo-manifest:\n                contents: |\n                  apiVersion: v1\n                  kind: Namespace\n                  metadata:\n                    labels:\n                      app: wordpress\n                      app3: wordpress3\n                    name: wordpress\nvariables:\n  byom:\n    fn::invoke:\n      function: spectrocloud:getPack\n      arguments:\n        name: spectro-byo-manifest\n        version: 1.0.0\n  csi:\n    fn::invoke:\n      function: spectrocloud:getPack\n      arguments:\n        name: csi-gcp\n        version: 1.0.0\n  cni:\n    fn::invoke:\n      function: spectrocloud:getPack\n      arguments:\n        name: cni-calico\n        version: 3.16.0\n  k8s:\n    fn::invoke:\n      function: spectrocloud:getPack\n      arguments:\n        name: kubernetes\n        version: 1.18.14\n  ubuntu:\n    fn::invoke:\n      function: spectrocloud:getPack\n      arguments:\n        name: ubuntu-gcp\n        version: 1.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### App Profile with Container\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst config = new pulumi.Config();\n// The name of the container image to use for the virtual cluster in a single scenario\nconst single_container_image = config.get(\"single-container-image\") || \"ghcr.io/spectrocloud/hello-universe:1.0.8\";\nconst beehive = spectrocloud.getClusterGroup({\n    name: \"beehive\",\n    context: \"system\",\n});\nconst containerRegistry = spectrocloud.getRegistry({\n    name: \"Public Repo\",\n});\nconst containerPack = containerRegistry.then(containerRegistry =\u003e spectrocloud.getPackSimple({\n    type: \"container\",\n    name: \"container\",\n    version: \"1.0.0\",\n    registryUid: containerRegistry.id,\n}));\nconst hello_universe_ui = new spectrocloud.ApplicationProfile(\"hello-universe-ui\", {\n    name: \"hello-universe\",\n    description: \"Hello Universe as a single UI instance\",\n    packs: [{\n        name: \"hello-universe-ui\",\n        type: containerPack.then(containerPack =\u003e containerPack.type),\n        registryUid: containerRegistry.then(containerRegistry =\u003e containerRegistry.id),\n        sourceAppTier: containerPack.then(containerPack =\u003e containerPack.id),\n        values: `containerService:\n    serviceName: \\\"hello-universe-ui-test\\\"\n    registryUrl: \\\"\\\"\n    image: ${single_container_image}\n    access: public\n    ports:\n      - \\\"8080\\\"\n    serviceType: LoadBalancer\n`,\n    }],\n    tags: [\"scenario-1\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nconfig = pulumi.Config()\n# The name of the container image to use for the virtual cluster in a single scenario\nsingle_container_image = config.get(\"single-container-image\")\nif single_container_image is None:\n    single_container_image = \"ghcr.io/spectrocloud/hello-universe:1.0.8\"\nbeehive = spectrocloud.get_cluster_group(name=\"beehive\",\n    context=\"system\")\ncontainer_registry = spectrocloud.get_registry(name=\"Public Repo\")\ncontainer_pack = spectrocloud.get_pack_simple(type=\"container\",\n    name=\"container\",\n    version=\"1.0.0\",\n    registry_uid=container_registry.id)\nhello_universe_ui = spectrocloud.ApplicationProfile(\"hello-universe-ui\",\n    name=\"hello-universe\",\n    description=\"Hello Universe as a single UI instance\",\n    packs=[{\n        \"name\": \"hello-universe-ui\",\n        \"type\": container_pack.type,\n        \"registry_uid\": container_registry.id,\n        \"source_app_tier\": container_pack.id,\n        \"values\": f\"\"\"containerService:\n    serviceName: \\\"hello-universe-ui-test\\\"\n    registryUrl: \\\"\\\"\n    image: {single_container_image}\n    access: public\n    ports:\n      - \\\"8080\\\"\n    serviceType: LoadBalancer\n\"\"\",\n    }],\n    tags=[\"scenario-1\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    // The name of the container image to use for the virtual cluster in a single scenario\n    var single_container_image = config.Get(\"single-container-image\") ?? \"ghcr.io/spectrocloud/hello-universe:1.0.8\";\n    var beehive = Spectrocloud.GetClusterGroup.Invoke(new()\n    {\n        Name = \"beehive\",\n        Context = \"system\",\n    });\n\n    var containerRegistry = Spectrocloud.GetRegistry.Invoke(new()\n    {\n        Name = \"Public Repo\",\n    });\n\n    var containerPack = Spectrocloud.GetPackSimple.Invoke(new()\n    {\n        Type = \"container\",\n        Name = \"container\",\n        Version = \"1.0.0\",\n        RegistryUid = containerRegistry.Apply(getRegistryResult =\u003e getRegistryResult.Id),\n    });\n\n    var hello_universe_ui = new Spectrocloud.ApplicationProfile(\"hello-universe-ui\", new()\n    {\n        Name = \"hello-universe\",\n        Description = \"Hello Universe as a single UI instance\",\n        Packs = new[]\n        {\n            new Spectrocloud.Inputs.ApplicationProfilePackArgs\n            {\n                Name = \"hello-universe-ui\",\n                Type = containerPack.Apply(getPackSimpleResult =\u003e getPackSimpleResult.Type),\n                RegistryUid = containerRegistry.Apply(getRegistryResult =\u003e getRegistryResult.Id),\n                SourceAppTier = containerPack.Apply(getPackSimpleResult =\u003e getPackSimpleResult.Id),\n                Values = @$\"containerService:\n    serviceName: \\\"\"hello-universe-ui-test\\\"\"\n    registryUrl: \\\"\"\\\"\"\n    image: {single_container_image}\n    access: public\n    ports:\n      - \\\"\"8080\\\"\"\n    serviceType: LoadBalancer\n\",\n            },\n        },\n        Tags = new[]\n        {\n            \"scenario-1\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\t// The name of the container image to use for the virtual cluster in a single scenario\n\t\tsingle_container_image := \"ghcr.io/spectrocloud/hello-universe:1.0.8\"\n\t\tif param := cfg.Get(\"single-container-image\"); param != \"\" {\n\t\t\tsingle_container_image = param\n\t\t}\n\t\t_, err := spectrocloud.LookupClusterGroup(ctx, \u0026spectrocloud.LookupClusterGroupArgs{\n\t\t\tName:    \"beehive\",\n\t\t\tContext: pulumi.StringRef(\"system\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcontainerRegistry, err := spectrocloud.GetRegistry(ctx, \u0026spectrocloud.GetRegistryArgs{\n\t\t\tName: \"Public Repo\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcontainerPack, err := spectrocloud.GetPackSimple(ctx, \u0026spectrocloud.GetPackSimpleArgs{\n\t\t\tType:        \"container\",\n\t\t\tName:        \"container\",\n\t\t\tVersion:     pulumi.StringRef(\"1.0.0\"),\n\t\t\tRegistryUid: pulumi.StringRef(containerRegistry.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.NewApplicationProfile(ctx, \"hello-universe-ui\", \u0026spectrocloud.ApplicationProfileArgs{\n\t\t\tName:        pulumi.String(\"hello-universe\"),\n\t\t\tDescription: pulumi.String(\"Hello Universe as a single UI instance\"),\n\t\t\tPacks: spectrocloud.ApplicationProfilePackArray{\n\t\t\t\t\u0026spectrocloud.ApplicationProfilePackArgs{\n\t\t\t\t\tName:          pulumi.String(\"hello-universe-ui\"),\n\t\t\t\t\tType:          pulumi.String(containerPack.Type),\n\t\t\t\t\tRegistryUid:   pulumi.String(containerRegistry.Id),\n\t\t\t\t\tSourceAppTier: pulumi.String(containerPack.Id),\n\t\t\t\t\tValues: pulumi.Sprintf(`containerService:\n    serviceName: \\\"hello-universe-ui-test\\\"\n    registryUrl: \\\"\\\"\n    image: %v\n    access: public\n    ports:\n      - \\\"8080\\\"\n    serviceType: LoadBalancer\n`, single_container_image),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"scenario-1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetClusterGroupArgs;\nimport com.pulumi.spectrocloud.inputs.GetRegistryArgs;\nimport com.pulumi.spectrocloud.inputs.GetPackSimpleArgs;\nimport com.pulumi.spectrocloud.ApplicationProfile;\nimport com.pulumi.spectrocloud.ApplicationProfileArgs;\nimport com.pulumi.spectrocloud.inputs.ApplicationProfilePackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var single_container_image = config.get(\"single-container-image\").orElse(\"ghcr.io/spectrocloud/hello-universe:1.0.8\");\n        final var beehive = SpectrocloudFunctions.getClusterGroup(GetClusterGroupArgs.builder()\n            .name(\"beehive\")\n            .context(\"system\")\n            .build());\n\n        final var containerRegistry = SpectrocloudFunctions.getRegistry(GetRegistryArgs.builder()\n            .name(\"Public Repo\")\n            .build());\n\n        final var containerPack = SpectrocloudFunctions.getPackSimple(GetPackSimpleArgs.builder()\n            .type(\"container\")\n            .name(\"container\")\n            .version(\"1.0.0\")\n            .registryUid(containerRegistry.id())\n            .build());\n\n        var hello_universe_ui = new ApplicationProfile(\"hello-universe-ui\", ApplicationProfileArgs.builder()\n            .name(\"hello-universe\")\n            .description(\"Hello Universe as a single UI instance\")\n            .packs(ApplicationProfilePackArgs.builder()\n                .name(\"hello-universe-ui\")\n                .type(containerPack.type())\n                .registryUid(containerRegistry.id())\n                .sourceAppTier(containerPack.id())\n                .values(\"\"\"\ncontainerService:\n    serviceName: \\\"hello-universe-ui-test\\\"\n    registryUrl: \\\"\\\"\n    image: %s\n    access: public\n    ports:\n      - \\\"8080\\\"\n    serviceType: LoadBalancer\n\", single_container_image))\n                .build())\n            .tags(\"scenario-1\")\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  single-container-image:\n    type: string\n    default: ghcr.io/spectrocloud/hello-universe:1.0.8\nresources:\n  hello-universe-ui:\n    type: spectrocloud:ApplicationProfile\n    properties:\n      name: hello-universe\n      description: Hello Universe as a single UI instance\n      packs:\n        - name: hello-universe-ui\n          type: ${containerPack.type}\n          registryUid: ${containerRegistry.id}\n          sourceAppTier: ${containerPack.id}\n          values: |\n            containerService:\n                serviceName: \\\"hello-universe-ui-test\\\"\n                registryUrl: \\\"\\\"\n                image: ${[\"single-container-image\"]}\n                access: public\n                ports:\n                  - \\\"8080\\\"\n                serviceType: LoadBalancer\n      tags:\n        - scenario-1\nvariables:\n  beehive:\n    fn::invoke:\n      function: spectrocloud:getClusterGroup\n      arguments:\n        name: beehive\n        context: system\n  containerRegistry:\n    fn::invoke:\n      function: spectrocloud:getRegistry\n      arguments:\n        name: Public Repo\n  containerPack:\n    fn::invoke:\n      function: spectrocloud:getPackSimple\n      arguments:\n        type: container\n        name: container\n        version: 1.0.0\n        registryUid: ${containerRegistry.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n###  App Profile with Helm Chart\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst helm = spectrocloud.getRegistryHelm({\n    name: \"Public Spectro Helm Repo\",\n});\nconst marvel_app = helm.then(helm =\u003e spectrocloud.getPack({\n    name: \"marvel-app\",\n    registryUid: helm.id,\n    version: \"0.1.0\",\n}));\nconst my_app_profile = new spectrocloud.ApplicationProfile(\"my-app-profile\", {\n    name: \"my-app-profile\",\n    description: \"A profile for a simple application\",\n    context: \"project\",\n    packs: [{\n        name: marvel_app.then(marvel_app =\u003e marvel_app.name),\n        type: \"helm\",\n        registryUid: helm.then(helm =\u003e helm.id),\n        sourceAppTier: marvel_app.then(marvel_app =\u003e marvel_app.id),\n    }],\n    tags: [\n        \"name:marvel-app\",\n        \"terraform_managed:true\",\n        \"env:dev\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nhelm = spectrocloud.get_registry_helm(name=\"Public Spectro Helm Repo\")\nmarvel_app = spectrocloud.get_pack(name=\"marvel-app\",\n    registry_uid=helm.id,\n    version=\"0.1.0\")\nmy_app_profile = spectrocloud.ApplicationProfile(\"my-app-profile\",\n    name=\"my-app-profile\",\n    description=\"A profile for a simple application\",\n    context=\"project\",\n    packs=[{\n        \"name\": marvel_app.name,\n        \"type\": \"helm\",\n        \"registry_uid\": helm.id,\n        \"source_app_tier\": marvel_app.id,\n    }],\n    tags=[\n        \"name:marvel-app\",\n        \"terraform_managed:true\",\n        \"env:dev\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var helm = Spectrocloud.GetRegistryHelm.Invoke(new()\n    {\n        Name = \"Public Spectro Helm Repo\",\n    });\n\n    var marvel_app = Spectrocloud.GetPack.Invoke(new()\n    {\n        Name = \"marvel-app\",\n        RegistryUid = helm.Apply(getRegistryHelmResult =\u003e getRegistryHelmResult.Id),\n        Version = \"0.1.0\",\n    });\n\n    var my_app_profile = new Spectrocloud.ApplicationProfile(\"my-app-profile\", new()\n    {\n        Name = \"my-app-profile\",\n        Description = \"A profile for a simple application\",\n        Context = \"project\",\n        Packs = new[]\n        {\n            new Spectrocloud.Inputs.ApplicationProfilePackArgs\n            {\n                Name = marvel_app.Apply(marvel_app =\u003e marvel_app.Apply(getPackResult =\u003e getPackResult.Name)),\n                Type = \"helm\",\n                RegistryUid = helm.Apply(getRegistryHelmResult =\u003e getRegistryHelmResult.Id),\n                SourceAppTier = marvel_app.Apply(marvel_app =\u003e marvel_app.Apply(getPackResult =\u003e getPackResult.Id)),\n            },\n        },\n        Tags = new[]\n        {\n            \"name:marvel-app\",\n            \"terraform_managed:true\",\n            \"env:dev\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\thelm, err := spectrocloud.LookupRegistryHelm(ctx, \u0026spectrocloud.LookupRegistryHelmArgs{\n\t\t\tName: \"Public Spectro Helm Repo\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmarvel_app, err := spectrocloud.GetPack(ctx, \u0026spectrocloud.GetPackArgs{\n\t\t\tName:        pulumi.StringRef(\"marvel-app\"),\n\t\t\tRegistryUid: pulumi.StringRef(helm.Id),\n\t\t\tVersion:     pulumi.StringRef(\"0.1.0\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.NewApplicationProfile(ctx, \"my-app-profile\", \u0026spectrocloud.ApplicationProfileArgs{\n\t\t\tName:        pulumi.String(\"my-app-profile\"),\n\t\t\tDescription: pulumi.String(\"A profile for a simple application\"),\n\t\t\tContext:     pulumi.String(\"project\"),\n\t\t\tPacks: spectrocloud.ApplicationProfilePackArray{\n\t\t\t\t\u0026spectrocloud.ApplicationProfilePackArgs{\n\t\t\t\t\tName:          pulumi.String(marvel_app.Name),\n\t\t\t\t\tType:          pulumi.String(\"helm\"),\n\t\t\t\t\tRegistryUid:   pulumi.String(helm.Id),\n\t\t\t\t\tSourceAppTier: pulumi.String(marvel_app.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"name:marvel-app\"),\n\t\t\t\tpulumi.String(\"terraform_managed:true\"),\n\t\t\t\tpulumi.String(\"env:dev\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetRegistryHelmArgs;\nimport com.pulumi.spectrocloud.inputs.GetPackArgs;\nimport com.pulumi.spectrocloud.ApplicationProfile;\nimport com.pulumi.spectrocloud.ApplicationProfileArgs;\nimport com.pulumi.spectrocloud.inputs.ApplicationProfilePackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var helm = SpectrocloudFunctions.getRegistryHelm(GetRegistryHelmArgs.builder()\n            .name(\"Public Spectro Helm Repo\")\n            .build());\n\n        final var marvel-app = SpectrocloudFunctions.getPack(GetPackArgs.builder()\n            .name(\"marvel-app\")\n            .registryUid(helm.id())\n            .version(\"0.1.0\")\n            .build());\n\n        var my_app_profile = new ApplicationProfile(\"my-app-profile\", ApplicationProfileArgs.builder()\n            .name(\"my-app-profile\")\n            .description(\"A profile for a simple application\")\n            .context(\"project\")\n            .packs(ApplicationProfilePackArgs.builder()\n                .name(marvel_app.name())\n                .type(\"helm\")\n                .registryUid(helm.id())\n                .sourceAppTier(marvel_app.id())\n                .build())\n            .tags(            \n                \"name:marvel-app\",\n                \"terraform_managed:true\",\n                \"env:dev\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-app-profile:\n    type: spectrocloud:ApplicationProfile\n    properties:\n      name: my-app-profile\n      description: A profile for a simple application\n      context: project\n      packs:\n        - name: ${[\"marvel-app\"].name}\n          type: helm\n          registryUid: ${helm.id}\n          sourceAppTier: ${[\"marvel-app\"].id}\n      tags:\n        - name:marvel-app\n        - terraform_managed:true\n        - env:dev\nvariables:\n  helm:\n    fn::invoke:\n      function: spectrocloud:getRegistryHelm\n      arguments:\n        name: Public Spectro Helm Repo\n  marvel-app:\n    fn::invoke:\n      function: spectrocloud:getPack\n      arguments:\n        name: marvel-app\n        registryUid: ${helm.id}\n        version: 0.1.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n","properties":{"applicationProfileId":{"type":"string","description":"The ID of this resource.\n"},"cloud":{"type":"string","description":"The cloud provider the profile is eligible for. Default value is \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e.\n"},"context":{"type":"string","description":"Context of the profile. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`namespace`\" pulumi-lang-dotnet=\"`Namespace`\" pulumi-lang-go=\"`namespace`\" pulumi-lang-python=\"`namespace`\" pulumi-lang-yaml=\"`namespace`\" pulumi-lang-java=\"`namespace`\"\u003e`namespace`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e.If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"Description of the profile.\n"},"name":{"type":"string","description":"Name of the application profile\n"},"packs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FApplicationProfilePack:ApplicationProfilePack"},"description":"A list of packs to be applied to the application profile.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the application profile. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FApplicationProfileTimeouts:ApplicationProfileTimeouts"},"version":{"type":"string","description":"Version of the profile. Default value is 1.0.0.\n"}},"type":"object","required":["applicationProfileId","name","packs"],"inputProperties":{"applicationProfileId":{"type":"string","description":"The ID of this resource.\n"},"cloud":{"type":"string","description":"The cloud provider the profile is eligible for. Default value is \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e.\n"},"context":{"type":"string","description":"Context of the profile. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`namespace`\" pulumi-lang-dotnet=\"`Namespace`\" pulumi-lang-go=\"`namespace`\" pulumi-lang-python=\"`namespace`\" pulumi-lang-yaml=\"`namespace`\" pulumi-lang-java=\"`namespace`\"\u003e`namespace`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e.If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"Description of the profile.\n"},"name":{"type":"string","description":"Name of the application profile\n"},"packs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FApplicationProfilePack:ApplicationProfilePack"},"description":"A list of packs to be applied to the application profile.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the application profile. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FApplicationProfileTimeouts:ApplicationProfileTimeouts"},"version":{"type":"string","description":"Version of the profile. Default value is 1.0.0.\n"}},"requiredInputs":["packs"],"stateInputs":{"description":"Input properties used for looking up and filtering ApplicationProfile resources.\n","properties":{"applicationProfileId":{"type":"string","description":"The ID of this resource.\n"},"cloud":{"type":"string","description":"The cloud provider the profile is eligible for. Default value is \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e.\n"},"context":{"type":"string","description":"Context of the profile. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`namespace`\" pulumi-lang-dotnet=\"`Namespace`\" pulumi-lang-go=\"`namespace`\" pulumi-lang-python=\"`namespace`\" pulumi-lang-yaml=\"`namespace`\" pulumi-lang-java=\"`namespace`\"\u003e`namespace`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e.If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"Description of the profile.\n"},"name":{"type":"string","description":"Name of the application profile\n"},"packs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FApplicationProfilePack:ApplicationProfilePack"},"description":"A list of packs to be applied to the application profile.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the application profile. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FApplicationProfileTimeouts:ApplicationProfileTimeouts"},"version":{"type":"string","description":"Version of the profile. Default value is 1.0.0.\n"}},"type":"object"}},"spectrocloud:index/backupStorageLocation:BackupStorageLocation":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst bsl1 = new spectrocloud.BackupStorageLocation(\"bsl1\", {\n    name: \"dev-backup-s3\",\n    context: \"tenant\",\n    isDefault: false,\n    region: \"us-east-2\",\n    bucketName: \"dev-backup\",\n    s3: {\n        credentialType: credentialType,\n        accessKey: awsAccessKey,\n        secretKey: awsSecretKey,\n        s3ForcePathStyle: false,\n    },\n});\nconst bsl2 = new spectrocloud.BackupStorageLocation(\"bsl2\", {\n    name: \"prod-backup-s3\",\n    isDefault: false,\n    region: \"us-east-2\",\n    bucketName: \"prod-backup\",\n    s3: {\n        credentialType: credentialType,\n        arn: arn,\n        externalId: externalId,\n        s3ForcePathStyle: false,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nbsl1 = spectrocloud.BackupStorageLocation(\"bsl1\",\n    name=\"dev-backup-s3\",\n    context=\"tenant\",\n    is_default=False,\n    region=\"us-east-2\",\n    bucket_name=\"dev-backup\",\n    s3={\n        \"credential_type\": credential_type,\n        \"access_key\": aws_access_key,\n        \"secret_key\": aws_secret_key,\n        \"s3_force_path_style\": False,\n    })\nbsl2 = spectrocloud.BackupStorageLocation(\"bsl2\",\n    name=\"prod-backup-s3\",\n    is_default=False,\n    region=\"us-east-2\",\n    bucket_name=\"prod-backup\",\n    s3={\n        \"credential_type\": credential_type,\n        \"arn\": arn,\n        \"external_id\": external_id,\n        \"s3_force_path_style\": False,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var bsl1 = new Spectrocloud.BackupStorageLocation(\"bsl1\", new()\n    {\n        Name = \"dev-backup-s3\",\n        Context = \"tenant\",\n        IsDefault = false,\n        Region = \"us-east-2\",\n        BucketName = \"dev-backup\",\n        S3 = new Spectrocloud.Inputs.BackupStorageLocationS3Args\n        {\n            CredentialType = credentialType,\n            AccessKey = awsAccessKey,\n            SecretKey = awsSecretKey,\n            S3ForcePathStyle = false,\n        },\n    });\n\n    var bsl2 = new Spectrocloud.BackupStorageLocation(\"bsl2\", new()\n    {\n        Name = \"prod-backup-s3\",\n        IsDefault = false,\n        Region = \"us-east-2\",\n        BucketName = \"prod-backup\",\n        S3 = new Spectrocloud.Inputs.BackupStorageLocationS3Args\n        {\n            CredentialType = credentialType,\n            Arn = arn,\n            ExternalId = externalId,\n            S3ForcePathStyle = false,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewBackupStorageLocation(ctx, \"bsl1\", \u0026spectrocloud.BackupStorageLocationArgs{\n\t\t\tName:       pulumi.String(\"dev-backup-s3\"),\n\t\t\tContext:    pulumi.String(\"tenant\"),\n\t\t\tIsDefault:  pulumi.Bool(false),\n\t\t\tRegion:     pulumi.String(\"us-east-2\"),\n\t\t\tBucketName: pulumi.String(\"dev-backup\"),\n\t\t\tS3: \u0026spectrocloud.BackupStorageLocationS3Args{\n\t\t\t\tCredentialType:   pulumi.Any(credentialType),\n\t\t\t\tAccessKey:        pulumi.Any(awsAccessKey),\n\t\t\t\tSecretKey:        pulumi.Any(awsSecretKey),\n\t\t\t\tS3ForcePathStyle: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.NewBackupStorageLocation(ctx, \"bsl2\", \u0026spectrocloud.BackupStorageLocationArgs{\n\t\t\tName:       pulumi.String(\"prod-backup-s3\"),\n\t\t\tIsDefault:  pulumi.Bool(false),\n\t\t\tRegion:     pulumi.String(\"us-east-2\"),\n\t\t\tBucketName: pulumi.String(\"prod-backup\"),\n\t\t\tS3: \u0026spectrocloud.BackupStorageLocationS3Args{\n\t\t\t\tCredentialType:   pulumi.Any(credentialType),\n\t\t\t\tArn:              pulumi.Any(arn),\n\t\t\t\tExternalId:       pulumi.Any(externalId),\n\t\t\t\tS3ForcePathStyle: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.BackupStorageLocation;\nimport com.pulumi.spectrocloud.BackupStorageLocationArgs;\nimport com.pulumi.spectrocloud.inputs.BackupStorageLocationS3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var bsl1 = new BackupStorageLocation(\"bsl1\", BackupStorageLocationArgs.builder()\n            .name(\"dev-backup-s3\")\n            .context(\"tenant\")\n            .isDefault(false)\n            .region(\"us-east-2\")\n            .bucketName(\"dev-backup\")\n            .s3(BackupStorageLocationS3Args.builder()\n                .credentialType(credentialType)\n                .accessKey(awsAccessKey)\n                .secretKey(awsSecretKey)\n                .s3ForcePathStyle(false)\n                .build())\n            .build());\n\n        var bsl2 = new BackupStorageLocation(\"bsl2\", BackupStorageLocationArgs.builder()\n            .name(\"prod-backup-s3\")\n            .isDefault(false)\n            .region(\"us-east-2\")\n            .bucketName(\"prod-backup\")\n            .s3(BackupStorageLocationS3Args.builder()\n                .credentialType(credentialType)\n                .arn(arn)\n                .externalId(externalId)\n                .s3ForcePathStyle(false)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  bsl1:\n    type: spectrocloud:BackupStorageLocation\n    properties:\n      name: dev-backup-s3\n      context: tenant\n      isDefault: false\n      region: us-east-2\n      bucketName: dev-backup\n      s3:\n        credentialType: ${credentialType}\n        accessKey: ${awsAccessKey}\n        secretKey: ${awsSecretKey}\n        s3ForcePathStyle: false\n  bsl2:\n    type: spectrocloud:BackupStorageLocation\n    properties:\n      name: prod-backup-s3\n      isDefault: false\n      region: us-east-2\n      bucketName: prod-backup\n      s3:\n        credentialType: ${credentialType}\n        arn: ${arn}\n        externalId: ${externalId}\n        s3ForcePathStyle: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n### Context-specific Import\n\nbash\n\n```sh\n$ pulumi import spectrocloud:index/backupStorageLocation:BackupStorageLocation example \u003cbsl_id\u003e:project\n```\n\n```sh\n$ pulumi import spectrocloud:index/backupStorageLocation:BackupStorageLocation example \u003cbsl_id\u003e:tenant\n```\n\nWhere:\n\n- `\u003cbsl_id\u003e` is the Backup Storage Location ID\n\n- `project` or `tenant` specifies the context where the backup storage location exists\n\n**Import behavior:**\n\n- If no context is specified, it defaults to `project` context\n\n- If the resource is not found in the specified context, the import will automatically try the other context\n\n- The import will automatically populate all configuration fields from the Spectro Cloud API, including the correct context, storage provider, and all provider-specific settings\n\nAfter import, you can run `pulumi preview` to see the current configuration and make any necessary adjustments.\n\n","properties":{"azureStorageConfig":{"$ref":"#/types/spectrocloud:index%2FBackupStorageLocationAzureStorageConfig:BackupStorageLocationAzureStorageConfig","description":"Azure storage settings for configuring the backup storage location.\n"},"backupStorageLocationId":{"type":"string","description":"The ID of this resource.\n"},"bucketName":{"type":"string","description":"The name of the storage bucket where backups are stored. This is relevant for S3 or S3-compatible(minio) or gcp storage services.\n"},"caCert":{"type":"string","description":"An optional CA certificate used for SSL connections to ensure secure communication with the storage provider. This is relevant for S3 or S3-compatible(minio) storage services.\n"},"context":{"type":"string","description":"The context of the backup storage location. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"gcpStorageConfig":{"$ref":"#/types/spectrocloud:index%2FBackupStorageLocationGcpStorageConfig:BackupStorageLocationGcpStorageConfig","description":"GCP storage settings for configuring the backup storage location.\n"},"isDefault":{"type":"boolean","description":"Specifies if this backup storage location should be used as the default location for storing backups.\n"},"name":{"type":"string","description":"The name of the backup storage location. This is a unique identifier for the backup location.\n"},"region":{"type":"string","description":"The region where the backup storage is located, typically corresponding to the region of the cloud provider. This is relevant for S3 or S3-compatible(minio) storage services.\n"},"s3":{"$ref":"#/types/spectrocloud:index%2FBackupStorageLocationS3:BackupStorageLocationS3","description":"S3-specific settings for configuring the backup storage location.\n"},"storageProvider":{"type":"string","description":"The storage location provider for backup storage. Allowed values are \u003cspan pulumi-lang-nodejs=\"`aws`\" pulumi-lang-dotnet=\"`Aws`\" pulumi-lang-go=\"`aws`\" pulumi-lang-python=\"`aws`\" pulumi-lang-yaml=\"`aws`\" pulumi-lang-java=\"`aws`\"\u003e`aws`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`minio`\" pulumi-lang-dotnet=\"`Minio`\" pulumi-lang-go=\"`minio`\" pulumi-lang-python=\"`minio`\" pulumi-lang-yaml=\"`minio`\" pulumi-lang-java=\"`minio`\"\u003e`minio`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`gcp`\" pulumi-lang-dotnet=\"`Gcp`\" pulumi-lang-go=\"`gcp`\" pulumi-lang-python=\"`gcp`\" pulumi-lang-yaml=\"`gcp`\" pulumi-lang-java=\"`gcp`\"\u003e`gcp`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`aws`\" pulumi-lang-dotnet=\"`Aws`\" pulumi-lang-go=\"`aws`\" pulumi-lang-python=\"`aws`\" pulumi-lang-yaml=\"`aws`\" pulumi-lang-java=\"`aws`\"\u003e`aws`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FBackupStorageLocationTimeouts:BackupStorageLocationTimeouts"}},"type":"object","required":["backupStorageLocationId","name"],"inputProperties":{"azureStorageConfig":{"$ref":"#/types/spectrocloud:index%2FBackupStorageLocationAzureStorageConfig:BackupStorageLocationAzureStorageConfig","description":"Azure storage settings for configuring the backup storage location.\n"},"backupStorageLocationId":{"type":"string","description":"The ID of this resource.\n"},"bucketName":{"type":"string","description":"The name of the storage bucket where backups are stored. This is relevant for S3 or S3-compatible(minio) or gcp storage services.\n"},"caCert":{"type":"string","description":"An optional CA certificate used for SSL connections to ensure secure communication with the storage provider. This is relevant for S3 or S3-compatible(minio) storage services.\n"},"context":{"type":"string","description":"The context of the backup storage location. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"gcpStorageConfig":{"$ref":"#/types/spectrocloud:index%2FBackupStorageLocationGcpStorageConfig:BackupStorageLocationGcpStorageConfig","description":"GCP storage settings for configuring the backup storage location.\n"},"isDefault":{"type":"boolean","description":"Specifies if this backup storage location should be used as the default location for storing backups.\n"},"name":{"type":"string","description":"The name of the backup storage location. This is a unique identifier for the backup location.\n"},"region":{"type":"string","description":"The region where the backup storage is located, typically corresponding to the region of the cloud provider. This is relevant for S3 or S3-compatible(minio) storage services.\n"},"s3":{"$ref":"#/types/spectrocloud:index%2FBackupStorageLocationS3:BackupStorageLocationS3","description":"S3-specific settings for configuring the backup storage location.\n"},"storageProvider":{"type":"string","description":"The storage location provider for backup storage. Allowed values are \u003cspan pulumi-lang-nodejs=\"`aws`\" pulumi-lang-dotnet=\"`Aws`\" pulumi-lang-go=\"`aws`\" pulumi-lang-python=\"`aws`\" pulumi-lang-yaml=\"`aws`\" pulumi-lang-java=\"`aws`\"\u003e`aws`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`minio`\" pulumi-lang-dotnet=\"`Minio`\" pulumi-lang-go=\"`minio`\" pulumi-lang-python=\"`minio`\" pulumi-lang-yaml=\"`minio`\" pulumi-lang-java=\"`minio`\"\u003e`minio`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`gcp`\" pulumi-lang-dotnet=\"`Gcp`\" pulumi-lang-go=\"`gcp`\" pulumi-lang-python=\"`gcp`\" pulumi-lang-yaml=\"`gcp`\" pulumi-lang-java=\"`gcp`\"\u003e`gcp`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`aws`\" pulumi-lang-dotnet=\"`Aws`\" pulumi-lang-go=\"`aws`\" pulumi-lang-python=\"`aws`\" pulumi-lang-yaml=\"`aws`\" pulumi-lang-java=\"`aws`\"\u003e`aws`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FBackupStorageLocationTimeouts:BackupStorageLocationTimeouts"}},"stateInputs":{"description":"Input properties used for looking up and filtering BackupStorageLocation resources.\n","properties":{"azureStorageConfig":{"$ref":"#/types/spectrocloud:index%2FBackupStorageLocationAzureStorageConfig:BackupStorageLocationAzureStorageConfig","description":"Azure storage settings for configuring the backup storage location.\n"},"backupStorageLocationId":{"type":"string","description":"The ID of this resource.\n"},"bucketName":{"type":"string","description":"The name of the storage bucket where backups are stored. This is relevant for S3 or S3-compatible(minio) or gcp storage services.\n"},"caCert":{"type":"string","description":"An optional CA certificate used for SSL connections to ensure secure communication with the storage provider. This is relevant for S3 or S3-compatible(minio) storage services.\n"},"context":{"type":"string","description":"The context of the backup storage location. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"gcpStorageConfig":{"$ref":"#/types/spectrocloud:index%2FBackupStorageLocationGcpStorageConfig:BackupStorageLocationGcpStorageConfig","description":"GCP storage settings for configuring the backup storage location.\n"},"isDefault":{"type":"boolean","description":"Specifies if this backup storage location should be used as the default location for storing backups.\n"},"name":{"type":"string","description":"The name of the backup storage location. This is a unique identifier for the backup location.\n"},"region":{"type":"string","description":"The region where the backup storage is located, typically corresponding to the region of the cloud provider. This is relevant for S3 or S3-compatible(minio) storage services.\n"},"s3":{"$ref":"#/types/spectrocloud:index%2FBackupStorageLocationS3:BackupStorageLocationS3","description":"S3-specific settings for configuring the backup storage location.\n"},"storageProvider":{"type":"string","description":"The storage location provider for backup storage. Allowed values are \u003cspan pulumi-lang-nodejs=\"`aws`\" pulumi-lang-dotnet=\"`Aws`\" pulumi-lang-go=\"`aws`\" pulumi-lang-python=\"`aws`\" pulumi-lang-yaml=\"`aws`\" pulumi-lang-java=\"`aws`\"\u003e`aws`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`minio`\" pulumi-lang-dotnet=\"`Minio`\" pulumi-lang-go=\"`minio`\" pulumi-lang-python=\"`minio`\" pulumi-lang-yaml=\"`minio`\" pulumi-lang-java=\"`minio`\"\u003e`minio`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`gcp`\" pulumi-lang-dotnet=\"`Gcp`\" pulumi-lang-go=\"`gcp`\" pulumi-lang-python=\"`gcp`\" pulumi-lang-yaml=\"`gcp`\" pulumi-lang-java=\"`gcp`\"\u003e`gcp`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`aws`\" pulumi-lang-dotnet=\"`Aws`\" pulumi-lang-go=\"`aws`\" pulumi-lang-python=\"`aws`\" pulumi-lang-yaml=\"`aws`\" pulumi-lang-java=\"`aws`\"\u003e`aws`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FBackupStorageLocationTimeouts:BackupStorageLocationTimeouts"}},"type":"object"}},"spectrocloud:index/cloudaccountApacheCloudstack:CloudaccountApacheCloudstack":{"description":"## Example Usage\n\n### Basic Apache CloudStack Account\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst pcg = spectrocloud.getPrivateCloudGateway({\n    name: \"my-pcg\",\n});\nconst cloudstackAccount = new spectrocloud.CloudaccountApacheCloudstack(\"cloudstack_account\", {\n    name: \"apache-cloudstack-account-1\",\n    context: \"project\",\n    privateCloudGatewayId: pcg.then(pcg =\u003e pcg.id),\n    apiUrl: cloudstackApiUrl,\n    apiKey: cloudstackApiKey,\n    secretKey: cloudstackSecretKey,\n    domain: cloudstackDomain,\n    insecure: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\npcg = spectrocloud.get_private_cloud_gateway(name=\"my-pcg\")\ncloudstack_account = spectrocloud.CloudaccountApacheCloudstack(\"cloudstack_account\",\n    name=\"apache-cloudstack-account-1\",\n    context=\"project\",\n    private_cloud_gateway_id=pcg.id,\n    api_url=cloudstack_api_url,\n    api_key=cloudstack_api_key,\n    secret_key=cloudstack_secret_key,\n    domain=cloudstack_domain,\n    insecure=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pcg = Spectrocloud.GetPrivateCloudGateway.Invoke(new()\n    {\n        Name = \"my-pcg\",\n    });\n\n    var cloudstackAccount = new Spectrocloud.CloudaccountApacheCloudstack(\"cloudstack_account\", new()\n    {\n        Name = \"apache-cloudstack-account-1\",\n        Context = \"project\",\n        PrivateCloudGatewayId = pcg.Apply(getPrivateCloudGatewayResult =\u003e getPrivateCloudGatewayResult.Id),\n        ApiUrl = cloudstackApiUrl,\n        ApiKey = cloudstackApiKey,\n        SecretKey = cloudstackSecretKey,\n        Domain = cloudstackDomain,\n        Insecure = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpcg, err := spectrocloud.GetPrivateCloudGateway(ctx, \u0026spectrocloud.GetPrivateCloudGatewayArgs{\n\t\t\tName: pulumi.StringRef(\"my-pcg\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.NewCloudaccountApacheCloudstack(ctx, \"cloudstack_account\", \u0026spectrocloud.CloudaccountApacheCloudstackArgs{\n\t\t\tName:                  pulumi.String(\"apache-cloudstack-account-1\"),\n\t\t\tContext:               pulumi.String(\"project\"),\n\t\t\tPrivateCloudGatewayId: pulumi.String(pcg.Id),\n\t\t\tApiUrl:                pulumi.Any(cloudstackApiUrl),\n\t\t\tApiKey:                pulumi.Any(cloudstackApiKey),\n\t\t\tSecretKey:             pulumi.Any(cloudstackSecretKey),\n\t\t\tDomain:                pulumi.Any(cloudstackDomain),\n\t\t\tInsecure:              pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetPrivateCloudGatewayArgs;\nimport com.pulumi.spectrocloud.CloudaccountApacheCloudstack;\nimport com.pulumi.spectrocloud.CloudaccountApacheCloudstackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pcg = SpectrocloudFunctions.getPrivateCloudGateway(GetPrivateCloudGatewayArgs.builder()\n            .name(\"my-pcg\")\n            .build());\n\n        var cloudstackAccount = new CloudaccountApacheCloudstack(\"cloudstackAccount\", CloudaccountApacheCloudstackArgs.builder()\n            .name(\"apache-cloudstack-account-1\")\n            .context(\"project\")\n            .privateCloudGatewayId(pcg.id())\n            .apiUrl(cloudstackApiUrl)\n            .apiKey(cloudstackApiKey)\n            .secretKey(cloudstackSecretKey)\n            .domain(cloudstackDomain)\n            .insecure(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  cloudstackAccount:\n    type: spectrocloud:CloudaccountApacheCloudstack\n    name: cloudstack_account\n    properties:\n      name: apache-cloudstack-account-1\n      context: project\n      privateCloudGatewayId: ${pcg.id}\n      apiUrl: ${cloudstackApiUrl}\n      apiKey: ${cloudstackApiKey}\n      secretKey: ${cloudstackSecretKey}\n      domain: ${cloudstackDomain}\n      insecure: false\nvariables:\n  pcg:\n    fn::invoke:\n      function: spectrocloud:getPrivateCloudGateway\n      arguments:\n        name: my-pcg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Apache CloudStack Account with Custom Domain\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst pcg = spectrocloud.getPrivateCloudGateway({\n    name: \"production-pcg\",\n});\nconst cloudstackDomainAccount = new spectrocloud.CloudaccountApacheCloudstack(\"cloudstack_domain_account\", {\n    name: \"apache-cloudstack-production\",\n    context: \"project\",\n    privateCloudGatewayId: pcg.then(pcg =\u003e pcg.id),\n    apiUrl: cloudstackApiUrl,\n    apiKey: cloudstackApiKey,\n    secretKey: cloudstackSecretKey,\n    domain: cloudstackDomain,\n    insecure: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\npcg = spectrocloud.get_private_cloud_gateway(name=\"production-pcg\")\ncloudstack_domain_account = spectrocloud.CloudaccountApacheCloudstack(\"cloudstack_domain_account\",\n    name=\"apache-cloudstack-production\",\n    context=\"project\",\n    private_cloud_gateway_id=pcg.id,\n    api_url=cloudstack_api_url,\n    api_key=cloudstack_api_key,\n    secret_key=cloudstack_secret_key,\n    domain=cloudstack_domain,\n    insecure=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pcg = Spectrocloud.GetPrivateCloudGateway.Invoke(new()\n    {\n        Name = \"production-pcg\",\n    });\n\n    var cloudstackDomainAccount = new Spectrocloud.CloudaccountApacheCloudstack(\"cloudstack_domain_account\", new()\n    {\n        Name = \"apache-cloudstack-production\",\n        Context = \"project\",\n        PrivateCloudGatewayId = pcg.Apply(getPrivateCloudGatewayResult =\u003e getPrivateCloudGatewayResult.Id),\n        ApiUrl = cloudstackApiUrl,\n        ApiKey = cloudstackApiKey,\n        SecretKey = cloudstackSecretKey,\n        Domain = cloudstackDomain,\n        Insecure = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpcg, err := spectrocloud.GetPrivateCloudGateway(ctx, \u0026spectrocloud.GetPrivateCloudGatewayArgs{\n\t\t\tName: pulumi.StringRef(\"production-pcg\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.NewCloudaccountApacheCloudstack(ctx, \"cloudstack_domain_account\", \u0026spectrocloud.CloudaccountApacheCloudstackArgs{\n\t\t\tName:                  pulumi.String(\"apache-cloudstack-production\"),\n\t\t\tContext:               pulumi.String(\"project\"),\n\t\t\tPrivateCloudGatewayId: pulumi.String(pcg.Id),\n\t\t\tApiUrl:                pulumi.Any(cloudstackApiUrl),\n\t\t\tApiKey:                pulumi.Any(cloudstackApiKey),\n\t\t\tSecretKey:             pulumi.Any(cloudstackSecretKey),\n\t\t\tDomain:                pulumi.Any(cloudstackDomain),\n\t\t\tInsecure:              pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetPrivateCloudGatewayArgs;\nimport com.pulumi.spectrocloud.CloudaccountApacheCloudstack;\nimport com.pulumi.spectrocloud.CloudaccountApacheCloudstackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pcg = SpectrocloudFunctions.getPrivateCloudGateway(GetPrivateCloudGatewayArgs.builder()\n            .name(\"production-pcg\")\n            .build());\n\n        var cloudstackDomainAccount = new CloudaccountApacheCloudstack(\"cloudstackDomainAccount\", CloudaccountApacheCloudstackArgs.builder()\n            .name(\"apache-cloudstack-production\")\n            .context(\"project\")\n            .privateCloudGatewayId(pcg.id())\n            .apiUrl(cloudstackApiUrl)\n            .apiKey(cloudstackApiKey)\n            .secretKey(cloudstackSecretKey)\n            .domain(cloudstackDomain)\n            .insecure(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  cloudstackDomainAccount:\n    type: spectrocloud:CloudaccountApacheCloudstack\n    name: cloudstack_domain_account\n    properties:\n      name: apache-cloudstack-production\n      context: project\n      privateCloudGatewayId: ${pcg.id}\n      apiUrl: ${cloudstackApiUrl}\n      apiKey: ${cloudstackApiKey}\n      secretKey: ${cloudstackSecretKey}\n      domain: ${cloudstackDomain}\n      insecure: false\nvariables:\n  pcg:\n    fn::invoke:\n      function: spectrocloud:getPrivateCloudGateway\n      arguments:\n        name: production-pcg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Apache CloudStack Account with Insecure Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\n// Note: Use insecure mode only in development/testing environments\n// Not recommended for production use\nconst devPcg = spectrocloud.getPrivateCloudGateway({\n    name: \"dev-pcg\",\n});\nconst cloudstackInsecure = new spectrocloud.CloudaccountApacheCloudstack(\"cloudstack_insecure\", {\n    name: \"apache-cloudstack-dev\",\n    context: \"project\",\n    privateCloudGatewayId: devPcg.then(devPcg =\u003e devPcg.id),\n    apiUrl: cloudstackApiUrl,\n    apiKey: cloudstackApiKey,\n    secretKey: cloudstackSecretKey,\n    domain: cloudstackDomain,\n    insecure: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\n# Note: Use insecure mode only in development/testing environments\n# Not recommended for production use\ndev_pcg = spectrocloud.get_private_cloud_gateway(name=\"dev-pcg\")\ncloudstack_insecure = spectrocloud.CloudaccountApacheCloudstack(\"cloudstack_insecure\",\n    name=\"apache-cloudstack-dev\",\n    context=\"project\",\n    private_cloud_gateway_id=dev_pcg.id,\n    api_url=cloudstack_api_url,\n    api_key=cloudstack_api_key,\n    secret_key=cloudstack_secret_key,\n    domain=cloudstack_domain,\n    insecure=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Note: Use insecure mode only in development/testing environments\n    // Not recommended for production use\n    var devPcg = Spectrocloud.GetPrivateCloudGateway.Invoke(new()\n    {\n        Name = \"dev-pcg\",\n    });\n\n    var cloudstackInsecure = new Spectrocloud.CloudaccountApacheCloudstack(\"cloudstack_insecure\", new()\n    {\n        Name = \"apache-cloudstack-dev\",\n        Context = \"project\",\n        PrivateCloudGatewayId = devPcg.Apply(getPrivateCloudGatewayResult =\u003e getPrivateCloudGatewayResult.Id),\n        ApiUrl = cloudstackApiUrl,\n        ApiKey = cloudstackApiKey,\n        SecretKey = cloudstackSecretKey,\n        Domain = cloudstackDomain,\n        Insecure = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Note: Use insecure mode only in development/testing environments\n\t\t// Not recommended for production use\n\t\tdevPcg, err := spectrocloud.GetPrivateCloudGateway(ctx, \u0026spectrocloud.GetPrivateCloudGatewayArgs{\n\t\t\tName: pulumi.StringRef(\"dev-pcg\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.NewCloudaccountApacheCloudstack(ctx, \"cloudstack_insecure\", \u0026spectrocloud.CloudaccountApacheCloudstackArgs{\n\t\t\tName:                  pulumi.String(\"apache-cloudstack-dev\"),\n\t\t\tContext:               pulumi.String(\"project\"),\n\t\t\tPrivateCloudGatewayId: pulumi.String(devPcg.Id),\n\t\t\tApiUrl:                pulumi.Any(cloudstackApiUrl),\n\t\t\tApiKey:                pulumi.Any(cloudstackApiKey),\n\t\t\tSecretKey:             pulumi.Any(cloudstackSecretKey),\n\t\t\tDomain:                pulumi.Any(cloudstackDomain),\n\t\t\tInsecure:              pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetPrivateCloudGatewayArgs;\nimport com.pulumi.spectrocloud.CloudaccountApacheCloudstack;\nimport com.pulumi.spectrocloud.CloudaccountApacheCloudstackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Note: Use insecure mode only in development/testing environments\n        // Not recommended for production use\n        final var devPcg = SpectrocloudFunctions.getPrivateCloudGateway(GetPrivateCloudGatewayArgs.builder()\n            .name(\"dev-pcg\")\n            .build());\n\n        var cloudstackInsecure = new CloudaccountApacheCloudstack(\"cloudstackInsecure\", CloudaccountApacheCloudstackArgs.builder()\n            .name(\"apache-cloudstack-dev\")\n            .context(\"project\")\n            .privateCloudGatewayId(devPcg.id())\n            .apiUrl(cloudstackApiUrl)\n            .apiKey(cloudstackApiKey)\n            .secretKey(cloudstackSecretKey)\n            .domain(cloudstackDomain)\n            .insecure(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  cloudstackInsecure:\n    type: spectrocloud:CloudaccountApacheCloudstack\n    name: cloudstack_insecure\n    properties:\n      name: apache-cloudstack-dev\n      context: project\n      privateCloudGatewayId: ${devPcg.id}\n      apiUrl: ${cloudstackApiUrl}\n      apiKey: ${cloudstackApiKey}\n      secretKey: ${cloudstackSecretKey}\n      domain: ${cloudstackDomain}\n      insecure: true\nvariables:\n  # Note: Use insecure mode only in development/testing environments\n  # Not recommended for production use\n  devPcg:\n    fn::invoke:\n      function: spectrocloud:getPrivateCloudGateway\n      arguments:\n        name: dev-pcg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nUsing `pulumi import`, import the cloud account using the \u003cspan pulumi-lang-nodejs=\"`cloudAccountName`\" pulumi-lang-dotnet=\"`CloudAccountName`\" pulumi-lang-go=\"`cloudAccountName`\" pulumi-lang-python=\"`cloud_account_name`\" pulumi-lang-yaml=\"`cloudAccountName`\" pulumi-lang-java=\"`cloudAccountName`\"\u003e`cloud_account_name`\u003c/span\u003e or  \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e colon separated with \u003cspan pulumi-lang-nodejs=\"`context`\" pulumi-lang-dotnet=\"`Context`\" pulumi-lang-go=\"`context`\" pulumi-lang-python=\"`context`\" pulumi-lang-yaml=\"`context`\" pulumi-lang-java=\"`context`\"\u003e`context`\u003c/span\u003e. For example:\n\n```console\nterraform import spectrocloud_cloudaccount_apache_cloudstack.{cloud_account_uid}/{cloud_account_name}:project\n```\n","properties":{"apiKey":{"type":"string","description":"The API key for Apache CloudStack authentication.\n","secret":true},"apiUrl":{"type":"string","description":"The API URL of the Apache CloudStack management server. For example: https://cloudstack.example.com:8080/client/api\n"},"cloudaccountApacheCloudstackId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the Apache CloudStack configuration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"domain":{"type":"string","description":"The domain for the Apache CloudStack account. Optional, for multi-domain CloudStack environments. Default is empty (ROOT domain).\n"},"insecure":{"type":"boolean","description":"Skip SSL certificate verification. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Note: Apache CloudStack must have valid SSL certificates from a trusted CA if this is false.\n"},"name":{"type":"string","description":"Name of the Apache CloudStack cloud account.\n"},"privateCloudGatewayId":{"type":"string","description":"ID of the private cloud gateway that is used to connect to the Apache CloudStack cloud.\n"},"secretKey":{"type":"string","description":"The secret key for Apache CloudStack authentication.\n","secret":true}},"type":"object","required":["apiKey","apiUrl","cloudaccountApacheCloudstackId","name","privateCloudGatewayId","secretKey"],"inputProperties":{"apiKey":{"type":"string","description":"The API key for Apache CloudStack authentication.\n","secret":true},"apiUrl":{"type":"string","description":"The API URL of the Apache CloudStack management server. For example: https://cloudstack.example.com:8080/client/api\n"},"cloudaccountApacheCloudstackId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the Apache CloudStack configuration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"domain":{"type":"string","description":"The domain for the Apache CloudStack account. Optional, for multi-domain CloudStack environments. Default is empty (ROOT domain).\n"},"insecure":{"type":"boolean","description":"Skip SSL certificate verification. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Note: Apache CloudStack must have valid SSL certificates from a trusted CA if this is false.\n"},"name":{"type":"string","description":"Name of the Apache CloudStack cloud account.\n"},"privateCloudGatewayId":{"type":"string","description":"ID of the private cloud gateway that is used to connect to the Apache CloudStack cloud.\n"},"secretKey":{"type":"string","description":"The secret key for Apache CloudStack authentication.\n","secret":true}},"requiredInputs":["apiKey","apiUrl","privateCloudGatewayId","secretKey"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudaccountApacheCloudstack resources.\n","properties":{"apiKey":{"type":"string","description":"The API key for Apache CloudStack authentication.\n","secret":true},"apiUrl":{"type":"string","description":"The API URL of the Apache CloudStack management server. For example: https://cloudstack.example.com:8080/client/api\n"},"cloudaccountApacheCloudstackId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the Apache CloudStack configuration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"domain":{"type":"string","description":"The domain for the Apache CloudStack account. Optional, for multi-domain CloudStack environments. Default is empty (ROOT domain).\n"},"insecure":{"type":"boolean","description":"Skip SSL certificate verification. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Note: Apache CloudStack must have valid SSL certificates from a trusted CA if this is false.\n"},"name":{"type":"string","description":"Name of the Apache CloudStack cloud account.\n"},"privateCloudGatewayId":{"type":"string","description":"ID of the private cloud gateway that is used to connect to the Apache CloudStack cloud.\n"},"secretKey":{"type":"string","description":"The secret key for Apache CloudStack authentication.\n","secret":true}},"type":"object"}},"spectrocloud:index/cloudaccountAws:CloudaccountAws":{"description":"## Example Usage\n\n### Secret Credentials\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst awsSecret = new spectrocloud.CloudaccountAws(\"aws_secret\", {\n    name: \"aws-account-secret\",\n    type: \"secret\",\n    awsSecuredAccessKey: awsAccessKey,\n    awsSecretKey: awsSecretKey,\n    partition: \"aws\",\n    policyArns: [\"arn:aws:iam::123456789012:policy/CustomPolicy\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\naws_secret = spectrocloud.CloudaccountAws(\"aws_secret\",\n    name=\"aws-account-secret\",\n    type=\"secret\",\n    aws_secured_access_key=aws_access_key,\n    aws_secret_key=aws_secret_key,\n    partition=\"aws\",\n    policy_arns=[\"arn:aws:iam::123456789012:policy/CustomPolicy\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var awsSecret = new Spectrocloud.CloudaccountAws(\"aws_secret\", new()\n    {\n        Name = \"aws-account-secret\",\n        Type = \"secret\",\n        AwsSecuredAccessKey = awsAccessKey,\n        AwsSecretKey = awsSecretKey,\n        Partition = \"aws\",\n        PolicyArns = new[]\n        {\n            \"arn:aws:iam::123456789012:policy/CustomPolicy\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewCloudaccountAws(ctx, \"aws_secret\", \u0026spectrocloud.CloudaccountAwsArgs{\n\t\t\tName:                pulumi.String(\"aws-account-secret\"),\n\t\t\tType:                pulumi.String(\"secret\"),\n\t\t\tAwsSecuredAccessKey: pulumi.Any(awsAccessKey),\n\t\t\tAwsSecretKey:        pulumi.Any(awsSecretKey),\n\t\t\tPartition:           pulumi.String(\"aws\"),\n\t\t\tPolicyArns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:iam::123456789012:policy/CustomPolicy\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.CloudaccountAws;\nimport com.pulumi.spectrocloud.CloudaccountAwsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var awsSecret = new CloudaccountAws(\"awsSecret\", CloudaccountAwsArgs.builder()\n            .name(\"aws-account-secret\")\n            .type(\"secret\")\n            .awsSecuredAccessKey(awsAccessKey)\n            .awsSecretKey(awsSecretKey)\n            .partition(\"aws\")\n            .policyArns(\"arn:aws:iam::123456789012:policy/CustomPolicy\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  awsSecret:\n    type: spectrocloud:CloudaccountAws\n    name: aws_secret\n    properties:\n      name: aws-account-secret\n      type: secret\n      awsSecuredAccessKey: ${awsAccessKey}\n      awsSecretKey: ${awsSecretKey}\n      partition: aws\n      policyArns:\n        - arn:aws:iam::123456789012:policy/CustomPolicy\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### STS Credentials\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst awsSts = new spectrocloud.CloudaccountAws(\"aws_sts\", {\n    name: \"aws-account-sts\",\n    type: \"sts\",\n    arn: \"arn:aws:iam::123456789012:role/SpectroCloudRole\",\n    externalId: \"externalId123\",\n    partition: \"aws\",\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\naws_sts = spectrocloud.CloudaccountAws(\"aws_sts\",\n    name=\"aws-account-sts\",\n    type=\"sts\",\n    arn=\"arn:aws:iam::123456789012:role/SpectroCloudRole\",\n    external_id=\"externalId123\",\n    partition=\"aws\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var awsSts = new Spectrocloud.CloudaccountAws(\"aws_sts\", new()\n    {\n        Name = \"aws-account-sts\",\n        Type = \"sts\",\n        Arn = \"arn:aws:iam::123456789012:role/SpectroCloudRole\",\n        ExternalId = \"externalId123\",\n        Partition = \"aws\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewCloudaccountAws(ctx, \"aws_sts\", \u0026spectrocloud.CloudaccountAwsArgs{\n\t\t\tName:       pulumi.String(\"aws-account-sts\"),\n\t\t\tType:       pulumi.String(\"sts\"),\n\t\t\tArn:        pulumi.String(\"arn:aws:iam::123456789012:role/SpectroCloudRole\"),\n\t\t\tExternalId: pulumi.String(\"externalId123\"),\n\t\t\tPartition:  pulumi.String(\"aws\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.CloudaccountAws;\nimport com.pulumi.spectrocloud.CloudaccountAwsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var awsSts = new CloudaccountAws(\"awsSts\", CloudaccountAwsArgs.builder()\n            .name(\"aws-account-sts\")\n            .type(\"sts\")\n            .arn(\"arn:aws:iam::123456789012:role/SpectroCloudRole\")\n            .externalId(\"externalId123\")\n            .partition(\"aws\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  awsSts:\n    type: spectrocloud:CloudaccountAws\n    name: aws_sts\n    properties:\n      name: aws-account-sts\n      type: sts\n      arn: arn:aws:iam::123456789012:role/SpectroCloudRole\n      externalId: externalId123\n      partition: aws\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### EKS Pod Identity\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst awsPodIdentity = new spectrocloud.CloudaccountAws(\"aws_pod_identity\", {\n    name: \"aws-account-pod-identity\",\n    type: \"pod-identity\",\n    roleArn: \"arn:aws:iam::123456789012:role/EKSPodIdentityRole\",\n    permissionBoundaryArn: \"arn:aws:iam::123456789012:policy/PermissionBoundary\",\n    partition: \"aws\",\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\naws_pod_identity = spectrocloud.CloudaccountAws(\"aws_pod_identity\",\n    name=\"aws-account-pod-identity\",\n    type=\"pod-identity\",\n    role_arn=\"arn:aws:iam::123456789012:role/EKSPodIdentityRole\",\n    permission_boundary_arn=\"arn:aws:iam::123456789012:policy/PermissionBoundary\",\n    partition=\"aws\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var awsPodIdentity = new Spectrocloud.CloudaccountAws(\"aws_pod_identity\", new()\n    {\n        Name = \"aws-account-pod-identity\",\n        Type = \"pod-identity\",\n        RoleArn = \"arn:aws:iam::123456789012:role/EKSPodIdentityRole\",\n        PermissionBoundaryArn = \"arn:aws:iam::123456789012:policy/PermissionBoundary\",\n        Partition = \"aws\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewCloudaccountAws(ctx, \"aws_pod_identity\", \u0026spectrocloud.CloudaccountAwsArgs{\n\t\t\tName:                  pulumi.String(\"aws-account-pod-identity\"),\n\t\t\tType:                  pulumi.String(\"pod-identity\"),\n\t\t\tRoleArn:               pulumi.String(\"arn:aws:iam::123456789012:role/EKSPodIdentityRole\"),\n\t\t\tPermissionBoundaryArn: pulumi.String(\"arn:aws:iam::123456789012:policy/PermissionBoundary\"),\n\t\t\tPartition:             pulumi.String(\"aws\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.CloudaccountAws;\nimport com.pulumi.spectrocloud.CloudaccountAwsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var awsPodIdentity = new CloudaccountAws(\"awsPodIdentity\", CloudaccountAwsArgs.builder()\n            .name(\"aws-account-pod-identity\")\n            .type(\"pod-identity\")\n            .roleArn(\"arn:aws:iam::123456789012:role/EKSPodIdentityRole\")\n            .permissionBoundaryArn(\"arn:aws:iam::123456789012:policy/PermissionBoundary\")\n            .partition(\"aws\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  awsPodIdentity:\n    type: spectrocloud:CloudaccountAws\n    name: aws_pod_identity\n    properties:\n      name: aws-account-pod-identity\n      type: pod-identity\n      roleArn: arn:aws:iam::123456789012:role/EKSPodIdentityRole\n      permissionBoundaryArn: arn:aws:iam::123456789012:policy/PermissionBoundary\n      partition: aws\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the cloud account using the `cloud_account_name` or  `id` colon separated with `context`. For example:\n\nconsole\n\n```sh\n$ pulumi import spectrocloud:index/cloudaccountAws:CloudaccountAws {cloud_account_uid}/{cloud_account_name}:project \n```\n\n","properties":{"arn":{"type":"string","description":"The Amazon Resource Name (ARN) associated with the AWS resource. This is used for identifying resources in AWS. Used for STS credential type.\n"},"awsAccessKey":{"type":"string","description":"The AWS access key used to authenticate. **Deprecated:** Use \u003cspan pulumi-lang-nodejs=\"`awsSecuredAccessKey`\" pulumi-lang-dotnet=\"`AwsSecuredAccessKey`\" pulumi-lang-go=\"`awsSecuredAccessKey`\" pulumi-lang-python=\"`aws_secured_access_key`\" pulumi-lang-yaml=\"`awsSecuredAccessKey`\" pulumi-lang-java=\"`awsSecuredAccessKey`\"\u003e`aws_secured_access_key`\u003c/span\u003e instead for enhanced security. **Note:** This field is mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`awsSecuredAccessKey`\" pulumi-lang-dotnet=\"`AwsSecuredAccessKey`\" pulumi-lang-go=\"`awsSecuredAccessKey`\" pulumi-lang-python=\"`aws_secured_access_key`\" pulumi-lang-yaml=\"`awsSecuredAccessKey`\" pulumi-lang-java=\"`awsSecuredAccessKey`\"\u003e`aws_secured_access_key`\u003c/span\u003e.\n"},"awsSecretKey":{"type":"string","description":"The AWS secret key used in conjunction with the access key for authentication.\n","secret":true},"awsSecuredAccessKey":{"type":"string","description":"The AWS access key used to authenticate. This is a secure alternative to \u003cspan pulumi-lang-nodejs=\"`awsAccessKey`\" pulumi-lang-dotnet=\"`AwsAccessKey`\" pulumi-lang-go=\"`awsAccessKey`\" pulumi-lang-python=\"`aws_access_key`\" pulumi-lang-yaml=\"`awsAccessKey`\" pulumi-lang-java=\"`awsAccessKey`\"\u003e`aws_access_key`\u003c/span\u003e with sensitive attribute enabled. **Note:** This field is mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`awsAccessKey`\" pulumi-lang-dotnet=\"`AwsAccessKey`\" pulumi-lang-go=\"`awsAccessKey`\" pulumi-lang-python=\"`aws_access_key`\" pulumi-lang-yaml=\"`awsAccessKey`\" pulumi-lang-java=\"`awsAccessKey`\"\u003e`aws_access_key`\u003c/span\u003e.\n","secret":true},"cloudaccountAwsId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the AWS configuration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"externalId":{"type":"string","description":"An optional external ID that can be used for cross-account access in AWS. Used for STS credential type.\n","secret":true},"name":{"type":"string"},"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'.\n"},"permissionBoundaryArn":{"type":"string","description":"Optional Permission Boundary ARN to limit the maximum permissions for roles created by Hubble. Used with `pod-identity` credential type.\n"},"policyArns":{"type":"array","items":{"type":"string"},"description":"A set of ARNs for the IAM policies that should be associated with the cloud account.\n"},"privateCloudGatewayId":{"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.\n"},"roleArn":{"type":"string","description":"The IAM Role ARN for AWS EKS Pod Identity authentication. Required when type is `pod-identity`.\n"},"type":{"type":"string","description":"The type of AWS credentials to use. Can be \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sts`\" pulumi-lang-dotnet=\"`Sts`\" pulumi-lang-go=\"`sts`\" pulumi-lang-python=\"`sts`\" pulumi-lang-yaml=\"`sts`\" pulumi-lang-java=\"`sts`\"\u003e`sts`\u003c/span\u003e, or `pod-identity`.\n"}},"type":"object","required":["cloudaccountAwsId","name"],"inputProperties":{"arn":{"type":"string","description":"The Amazon Resource Name (ARN) associated with the AWS resource. This is used for identifying resources in AWS. Used for STS credential type.\n"},"awsAccessKey":{"type":"string","description":"The AWS access key used to authenticate. **Deprecated:** Use \u003cspan pulumi-lang-nodejs=\"`awsSecuredAccessKey`\" pulumi-lang-dotnet=\"`AwsSecuredAccessKey`\" pulumi-lang-go=\"`awsSecuredAccessKey`\" pulumi-lang-python=\"`aws_secured_access_key`\" pulumi-lang-yaml=\"`awsSecuredAccessKey`\" pulumi-lang-java=\"`awsSecuredAccessKey`\"\u003e`aws_secured_access_key`\u003c/span\u003e instead for enhanced security. **Note:** This field is mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`awsSecuredAccessKey`\" pulumi-lang-dotnet=\"`AwsSecuredAccessKey`\" pulumi-lang-go=\"`awsSecuredAccessKey`\" pulumi-lang-python=\"`aws_secured_access_key`\" pulumi-lang-yaml=\"`awsSecuredAccessKey`\" pulumi-lang-java=\"`awsSecuredAccessKey`\"\u003e`aws_secured_access_key`\u003c/span\u003e.\n"},"awsSecretKey":{"type":"string","description":"The AWS secret key used in conjunction with the access key for authentication.\n","secret":true},"awsSecuredAccessKey":{"type":"string","description":"The AWS access key used to authenticate. This is a secure alternative to \u003cspan pulumi-lang-nodejs=\"`awsAccessKey`\" pulumi-lang-dotnet=\"`AwsAccessKey`\" pulumi-lang-go=\"`awsAccessKey`\" pulumi-lang-python=\"`aws_access_key`\" pulumi-lang-yaml=\"`awsAccessKey`\" pulumi-lang-java=\"`awsAccessKey`\"\u003e`aws_access_key`\u003c/span\u003e with sensitive attribute enabled. **Note:** This field is mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`awsAccessKey`\" pulumi-lang-dotnet=\"`AwsAccessKey`\" pulumi-lang-go=\"`awsAccessKey`\" pulumi-lang-python=\"`aws_access_key`\" pulumi-lang-yaml=\"`awsAccessKey`\" pulumi-lang-java=\"`awsAccessKey`\"\u003e`aws_access_key`\u003c/span\u003e.\n","secret":true},"cloudaccountAwsId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the AWS configuration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"externalId":{"type":"string","description":"An optional external ID that can be used for cross-account access in AWS. Used for STS credential type.\n","secret":true},"name":{"type":"string"},"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'.\n"},"permissionBoundaryArn":{"type":"string","description":"Optional Permission Boundary ARN to limit the maximum permissions for roles created by Hubble. Used with `pod-identity` credential type.\n"},"policyArns":{"type":"array","items":{"type":"string"},"description":"A set of ARNs for the IAM policies that should be associated with the cloud account.\n"},"privateCloudGatewayId":{"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.\n"},"roleArn":{"type":"string","description":"The IAM Role ARN for AWS EKS Pod Identity authentication. Required when type is `pod-identity`.\n"},"type":{"type":"string","description":"The type of AWS credentials to use. Can be \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sts`\" pulumi-lang-dotnet=\"`Sts`\" pulumi-lang-go=\"`sts`\" pulumi-lang-python=\"`sts`\" pulumi-lang-yaml=\"`sts`\" pulumi-lang-java=\"`sts`\"\u003e`sts`\u003c/span\u003e, or `pod-identity`.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering CloudaccountAws resources.\n","properties":{"arn":{"type":"string","description":"The Amazon Resource Name (ARN) associated with the AWS resource. This is used for identifying resources in AWS. Used for STS credential type.\n"},"awsAccessKey":{"type":"string","description":"The AWS access key used to authenticate. **Deprecated:** Use \u003cspan pulumi-lang-nodejs=\"`awsSecuredAccessKey`\" pulumi-lang-dotnet=\"`AwsSecuredAccessKey`\" pulumi-lang-go=\"`awsSecuredAccessKey`\" pulumi-lang-python=\"`aws_secured_access_key`\" pulumi-lang-yaml=\"`awsSecuredAccessKey`\" pulumi-lang-java=\"`awsSecuredAccessKey`\"\u003e`aws_secured_access_key`\u003c/span\u003e instead for enhanced security. **Note:** This field is mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`awsSecuredAccessKey`\" pulumi-lang-dotnet=\"`AwsSecuredAccessKey`\" pulumi-lang-go=\"`awsSecuredAccessKey`\" pulumi-lang-python=\"`aws_secured_access_key`\" pulumi-lang-yaml=\"`awsSecuredAccessKey`\" pulumi-lang-java=\"`awsSecuredAccessKey`\"\u003e`aws_secured_access_key`\u003c/span\u003e.\n"},"awsSecretKey":{"type":"string","description":"The AWS secret key used in conjunction with the access key for authentication.\n","secret":true},"awsSecuredAccessKey":{"type":"string","description":"The AWS access key used to authenticate. This is a secure alternative to \u003cspan pulumi-lang-nodejs=\"`awsAccessKey`\" pulumi-lang-dotnet=\"`AwsAccessKey`\" pulumi-lang-go=\"`awsAccessKey`\" pulumi-lang-python=\"`aws_access_key`\" pulumi-lang-yaml=\"`awsAccessKey`\" pulumi-lang-java=\"`awsAccessKey`\"\u003e`aws_access_key`\u003c/span\u003e with sensitive attribute enabled. **Note:** This field is mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`awsAccessKey`\" pulumi-lang-dotnet=\"`AwsAccessKey`\" pulumi-lang-go=\"`awsAccessKey`\" pulumi-lang-python=\"`aws_access_key`\" pulumi-lang-yaml=\"`awsAccessKey`\" pulumi-lang-java=\"`awsAccessKey`\"\u003e`aws_access_key`\u003c/span\u003e.\n","secret":true},"cloudaccountAwsId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the AWS configuration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"externalId":{"type":"string","description":"An optional external ID that can be used for cross-account access in AWS. Used for STS credential type.\n","secret":true},"name":{"type":"string"},"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'.\n"},"permissionBoundaryArn":{"type":"string","description":"Optional Permission Boundary ARN to limit the maximum permissions for roles created by Hubble. Used with `pod-identity` credential type.\n"},"policyArns":{"type":"array","items":{"type":"string"},"description":"A set of ARNs for the IAM policies that should be associated with the cloud account.\n"},"privateCloudGatewayId":{"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.\n"},"roleArn":{"type":"string","description":"The IAM Role ARN for AWS EKS Pod Identity authentication. Required when type is `pod-identity`.\n"},"type":{"type":"string","description":"The type of AWS credentials to use. Can be \u003cspan pulumi-lang-nodejs=\"`secret`\" pulumi-lang-dotnet=\"`Secret`\" pulumi-lang-go=\"`secret`\" pulumi-lang-python=\"`secret`\" pulumi-lang-yaml=\"`secret`\" pulumi-lang-java=\"`secret`\"\u003e`secret`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sts`\" pulumi-lang-dotnet=\"`Sts`\" pulumi-lang-go=\"`sts`\" pulumi-lang-python=\"`sts`\" pulumi-lang-yaml=\"`sts`\" pulumi-lang-java=\"`sts`\"\u003e`sts`\u003c/span\u003e, or `pod-identity`.\n"}},"type":"object"}},"spectrocloud:index/cloudaccountAzure:CloudaccountAzure":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst azure_1 = new spectrocloud.CloudaccountAzure(\"azure-1\", {\n    name: \"azure-1\",\n    azureTenantId: azureTenantId,\n    azureClientId: azureClientId,\n    azureClientSecret: azureClientSecret,\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nazure_1 = spectrocloud.CloudaccountAzure(\"azure-1\",\n    name=\"azure-1\",\n    azure_tenant_id=azure_tenant_id,\n    azure_client_id=azure_client_id,\n    azure_client_secret=azure_client_secret)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var azure_1 = new Spectrocloud.CloudaccountAzure(\"azure-1\", new()\n    {\n        Name = \"azure-1\",\n        AzureTenantId = azureTenantId,\n        AzureClientId = azureClientId,\n        AzureClientSecret = azureClientSecret,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewCloudaccountAzure(ctx, \"azure-1\", \u0026spectrocloud.CloudaccountAzureArgs{\n\t\t\tName:              pulumi.String(\"azure-1\"),\n\t\t\tAzureTenantId:     pulumi.Any(azureTenantId),\n\t\t\tAzureClientId:     pulumi.Any(azureClientId),\n\t\t\tAzureClientSecret: pulumi.Any(azureClientSecret),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.CloudaccountAzure;\nimport com.pulumi.spectrocloud.CloudaccountAzureArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var azure_1 = new CloudaccountAzure(\"azure-1\", CloudaccountAzureArgs.builder()\n            .name(\"azure-1\")\n            .azureTenantId(azureTenantId)\n            .azureClientId(azureClientId)\n            .azureClientSecret(azureClientSecret)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  azure-1:\n    type: spectrocloud:CloudaccountAzure\n    properties:\n      name: azure-1\n      azureTenantId: ${azureTenantId}\n      azureClientId: ${azureClientId}\n      azureClientSecret: ${azureClientSecret}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the cloud account using the `cloud_account_name` or  `id` colon separated with `context`. For example:\n\nconsole\n\n```sh\n$ pulumi import spectrocloud:index/cloudaccountAzure:CloudaccountAzure {cloud_account_uid}/{cloud_account_name}:project \n```\n\n","properties":{"azureClientId":{"type":"string","description":"Unique client Id from Azure console.\n"},"azureClientSecret":{"type":"string","description":"Azure secret for authentication.\n","secret":true},"azureTenantId":{"type":"string","description":"Unique tenant Id from Azure console.\n"},"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 or 'AzureUSSecretCloud' for Azure Secret Cloud regions.\nDefault is 'AzurePublicCloud'.\n"},"cloudaccountAzureId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the Azure configuration. Defaults to \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"disablePropertiesRequest":{"type":"boolean","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 \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Azure cloud account.\n"},"privateCloudGatewayId":{"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.\n"},"tenantName":{"type":"string","description":"The name of the tenant. This is the name of the tenant that is used to connect to the Azure cloud.\n"},"tlsCert":{"type":"string","description":"TLS certificate for authentication. This field is only allowed when cloud is set to 'AzureUSSecretCloud'.\n"}},"type":"object","required":["azureClientId","azureClientSecret","azureTenantId","cloudaccountAzureId","name"],"inputProperties":{"azureClientId":{"type":"string","description":"Unique client Id from Azure console.\n"},"azureClientSecret":{"type":"string","description":"Azure secret for authentication.\n","secret":true},"azureTenantId":{"type":"string","description":"Unique tenant Id from Azure console.\n"},"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 or 'AzureUSSecretCloud' for Azure Secret Cloud regions.\nDefault is 'AzurePublicCloud'.\n"},"cloudaccountAzureId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the Azure configuration. Defaults to \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"disablePropertiesRequest":{"type":"boolean","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 \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Azure cloud account.\n"},"privateCloudGatewayId":{"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.\n"},"tenantName":{"type":"string","description":"The name of the tenant. This is the name of the tenant that is used to connect to the Azure cloud.\n"},"tlsCert":{"type":"string","description":"TLS certificate for authentication. This field is only allowed when cloud is set to 'AzureUSSecretCloud'.\n"}},"requiredInputs":["azureClientId","azureClientSecret","azureTenantId"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudaccountAzure resources.\n","properties":{"azureClientId":{"type":"string","description":"Unique client Id from Azure console.\n"},"azureClientSecret":{"type":"string","description":"Azure secret for authentication.\n","secret":true},"azureTenantId":{"type":"string","description":"Unique tenant Id from Azure console.\n"},"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 or 'AzureUSSecretCloud' for Azure Secret Cloud regions.\nDefault is 'AzurePublicCloud'.\n"},"cloudaccountAzureId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the Azure configuration. Defaults to \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"disablePropertiesRequest":{"type":"boolean","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 \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the Azure cloud account.\n"},"privateCloudGatewayId":{"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.\n"},"tenantName":{"type":"string","description":"The name of the tenant. This is the name of the tenant that is used to connect to the Azure cloud.\n"},"tlsCert":{"type":"string","description":"TLS certificate for authentication. This field is only allowed when cloud is set to 'AzureUSSecretCloud'.\n"}},"type":"object"}},"spectrocloud:index/cloudaccountCustom:CloudaccountCustom":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst cloudAccount = new spectrocloud.CloudaccountCustom(\"cloud_account\", {\n    name: \"test-custom-cloud-account\",\n    cloud: \"nutanix\",\n    privateCloudGatewayId: nutanixPcg.id,\n    context: \"tenant\",\n    credentials: {\n        NUTANIX_USER: \"test_user\",\n        NUTANIX_PASSWORD: pulumi.secret(\"test123\"),\n        NUTANIX_ENDPOINT: \"1.2.3.4\",\n        NUTANIX_PORT: \"8998\",\n        NUTANIX_INSECURE: \"yes\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\ncloud_account = spectrocloud.CloudaccountCustom(\"cloud_account\",\n    name=\"test-custom-cloud-account\",\n    cloud=\"nutanix\",\n    private_cloud_gateway_id=nutanix_pcg[\"id\"],\n    context=\"tenant\",\n    credentials={\n        \"NUTANIX_USER\": \"test_user\",\n        \"NUTANIX_PASSWORD\": pulumi.Output.secret(\"test123\"),\n        \"NUTANIX_ENDPOINT\": \"1.2.3.4\",\n        \"NUTANIX_PORT\": \"8998\",\n        \"NUTANIX_INSECURE\": \"yes\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var cloudAccount = new Spectrocloud.CloudaccountCustom(\"cloud_account\", new()\n    {\n        Name = \"test-custom-cloud-account\",\n        Cloud = \"nutanix\",\n        PrivateCloudGatewayId = nutanixPcg.Id,\n        Context = \"tenant\",\n        Credentials = \n        {\n            { \"NUTANIX_USER\", \"test_user\" },\n            { \"NUTANIX_PASSWORD\", Output.CreateSecret(\"test123\") },\n            { \"NUTANIX_ENDPOINT\", \"1.2.3.4\" },\n            { \"NUTANIX_PORT\", \"8998\" },\n            { \"NUTANIX_INSECURE\", \"yes\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewCloudaccountCustom(ctx, \"cloud_account\", \u0026spectrocloud.CloudaccountCustomArgs{\n\t\t\tName:                  pulumi.String(\"test-custom-cloud-account\"),\n\t\t\tCloud:                 pulumi.String(\"nutanix\"),\n\t\t\tPrivateCloudGatewayId: pulumi.Any(nutanixPcg.Id),\n\t\t\tContext:               pulumi.String(\"tenant\"),\n\t\t\tCredentials: pulumi.StringMap{\n\t\t\t\t\"NUTANIX_USER\":     pulumi.String(\"test_user\"),\n\t\t\t\t\"NUTANIX_PASSWORD\": pulumi.ToSecret(\"test123\").(pulumi.StringOutput),\n\t\t\t\t\"NUTANIX_ENDPOINT\": pulumi.String(\"1.2.3.4\"),\n\t\t\t\t\"NUTANIX_PORT\":     pulumi.String(\"8998\"),\n\t\t\t\t\"NUTANIX_INSECURE\": pulumi.String(\"yes\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.CloudaccountCustom;\nimport com.pulumi.spectrocloud.CloudaccountCustomArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var cloudAccount = new CloudaccountCustom(\"cloudAccount\", CloudaccountCustomArgs.builder()\n            .name(\"test-custom-cloud-account\")\n            .cloud(\"nutanix\")\n            .privateCloudGatewayId(nutanixPcg.id())\n            .context(\"tenant\")\n            .credentials(Map.ofEntries(\n                Map.entry(\"NUTANIX_USER\", \"test_user\"),\n                Map.entry(\"NUTANIX_PASSWORD\", Output.ofSecret(\"test123\")),\n                Map.entry(\"NUTANIX_ENDPOINT\", \"1.2.3.4\"),\n                Map.entry(\"NUTANIX_PORT\", \"8998\"),\n                Map.entry(\"NUTANIX_INSECURE\", \"yes\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  cloudAccount:\n    type: spectrocloud:CloudaccountCustom\n    name: cloud_account\n    properties:\n      name: test-custom-cloud-account\n      cloud: nutanix\n      privateCloudGatewayId: ${nutanixPcg.id}\n      context: tenant\n      credentials:\n        NUTANIX_USER: test_user\n        NUTANIX_PASSWORD:\n          fn::secret: test123\n        NUTANIX_ENDPOINT: 1.2.3.4\n        NUTANIX_PORT: '8998'\n        NUTANIX_INSECURE: yes\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the cloud account using the `cloud_account_name` or  `id` colon separated with `context`. For example:\n\nconsole\n\n```sh\n$ pulumi import spectrocloud:index/cloudaccountCustom:CloudaccountCustom {cloud_account_uid}/{cloud_account_name}:project \n```\n\n","properties":{"cloud":{"type":"string","description":"The cloud provider name.\n"},"cloudaccountCustomId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the custom cloud configuration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"credentials":{"type":"object","additionalProperties":{"type":"string"},"description":"The credentials required for accessing the cloud.\n","secret":true},"name":{"type":"string","description":"The name of the cloud account.\n"},"privateCloudGatewayId":{"type":"string","description":"ID of the private cloud gateway, which serves as the connection point to establish connectivity with the cloud infrastructure.\n"}},"type":"object","required":["cloud","cloudaccountCustomId","name","privateCloudGatewayId"],"inputProperties":{"cloud":{"type":"string","description":"The cloud provider name.\n"},"cloudaccountCustomId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the custom cloud configuration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"credentials":{"type":"object","additionalProperties":{"type":"string"},"description":"The credentials required for accessing the cloud.\n","secret":true},"name":{"type":"string","description":"The name of the cloud account.\n"},"privateCloudGatewayId":{"type":"string","description":"ID of the private cloud gateway, which serves as the connection point to establish connectivity with the cloud infrastructure.\n"}},"requiredInputs":["cloud","privateCloudGatewayId"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudaccountCustom resources.\n","properties":{"cloud":{"type":"string","description":"The cloud provider name.\n"},"cloudaccountCustomId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the custom cloud configuration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"credentials":{"type":"object","additionalProperties":{"type":"string"},"description":"The credentials required for accessing the cloud.\n","secret":true},"name":{"type":"string","description":"The name of the cloud account.\n"},"privateCloudGatewayId":{"type":"string","description":"ID of the private cloud gateway, which serves as the connection point to establish connectivity with the cloud infrastructure.\n"}},"type":"object"}},"spectrocloud:index/cloudaccountGcp:CloudaccountGcp":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst gcp_1 = new spectrocloud.CloudaccountGcp(\"gcp-1\", {\n    name: \"gcp-1\",\n    gcpJsonCredentials: gcpServiceaccountJson,\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\ngcp_1 = spectrocloud.CloudaccountGcp(\"gcp-1\",\n    name=\"gcp-1\",\n    gcp_json_credentials=gcp_serviceaccount_json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var gcp_1 = new Spectrocloud.CloudaccountGcp(\"gcp-1\", new()\n    {\n        Name = \"gcp-1\",\n        GcpJsonCredentials = gcpServiceaccountJson,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewCloudaccountGcp(ctx, \"gcp-1\", \u0026spectrocloud.CloudaccountGcpArgs{\n\t\t\tName:               pulumi.String(\"gcp-1\"),\n\t\t\tGcpJsonCredentials: pulumi.Any(gcpServiceaccountJson),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.CloudaccountGcp;\nimport com.pulumi.spectrocloud.CloudaccountGcpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var gcp_1 = new CloudaccountGcp(\"gcp-1\", CloudaccountGcpArgs.builder()\n            .name(\"gcp-1\")\n            .gcpJsonCredentials(gcpServiceaccountJson)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  gcp-1:\n    type: spectrocloud:CloudaccountGcp\n    properties:\n      name: gcp-1\n      gcpJsonCredentials: ${gcpServiceaccountJson}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the cloud account using the `cloud_account_name` or  `id` colon separated with `context`. For example:\n\nconsole\n\n```sh\n$ pulumi import spectrocloud:index/cloudaccountGcp:CloudaccountGcp {cloud_account_uid}/{cloud_account_name}:project \n```\n\n","properties":{"cloudaccountGcpId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the GCP configuration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"gcpJsonCredentials":{"type":"string","description":"The GCP credentials in JSON format. These credentials are required to authenticate and manage.\n","secret":true},"name":{"type":"string","description":"The name of the GCP account.\n"}},"type":"object","required":["cloudaccountGcpId","gcpJsonCredentials","name"],"inputProperties":{"cloudaccountGcpId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the GCP configuration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"gcpJsonCredentials":{"type":"string","description":"The GCP credentials in JSON format. These credentials are required to authenticate and manage.\n","secret":true},"name":{"type":"string","description":"The name of the GCP account.\n"}},"requiredInputs":["gcpJsonCredentials"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudaccountGcp resources.\n","properties":{"cloudaccountGcpId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the GCP configuration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"gcpJsonCredentials":{"type":"string","description":"The GCP credentials in JSON format. These credentials are required to authenticate and manage.\n","secret":true},"name":{"type":"string","description":"The name of the GCP account.\n"}},"type":"object"}},"spectrocloud:index/cloudaccountMaas:CloudaccountMaas":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst maas_1 = new spectrocloud.CloudaccountMaas(\"maas-1\", {\n    name: \"maas-1\",\n    maasApiEndpoint: maasApiEndpoint,\n    maasApiKey: maasApiKey,\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nmaas_1 = spectrocloud.CloudaccountMaas(\"maas-1\",\n    name=\"maas-1\",\n    maas_api_endpoint=maas_api_endpoint,\n    maas_api_key=maas_api_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var maas_1 = new Spectrocloud.CloudaccountMaas(\"maas-1\", new()\n    {\n        Name = \"maas-1\",\n        MaasApiEndpoint = maasApiEndpoint,\n        MaasApiKey = maasApiKey,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewCloudaccountMaas(ctx, \"maas-1\", \u0026spectrocloud.CloudaccountMaasArgs{\n\t\t\tName:            pulumi.String(\"maas-1\"),\n\t\t\tMaasApiEndpoint: pulumi.Any(maasApiEndpoint),\n\t\t\tMaasApiKey:      pulumi.Any(maasApiKey),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.CloudaccountMaas;\nimport com.pulumi.spectrocloud.CloudaccountMaasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var maas_1 = new CloudaccountMaas(\"maas-1\", CloudaccountMaasArgs.builder()\n            .name(\"maas-1\")\n            .maasApiEndpoint(maasApiEndpoint)\n            .maasApiKey(maasApiKey)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  maas-1:\n    type: spectrocloud:CloudaccountMaas\n    properties:\n      name: maas-1\n      maasApiEndpoint: ${maasApiEndpoint}\n      maasApiKey: ${maasApiKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the cloud account using the `cloud_account_name` or  `id` colon separated with `context`. For example:\n\nconsole\n\n```sh\n$ pulumi import spectrocloud:index/cloudaccountMaas:CloudaccountMaas {cloud_account_uid}/{cloud_account_name}:project \n```\n\n","properties":{"cloudaccountMaasId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the MAAS configuration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"maasApiEndpoint":{"type":"string","description":"Endpoint of the MAAS API that is used to connect to the MAAS cloud. I.e. http://maas:5240/MAAS\n"},"maasApiKey":{"type":"string","description":"API key that is used to connect to the MAAS cloud.\n","secret":true},"name":{"type":"string","description":"Name of the MAAS cloud account.\n"},"privateCloudGatewayId":{"type":"string","description":"ID of the private cloud gateway that is used to connect to the MAAS cloud.\n"}},"type":"object","required":["cloudaccountMaasId","maasApiEndpoint","maasApiKey","name","privateCloudGatewayId"],"inputProperties":{"cloudaccountMaasId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the MAAS configuration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"maasApiEndpoint":{"type":"string","description":"Endpoint of the MAAS API that is used to connect to the MAAS cloud. I.e. http://maas:5240/MAAS\n"},"maasApiKey":{"type":"string","description":"API key that is used to connect to the MAAS cloud.\n","secret":true},"name":{"type":"string","description":"Name of the MAAS cloud account.\n"},"privateCloudGatewayId":{"type":"string","description":"ID of the private cloud gateway that is used to connect to the MAAS cloud.\n"}},"requiredInputs":["maasApiEndpoint","maasApiKey","privateCloudGatewayId"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudaccountMaas resources.\n","properties":{"cloudaccountMaasId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the MAAS configuration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"maasApiEndpoint":{"type":"string","description":"Endpoint of the MAAS API that is used to connect to the MAAS cloud. I.e. http://maas:5240/MAAS\n"},"maasApiKey":{"type":"string","description":"API key that is used to connect to the MAAS cloud.\n","secret":true},"name":{"type":"string","description":"Name of the MAAS cloud account.\n"},"privateCloudGatewayId":{"type":"string","description":"ID of the private cloud gateway that is used to connect to the MAAS cloud.\n"}},"type":"object"}},"spectrocloud:index/cloudaccountOpenstack:CloudaccountOpenstack":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst account = new spectrocloud.CloudaccountOpenstack(\"account\", {\n    name: \"openstack-dev\",\n    privateCloudGatewayId: \"\",\n    openstackUsername: openstackUsername,\n    openstackPassword: openstackPassword,\n    identityEndpoint: identityEndpoint,\n    parentRegion: region,\n    defaultDomain: domain,\n    defaultProject: project,\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\naccount = spectrocloud.CloudaccountOpenstack(\"account\",\n    name=\"openstack-dev\",\n    private_cloud_gateway_id=\"\",\n    openstack_username=openstack_username,\n    openstack_password=openstack_password,\n    identity_endpoint=identity_endpoint,\n    parent_region=region,\n    default_domain=domain,\n    default_project=project)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var account = new Spectrocloud.CloudaccountOpenstack(\"account\", new()\n    {\n        Name = \"openstack-dev\",\n        PrivateCloudGatewayId = \"\",\n        OpenstackUsername = openstackUsername,\n        OpenstackPassword = openstackPassword,\n        IdentityEndpoint = identityEndpoint,\n        ParentRegion = region,\n        DefaultDomain = domain,\n        DefaultProject = project,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewCloudaccountOpenstack(ctx, \"account\", \u0026spectrocloud.CloudaccountOpenstackArgs{\n\t\t\tName:                  pulumi.String(\"openstack-dev\"),\n\t\t\tPrivateCloudGatewayId: pulumi.String(\"\"),\n\t\t\tOpenstackUsername:     pulumi.Any(openstackUsername),\n\t\t\tOpenstackPassword:     pulumi.Any(openstackPassword),\n\t\t\tIdentityEndpoint:      pulumi.Any(identityEndpoint),\n\t\t\tParentRegion:          pulumi.Any(region),\n\t\t\tDefaultDomain:         pulumi.Any(domain),\n\t\t\tDefaultProject:        pulumi.Any(project),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.CloudaccountOpenstack;\nimport com.pulumi.spectrocloud.CloudaccountOpenstackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var account = new CloudaccountOpenstack(\"account\", CloudaccountOpenstackArgs.builder()\n            .name(\"openstack-dev\")\n            .privateCloudGatewayId(\"\")\n            .openstackUsername(openstackUsername)\n            .openstackPassword(openstackPassword)\n            .identityEndpoint(identityEndpoint)\n            .parentRegion(region)\n            .defaultDomain(domain)\n            .defaultProject(project)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  account:\n    type: spectrocloud:CloudaccountOpenstack\n    properties:\n      name: openstack-dev\n      privateCloudGatewayId: \"\"\n      openstackUsername: ${openstackUsername}\n      openstackPassword: ${openstackPassword}\n      identityEndpoint: ${identityEndpoint}\n      parentRegion: ${region}\n      defaultDomain: ${domain}\n      defaultProject: ${project}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the cloud account using the `cloud_account_name` or  `id` colon separated with `context`. For example:\n\nconsole\n\n```sh\n$ pulumi import spectrocloud:index/cloudaccountOpenstack:CloudaccountOpenstack {cloud_account_uid}/{cloud_account_name}:project \n```\n\n","properties":{"caCertificate":{"type":"string","description":"The CA certificate of the OpenStack cloud that is used to connect to the OpenStack cloud.\n"},"cloudaccountOpenstackId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the OpenStack configuration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"defaultDomain":{"type":"string","description":"The default domain of the OpenStack cloud that is used to connect to the OpenStack cloud.\n"},"defaultProject":{"type":"string","description":"The default project of the OpenStack cloud that is used to connect to the OpenStack cloud.\n"},"identityEndpoint":{"type":"string","description":"The identity endpoint of the OpenStack cloud that is used to connect to the OpenStack cloud.\n"},"name":{"type":"string","description":"Name of the OpenStack cloud account.\n"},"openstackAllowInsecure":{"type":"boolean","description":"Whether to allow insecure connections to the OpenStack cloud. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"openstackPassword":{"type":"string","description":"The password of the OpenStack cloud that is used to connect to the OpenStack cloud.\n","secret":true},"openstackUsername":{"type":"string","description":"The username of the OpenStack cloud that is used to connect to the OpenStack cloud.\n"},"parentRegion":{"type":"string","description":"The parent region of the OpenStack cloud that is used to connect to the OpenStack cloud.\n"},"privateCloudGatewayId":{"type":"string","description":"ID of the private cloud gateway that is used to connect to the OpenStack cloud.\n"}},"type":"object","required":["cloudaccountOpenstackId","defaultDomain","defaultProject","identityEndpoint","name","openstackPassword","openstackUsername","parentRegion","privateCloudGatewayId"],"inputProperties":{"caCertificate":{"type":"string","description":"The CA certificate of the OpenStack cloud that is used to connect to the OpenStack cloud.\n"},"cloudaccountOpenstackId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the OpenStack configuration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"defaultDomain":{"type":"string","description":"The default domain of the OpenStack cloud that is used to connect to the OpenStack cloud.\n"},"defaultProject":{"type":"string","description":"The default project of the OpenStack cloud that is used to connect to the OpenStack cloud.\n"},"identityEndpoint":{"type":"string","description":"The identity endpoint of the OpenStack cloud that is used to connect to the OpenStack cloud.\n"},"name":{"type":"string","description":"Name of the OpenStack cloud account.\n"},"openstackAllowInsecure":{"type":"boolean","description":"Whether to allow insecure connections to the OpenStack cloud. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"openstackPassword":{"type":"string","description":"The password of the OpenStack cloud that is used to connect to the OpenStack cloud.\n","secret":true},"openstackUsername":{"type":"string","description":"The username of the OpenStack cloud that is used to connect to the OpenStack cloud.\n"},"parentRegion":{"type":"string","description":"The parent region of the OpenStack cloud that is used to connect to the OpenStack cloud.\n"},"privateCloudGatewayId":{"type":"string","description":"ID of the private cloud gateway that is used to connect to the OpenStack cloud.\n"}},"requiredInputs":["defaultDomain","defaultProject","identityEndpoint","openstackPassword","openstackUsername","parentRegion","privateCloudGatewayId"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudaccountOpenstack resources.\n","properties":{"caCertificate":{"type":"string","description":"The CA certificate of the OpenStack cloud that is used to connect to the OpenStack cloud.\n"},"cloudaccountOpenstackId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the OpenStack configuration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"defaultDomain":{"type":"string","description":"The default domain of the OpenStack cloud that is used to connect to the OpenStack cloud.\n"},"defaultProject":{"type":"string","description":"The default project of the OpenStack cloud that is used to connect to the OpenStack cloud.\n"},"identityEndpoint":{"type":"string","description":"The identity endpoint of the OpenStack cloud that is used to connect to the OpenStack cloud.\n"},"name":{"type":"string","description":"Name of the OpenStack cloud account.\n"},"openstackAllowInsecure":{"type":"boolean","description":"Whether to allow insecure connections to the OpenStack cloud. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"openstackPassword":{"type":"string","description":"The password of the OpenStack cloud that is used to connect to the OpenStack cloud.\n","secret":true},"openstackUsername":{"type":"string","description":"The username of the OpenStack cloud that is used to connect to the OpenStack cloud.\n"},"parentRegion":{"type":"string","description":"The parent region of the OpenStack cloud that is used to connect to the OpenStack cloud.\n"},"privateCloudGatewayId":{"type":"string","description":"ID of the private cloud gateway that is used to connect to the OpenStack cloud.\n"}},"type":"object"}},"spectrocloud:index/cloudaccountVsphere:CloudaccountVsphere":{"description":"A resource to manage a vSphere cloud account in Palette.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst config = new pulumi.Config();\nconst privateCloudGatewayId = config.require(\"privateCloudGatewayId\");\nconst account = new spectrocloud.CloudaccountVsphere(\"account\", {\n    name: \"vs\",\n    context: \"tenant\",\n    privateCloudGatewayId: privateCloudGatewayId,\n    vsphereVcenter: vsphereVcenter,\n    vsphereUsername: vsphereUsername,\n    vspherePassword: vspherePassword,\n    vsphereIgnoreInsecureError: true,\n});\nexport const same = account.cloudaccountVsphereId;\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nconfig = pulumi.Config()\nprivate_cloud_gateway_id = config.require(\"privateCloudGatewayId\")\naccount = spectrocloud.CloudaccountVsphere(\"account\",\n    name=\"vs\",\n    context=\"tenant\",\n    private_cloud_gateway_id=private_cloud_gateway_id,\n    vsphere_vcenter=vsphere_vcenter,\n    vsphere_username=vsphere_username,\n    vsphere_password=vsphere_password,\n    vsphere_ignore_insecure_error=True)\npulumi.export(\"same\", account.cloudaccount_vsphere_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var privateCloudGatewayId = config.Require(\"privateCloudGatewayId\");\n    var account = new Spectrocloud.CloudaccountVsphere(\"account\", new()\n    {\n        Name = \"vs\",\n        Context = \"tenant\",\n        PrivateCloudGatewayId = privateCloudGatewayId,\n        VsphereVcenter = vsphereVcenter,\n        VsphereUsername = vsphereUsername,\n        VspherePassword = vspherePassword,\n        VsphereIgnoreInsecureError = true,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"same\"] = account.CloudaccountVsphereId,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tprivateCloudGatewayId := cfg.Require(\"privateCloudGatewayId\")\n\t\taccount, err := spectrocloud.NewCloudaccountVsphere(ctx, \"account\", \u0026spectrocloud.CloudaccountVsphereArgs{\n\t\t\tName:                       pulumi.String(\"vs\"),\n\t\t\tContext:                    pulumi.String(\"tenant\"),\n\t\t\tPrivateCloudGatewayId:      pulumi.String(privateCloudGatewayId),\n\t\t\tVsphereVcenter:             pulumi.Any(vsphereVcenter),\n\t\t\tVsphereUsername:            pulumi.Any(vsphereUsername),\n\t\t\tVspherePassword:            pulumi.Any(vspherePassword),\n\t\t\tVsphereIgnoreInsecureError: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"same\", account.CloudaccountVsphereId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.CloudaccountVsphere;\nimport com.pulumi.spectrocloud.CloudaccountVsphereArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var config = ctx.config();\n        final var privateCloudGatewayId = config.get(\"privateCloudGatewayId\");\n        var account = new CloudaccountVsphere(\"account\", CloudaccountVsphereArgs.builder()\n            .name(\"vs\")\n            .context(\"tenant\")\n            .privateCloudGatewayId(privateCloudGatewayId)\n            .vsphereVcenter(vsphereVcenter)\n            .vsphereUsername(vsphereUsername)\n            .vspherePassword(vspherePassword)\n            .vsphereIgnoreInsecureError(true)\n            .build());\n\n        ctx.export(\"same\", account.cloudaccountVsphereId());\n    }\n}\n```\n```yaml\nconfiguration:\n  privateCloudGatewayId:\n    type: string\nresources:\n  account:\n    type: spectrocloud:CloudaccountVsphere\n    properties:\n      name: vs\n      context: tenant\n      privateCloudGatewayId: ${privateCloudGatewayId}\n      vsphereVcenter: ${vsphereVcenter}\n      vsphereUsername: ${vsphereUsername}\n      vspherePassword: ${vspherePassword}\n      vsphereIgnoreInsecureError: true\noutputs:\n  same: ${account.cloudaccountVsphereId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the cloud account using the `cloud_account_name` or  `id` colon separated with `context`. For example:\n\nconsole\n\n```sh\n$ pulumi import spectrocloud:index/cloudaccountVsphere:CloudaccountVsphere {cloud_account_uid}/{cloud_account_name}:project \n```\n\n","properties":{"cloudaccountVsphereId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"Context of the cloud account. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Name of the cloud account. This name is used to identify the cloud account in the Spectro Cloud UI.\n"},"privateCloudGatewayId":{"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.\n"},"vsphereIgnoreInsecureError":{"type":"boolean","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.\n"},"vspherePassword":{"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.\n","secret":true},"vsphereUsername":{"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.\n"},"vsphereVcenter":{"type":"string","description":"vCenter server address. This is the address of the vCenter server that is used to connect to the vSphere cloud.\n"}},"type":"object","required":["cloudaccountVsphereId","name","privateCloudGatewayId","vspherePassword","vsphereUsername","vsphereVcenter"],"inputProperties":{"cloudaccountVsphereId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"Context of the cloud account. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Name of the cloud account. This name is used to identify the cloud account in the Spectro Cloud UI.\n"},"privateCloudGatewayId":{"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.\n"},"vsphereIgnoreInsecureError":{"type":"boolean","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.\n"},"vspherePassword":{"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.\n","secret":true},"vsphereUsername":{"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.\n"},"vsphereVcenter":{"type":"string","description":"vCenter server address. This is the address of the vCenter server that is used to connect to the vSphere cloud.\n"}},"requiredInputs":["privateCloudGatewayId","vspherePassword","vsphereUsername","vsphereVcenter"],"stateInputs":{"description":"Input properties used for looking up and filtering CloudaccountVsphere resources.\n","properties":{"cloudaccountVsphereId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"Context of the cloud account. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Name of the cloud account. This name is used to identify the cloud account in the Spectro Cloud UI.\n"},"privateCloudGatewayId":{"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.\n"},"vsphereIgnoreInsecureError":{"type":"boolean","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.\n"},"vspherePassword":{"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.\n","secret":true},"vsphereUsername":{"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.\n"},"vsphereVcenter":{"type":"string","description":"vCenter server address. This is the address of the vCenter server that is used to connect to the vSphere cloud.\n"}},"type":"object"}},"spectrocloud:index/clusterAks:ClusterAks":{"description":"Resource for managing AKS clusters in Spectro Cloud through Palette.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst account = spectrocloud.getCloudaccountAzure({\n    name: clusterCloudAccountName,\n});\nconst profile = spectrocloud.getClusterProfile({\n    name: clusterClusterProfileName,\n});\nconst bsl = spectrocloud.getBackupStorageLocation({\n    name: backupStorageLocationName,\n});\nconst cluster = new spectrocloud.ClusterAks(\"cluster\", {\n    name: clusterName,\n    tags: [\n        \"dev\",\n        \"department:devops\",\n        \"owner:bob\",\n    ],\n    cloudAccountId: account.then(account =\u003e account.id),\n    cloudConfig: {\n        subscriptionId: \"subscription-id\",\n        resourceGroup: \"dev\",\n        sshKey: \"ssh key value\",\n        region: \"centralus\",\n    },\n    clusterProfiles: [{\n        id: profile.then(profile =\u003e profile.id),\n    }],\n    backupPolicy: {\n        schedule: \"0 0 * * SUN\",\n        backupLocationId: bsl.then(bsl =\u003e bsl.id),\n        prefix: \"prod-backup\",\n        expiryInHour: 7200,\n        includeDisks: true,\n        includeClusterResources: true,\n    },\n    scanPolicy: {\n        configurationScanSchedule: \"0 0 * * SUN\",\n        penetrationScanSchedule: \"0 0 * * SUN\",\n        conformanceScanSchedule: \"0 0 1 * *\",\n    },\n    machinePools: [{\n        name: \"worker-basic\",\n        count: 1,\n        instanceType: \"Standard_DS4\",\n        diskSizeGb: 60,\n        isSystemNodePool: true,\n        storageAccountType: \"Standard_LRS\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\naccount = spectrocloud.get_cloudaccount_azure(name=cluster_cloud_account_name)\nprofile = spectrocloud.get_cluster_profile(name=cluster_cluster_profile_name)\nbsl = spectrocloud.get_backup_storage_location(name=backup_storage_location_name)\ncluster = spectrocloud.ClusterAks(\"cluster\",\n    name=cluster_name,\n    tags=[\n        \"dev\",\n        \"department:devops\",\n        \"owner:bob\",\n    ],\n    cloud_account_id=account.id,\n    cloud_config={\n        \"subscription_id\": \"subscription-id\",\n        \"resource_group\": \"dev\",\n        \"ssh_key\": \"ssh key value\",\n        \"region\": \"centralus\",\n    },\n    cluster_profiles=[{\n        \"id\": profile.id,\n    }],\n    backup_policy={\n        \"schedule\": \"0 0 * * SUN\",\n        \"backup_location_id\": bsl.id,\n        \"prefix\": \"prod-backup\",\n        \"expiry_in_hour\": 7200,\n        \"include_disks\": True,\n        \"include_cluster_resources\": True,\n    },\n    scan_policy={\n        \"configuration_scan_schedule\": \"0 0 * * SUN\",\n        \"penetration_scan_schedule\": \"0 0 * * SUN\",\n        \"conformance_scan_schedule\": \"0 0 1 * *\",\n    },\n    machine_pools=[{\n        \"name\": \"worker-basic\",\n        \"count\": 1,\n        \"instance_type\": \"Standard_DS4\",\n        \"disk_size_gb\": 60,\n        \"is_system_node_pool\": True,\n        \"storage_account_type\": \"Standard_LRS\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var account = Spectrocloud.GetCloudaccountAzure.Invoke(new()\n    {\n        Name = clusterCloudAccountName,\n    });\n\n    var profile = Spectrocloud.GetClusterProfile.Invoke(new()\n    {\n        Name = clusterClusterProfileName,\n    });\n\n    var bsl = Spectrocloud.GetBackupStorageLocation.Invoke(new()\n    {\n        Name = backupStorageLocationName,\n    });\n\n    var cluster = new Spectrocloud.ClusterAks(\"cluster\", new()\n    {\n        Name = clusterName,\n        Tags = new[]\n        {\n            \"dev\",\n            \"department:devops\",\n            \"owner:bob\",\n        },\n        CloudAccountId = account.Apply(getCloudaccountAzureResult =\u003e getCloudaccountAzureResult.Id),\n        CloudConfig = new Spectrocloud.Inputs.ClusterAksCloudConfigArgs\n        {\n            SubscriptionId = \"subscription-id\",\n            ResourceGroup = \"dev\",\n            SshKey = \"ssh key value\",\n            Region = \"centralus\",\n        },\n        ClusterProfiles = new[]\n        {\n            new Spectrocloud.Inputs.ClusterAksClusterProfileArgs\n            {\n                Id = profile.Apply(getClusterProfileResult =\u003e getClusterProfileResult.Id),\n            },\n        },\n        BackupPolicy = new Spectrocloud.Inputs.ClusterAksBackupPolicyArgs\n        {\n            Schedule = \"0 0 * * SUN\",\n            BackupLocationId = bsl.Apply(getBackupStorageLocationResult =\u003e getBackupStorageLocationResult.Id),\n            Prefix = \"prod-backup\",\n            ExpiryInHour = 7200,\n            IncludeDisks = true,\n            IncludeClusterResources = true,\n        },\n        ScanPolicy = new Spectrocloud.Inputs.ClusterAksScanPolicyArgs\n        {\n            ConfigurationScanSchedule = \"0 0 * * SUN\",\n            PenetrationScanSchedule = \"0 0 * * SUN\",\n            ConformanceScanSchedule = \"0 0 1 * *\",\n        },\n        MachinePools = new[]\n        {\n            new Spectrocloud.Inputs.ClusterAksMachinePoolArgs\n            {\n                Name = \"worker-basic\",\n                Count = 1,\n                InstanceType = \"Standard_DS4\",\n                DiskSizeGb = 60,\n                IsSystemNodePool = true,\n                StorageAccountType = \"Standard_LRS\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taccount, err := spectrocloud.LookupCloudaccountAzure(ctx, \u0026spectrocloud.LookupCloudaccountAzureArgs{\n\t\t\tName: pulumi.StringRef(clusterCloudAccountName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprofile, err := spectrocloud.LookupClusterProfile(ctx, \u0026spectrocloud.LookupClusterProfileArgs{\n\t\t\tName: pulumi.StringRef(clusterClusterProfileName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbsl, err := spectrocloud.LookupBackupStorageLocation(ctx, \u0026spectrocloud.LookupBackupStorageLocationArgs{\n\t\t\tName: pulumi.StringRef(backupStorageLocationName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.NewClusterAks(ctx, \"cluster\", \u0026spectrocloud.ClusterAksArgs{\n\t\t\tName: pulumi.Any(clusterName),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"dev\"),\n\t\t\t\tpulumi.String(\"department:devops\"),\n\t\t\t\tpulumi.String(\"owner:bob\"),\n\t\t\t},\n\t\t\tCloudAccountId: pulumi.String(account.Id),\n\t\t\tCloudConfig: \u0026spectrocloud.ClusterAksCloudConfigArgs{\n\t\t\t\tSubscriptionId: pulumi.String(\"subscription-id\"),\n\t\t\t\tResourceGroup:  pulumi.String(\"dev\"),\n\t\t\t\tSshKey:         pulumi.String(\"ssh key value\"),\n\t\t\t\tRegion:         pulumi.String(\"centralus\"),\n\t\t\t},\n\t\t\tClusterProfiles: spectrocloud.ClusterAksClusterProfileArray{\n\t\t\t\t\u0026spectrocloud.ClusterAksClusterProfileArgs{\n\t\t\t\t\tId: pulumi.String(profile.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackupPolicy: \u0026spectrocloud.ClusterAksBackupPolicyArgs{\n\t\t\t\tSchedule:                pulumi.String(\"0 0 * * SUN\"),\n\t\t\t\tBackupLocationId:        pulumi.String(bsl.Id),\n\t\t\t\tPrefix:                  pulumi.String(\"prod-backup\"),\n\t\t\t\tExpiryInHour:            pulumi.Float64(7200),\n\t\t\t\tIncludeDisks:            pulumi.Bool(true),\n\t\t\t\tIncludeClusterResources: pulumi.Bool(true),\n\t\t\t},\n\t\t\tScanPolicy: \u0026spectrocloud.ClusterAksScanPolicyArgs{\n\t\t\t\tConfigurationScanSchedule: pulumi.String(\"0 0 * * SUN\"),\n\t\t\t\tPenetrationScanSchedule:   pulumi.String(\"0 0 * * SUN\"),\n\t\t\t\tConformanceScanSchedule:   pulumi.String(\"0 0 1 * *\"),\n\t\t\t},\n\t\t\tMachinePools: spectrocloud.ClusterAksMachinePoolArray{\n\t\t\t\t\u0026spectrocloud.ClusterAksMachinePoolArgs{\n\t\t\t\t\tName:               pulumi.String(\"worker-basic\"),\n\t\t\t\t\tCount:              pulumi.Float64(1),\n\t\t\t\t\tInstanceType:       pulumi.String(\"Standard_DS4\"),\n\t\t\t\t\tDiskSizeGb:         pulumi.Float64(60),\n\t\t\t\t\tIsSystemNodePool:   pulumi.Bool(true),\n\t\t\t\t\tStorageAccountType: pulumi.String(\"Standard_LRS\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetCloudaccountAzureArgs;\nimport com.pulumi.spectrocloud.inputs.GetClusterProfileArgs;\nimport com.pulumi.spectrocloud.inputs.GetBackupStorageLocationArgs;\nimport com.pulumi.spectrocloud.ClusterAks;\nimport com.pulumi.spectrocloud.ClusterAksArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterAksCloudConfigArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterAksClusterProfileArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterAksBackupPolicyArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterAksScanPolicyArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterAksMachinePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var account = SpectrocloudFunctions.getCloudaccountAzure(GetCloudaccountAzureArgs.builder()\n            .name(clusterCloudAccountName)\n            .build());\n\n        final var profile = SpectrocloudFunctions.getClusterProfile(GetClusterProfileArgs.builder()\n            .name(clusterClusterProfileName)\n            .build());\n\n        final var bsl = SpectrocloudFunctions.getBackupStorageLocation(GetBackupStorageLocationArgs.builder()\n            .name(backupStorageLocationName)\n            .build());\n\n        var cluster = new ClusterAks(\"cluster\", ClusterAksArgs.builder()\n            .name(clusterName)\n            .tags(            \n                \"dev\",\n                \"department:devops\",\n                \"owner:bob\")\n            .cloudAccountId(account.id())\n            .cloudConfig(ClusterAksCloudConfigArgs.builder()\n                .subscriptionId(\"subscription-id\")\n                .resourceGroup(\"dev\")\n                .sshKey(\"ssh key value\")\n                .region(\"centralus\")\n                .build())\n            .clusterProfiles(ClusterAksClusterProfileArgs.builder()\n                .id(profile.id())\n                .build())\n            .backupPolicy(ClusterAksBackupPolicyArgs.builder()\n                .schedule(\"0 0 * * SUN\")\n                .backupLocationId(bsl.id())\n                .prefix(\"prod-backup\")\n                .expiryInHour(7200.0)\n                .includeDisks(true)\n                .includeClusterResources(true)\n                .build())\n            .scanPolicy(ClusterAksScanPolicyArgs.builder()\n                .configurationScanSchedule(\"0 0 * * SUN\")\n                .penetrationScanSchedule(\"0 0 * * SUN\")\n                .conformanceScanSchedule(\"0 0 1 * *\")\n                .build())\n            .machinePools(ClusterAksMachinePoolArgs.builder()\n                .name(\"worker-basic\")\n                .count(1.0)\n                .instanceType(\"Standard_DS4\")\n                .diskSizeGb(60.0)\n                .isSystemNodePool(true)\n                .storageAccountType(\"Standard_LRS\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  cluster:\n    type: spectrocloud:ClusterAks\n    properties:\n      name: ${clusterName}\n      tags:\n        - dev\n        - department:devops\n        - owner:bob\n      cloudAccountId: ${account.id}\n      cloudConfig:\n        subscriptionId: subscription-id\n        resourceGroup: dev\n        sshKey: ssh key value\n        region: centralus\n      clusterProfiles:\n        - id: ${profile.id}\n      backupPolicy:\n        schedule: 0 0 * * SUN\n        backupLocationId: ${bsl.id}\n        prefix: prod-backup\n        expiryInHour: 7200\n        includeDisks: true\n        includeClusterResources: true\n      scanPolicy:\n        configurationScanSchedule: 0 0 * * SUN\n        penetrationScanSchedule: 0 0 * * SUN\n        conformanceScanSchedule: 0 0 1 * *\n      machinePools:\n        - name: worker-basic\n          count: 1\n          instanceType: Standard_DS4\n          diskSizeGb: 60\n          isSystemNodePool: true\n          storageAccountType: Standard_LRS\nvariables:\n  account:\n    fn::invoke:\n      function: spectrocloud:getCloudaccountAzure\n      arguments:\n        name: ${clusterCloudAccountName}\n  profile:\n    fn::invoke:\n      function: spectrocloud:getClusterProfile\n      arguments:\n        name: ${clusterClusterProfileName}\n  bsl:\n    fn::invoke:\n      function: spectrocloud:getBackupStorageLocation\n      arguments:\n        name: ${backupStorageLocationName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the cluster using the `cluster_name` or `id` colon separated with `context`. For example:\n\nconsole\n\n```sh\n$ pulumi import spectrocloud:index/clusterAks:ClusterAks {cluster_uid}/{cluster_name}:project \n```\n\nRefer to the [Import section](/docs#import) to learn more.\n\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterAksBackupPolicy:ClusterAksBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterAksCloudConfig:ClusterAksCloudConfig"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterAksId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAksClusterProfile:ClusterAksClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAksClusterRbacBinding:ClusterAksClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterAksClusterTemplate:ClusterAksClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the AKS cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAksHostConfig:ClusterAksHostConfig"},"description":"The host configuration for the cluster.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAksLocationConfig:ClusterAksLocationConfig"},"description":"The location of the cluster.\n"},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAksMachinePool:ClusterAksMachinePool"}},"name":{"type":"string"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAksNamespace:ClusterAksNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"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`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterAksScanPolicy:ClusterAksScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterAksTimeouts:ClusterAksTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object","required":["adminKubeConfig","cloudAccountId","cloudConfig","cloudConfigId","clusterAksId","kubeconfig","locationConfigs","machinePools","name"],"inputProperties":{"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterAksBackupPolicy:ClusterAksBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterAksCloudConfig:ClusterAksCloudConfig"},"clusterAksId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAksClusterProfile:ClusterAksClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAksClusterRbacBinding:ClusterAksClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterAksClusterTemplate:ClusterAksClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the AKS cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAksHostConfig:ClusterAksHostConfig"},"description":"The host configuration for the cluster.\n"},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAksMachinePool:ClusterAksMachinePool"}},"name":{"type":"string"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAksNamespace:ClusterAksNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"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`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterAksScanPolicy:ClusterAksScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterAksTimeouts:ClusterAksTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"requiredInputs":["cloudAccountId","cloudConfig","machinePools"],"stateInputs":{"description":"Input properties used for looking up and filtering ClusterAks resources.\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterAksBackupPolicy:ClusterAksBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterAksCloudConfig:ClusterAksCloudConfig"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterAksId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAksClusterProfile:ClusterAksClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAksClusterRbacBinding:ClusterAksClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterAksClusterTemplate:ClusterAksClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the AKS cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAksHostConfig:ClusterAksHostConfig"},"description":"The host configuration for the cluster.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAksLocationConfig:ClusterAksLocationConfig"},"description":"The location of the cluster.\n"},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAksMachinePool:ClusterAksMachinePool"}},"name":{"type":"string"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAksNamespace:ClusterAksNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"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`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterAksScanPolicy:ClusterAksScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterAksTimeouts:ClusterAksTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object"}},"spectrocloud:index/clusterApacheCloudstack:ClusterApacheCloudstack":{"description":"Resource for managing Apache CloudStack clusters in Spectro Cloud through Palette.\n\n## Example Usage\n\n### Basic Apache CloudStack Cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst account = spectrocloud.getCloudaccountApacheCloudstack({\n    name: \"apache-cloudstack-account-1\",\n});\nconst profile = spectrocloud.getClusterProfile({\n    name: \"cloudstack-k8s-profile\",\n});\nconst cluster = new spectrocloud.ClusterApacheCloudstack(\"cluster\", {\n    name: \"apache-cloudstack-cluster-1\",\n    tags: [\n        \"dev\",\n        \"cloudstack\",\n        \"department:engineering\",\n    ],\n    cloudAccountId: account.then(account =\u003e account.id),\n    cloudConfig: {\n        sshKeyName: \"my-ssh-key\",\n        zones: [{\n            name: \"Zone1\",\n            network: {\n                id: \"network-id\",\n                name: \"DefaultNetwork\",\n            },\n        }],\n    },\n    clusterProfiles: [{\n        id: profile.then(profile =\u003e profile.id),\n    }],\n    machinePools: [\n        {\n            controlPlane: true,\n            controlPlaneAsWorker: true,\n            name: \"cp-pool\",\n            count: 1,\n            offering: \"Medium Instance\",\n            networks: [{\n                networkName: \"DefaultNetwork\",\n            }],\n            additionalLabels: {\n                role: \"control-plane\",\n            },\n        },\n        {\n            name: \"worker-pool\",\n            count: 2,\n            offering: \"Large Instance\",\n            networks: [{\n                networkName: \"DefaultNetwork\",\n            }],\n            additionalLabels: {\n                role: \"worker\",\n            },\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\naccount = spectrocloud.get_cloudaccount_apache_cloudstack(name=\"apache-cloudstack-account-1\")\nprofile = spectrocloud.get_cluster_profile(name=\"cloudstack-k8s-profile\")\ncluster = spectrocloud.ClusterApacheCloudstack(\"cluster\",\n    name=\"apache-cloudstack-cluster-1\",\n    tags=[\n        \"dev\",\n        \"cloudstack\",\n        \"department:engineering\",\n    ],\n    cloud_account_id=account.id,\n    cloud_config={\n        \"ssh_key_name\": \"my-ssh-key\",\n        \"zones\": [{\n            \"name\": \"Zone1\",\n            \"network\": {\n                \"id\": \"network-id\",\n                \"name\": \"DefaultNetwork\",\n            },\n        }],\n    },\n    cluster_profiles=[{\n        \"id\": profile.id,\n    }],\n    machine_pools=[\n        {\n            \"control_plane\": True,\n            \"control_plane_as_worker\": True,\n            \"name\": \"cp-pool\",\n            \"count\": 1,\n            \"offering\": \"Medium Instance\",\n            \"networks\": [{\n                \"network_name\": \"DefaultNetwork\",\n            }],\n            \"additional_labels\": {\n                \"role\": \"control-plane\",\n            },\n        },\n        {\n            \"name\": \"worker-pool\",\n            \"count\": 2,\n            \"offering\": \"Large Instance\",\n            \"networks\": [{\n                \"network_name\": \"DefaultNetwork\",\n            }],\n            \"additional_labels\": {\n                \"role\": \"worker\",\n            },\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var account = Spectrocloud.GetCloudaccountApacheCloudstack.Invoke(new()\n    {\n        Name = \"apache-cloudstack-account-1\",\n    });\n\n    var profile = Spectrocloud.GetClusterProfile.Invoke(new()\n    {\n        Name = \"cloudstack-k8s-profile\",\n    });\n\n    var cluster = new Spectrocloud.ClusterApacheCloudstack(\"cluster\", new()\n    {\n        Name = \"apache-cloudstack-cluster-1\",\n        Tags = new[]\n        {\n            \"dev\",\n            \"cloudstack\",\n            \"department:engineering\",\n        },\n        CloudAccountId = account.Apply(getCloudaccountApacheCloudstackResult =\u003e getCloudaccountApacheCloudstackResult.Id),\n        CloudConfig = new Spectrocloud.Inputs.ClusterApacheCloudstackCloudConfigArgs\n        {\n            SshKeyName = \"my-ssh-key\",\n            Zones = new[]\n            {\n                new Spectrocloud.Inputs.ClusterApacheCloudstackCloudConfigZoneArgs\n                {\n                    Name = \"Zone1\",\n                    Network = new Spectrocloud.Inputs.ClusterApacheCloudstackCloudConfigZoneNetworkArgs\n                    {\n                        Id = \"network-id\",\n                        Name = \"DefaultNetwork\",\n                    },\n                },\n            },\n        },\n        ClusterProfiles = new[]\n        {\n            new Spectrocloud.Inputs.ClusterApacheCloudstackClusterProfileArgs\n            {\n                Id = profile.Apply(getClusterProfileResult =\u003e getClusterProfileResult.Id),\n            },\n        },\n        MachinePools = new[]\n        {\n            new Spectrocloud.Inputs.ClusterApacheCloudstackMachinePoolArgs\n            {\n                ControlPlane = true,\n                ControlPlaneAsWorker = true,\n                Name = \"cp-pool\",\n                Count = 1,\n                Offering = \"Medium Instance\",\n                Networks = new[]\n                {\n                    new Spectrocloud.Inputs.ClusterApacheCloudstackMachinePoolNetworkArgs\n                    {\n                        NetworkName = \"DefaultNetwork\",\n                    },\n                },\n                AdditionalLabels = \n                {\n                    { \"role\", \"control-plane\" },\n                },\n            },\n            new Spectrocloud.Inputs.ClusterApacheCloudstackMachinePoolArgs\n            {\n                Name = \"worker-pool\",\n                Count = 2,\n                Offering = \"Large Instance\",\n                Networks = new[]\n                {\n                    new Spectrocloud.Inputs.ClusterApacheCloudstackMachinePoolNetworkArgs\n                    {\n                        NetworkName = \"DefaultNetwork\",\n                    },\n                },\n                AdditionalLabels = \n                {\n                    { \"role\", \"worker\" },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taccount, err := spectrocloud.LookupCloudaccountApacheCloudstack(ctx, \u0026spectrocloud.LookupCloudaccountApacheCloudstackArgs{\n\t\t\tName: pulumi.StringRef(\"apache-cloudstack-account-1\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprofile, err := spectrocloud.LookupClusterProfile(ctx, \u0026spectrocloud.LookupClusterProfileArgs{\n\t\t\tName: pulumi.StringRef(\"cloudstack-k8s-profile\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.NewClusterApacheCloudstack(ctx, \"cluster\", \u0026spectrocloud.ClusterApacheCloudstackArgs{\n\t\t\tName: pulumi.String(\"apache-cloudstack-cluster-1\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"dev\"),\n\t\t\t\tpulumi.String(\"cloudstack\"),\n\t\t\t\tpulumi.String(\"department:engineering\"),\n\t\t\t},\n\t\t\tCloudAccountId: pulumi.String(account.Id),\n\t\t\tCloudConfig: \u0026spectrocloud.ClusterApacheCloudstackCloudConfigArgs{\n\t\t\t\tSshKeyName: pulumi.String(\"my-ssh-key\"),\n\t\t\t\tZones: spectrocloud.ClusterApacheCloudstackCloudConfigZoneArray{\n\t\t\t\t\t\u0026spectrocloud.ClusterApacheCloudstackCloudConfigZoneArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Zone1\"),\n\t\t\t\t\t\tNetwork: \u0026spectrocloud.ClusterApacheCloudstackCloudConfigZoneNetworkArgs{\n\t\t\t\t\t\t\tId:   pulumi.String(\"network-id\"),\n\t\t\t\t\t\t\tName: pulumi.String(\"DefaultNetwork\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tClusterProfiles: spectrocloud.ClusterApacheCloudstackClusterProfileArray{\n\t\t\t\t\u0026spectrocloud.ClusterApacheCloudstackClusterProfileArgs{\n\t\t\t\t\tId: pulumi.String(profile.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMachinePools: spectrocloud.ClusterApacheCloudstackMachinePoolArray{\n\t\t\t\t\u0026spectrocloud.ClusterApacheCloudstackMachinePoolArgs{\n\t\t\t\t\tControlPlane:         pulumi.Bool(true),\n\t\t\t\t\tControlPlaneAsWorker: pulumi.Bool(true),\n\t\t\t\t\tName:                 pulumi.String(\"cp-pool\"),\n\t\t\t\t\tCount:                pulumi.Float64(1),\n\t\t\t\t\tOffering:             pulumi.String(\"Medium Instance\"),\n\t\t\t\t\tNetworks: spectrocloud.ClusterApacheCloudstackMachinePoolNetworkArray{\n\t\t\t\t\t\t\u0026spectrocloud.ClusterApacheCloudstackMachinePoolNetworkArgs{\n\t\t\t\t\t\t\tNetworkName: pulumi.String(\"DefaultNetwork\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tAdditionalLabels: pulumi.StringMap{\n\t\t\t\t\t\t\"role\": pulumi.String(\"control-plane\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026spectrocloud.ClusterApacheCloudstackMachinePoolArgs{\n\t\t\t\t\tName:     pulumi.String(\"worker-pool\"),\n\t\t\t\t\tCount:    pulumi.Float64(2),\n\t\t\t\t\tOffering: pulumi.String(\"Large Instance\"),\n\t\t\t\t\tNetworks: spectrocloud.ClusterApacheCloudstackMachinePoolNetworkArray{\n\t\t\t\t\t\t\u0026spectrocloud.ClusterApacheCloudstackMachinePoolNetworkArgs{\n\t\t\t\t\t\t\tNetworkName: pulumi.String(\"DefaultNetwork\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tAdditionalLabels: pulumi.StringMap{\n\t\t\t\t\t\t\"role\": pulumi.String(\"worker\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetCloudaccountApacheCloudstackArgs;\nimport com.pulumi.spectrocloud.inputs.GetClusterProfileArgs;\nimport com.pulumi.spectrocloud.ClusterApacheCloudstack;\nimport com.pulumi.spectrocloud.ClusterApacheCloudstackArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterApacheCloudstackCloudConfigArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterApacheCloudstackClusterProfileArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterApacheCloudstackMachinePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var account = SpectrocloudFunctions.getCloudaccountApacheCloudstack(GetCloudaccountApacheCloudstackArgs.builder()\n            .name(\"apache-cloudstack-account-1\")\n            .build());\n\n        final var profile = SpectrocloudFunctions.getClusterProfile(GetClusterProfileArgs.builder()\n            .name(\"cloudstack-k8s-profile\")\n            .build());\n\n        var cluster = new ClusterApacheCloudstack(\"cluster\", ClusterApacheCloudstackArgs.builder()\n            .name(\"apache-cloudstack-cluster-1\")\n            .tags(            \n                \"dev\",\n                \"cloudstack\",\n                \"department:engineering\")\n            .cloudAccountId(account.id())\n            .cloudConfig(ClusterApacheCloudstackCloudConfigArgs.builder()\n                .sshKeyName(\"my-ssh-key\")\n                .zones(ClusterApacheCloudstackCloudConfigZoneArgs.builder()\n                    .name(\"Zone1\")\n                    .network(ClusterApacheCloudstackCloudConfigZoneNetworkArgs.builder()\n                        .id(\"network-id\")\n                        .name(\"DefaultNetwork\")\n                        .build())\n                    .build())\n                .build())\n            .clusterProfiles(ClusterApacheCloudstackClusterProfileArgs.builder()\n                .id(profile.id())\n                .build())\n            .machinePools(            \n                ClusterApacheCloudstackMachinePoolArgs.builder()\n                    .controlPlane(true)\n                    .controlPlaneAsWorker(true)\n                    .name(\"cp-pool\")\n                    .count(1.0)\n                    .offering(\"Medium Instance\")\n                    .networks(ClusterApacheCloudstackMachinePoolNetworkArgs.builder()\n                        .networkName(\"DefaultNetwork\")\n                        .build())\n                    .additionalLabels(Map.of(\"role\", \"control-plane\"))\n                    .build(),\n                ClusterApacheCloudstackMachinePoolArgs.builder()\n                    .name(\"worker-pool\")\n                    .count(2.0)\n                    .offering(\"Large Instance\")\n                    .networks(ClusterApacheCloudstackMachinePoolNetworkArgs.builder()\n                        .networkName(\"DefaultNetwork\")\n                        .build())\n                    .additionalLabels(Map.of(\"role\", \"worker\"))\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  cluster:\n    type: spectrocloud:ClusterApacheCloudstack\n    properties:\n      name: apache-cloudstack-cluster-1\n      tags:\n        - dev\n        - cloudstack\n        - department:engineering\n      cloudAccountId: ${account.id}\n      cloudConfig:\n        sshKeyName: my-ssh-key\n        zones:\n          - name: Zone1\n            network:\n              id: network-id\n              name: DefaultNetwork\n      clusterProfiles:\n        - id: ${profile.id}\n      machinePools:\n        - controlPlane: true\n          controlPlaneAsWorker: true\n          name: cp-pool\n          count: 1\n          offering: Medium Instance\n          networks:\n            - networkName: DefaultNetwork\n          additionalLabels:\n            role: control-plane\n        - name: worker-pool\n          count: 2\n          offering: Large Instance\n          networks:\n            - networkName: DefaultNetwork\n          additionalLabels:\n            role: worker\nvariables:\n  account:\n    fn::invoke:\n      function: spectrocloud:getCloudaccountApacheCloudstack\n      arguments:\n        name: apache-cloudstack-account-1\n  profile:\n    fn::invoke:\n      function: spectrocloud:getClusterProfile\n      arguments:\n        name: cloudstack-k8s-profile\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Apache CloudStack Cluster with Advanced Configuration\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  advancedCluster:\n    type: spectrocloud:ClusterApacheCloudstack\n    name: advanced_cluster\n    properties:\n      name: apache-cloudstack-production\n      tags:\n        - prod\n        - cloudstack\n        - department:platform\n      cloudAccountId: ${account.id}\n      updateWorkerPoolsInParallel: true\n      cloudConfig:\n        sshKeyName: production-ssh-key\n        project:\n          id: project-uuid\n          name: ProductionProject\n        zones:\n          - name: Zone1\n            network:\n              id: network-id\n              name: ProductionNetwork\n      clusterProfiles:\n        - id: ${profile.id}\n          variables:\n            cluster_size: large\n            environment: production\n      backupPolicy:\n        schedule: 0 2 * * *\n        backupLocationId: ${bsl.id}\n        prefix: cloudstack-prod-backup\n        expiryInHour: 7200\n        includeDisks: true\n        includeClusterResources: true\n      scanPolicy:\n        configurationScanSchedule: 0 0 * * SUN\n        penetrationScanSchedule: 0 0 * * SUN\n        conformanceScanSchedule: 0 0 1 * *\n      machinePools:\n        - controlPlane: true\n          controlPlaneAsWorker: true\n          name: cp-pool\n          count: 3\n          placement:\n            - zone: Zone1\n              compute: Medium Instance\n              networkName: ProductionNetwork\n          instanceConfigs:\n            - diskGib: 100\n              memoryMib: 8192\n              numCpus: 4\n          additionalLabels:\n            role: control-plane\n            environment: production\n          taints:\n            - key: master\n              value: 'true'\n              effect: NoSchedule\n        - name: worker-pool-autoscale\n          count: 3\n          min: 2\n          max: 10\n          placement:\n            - zone: Zone1\n              compute: Large Instance\n              networkName: ProductionNetwork\n          instanceConfigs:\n            - diskGib: 200\n              memoryMib: 16384\n              numCpus: 8\n          additionalLabels:\n            role: worker\n            scalable: 'true'\n            environment: production\n          additionalAnnotations:\n            custom.io/annotation: production-workload\n            cluster-autoscaler.kubernetes.io/enabled: 'true'\n          overrideKubeadmConfiguration: |\n            kubeletExtraArgs:\n              node-labels: \\\"env=production,tier=backend\\\"\n              max-pods: \\\"110\\\"\n            preKubeadmCommands:\n              - echo 'Starting node customization'\n              - sysctl -w net.ipv4.ip_forward=1\n            postKubeadmCommands:\n              - echo 'Node customization complete'\n              - systemctl restart kubelet\n          updateStrategy: RollingUpdateScaleOut\n          nodeRepaveInterval: 90\nvariables:\n  account:\n    fn::invoke:\n      function: spectrocloud:getCloudaccountApacheCloudstack\n      arguments:\n        name: apache-cloudstack-account-1\n  profile:\n    fn::invoke:\n      function: spectrocloud:getClusterProfile\n      arguments:\n        name: cloudstack-k8s-profile\n  bsl:\n    fn::invoke:\n      function: spectrocloud:getBackupStorageLocation\n      arguments:\n        name: s3-backup-location\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Apache CloudStack Cluster with Static IP Pool\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  clusterStaticIp:\n    type: spectrocloud:ClusterApacheCloudstack\n    name: cluster_static_ip\n    properties:\n      name: apache-cloudstack-static-ip\n      tags:\n        - prod\n        - static-ip\n      cloudAccountId: ${account.id}\n      cloudConfig:\n        sshKeyName: prod-ssh-key\n        zones:\n          - name: Zone1\n            network:\n              id: network-id\n              name: StaticIPNetwork\n      clusterProfiles:\n        - id: ${profile.id}\n      machinePools:\n        - controlPlane: true\n          controlPlaneAsWorker: true\n          name: cp-pool\n          count: 1\n          placement:\n            - zone: Zone1\n              compute: Medium Instance\n              networkName: StaticIPNetwork\n              staticIpPoolId: static-ip-pool-uuid\n        - name: worker-pool\n          count: 2\n          placement:\n            - zone: Zone1\n              compute: Large Instance\n              networkName: StaticIPNetwork\n              staticIpPoolId: static-ip-pool-uuid\nvariables:\n  account:\n    fn::invoke:\n      function: spectrocloud:getCloudaccountApacheCloudstack\n      arguments:\n        name: apache-cloudstack-account-1\n  profile:\n    fn::invoke:\n      function: spectrocloud:getClusterProfile\n      arguments:\n        name: cloudstack-k8s-profile\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Apache CloudStack Cluster with Template Override\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  clusterCustomTemplate:\n    type: spectrocloud:ClusterApacheCloudstack\n    name: cluster_custom_template\n    properties:\n      name: apache-cloudstack-custom-template\n      tags:\n        - dev\n        - custom-os\n      cloudAccountId: ${account.id}\n      cloudConfig:\n        sshKeyName: dev-ssh-key\n        zones:\n          - name: Zone1\n            network:\n              id: network-id\n              name: DefaultNetwork\n      clusterProfiles:\n        - id: ${profile.id}\n      machinePools:\n        - controlPlane: true\n          controlPlaneAsWorker: true\n          name: cp-pool\n          count: 1\n          placement:\n            - zone: Zone1\n              compute: Medium Instance\n              networkName: DefaultNetwork\n          template:\n            name: ubuntu-22.04-custom-template\n        - name: worker-pool\n          count: 2\n          placement:\n            - zone: Zone1\n              compute: Large Instance\n              networkName: DefaultNetwork\n          template:\n            name: ubuntu-22.04-gpu-template\n          instanceConfigs:\n            - diskGib: 500\n              memoryMib: 32768\n              numCpus: 16\nvariables:\n  account:\n    fn::invoke:\n      function: spectrocloud:getCloudaccountApacheCloudstack\n      arguments:\n        name: apache-cloudstack-account-1\n  profile:\n    fn::invoke:\n      function: spectrocloud:getClusterProfile\n      arguments:\n        name: cloudstack-k8s-profile\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Apache CloudStack Cluster with Cluster Template\n\nThis example shows how to create a cluster using a cluster template instead of a cluster profile. Cluster templates provide a standardized way to deploy clusters with predefined configurations.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst account = spectrocloud.getCloudaccountApacheCloudstack({\n    name: \"apache-cloudstack-account-1\",\n});\nconst template = spectrocloud.getClusterConfigTemplate({\n    name: \"apache-cloudstack-standard-template\",\n});\nconst clusterFromTemplate = new spectrocloud.ClusterApacheCloudstack(\"cluster_from_template\", {\n    name: \"apache-cloudstack-template-cluster\",\n    tags: [\n        \"prod\",\n        \"template\",\n    ],\n    cloudAccountId: account.then(account =\u003e account.id),\n    cloudConfig: {\n        sshKeyName: \"prod-ssh-key\",\n        zones: [{\n            name: \"Zone1\",\n            network: {\n                id: \"network-id\",\n                name: \"ProductionNetwork\",\n            },\n        }],\n    },\n    clusterTemplate: {\n        id: template.then(template =\u003e template.id),\n        clusterProfiles: [\n            {\n                id: \"profile-uid-1\",\n                variables: {\n                    k8s_version: \"1.28.0\",\n                    replicas: \"3\",\n                },\n            },\n            {\n                id: \"profile-uid-2\",\n                variables: {\n                    namespace: \"production\",\n                },\n            },\n        ],\n    },\n    machinePools: [\n        {\n            controlPlane: true,\n            controlPlaneAsWorker: true,\n            name: \"cp-pool\",\n            count: 3,\n            offering: \"Large Instance\",\n            networks: [{\n                networkName: \"ProductionNetwork\",\n            }],\n        },\n        {\n            name: \"worker-pool\",\n            count: 5,\n            min: 3,\n            max: 10,\n            offering: \"XLarge Instance\",\n            networks: [{\n                networkName: \"ProductionNetwork\",\n            }],\n            additionalLabels: {\n                workload: \"production\",\n                tier: \"backend\",\n            },\n            additionalAnnotations: {\n                \"team.company.io/owner\": \"platform-engineering\",\n            },\n            updateStrategy: \"RollingUpdateScaleOut\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\naccount = spectrocloud.get_cloudaccount_apache_cloudstack(name=\"apache-cloudstack-account-1\")\ntemplate = spectrocloud.get_cluster_config_template(name=\"apache-cloudstack-standard-template\")\ncluster_from_template = spectrocloud.ClusterApacheCloudstack(\"cluster_from_template\",\n    name=\"apache-cloudstack-template-cluster\",\n    tags=[\n        \"prod\",\n        \"template\",\n    ],\n    cloud_account_id=account.id,\n    cloud_config={\n        \"ssh_key_name\": \"prod-ssh-key\",\n        \"zones\": [{\n            \"name\": \"Zone1\",\n            \"network\": {\n                \"id\": \"network-id\",\n                \"name\": \"ProductionNetwork\",\n            },\n        }],\n    },\n    cluster_template={\n        \"id\": template.id,\n        \"cluster_profiles\": [\n            {\n                \"id\": \"profile-uid-1\",\n                \"variables\": {\n                    \"k8s_version\": \"1.28.0\",\n                    \"replicas\": \"3\",\n                },\n            },\n            {\n                \"id\": \"profile-uid-2\",\n                \"variables\": {\n                    \"namespace\": \"production\",\n                },\n            },\n        ],\n    },\n    machine_pools=[\n        {\n            \"control_plane\": True,\n            \"control_plane_as_worker\": True,\n            \"name\": \"cp-pool\",\n            \"count\": 3,\n            \"offering\": \"Large Instance\",\n            \"networks\": [{\n                \"network_name\": \"ProductionNetwork\",\n            }],\n        },\n        {\n            \"name\": \"worker-pool\",\n            \"count\": 5,\n            \"min\": 3,\n            \"max\": 10,\n            \"offering\": \"XLarge Instance\",\n            \"networks\": [{\n                \"network_name\": \"ProductionNetwork\",\n            }],\n            \"additional_labels\": {\n                \"workload\": \"production\",\n                \"tier\": \"backend\",\n            },\n            \"additional_annotations\": {\n                \"team.company.io/owner\": \"platform-engineering\",\n            },\n            \"update_strategy\": \"RollingUpdateScaleOut\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var account = Spectrocloud.GetCloudaccountApacheCloudstack.Invoke(new()\n    {\n        Name = \"apache-cloudstack-account-1\",\n    });\n\n    var template = Spectrocloud.GetClusterConfigTemplate.Invoke(new()\n    {\n        Name = \"apache-cloudstack-standard-template\",\n    });\n\n    var clusterFromTemplate = new Spectrocloud.ClusterApacheCloudstack(\"cluster_from_template\", new()\n    {\n        Name = \"apache-cloudstack-template-cluster\",\n        Tags = new[]\n        {\n            \"prod\",\n            \"template\",\n        },\n        CloudAccountId = account.Apply(getCloudaccountApacheCloudstackResult =\u003e getCloudaccountApacheCloudstackResult.Id),\n        CloudConfig = new Spectrocloud.Inputs.ClusterApacheCloudstackCloudConfigArgs\n        {\n            SshKeyName = \"prod-ssh-key\",\n            Zones = new[]\n            {\n                new Spectrocloud.Inputs.ClusterApacheCloudstackCloudConfigZoneArgs\n                {\n                    Name = \"Zone1\",\n                    Network = new Spectrocloud.Inputs.ClusterApacheCloudstackCloudConfigZoneNetworkArgs\n                    {\n                        Id = \"network-id\",\n                        Name = \"ProductionNetwork\",\n                    },\n                },\n            },\n        },\n        ClusterTemplate = new Spectrocloud.Inputs.ClusterApacheCloudstackClusterTemplateArgs\n        {\n            Id = template.Apply(getClusterConfigTemplateResult =\u003e getClusterConfigTemplateResult.Id),\n            ClusterProfiles = new[]\n            {\n                new Spectrocloud.Inputs.ClusterApacheCloudstackClusterTemplateClusterProfileArgs\n                {\n                    Id = \"profile-uid-1\",\n                    Variables = \n                    {\n                        { \"k8s_version\", \"1.28.0\" },\n                        { \"replicas\", \"3\" },\n                    },\n                },\n                new Spectrocloud.Inputs.ClusterApacheCloudstackClusterTemplateClusterProfileArgs\n                {\n                    Id = \"profile-uid-2\",\n                    Variables = \n                    {\n                        { \"namespace\", \"production\" },\n                    },\n                },\n            },\n        },\n        MachinePools = new[]\n        {\n            new Spectrocloud.Inputs.ClusterApacheCloudstackMachinePoolArgs\n            {\n                ControlPlane = true,\n                ControlPlaneAsWorker = true,\n                Name = \"cp-pool\",\n                Count = 3,\n                Offering = \"Large Instance\",\n                Networks = new[]\n                {\n                    new Spectrocloud.Inputs.ClusterApacheCloudstackMachinePoolNetworkArgs\n                    {\n                        NetworkName = \"ProductionNetwork\",\n                    },\n                },\n            },\n            new Spectrocloud.Inputs.ClusterApacheCloudstackMachinePoolArgs\n            {\n                Name = \"worker-pool\",\n                Count = 5,\n                Min = 3,\n                Max = 10,\n                Offering = \"XLarge Instance\",\n                Networks = new[]\n                {\n                    new Spectrocloud.Inputs.ClusterApacheCloudstackMachinePoolNetworkArgs\n                    {\n                        NetworkName = \"ProductionNetwork\",\n                    },\n                },\n                AdditionalLabels = \n                {\n                    { \"workload\", \"production\" },\n                    { \"tier\", \"backend\" },\n                },\n                AdditionalAnnotations = \n                {\n                    { \"team.company.io/owner\", \"platform-engineering\" },\n                },\n                UpdateStrategy = \"RollingUpdateScaleOut\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taccount, err := spectrocloud.LookupCloudaccountApacheCloudstack(ctx, \u0026spectrocloud.LookupCloudaccountApacheCloudstackArgs{\n\t\t\tName: pulumi.StringRef(\"apache-cloudstack-account-1\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttemplate, err := spectrocloud.LookupClusterConfigTemplate(ctx, \u0026spectrocloud.LookupClusterConfigTemplateArgs{\n\t\t\tName: \"apache-cloudstack-standard-template\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.NewClusterApacheCloudstack(ctx, \"cluster_from_template\", \u0026spectrocloud.ClusterApacheCloudstackArgs{\n\t\t\tName: pulumi.String(\"apache-cloudstack-template-cluster\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"prod\"),\n\t\t\t\tpulumi.String(\"template\"),\n\t\t\t},\n\t\t\tCloudAccountId: pulumi.String(account.Id),\n\t\t\tCloudConfig: \u0026spectrocloud.ClusterApacheCloudstackCloudConfigArgs{\n\t\t\t\tSshKeyName: pulumi.String(\"prod-ssh-key\"),\n\t\t\t\tZones: spectrocloud.ClusterApacheCloudstackCloudConfigZoneArray{\n\t\t\t\t\t\u0026spectrocloud.ClusterApacheCloudstackCloudConfigZoneArgs{\n\t\t\t\t\t\tName: pulumi.String(\"Zone1\"),\n\t\t\t\t\t\tNetwork: \u0026spectrocloud.ClusterApacheCloudstackCloudConfigZoneNetworkArgs{\n\t\t\t\t\t\t\tId:   pulumi.String(\"network-id\"),\n\t\t\t\t\t\t\tName: pulumi.String(\"ProductionNetwork\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tClusterTemplate: \u0026spectrocloud.ClusterApacheCloudstackClusterTemplateArgs{\n\t\t\t\tId: pulumi.String(template.Id),\n\t\t\t\tClusterProfiles: spectrocloud.ClusterApacheCloudstackClusterTemplateClusterProfileArray{\n\t\t\t\t\t\u0026spectrocloud.ClusterApacheCloudstackClusterTemplateClusterProfileArgs{\n\t\t\t\t\t\tId: pulumi.String(\"profile-uid-1\"),\n\t\t\t\t\t\tVariables: pulumi.StringMap{\n\t\t\t\t\t\t\t\"k8s_version\": pulumi.String(\"1.28.0\"),\n\t\t\t\t\t\t\t\"replicas\":    pulumi.String(\"3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026spectrocloud.ClusterApacheCloudstackClusterTemplateClusterProfileArgs{\n\t\t\t\t\t\tId: pulumi.String(\"profile-uid-2\"),\n\t\t\t\t\t\tVariables: pulumi.StringMap{\n\t\t\t\t\t\t\t\"namespace\": pulumi.String(\"production\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tMachinePools: spectrocloud.ClusterApacheCloudstackMachinePoolArray{\n\t\t\t\t\u0026spectrocloud.ClusterApacheCloudstackMachinePoolArgs{\n\t\t\t\t\tControlPlane:         pulumi.Bool(true),\n\t\t\t\t\tControlPlaneAsWorker: pulumi.Bool(true),\n\t\t\t\t\tName:                 pulumi.String(\"cp-pool\"),\n\t\t\t\t\tCount:                pulumi.Float64(3),\n\t\t\t\t\tOffering:             pulumi.String(\"Large Instance\"),\n\t\t\t\t\tNetworks: spectrocloud.ClusterApacheCloudstackMachinePoolNetworkArray{\n\t\t\t\t\t\t\u0026spectrocloud.ClusterApacheCloudstackMachinePoolNetworkArgs{\n\t\t\t\t\t\t\tNetworkName: pulumi.String(\"ProductionNetwork\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026spectrocloud.ClusterApacheCloudstackMachinePoolArgs{\n\t\t\t\t\tName:     pulumi.String(\"worker-pool\"),\n\t\t\t\t\tCount:    pulumi.Float64(5),\n\t\t\t\t\tMin:      pulumi.Float64(3),\n\t\t\t\t\tMax:      pulumi.Float64(10),\n\t\t\t\t\tOffering: pulumi.String(\"XLarge Instance\"),\n\t\t\t\t\tNetworks: spectrocloud.ClusterApacheCloudstackMachinePoolNetworkArray{\n\t\t\t\t\t\t\u0026spectrocloud.ClusterApacheCloudstackMachinePoolNetworkArgs{\n\t\t\t\t\t\t\tNetworkName: pulumi.String(\"ProductionNetwork\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tAdditionalLabels: pulumi.StringMap{\n\t\t\t\t\t\t\"workload\": pulumi.String(\"production\"),\n\t\t\t\t\t\t\"tier\":     pulumi.String(\"backend\"),\n\t\t\t\t\t},\n\t\t\t\t\tAdditionalAnnotations: pulumi.StringMap{\n\t\t\t\t\t\t\"team.company.io/owner\": pulumi.String(\"platform-engineering\"),\n\t\t\t\t\t},\n\t\t\t\t\tUpdateStrategy: pulumi.String(\"RollingUpdateScaleOut\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetCloudaccountApacheCloudstackArgs;\nimport com.pulumi.spectrocloud.inputs.GetClusterConfigTemplateArgs;\nimport com.pulumi.spectrocloud.ClusterApacheCloudstack;\nimport com.pulumi.spectrocloud.ClusterApacheCloudstackArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterApacheCloudstackCloudConfigArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterApacheCloudstackClusterTemplateArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterApacheCloudstackMachinePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var account = SpectrocloudFunctions.getCloudaccountApacheCloudstack(GetCloudaccountApacheCloudstackArgs.builder()\n            .name(\"apache-cloudstack-account-1\")\n            .build());\n\n        final var template = SpectrocloudFunctions.getClusterConfigTemplate(GetClusterConfigTemplateArgs.builder()\n            .name(\"apache-cloudstack-standard-template\")\n            .build());\n\n        var clusterFromTemplate = new ClusterApacheCloudstack(\"clusterFromTemplate\", ClusterApacheCloudstackArgs.builder()\n            .name(\"apache-cloudstack-template-cluster\")\n            .tags(            \n                \"prod\",\n                \"template\")\n            .cloudAccountId(account.id())\n            .cloudConfig(ClusterApacheCloudstackCloudConfigArgs.builder()\n                .sshKeyName(\"prod-ssh-key\")\n                .zones(ClusterApacheCloudstackCloudConfigZoneArgs.builder()\n                    .name(\"Zone1\")\n                    .network(ClusterApacheCloudstackCloudConfigZoneNetworkArgs.builder()\n                        .id(\"network-id\")\n                        .name(\"ProductionNetwork\")\n                        .build())\n                    .build())\n                .build())\n            .clusterTemplate(ClusterApacheCloudstackClusterTemplateArgs.builder()\n                .id(template.id())\n                .clusterProfiles(                \n                    ClusterApacheCloudstackClusterTemplateClusterProfileArgs.builder()\n                        .id(\"profile-uid-1\")\n                        .variables(Map.ofEntries(\n                            Map.entry(\"k8s_version\", \"1.28.0\"),\n                            Map.entry(\"replicas\", \"3\")\n                        ))\n                        .build(),\n                    ClusterApacheCloudstackClusterTemplateClusterProfileArgs.builder()\n                        .id(\"profile-uid-2\")\n                        .variables(Map.of(\"namespace\", \"production\"))\n                        .build())\n                .build())\n            .machinePools(            \n                ClusterApacheCloudstackMachinePoolArgs.builder()\n                    .controlPlane(true)\n                    .controlPlaneAsWorker(true)\n                    .name(\"cp-pool\")\n                    .count(3.0)\n                    .offering(\"Large Instance\")\n                    .networks(ClusterApacheCloudstackMachinePoolNetworkArgs.builder()\n                        .networkName(\"ProductionNetwork\")\n                        .build())\n                    .build(),\n                ClusterApacheCloudstackMachinePoolArgs.builder()\n                    .name(\"worker-pool\")\n                    .count(5.0)\n                    .min(3.0)\n                    .max(10.0)\n                    .offering(\"XLarge Instance\")\n                    .networks(ClusterApacheCloudstackMachinePoolNetworkArgs.builder()\n                        .networkName(\"ProductionNetwork\")\n                        .build())\n                    .additionalLabels(Map.ofEntries(\n                        Map.entry(\"workload\", \"production\"),\n                        Map.entry(\"tier\", \"backend\")\n                    ))\n                    .additionalAnnotations(Map.of(\"team.company.io/owner\", \"platform-engineering\"))\n                    .updateStrategy(\"RollingUpdateScaleOut\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  clusterFromTemplate:\n    type: spectrocloud:ClusterApacheCloudstack\n    name: cluster_from_template\n    properties:\n      name: apache-cloudstack-template-cluster\n      tags:\n        - prod\n        - template\n      cloudAccountId: ${account.id}\n      cloudConfig:\n        sshKeyName: prod-ssh-key\n        zones:\n          - name: Zone1\n            network:\n              id: network-id\n              name: ProductionNetwork\n      clusterTemplate:\n        id: ${template.id}\n        clusterProfiles:\n          - id: profile-uid-1\n            variables:\n              k8s_version: 1.28.0\n              replicas: '3'\n          - id: profile-uid-2\n            variables:\n              namespace: production\n      machinePools:\n        - controlPlane: true\n          controlPlaneAsWorker: true\n          name: cp-pool\n          count: 3\n          offering: Large Instance\n          networks:\n            - networkName: ProductionNetwork\n        - name: worker-pool\n          count: 5\n          min: 3\n          max: 10\n          offering: XLarge Instance\n          networks:\n            - networkName: ProductionNetwork\n          additionalLabels:\n            workload: production\n            tier: backend\n          additionalAnnotations:\n            team.company.io/owner: platform-engineering\n          updateStrategy: RollingUpdateScaleOut\nvariables:\n  account:\n    fn::invoke:\n      function: spectrocloud:getCloudaccountApacheCloudstack\n      arguments:\n        name: apache-cloudstack-account-1\n  template:\n    fn::invoke:\n      function: spectrocloud:getClusterConfigTemplate\n      arguments:\n        name: apache-cloudstack-standard-template\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Apache CloudStack Cluster with Kubeadm Configuration Override\n\nThis example demonstrates how to customize kubeadm configuration for worker nodes. This is useful for setting custom kubelet arguments, running pre/post kubeadm commands, and other node-level customizations.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  clusterCustomKubeadm:\n    type: spectrocloud:ClusterApacheCloudstack\n    name: cluster_custom_kubeadm\n    properties:\n      name: apache-cloudstack-custom-kubeadm\n      tags:\n        - prod\n        - customized\n      cloudAccountId: ${account.id}\n      cloudConfig:\n        sshKeyName: prod-ssh-key\n        zones:\n          - name: Zone1\n            network:\n              id: network-id\n              name: ProductionNetwork\n      clusterProfiles:\n        - id: ${profile.id}\n      machinePools:\n        - controlPlane: true\n          controlPlaneAsWorker: false\n          name: cp-pool\n          count: 3\n          placement:\n            - zone: Zone1\n              compute: Large Instance\n              networkName: ProductionNetwork\n          additionalLabels:\n            role: control-plane\n        - name: worker-pool-frontend\n          count: 3\n          placement:\n            - zone: Zone1\n              compute: XLarge Instance\n              networkName: ProductionNetwork\n          additionalLabels:\n            role: worker\n            tier: frontend\n          additionalAnnotations:\n            custom.io/workload-type: web-facing\n          overrideKubeadmConfiguration: |\n            kubeletExtraArgs:\n              node-labels: \\\"tier=frontend,zone=dmz\\\"\n              max-pods: \\\"110\\\"\n              eviction-hard: \\\"memory.available\u003c500Mi,nodefs.available\u003c10%\\\"\n              feature-gates: \\\"RotateKubeletServerCertificate=true\\\"\n            preKubeadmCommands:\n              - echo 'Configuring frontend worker node'\n              - sysctl -w net.core.somaxconn=32768\n              - sysctl -w net.ipv4.ip_local_port_range=\\\"1024 65535\\\"\n              - sysctl -w net.ipv4.tcp_tw_reuse=1\n            postKubeadmCommands:\n              - echo 'Frontend worker node setup complete'\n              - systemctl restart kubelet\n          updateStrategy: RollingUpdateScaleOut\n          nodeRepaveInterval: 60\n        - name: worker-pool-backend\n          count: 5\n          min: 3\n          max: 10\n          placement:\n            - zone: Zone1\n              compute: XXLarge Instance\n              networkName: ProductionNetwork\n          instanceConfigs:\n            - diskGib: 500\n              memoryMib: 65536\n              numCpus: 16\n          additionalLabels:\n            role: worker\n            tier: backend\n          additionalAnnotations:\n            custom.io/workload-type: backend-services\n            cluster-autoscaler.kubernetes.io/enabled: 'true'\n          overrideKubeadmConfiguration: |\n            kubeletExtraArgs:\n              node-labels: \\\"tier=backend,compute=high\\\"\n              max-pods: \\\"200\\\"\n              kube-reserved: \\\"cpu=1,memory=2Gi,ephemeral-storage=1Gi\\\"\n              system-reserved: \\\"cpu=500m,memory=1Gi,ephemeral-storage=1Gi\\\"\n            preKubeadmCommands:\n              - echo 'Configuring backend worker node'\n              - sysctl -w vm.max_map_count=262144\n              - sysctl -w fs.file-max=2097152\n            postKubeadmCommands:\n              - echo 'Backend worker node setup complete'\n          updateStrategy: RollingUpdateScaleIn\n          nodeRepaveInterval: 90\nvariables:\n  account:\n    fn::invoke:\n      function: spectrocloud:getCloudaccountApacheCloudstack\n      arguments:\n        name: apache-cloudstack-account-1\n  profile:\n    fn::invoke:\n      function: spectrocloud:getClusterProfile\n      arguments:\n        name: cloudstack-k8s-profile\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the cluster using the `cluster_apache_cloudstack_name` or  `id` colon separated with `context`. For example:\n\nconsole\n\n```sh\n$ pulumi import spectrocloud:index/clusterApacheCloudstack:ClusterApacheCloudstack {cluster_uid}/{cluster_name}:project \n```\n\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackBackupPolicy:ClusterApacheCloudstackBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string","description":"ID of the CloudStack cloud account used for the cluster. This cloud account must be of type \u003cspan pulumi-lang-nodejs=\"`cloudstack`\" pulumi-lang-dotnet=\"`Cloudstack`\" pulumi-lang-go=\"`cloudstack`\" pulumi-lang-python=\"`cloudstack`\" pulumi-lang-yaml=\"`cloudstack`\" pulumi-lang-java=\"`cloudstack`\"\u003e`cloudstack`\u003c/span\u003e.\n"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackCloudConfig:ClusterApacheCloudstackCloudConfig","description":"CloudStack cluster configuration.\n"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`cloudstack`\" pulumi-lang-dotnet=\"`Cloudstack`\" pulumi-lang-go=\"`cloudstack`\" pulumi-lang-python=\"`cloudstack`\" pulumi-lang-yaml=\"`cloudstack`\" pulumi-lang-java=\"`cloudstack`\"\u003e`cloudstack`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterApacheCloudstackId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackClusterProfile:ClusterApacheCloudstackClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackClusterRbacBinding:ClusterApacheCloudstackClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackClusterTemplate:ClusterApacheCloudstackClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the CloudStack configuration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackHostConfig:ClusterApacheCloudstackHostConfig"},"description":"The host configuration for the cluster.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackLocationConfig:ClusterApacheCloudstackLocationConfig"},"description":"The location of the cluster.\n"},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackMachinePool:ClusterApacheCloudstackMachinePool"},"description":"Machine pool configuration for the cluster.\n"},"name":{"type":"string","description":"The name of the cluster.\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackNamespace:ClusterApacheCloudstackNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"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`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackScanPolicy:ClusterApacheCloudstackScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackTimeouts:ClusterApacheCloudstackTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object","required":["adminKubeConfig","cloudAccountId","cloudConfig","cloudConfigId","clusterApacheCloudstackId","kubeconfig","locationConfigs","machinePools","name"],"inputProperties":{"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackBackupPolicy:ClusterApacheCloudstackBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string","description":"ID of the CloudStack cloud account used for the cluster. This cloud account must be of type \u003cspan pulumi-lang-nodejs=\"`cloudstack`\" pulumi-lang-dotnet=\"`Cloudstack`\" pulumi-lang-go=\"`cloudstack`\" pulumi-lang-python=\"`cloudstack`\" pulumi-lang-yaml=\"`cloudstack`\" pulumi-lang-java=\"`cloudstack`\"\u003e`cloudstack`\u003c/span\u003e.\n"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackCloudConfig:ClusterApacheCloudstackCloudConfig","description":"CloudStack cluster configuration.\n"},"clusterApacheCloudstackId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackClusterProfile:ClusterApacheCloudstackClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackClusterRbacBinding:ClusterApacheCloudstackClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackClusterTemplate:ClusterApacheCloudstackClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the CloudStack configuration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackHostConfig:ClusterApacheCloudstackHostConfig"},"description":"The host configuration for the cluster.\n"},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackMachinePool:ClusterApacheCloudstackMachinePool"},"description":"Machine pool configuration for the cluster.\n"},"name":{"type":"string","description":"The name of the cluster.\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackNamespace:ClusterApacheCloudstackNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"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`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackScanPolicy:ClusterApacheCloudstackScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackTimeouts:ClusterApacheCloudstackTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"requiredInputs":["cloudAccountId","cloudConfig","machinePools"],"stateInputs":{"description":"Input properties used for looking up and filtering ClusterApacheCloudstack resources.\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackBackupPolicy:ClusterApacheCloudstackBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string","description":"ID of the CloudStack cloud account used for the cluster. This cloud account must be of type \u003cspan pulumi-lang-nodejs=\"`cloudstack`\" pulumi-lang-dotnet=\"`Cloudstack`\" pulumi-lang-go=\"`cloudstack`\" pulumi-lang-python=\"`cloudstack`\" pulumi-lang-yaml=\"`cloudstack`\" pulumi-lang-java=\"`cloudstack`\"\u003e`cloudstack`\u003c/span\u003e.\n"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackCloudConfig:ClusterApacheCloudstackCloudConfig","description":"CloudStack cluster configuration.\n"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`cloudstack`\" pulumi-lang-dotnet=\"`Cloudstack`\" pulumi-lang-go=\"`cloudstack`\" pulumi-lang-python=\"`cloudstack`\" pulumi-lang-yaml=\"`cloudstack`\" pulumi-lang-java=\"`cloudstack`\"\u003e`cloudstack`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterApacheCloudstackId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackClusterProfile:ClusterApacheCloudstackClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackClusterRbacBinding:ClusterApacheCloudstackClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackClusterTemplate:ClusterApacheCloudstackClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the CloudStack configuration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackHostConfig:ClusterApacheCloudstackHostConfig"},"description":"The host configuration for the cluster.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackLocationConfig:ClusterApacheCloudstackLocationConfig"},"description":"The location of the cluster.\n"},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackMachinePool:ClusterApacheCloudstackMachinePool"},"description":"Machine pool configuration for the cluster.\n"},"name":{"type":"string","description":"The name of the cluster.\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackNamespace:ClusterApacheCloudstackNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"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`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackScanPolicy:ClusterApacheCloudstackScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterApacheCloudstackTimeouts:ClusterApacheCloudstackTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object"}},"spectrocloud:index/clusterAws:ClusterAws":{"description":"Resource for managing AWS clusters in Spectro Cloud through Palette.\n\n## Import\n\nUsing `pulumi import`, import the cluster using the `cluster_name` or  `id` colon separated with `context`. For example:\n\nconsole\n\n```sh\n$ pulumi import spectrocloud:index/clusterAws:ClusterAws {cluster_uid}/{cluster_name}:project \n```\n\nRefer to the [Import section](/docs#import) to learn more.\n\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterAwsBackupPolicy:ClusterAwsBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterAwsCloudConfig:ClusterAwsCloudConfig"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterAwsId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAwsClusterProfile:ClusterAwsClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAwsClusterRbacBinding:ClusterAwsClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterAwsClusterTemplate:ClusterAwsClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"clusterType":{"type":"string","description":"The cluster type. Valid values are `PureManage` and `PureAttach`. This field can only be set during cluster creation and cannot be modified after the cluster is created. If not specified, the cluster will use the default type determined by the system.\n"},"context":{"type":"string","description":"The context of the AWS cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAwsHostConfig:ClusterAwsHostConfig"},"description":"The host configuration for the cluster.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAwsLocationConfig:ClusterAwsLocationConfig"},"description":"The location of the cluster.\n"},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAwsMachinePool:ClusterAwsMachinePool"}},"name":{"type":"string"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAwsNamespace:ClusterAwsNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterAwsScanPolicy:ClusterAwsScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`. The \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e attribute will soon be deprecated. It is recommended to use \u003cspan pulumi-lang-nodejs=\"`tagsMap`\" pulumi-lang-dotnet=\"`TagsMap`\" pulumi-lang-go=\"`tagsMap`\" pulumi-lang-python=\"`tags_map`\" pulumi-lang-yaml=\"`tagsMap`\" pulumi-lang-java=\"`tagsMap`\"\u003e`tags_map`\u003c/span\u003e instead.\n"},"tagsMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of tags to be applied to the cluster. tags and\u003cspan pulumi-lang-nodejs=\" tagsMap \" pulumi-lang-dotnet=\" TagsMap \" pulumi-lang-go=\" tagsMap \" pulumi-lang-python=\" tags_map \" pulumi-lang-yaml=\" tagsMap \" pulumi-lang-java=\" tagsMap \"\u003e tags_map \u003c/span\u003eare mutually exclusive — only one should be used at a time\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterAwsTimeouts:ClusterAwsTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object","required":["adminKubeConfig","cloudAccountId","cloudConfig","cloudConfigId","clusterAwsId","clusterType","kubeconfig","locationConfigs","machinePools","name"],"inputProperties":{"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterAwsBackupPolicy:ClusterAwsBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterAwsCloudConfig:ClusterAwsCloudConfig"},"clusterAwsId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAwsClusterProfile:ClusterAwsClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAwsClusterRbacBinding:ClusterAwsClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterAwsClusterTemplate:ClusterAwsClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"clusterType":{"type":"string","description":"The cluster type. Valid values are `PureManage` and `PureAttach`. This field can only be set during cluster creation and cannot be modified after the cluster is created. If not specified, the cluster will use the default type determined by the system.\n"},"context":{"type":"string","description":"The context of the AWS cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAwsHostConfig:ClusterAwsHostConfig"},"description":"The host configuration for the cluster.\n"},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAwsMachinePool:ClusterAwsMachinePool"}},"name":{"type":"string"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAwsNamespace:ClusterAwsNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterAwsScanPolicy:ClusterAwsScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`. The \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e attribute will soon be deprecated. It is recommended to use \u003cspan pulumi-lang-nodejs=\"`tagsMap`\" pulumi-lang-dotnet=\"`TagsMap`\" pulumi-lang-go=\"`tagsMap`\" pulumi-lang-python=\"`tags_map`\" pulumi-lang-yaml=\"`tagsMap`\" pulumi-lang-java=\"`tagsMap`\"\u003e`tags_map`\u003c/span\u003e instead.\n"},"tagsMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of tags to be applied to the cluster. tags and\u003cspan pulumi-lang-nodejs=\" tagsMap \" pulumi-lang-dotnet=\" TagsMap \" pulumi-lang-go=\" tagsMap \" pulumi-lang-python=\" tags_map \" pulumi-lang-yaml=\" tagsMap \" pulumi-lang-java=\" tagsMap \"\u003e tags_map \u003c/span\u003eare mutually exclusive — only one should be used at a time\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterAwsTimeouts:ClusterAwsTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"requiredInputs":["cloudAccountId","cloudConfig","machinePools"],"stateInputs":{"description":"Input properties used for looking up and filtering ClusterAws resources.\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterAwsBackupPolicy:ClusterAwsBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterAwsCloudConfig:ClusterAwsCloudConfig"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterAwsId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAwsClusterProfile:ClusterAwsClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAwsClusterRbacBinding:ClusterAwsClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterAwsClusterTemplate:ClusterAwsClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"clusterType":{"type":"string","description":"The cluster type. Valid values are `PureManage` and `PureAttach`. This field can only be set during cluster creation and cannot be modified after the cluster is created. If not specified, the cluster will use the default type determined by the system.\n"},"context":{"type":"string","description":"The context of the AWS cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAwsHostConfig:ClusterAwsHostConfig"},"description":"The host configuration for the cluster.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAwsLocationConfig:ClusterAwsLocationConfig"},"description":"The location of the cluster.\n"},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAwsMachinePool:ClusterAwsMachinePool"}},"name":{"type":"string"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAwsNamespace:ClusterAwsNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterAwsScanPolicy:ClusterAwsScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`. The \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e attribute will soon be deprecated. It is recommended to use \u003cspan pulumi-lang-nodejs=\"`tagsMap`\" pulumi-lang-dotnet=\"`TagsMap`\" pulumi-lang-go=\"`tagsMap`\" pulumi-lang-python=\"`tags_map`\" pulumi-lang-yaml=\"`tagsMap`\" pulumi-lang-java=\"`tagsMap`\"\u003e`tags_map`\u003c/span\u003e instead.\n"},"tagsMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of tags to be applied to the cluster. tags and\u003cspan pulumi-lang-nodejs=\" tagsMap \" pulumi-lang-dotnet=\" TagsMap \" pulumi-lang-go=\" tagsMap \" pulumi-lang-python=\" tags_map \" pulumi-lang-yaml=\" tagsMap \" pulumi-lang-java=\" tagsMap \"\u003e tags_map \u003c/span\u003eare mutually exclusive — only one should be used at a time\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterAwsTimeouts:ClusterAwsTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object"}},"spectrocloud:index/clusterAzure:ClusterAzure":{"description":"Resource for managing Azure clusters in Spectro Cloud through Palette.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst account = spectrocloud.getCloudaccountAzure({\n    name: clusterCloudAccountName,\n});\nconst profile = spectrocloud.getClusterProfile({\n    name: clusterClusterProfileName,\n});\nconst cluster = new spectrocloud.ClusterAzure(\"cluster\", {\n    name: clusterName,\n    tags: [\n        \"dev\",\n        \"department:devops\",\n        \"owner:bob\",\n    ],\n    cloudAccountId: account.then(account =\u003e account.id),\n    cloudConfig: {\n        subscriptionId: azureSubscriptionId,\n        resourceGroup: azureResourceGroup,\n        region: azureRegion,\n        sshKey: clusterSshPublicKey,\n    },\n    clusterProfiles: [{\n        id: profile.then(profile =\u003e profile.id),\n    }],\n    machinePools: [\n        {\n            controlPlane: true,\n            controlPlaneAsWorker: true,\n            name: \"cp-pool\",\n            count: 1,\n            instanceType: \"Standard_D2_v3\",\n            azs: [\"\"],\n            disk: {\n                sizeGb: 65,\n                type: \"Standard_LRS\",\n            },\n        },\n        {\n            name: \"worker-basic\",\n            count: 1,\n            instanceType: \"Standard_D2_v3\",\n            azs: [\"\"],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\naccount = spectrocloud.get_cloudaccount_azure(name=cluster_cloud_account_name)\nprofile = spectrocloud.get_cluster_profile(name=cluster_cluster_profile_name)\ncluster = spectrocloud.ClusterAzure(\"cluster\",\n    name=cluster_name,\n    tags=[\n        \"dev\",\n        \"department:devops\",\n        \"owner:bob\",\n    ],\n    cloud_account_id=account.id,\n    cloud_config={\n        \"subscription_id\": azure_subscription_id,\n        \"resource_group\": azure_resource_group,\n        \"region\": azure_region,\n        \"ssh_key\": cluster_ssh_public_key,\n    },\n    cluster_profiles=[{\n        \"id\": profile.id,\n    }],\n    machine_pools=[\n        {\n            \"control_plane\": True,\n            \"control_plane_as_worker\": True,\n            \"name\": \"cp-pool\",\n            \"count\": 1,\n            \"instance_type\": \"Standard_D2_v3\",\n            \"azs\": [\"\"],\n            \"disk\": {\n                \"size_gb\": 65,\n                \"type\": \"Standard_LRS\",\n            },\n        },\n        {\n            \"name\": \"worker-basic\",\n            \"count\": 1,\n            \"instance_type\": \"Standard_D2_v3\",\n            \"azs\": [\"\"],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var account = Spectrocloud.GetCloudaccountAzure.Invoke(new()\n    {\n        Name = clusterCloudAccountName,\n    });\n\n    var profile = Spectrocloud.GetClusterProfile.Invoke(new()\n    {\n        Name = clusterClusterProfileName,\n    });\n\n    var cluster = new Spectrocloud.ClusterAzure(\"cluster\", new()\n    {\n        Name = clusterName,\n        Tags = new[]\n        {\n            \"dev\",\n            \"department:devops\",\n            \"owner:bob\",\n        },\n        CloudAccountId = account.Apply(getCloudaccountAzureResult =\u003e getCloudaccountAzureResult.Id),\n        CloudConfig = new Spectrocloud.Inputs.ClusterAzureCloudConfigArgs\n        {\n            SubscriptionId = azureSubscriptionId,\n            ResourceGroup = azureResourceGroup,\n            Region = azureRegion,\n            SshKey = clusterSshPublicKey,\n        },\n        ClusterProfiles = new[]\n        {\n            new Spectrocloud.Inputs.ClusterAzureClusterProfileArgs\n            {\n                Id = profile.Apply(getClusterProfileResult =\u003e getClusterProfileResult.Id),\n            },\n        },\n        MachinePools = new[]\n        {\n            new Spectrocloud.Inputs.ClusterAzureMachinePoolArgs\n            {\n                ControlPlane = true,\n                ControlPlaneAsWorker = true,\n                Name = \"cp-pool\",\n                Count = 1,\n                InstanceType = \"Standard_D2_v3\",\n                Azs = new[]\n                {\n                    \"\",\n                },\n                Disk = new Spectrocloud.Inputs.ClusterAzureMachinePoolDiskArgs\n                {\n                    SizeGb = 65,\n                    Type = \"Standard_LRS\",\n                },\n            },\n            new Spectrocloud.Inputs.ClusterAzureMachinePoolArgs\n            {\n                Name = \"worker-basic\",\n                Count = 1,\n                InstanceType = \"Standard_D2_v3\",\n                Azs = new[]\n                {\n                    \"\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taccount, err := spectrocloud.LookupCloudaccountAzure(ctx, \u0026spectrocloud.LookupCloudaccountAzureArgs{\n\t\t\tName: pulumi.StringRef(clusterCloudAccountName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprofile, err := spectrocloud.LookupClusterProfile(ctx, \u0026spectrocloud.LookupClusterProfileArgs{\n\t\t\tName: pulumi.StringRef(clusterClusterProfileName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.NewClusterAzure(ctx, \"cluster\", \u0026spectrocloud.ClusterAzureArgs{\n\t\t\tName: pulumi.Any(clusterName),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"dev\"),\n\t\t\t\tpulumi.String(\"department:devops\"),\n\t\t\t\tpulumi.String(\"owner:bob\"),\n\t\t\t},\n\t\t\tCloudAccountId: pulumi.String(account.Id),\n\t\t\tCloudConfig: \u0026spectrocloud.ClusterAzureCloudConfigArgs{\n\t\t\t\tSubscriptionId: pulumi.Any(azureSubscriptionId),\n\t\t\t\tResourceGroup:  pulumi.Any(azureResourceGroup),\n\t\t\t\tRegion:         pulumi.Any(azureRegion),\n\t\t\t\tSshKey:         pulumi.Any(clusterSshPublicKey),\n\t\t\t},\n\t\t\tClusterProfiles: spectrocloud.ClusterAzureClusterProfileArray{\n\t\t\t\t\u0026spectrocloud.ClusterAzureClusterProfileArgs{\n\t\t\t\t\tId: pulumi.String(profile.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMachinePools: spectrocloud.ClusterAzureMachinePoolArray{\n\t\t\t\t\u0026spectrocloud.ClusterAzureMachinePoolArgs{\n\t\t\t\t\tControlPlane:         pulumi.Bool(true),\n\t\t\t\t\tControlPlaneAsWorker: pulumi.Bool(true),\n\t\t\t\t\tName:                 pulumi.String(\"cp-pool\"),\n\t\t\t\t\tCount:                pulumi.Float64(1),\n\t\t\t\t\tInstanceType:         pulumi.String(\"Standard_D2_v3\"),\n\t\t\t\t\tAzs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"\"),\n\t\t\t\t\t},\n\t\t\t\t\tDisk: \u0026spectrocloud.ClusterAzureMachinePoolDiskArgs{\n\t\t\t\t\t\tSizeGb: pulumi.Float64(65),\n\t\t\t\t\t\tType:   pulumi.String(\"Standard_LRS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026spectrocloud.ClusterAzureMachinePoolArgs{\n\t\t\t\t\tName:         pulumi.String(\"worker-basic\"),\n\t\t\t\t\tCount:        pulumi.Float64(1),\n\t\t\t\t\tInstanceType: pulumi.String(\"Standard_D2_v3\"),\n\t\t\t\t\tAzs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetCloudaccountAzureArgs;\nimport com.pulumi.spectrocloud.inputs.GetClusterProfileArgs;\nimport com.pulumi.spectrocloud.ClusterAzure;\nimport com.pulumi.spectrocloud.ClusterAzureArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterAzureCloudConfigArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterAzureClusterProfileArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterAzureMachinePoolArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterAzureMachinePoolDiskArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var account = SpectrocloudFunctions.getCloudaccountAzure(GetCloudaccountAzureArgs.builder()\n            .name(clusterCloudAccountName)\n            .build());\n\n        final var profile = SpectrocloudFunctions.getClusterProfile(GetClusterProfileArgs.builder()\n            .name(clusterClusterProfileName)\n            .build());\n\n        var cluster = new ClusterAzure(\"cluster\", ClusterAzureArgs.builder()\n            .name(clusterName)\n            .tags(            \n                \"dev\",\n                \"department:devops\",\n                \"owner:bob\")\n            .cloudAccountId(account.id())\n            .cloudConfig(ClusterAzureCloudConfigArgs.builder()\n                .subscriptionId(azureSubscriptionId)\n                .resourceGroup(azureResourceGroup)\n                .region(azureRegion)\n                .sshKey(clusterSshPublicKey)\n                .build())\n            .clusterProfiles(ClusterAzureClusterProfileArgs.builder()\n                .id(profile.id())\n                .build())\n            .machinePools(            \n                ClusterAzureMachinePoolArgs.builder()\n                    .controlPlane(true)\n                    .controlPlaneAsWorker(true)\n                    .name(\"cp-pool\")\n                    .count(1.0)\n                    .instanceType(\"Standard_D2_v3\")\n                    .azs(\"\")\n                    .disk(ClusterAzureMachinePoolDiskArgs.builder()\n                        .sizeGb(65.0)\n                        .type(\"Standard_LRS\")\n                        .build())\n                    .build(),\n                ClusterAzureMachinePoolArgs.builder()\n                    .name(\"worker-basic\")\n                    .count(1.0)\n                    .instanceType(\"Standard_D2_v3\")\n                    .azs(\"\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  cluster:\n    type: spectrocloud:ClusterAzure\n    properties:\n      name: ${clusterName}\n      tags:\n        - dev\n        - department:devops\n        - owner:bob\n      cloudAccountId: ${account.id}\n      cloudConfig:\n        subscriptionId: ${azureSubscriptionId}\n        resourceGroup: ${azureResourceGroup}\n        region: ${azureRegion}\n        sshKey: ${clusterSshPublicKey}\n      clusterProfiles:\n        - id: ${profile.id}\n      machinePools:\n        - controlPlane: true\n          controlPlaneAsWorker: true\n          name: cp-pool\n          count: 1\n          instanceType: Standard_D2_v3\n          azs:\n            - \"\"\n          disk:\n            sizeGb: 65\n            type: Standard_LRS\n        - name: worker-basic\n          count: 1\n          instanceType: Standard_D2_v3\n          azs:\n            - \"\"\nvariables:\n  account:\n    fn::invoke:\n      function: spectrocloud:getCloudaccountAzure\n      arguments:\n        name: ${clusterCloudAccountName}\n  profile:\n    fn::invoke:\n      function: spectrocloud:getClusterProfile\n      arguments:\n        name: ${clusterClusterProfileName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the cluster using the `cluster_name` or `id` colon separated with `context`. For example:\n\nconsole\n\n```sh\n$ pulumi import spectrocloud:index/clusterAzure:ClusterAzure {cluster_uid}/{cluster_name}:project \n```\n\nRefer to the [Import section](/docs#import) to learn more.\n\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterAzureBackupPolicy:ClusterAzureBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string","description":"ID of the cloud account to be used for the cluster. This cloud account must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterAzureCloudConfig:ClusterAzureCloudConfig"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterAzureId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAzureClusterProfile:ClusterAzureClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAzureClusterRbacBinding:ClusterAzureClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterAzureClusterTemplate:ClusterAzureClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the Azure cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAzureHostConfig:ClusterAzureHostConfig"},"description":"The host configuration for the cluster.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAzureLocationConfig:ClusterAzureLocationConfig"},"description":"The location of the cluster.\n"},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAzureMachinePool:ClusterAzureMachinePool"}},"name":{"type":"string","description":"Name of the cluster. This name will be used to create the cluster in Azure.\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAzureNamespace:ClusterAzureNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterAzureScanPolicy:ClusterAzureScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterAzureTimeouts:ClusterAzureTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object","required":["adminKubeConfig","cloudAccountId","cloudConfig","cloudConfigId","clusterAzureId","kubeconfig","locationConfigs","machinePools","name"],"inputProperties":{"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterAzureBackupPolicy:ClusterAzureBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string","description":"ID of the cloud account to be used for the cluster. This cloud account must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterAzureCloudConfig:ClusterAzureCloudConfig"},"clusterAzureId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAzureClusterProfile:ClusterAzureClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAzureClusterRbacBinding:ClusterAzureClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterAzureClusterTemplate:ClusterAzureClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the Azure cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAzureHostConfig:ClusterAzureHostConfig"},"description":"The host configuration for the cluster.\n"},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAzureMachinePool:ClusterAzureMachinePool"}},"name":{"type":"string","description":"Name of the cluster. This name will be used to create the cluster in Azure.\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAzureNamespace:ClusterAzureNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterAzureScanPolicy:ClusterAzureScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterAzureTimeouts:ClusterAzureTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"requiredInputs":["cloudAccountId","cloudConfig","machinePools"],"stateInputs":{"description":"Input properties used for looking up and filtering ClusterAzure resources.\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterAzureBackupPolicy:ClusterAzureBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string","description":"ID of the cloud account to be used for the cluster. This cloud account must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterAzureCloudConfig:ClusterAzureCloudConfig"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterAzureId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAzureClusterProfile:ClusterAzureClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAzureClusterRbacBinding:ClusterAzureClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterAzureClusterTemplate:ClusterAzureClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the Azure cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAzureHostConfig:ClusterAzureHostConfig"},"description":"The host configuration for the cluster.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAzureLocationConfig:ClusterAzureLocationConfig"},"description":"The location of the cluster.\n"},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAzureMachinePool:ClusterAzureMachinePool"}},"name":{"type":"string","description":"Name of the cluster. This name will be used to create the cluster in Azure.\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterAzureNamespace:ClusterAzureNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterAzureScanPolicy:ClusterAzureScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterAzureTimeouts:ClusterAzureTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object"}},"spectrocloud:index/clusterBrownfield:ClusterBrownfield":{"description":"Register an existing Kubernetes cluster (brownfield) with Palette. This resource allows you to import and manage existing Kubernetes clusters. Supported cloud platforms: (AWS, Azure, GCP, vSphere, OpenShift, Generic, Apache CloudStack, Edge Native, MAAS, and OpenStack). This feature is currently in preview.\n\n\u003e **Preview Release**: The \u003cspan pulumi-lang-nodejs=\"`spectrocloud.ClusterBrownfield`\" pulumi-lang-dotnet=\"`spectrocloud.ClusterBrownfield`\" pulumi-lang-go=\"`ClusterBrownfield`\" pulumi-lang-python=\"`ClusterBrownfield`\" pulumi-lang-yaml=\"`spectrocloud.ClusterBrownfield`\" pulumi-lang-java=\"`spectrocloud.ClusterBrownfield`\"\u003e`spectrocloud.ClusterBrownfield`\u003c/span\u003e resource provides the ability to import and register existing Kubernetes clusters across different cloud platforms (AWS, Azure, GCP, vSphere, OpenShift, Generic, Apache CloudStack, Edge Native, MAAS, and OpenStack) with Palette. This feature is currently **in preview**, and we are actively working on enhancements that will be released in future versions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst profile = spectrocloud.getClusterProfile({\n    name: clusterClusterProfileName,\n});\nconst bsl = spectrocloud.getBackupStorageLocation({\n    name: backupStorageLocationName,\n});\nconst cluster = new spectrocloud.ClusterBrownfield(\"cluster\", {\n    name: clusterName,\n    cloudType: \"generic\",\n    context: \"project\",\n    importMode: \"full\",\n    description: \"My existing Kubernetes cluster\",\n    clusterTimezone: \"America/New_York\",\n    tags: [\n        \"environment:production\",\n        \"team:platform\",\n        \"managed-by:terraform\",\n    ],\n    clusterProfiles: [{\n        id: profile.then(profile =\u003e profile.id),\n    }],\n    scanPolicy: {\n        configurationScanSchedule: \"0 0 * * SUN\",\n        penetrationScanSchedule: \"0 0 * * SUN\",\n        conformanceScanSchedule: \"0 0 1 * *\",\n    },\n    backupPolicy: {\n        schedule: \"0 0 * * SUN\",\n        backupLocationId: bsl.then(bsl =\u003e bsl.id),\n        prefix: \"cluster-backup\",\n        expiryInHour: 7200,\n        includeDisks: true,\n        includeClusterResources: true,\n    },\n    clusterRbacBindings: [{\n        type: \"ClusterRoleBinding\",\n        role: {\n            kind: \"ClusterRole\",\n            name: \"cluster-admin\",\n        },\n        subjects: [\n            {\n                type: \"User\",\n                name: \"admin-user@example.com\",\n            },\n            {\n                type: \"Group\",\n                name: \"platform-admins\",\n            },\n            {\n                type: \"ServiceAccount\",\n                name: \"cluster-admin-sa\",\n                namespace: \"kube-system\",\n            },\n        ],\n    }],\n    namespaces: [{\n        name: \"production\",\n        resourceAllocation: {\n            cpu_cores: \"4\",\n            memory_MiB: \"8192\",\n        },\n    }],\n    machinePools: [{\n        name: \"worker-pool\",\n        nodes: [{\n            nodeName: \"worker-node-1\",\n            action: \"uncordon\",\n        }],\n    }],\n});\nexport const manifestUrl = cluster.manifestUrl;\nexport const kubectlCommand = cluster.kubectlCommand;\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nprofile = spectrocloud.get_cluster_profile(name=cluster_cluster_profile_name)\nbsl = spectrocloud.get_backup_storage_location(name=backup_storage_location_name)\ncluster = spectrocloud.ClusterBrownfield(\"cluster\",\n    name=cluster_name,\n    cloud_type=\"generic\",\n    context=\"project\",\n    import_mode=\"full\",\n    description=\"My existing Kubernetes cluster\",\n    cluster_timezone=\"America/New_York\",\n    tags=[\n        \"environment:production\",\n        \"team:platform\",\n        \"managed-by:terraform\",\n    ],\n    cluster_profiles=[{\n        \"id\": profile.id,\n    }],\n    scan_policy={\n        \"configuration_scan_schedule\": \"0 0 * * SUN\",\n        \"penetration_scan_schedule\": \"0 0 * * SUN\",\n        \"conformance_scan_schedule\": \"0 0 1 * *\",\n    },\n    backup_policy={\n        \"schedule\": \"0 0 * * SUN\",\n        \"backup_location_id\": bsl.id,\n        \"prefix\": \"cluster-backup\",\n        \"expiry_in_hour\": 7200,\n        \"include_disks\": True,\n        \"include_cluster_resources\": True,\n    },\n    cluster_rbac_bindings=[{\n        \"type\": \"ClusterRoleBinding\",\n        \"role\": {\n            \"kind\": \"ClusterRole\",\n            \"name\": \"cluster-admin\",\n        },\n        \"subjects\": [\n            {\n                \"type\": \"User\",\n                \"name\": \"admin-user@example.com\",\n            },\n            {\n                \"type\": \"Group\",\n                \"name\": \"platform-admins\",\n            },\n            {\n                \"type\": \"ServiceAccount\",\n                \"name\": \"cluster-admin-sa\",\n                \"namespace\": \"kube-system\",\n            },\n        ],\n    }],\n    namespaces=[{\n        \"name\": \"production\",\n        \"resource_allocation\": {\n            \"cpu_cores\": \"4\",\n            \"memory_MiB\": \"8192\",\n        },\n    }],\n    machine_pools=[{\n        \"name\": \"worker-pool\",\n        \"nodes\": [{\n            \"node_name\": \"worker-node-1\",\n            \"action\": \"uncordon\",\n        }],\n    }])\npulumi.export(\"manifestUrl\", cluster.manifest_url)\npulumi.export(\"kubectlCommand\", cluster.kubectl_command)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var profile = Spectrocloud.GetClusterProfile.Invoke(new()\n    {\n        Name = clusterClusterProfileName,\n    });\n\n    var bsl = Spectrocloud.GetBackupStorageLocation.Invoke(new()\n    {\n        Name = backupStorageLocationName,\n    });\n\n    var cluster = new Spectrocloud.ClusterBrownfield(\"cluster\", new()\n    {\n        Name = clusterName,\n        CloudType = \"generic\",\n        Context = \"project\",\n        ImportMode = \"full\",\n        Description = \"My existing Kubernetes cluster\",\n        ClusterTimezone = \"America/New_York\",\n        Tags = new[]\n        {\n            \"environment:production\",\n            \"team:platform\",\n            \"managed-by:terraform\",\n        },\n        ClusterProfiles = new[]\n        {\n            new Spectrocloud.Inputs.ClusterBrownfieldClusterProfileArgs\n            {\n                Id = profile.Apply(getClusterProfileResult =\u003e getClusterProfileResult.Id),\n            },\n        },\n        ScanPolicy = new Spectrocloud.Inputs.ClusterBrownfieldScanPolicyArgs\n        {\n            ConfigurationScanSchedule = \"0 0 * * SUN\",\n            PenetrationScanSchedule = \"0 0 * * SUN\",\n            ConformanceScanSchedule = \"0 0 1 * *\",\n        },\n        BackupPolicy = new Spectrocloud.Inputs.ClusterBrownfieldBackupPolicyArgs\n        {\n            Schedule = \"0 0 * * SUN\",\n            BackupLocationId = bsl.Apply(getBackupStorageLocationResult =\u003e getBackupStorageLocationResult.Id),\n            Prefix = \"cluster-backup\",\n            ExpiryInHour = 7200,\n            IncludeDisks = true,\n            IncludeClusterResources = true,\n        },\n        ClusterRbacBindings = new[]\n        {\n            new Spectrocloud.Inputs.ClusterBrownfieldClusterRbacBindingArgs\n            {\n                Type = \"ClusterRoleBinding\",\n                Role = \n                {\n                    { \"kind\", \"ClusterRole\" },\n                    { \"name\", \"cluster-admin\" },\n                },\n                Subjects = new[]\n                {\n                    new Spectrocloud.Inputs.ClusterBrownfieldClusterRbacBindingSubjectArgs\n                    {\n                        Type = \"User\",\n                        Name = \"admin-user@example.com\",\n                    },\n                    new Spectrocloud.Inputs.ClusterBrownfieldClusterRbacBindingSubjectArgs\n                    {\n                        Type = \"Group\",\n                        Name = \"platform-admins\",\n                    },\n                    new Spectrocloud.Inputs.ClusterBrownfieldClusterRbacBindingSubjectArgs\n                    {\n                        Type = \"ServiceAccount\",\n                        Name = \"cluster-admin-sa\",\n                        Namespace = \"kube-system\",\n                    },\n                },\n            },\n        },\n        Namespaces = new[]\n        {\n            new Spectrocloud.Inputs.ClusterBrownfieldNamespaceArgs\n            {\n                Name = \"production\",\n                ResourceAllocation = \n                {\n                    { \"cpu_cores\", \"4\" },\n                    { \"memory_MiB\", \"8192\" },\n                },\n            },\n        },\n        MachinePools = new[]\n        {\n            new Spectrocloud.Inputs.ClusterBrownfieldMachinePoolArgs\n            {\n                Name = \"worker-pool\",\n                Nodes = new[]\n                {\n                    new Spectrocloud.Inputs.ClusterBrownfieldMachinePoolNodeArgs\n                    {\n                        NodeName = \"worker-node-1\",\n                        Action = \"uncordon\",\n                    },\n                },\n            },\n        },\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"manifestUrl\"] = cluster.ManifestUrl,\n        [\"kubectlCommand\"] = cluster.KubectlCommand,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprofile, err := spectrocloud.LookupClusterProfile(ctx, \u0026spectrocloud.LookupClusterProfileArgs{\n\t\t\tName: pulumi.StringRef(clusterClusterProfileName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbsl, err := spectrocloud.LookupBackupStorageLocation(ctx, \u0026spectrocloud.LookupBackupStorageLocationArgs{\n\t\t\tName: pulumi.StringRef(backupStorageLocationName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcluster, err := spectrocloud.NewClusterBrownfield(ctx, \"cluster\", \u0026spectrocloud.ClusterBrownfieldArgs{\n\t\t\tName:            pulumi.Any(clusterName),\n\t\t\tCloudType:       pulumi.String(\"generic\"),\n\t\t\tContext:         pulumi.String(\"project\"),\n\t\t\tImportMode:      pulumi.String(\"full\"),\n\t\t\tDescription:     pulumi.String(\"My existing Kubernetes cluster\"),\n\t\t\tClusterTimezone: pulumi.String(\"America/New_York\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"environment:production\"),\n\t\t\t\tpulumi.String(\"team:platform\"),\n\t\t\t\tpulumi.String(\"managed-by:terraform\"),\n\t\t\t},\n\t\t\tClusterProfiles: spectrocloud.ClusterBrownfieldClusterProfileArray{\n\t\t\t\t\u0026spectrocloud.ClusterBrownfieldClusterProfileArgs{\n\t\t\t\t\tId: pulumi.String(profile.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScanPolicy: \u0026spectrocloud.ClusterBrownfieldScanPolicyArgs{\n\t\t\t\tConfigurationScanSchedule: pulumi.String(\"0 0 * * SUN\"),\n\t\t\t\tPenetrationScanSchedule:   pulumi.String(\"0 0 * * SUN\"),\n\t\t\t\tConformanceScanSchedule:   pulumi.String(\"0 0 1 * *\"),\n\t\t\t},\n\t\t\tBackupPolicy: \u0026spectrocloud.ClusterBrownfieldBackupPolicyArgs{\n\t\t\t\tSchedule:                pulumi.String(\"0 0 * * SUN\"),\n\t\t\t\tBackupLocationId:        pulumi.String(bsl.Id),\n\t\t\t\tPrefix:                  pulumi.String(\"cluster-backup\"),\n\t\t\t\tExpiryInHour:            pulumi.Float64(7200),\n\t\t\t\tIncludeDisks:            pulumi.Bool(true),\n\t\t\t\tIncludeClusterResources: pulumi.Bool(true),\n\t\t\t},\n\t\t\tClusterRbacBindings: spectrocloud.ClusterBrownfieldClusterRbacBindingArray{\n\t\t\t\t\u0026spectrocloud.ClusterBrownfieldClusterRbacBindingArgs{\n\t\t\t\t\tType: pulumi.String(\"ClusterRoleBinding\"),\n\t\t\t\t\tRole: pulumi.StringMap{\n\t\t\t\t\t\t\"kind\": pulumi.String(\"ClusterRole\"),\n\t\t\t\t\t\t\"name\": pulumi.String(\"cluster-admin\"),\n\t\t\t\t\t},\n\t\t\t\t\tSubjects: spectrocloud.ClusterBrownfieldClusterRbacBindingSubjectArray{\n\t\t\t\t\t\t\u0026spectrocloud.ClusterBrownfieldClusterRbacBindingSubjectArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"User\"),\n\t\t\t\t\t\t\tName: pulumi.String(\"admin-user@example.com\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026spectrocloud.ClusterBrownfieldClusterRbacBindingSubjectArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Group\"),\n\t\t\t\t\t\t\tName: pulumi.String(\"platform-admins\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026spectrocloud.ClusterBrownfieldClusterRbacBindingSubjectArgs{\n\t\t\t\t\t\t\tType:      pulumi.String(\"ServiceAccount\"),\n\t\t\t\t\t\t\tName:      pulumi.String(\"cluster-admin-sa\"),\n\t\t\t\t\t\t\tNamespace: pulumi.String(\"kube-system\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tNamespaces: spectrocloud.ClusterBrownfieldNamespaceArray{\n\t\t\t\t\u0026spectrocloud.ClusterBrownfieldNamespaceArgs{\n\t\t\t\t\tName: pulumi.String(\"production\"),\n\t\t\t\t\tResourceAllocation: pulumi.StringMap{\n\t\t\t\t\t\t\"cpu_cores\":  pulumi.String(\"4\"),\n\t\t\t\t\t\t\"memory_MiB\": pulumi.String(\"8192\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tMachinePools: spectrocloud.ClusterBrownfieldMachinePoolArray{\n\t\t\t\t\u0026spectrocloud.ClusterBrownfieldMachinePoolArgs{\n\t\t\t\t\tName: pulumi.String(\"worker-pool\"),\n\t\t\t\t\tNodes: spectrocloud.ClusterBrownfieldMachinePoolNodeArray{\n\t\t\t\t\t\t\u0026spectrocloud.ClusterBrownfieldMachinePoolNodeArgs{\n\t\t\t\t\t\t\tNodeName: pulumi.String(\"worker-node-1\"),\n\t\t\t\t\t\t\tAction:   pulumi.String(\"uncordon\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"manifestUrl\", cluster.ManifestUrl)\n\t\tctx.Export(\"kubectlCommand\", cluster.KubectlCommand)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetClusterProfileArgs;\nimport com.pulumi.spectrocloud.inputs.GetBackupStorageLocationArgs;\nimport com.pulumi.spectrocloud.ClusterBrownfield;\nimport com.pulumi.spectrocloud.ClusterBrownfieldArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterBrownfieldClusterProfileArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterBrownfieldScanPolicyArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterBrownfieldBackupPolicyArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterBrownfieldClusterRbacBindingArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterBrownfieldNamespaceArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterBrownfieldMachinePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var profile = SpectrocloudFunctions.getClusterProfile(GetClusterProfileArgs.builder()\n            .name(clusterClusterProfileName)\n            .build());\n\n        final var bsl = SpectrocloudFunctions.getBackupStorageLocation(GetBackupStorageLocationArgs.builder()\n            .name(backupStorageLocationName)\n            .build());\n\n        var cluster = new ClusterBrownfield(\"cluster\", ClusterBrownfieldArgs.builder()\n            .name(clusterName)\n            .cloudType(\"generic\")\n            .context(\"project\")\n            .importMode(\"full\")\n            .description(\"My existing Kubernetes cluster\")\n            .clusterTimezone(\"America/New_York\")\n            .tags(            \n                \"environment:production\",\n                \"team:platform\",\n                \"managed-by:terraform\")\n            .clusterProfiles(ClusterBrownfieldClusterProfileArgs.builder()\n                .id(profile.id())\n                .build())\n            .scanPolicy(ClusterBrownfieldScanPolicyArgs.builder()\n                .configurationScanSchedule(\"0 0 * * SUN\")\n                .penetrationScanSchedule(\"0 0 * * SUN\")\n                .conformanceScanSchedule(\"0 0 1 * *\")\n                .build())\n            .backupPolicy(ClusterBrownfieldBackupPolicyArgs.builder()\n                .schedule(\"0 0 * * SUN\")\n                .backupLocationId(bsl.id())\n                .prefix(\"cluster-backup\")\n                .expiryInHour(7200.0)\n                .includeDisks(true)\n                .includeClusterResources(true)\n                .build())\n            .clusterRbacBindings(ClusterBrownfieldClusterRbacBindingArgs.builder()\n                .type(\"ClusterRoleBinding\")\n                .role(Map.ofEntries(\n                    Map.entry(\"kind\", \"ClusterRole\"),\n                    Map.entry(\"name\", \"cluster-admin\")\n                ))\n                .subjects(                \n                    ClusterBrownfieldClusterRbacBindingSubjectArgs.builder()\n                        .type(\"User\")\n                        .name(\"admin-user@example.com\")\n                        .build(),\n                    ClusterBrownfieldClusterRbacBindingSubjectArgs.builder()\n                        .type(\"Group\")\n                        .name(\"platform-admins\")\n                        .build(),\n                    ClusterBrownfieldClusterRbacBindingSubjectArgs.builder()\n                        .type(\"ServiceAccount\")\n                        .name(\"cluster-admin-sa\")\n                        .namespace(\"kube-system\")\n                        .build())\n                .build())\n            .namespaces(ClusterBrownfieldNamespaceArgs.builder()\n                .name(\"production\")\n                .resourceAllocation(Map.ofEntries(\n                    Map.entry(\"cpu_cores\", \"4\"),\n                    Map.entry(\"memory_MiB\", \"8192\")\n                ))\n                .build())\n            .machinePools(ClusterBrownfieldMachinePoolArgs.builder()\n                .name(\"worker-pool\")\n                .nodes(ClusterBrownfieldMachinePoolNodeArgs.builder()\n                    .nodeName(\"worker-node-1\")\n                    .action(\"uncordon\")\n                    .build())\n                .build())\n            .build());\n\n        ctx.export(\"manifestUrl\", cluster.manifestUrl());\n        ctx.export(\"kubectlCommand\", cluster.kubectlCommand());\n    }\n}\n```\n```yaml\nresources:\n  cluster:\n    type: spectrocloud:ClusterBrownfield\n    properties:\n      name: ${clusterName}\n      cloudType: generic\n      context: project\n      importMode: full\n      description: My existing Kubernetes cluster\n      clusterTimezone: America/New_York\n      tags:\n        - environment:production\n        - team:platform\n        - managed-by:terraform\n      clusterProfiles:\n        - id: ${profile.id}\n      scanPolicy:\n        configurationScanSchedule: 0 0 * * SUN\n        penetrationScanSchedule: 0 0 * * SUN\n        conformanceScanSchedule: 0 0 1 * *\n      backupPolicy:\n        schedule: 0 0 * * SUN\n        backupLocationId: ${bsl.id}\n        prefix: cluster-backup\n        expiryInHour: 7200\n        includeDisks: true\n        includeClusterResources: true\n      clusterRbacBindings:\n        - type: ClusterRoleBinding\n          role:\n            kind: ClusterRole\n            name: cluster-admin\n          subjects:\n            - type: User\n              name: admin-user@example.com\n            - type: Group\n              name: platform-admins\n            - type: ServiceAccount\n              name: cluster-admin-sa\n              namespace: kube-system\n      namespaces:\n        - name: production\n          resourceAllocation:\n            cpu_cores: '4'\n            memory_MiB: '8192'\n      machinePools:\n        - name: worker-pool\n          nodes:\n            - nodeName: worker-node-1\n              action: uncordon\nvariables:\n  profile:\n    fn::invoke:\n      function: spectrocloud:getClusterProfile\n      arguments:\n        name: ${clusterClusterProfileName}\n  bsl:\n    fn::invoke:\n      function: spectrocloud:getBackupStorageLocation\n      arguments:\n        name: ${backupStorageLocationName}\noutputs:\n  # Output the manifest URL and kubectl command for easy access\n  manifestUrl: ${cluster.manifestUrl}\n  kubectlCommand: ${cluster.kubectlCommand}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nconsole\n\n```sh\n$ pulumi import spectrocloud:index/clusterBrownfield:ClusterBrownfield example cluster_name:project:cloud_type\n```\n\nRefer to the [Import section](/docs#import) to learn more.\n\n","properties":{"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldBackupPolicy:ClusterBrownfieldBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This is automatically set from the cluster's cloud config reference.\n"},"cloudType":{"type":"string","description":"The cloud type of the cluster. Supported values: \u003cspan pulumi-lang-nodejs=\"`aws`\" pulumi-lang-dotnet=\"`Aws`\" pulumi-lang-go=\"`aws`\" pulumi-lang-python=\"`aws`\" pulumi-lang-yaml=\"`aws`\" pulumi-lang-java=\"`aws`\"\u003e`aws`\u003c/span\u003e, `eks-anywhere`, \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gcp`\" pulumi-lang-dotnet=\"`Gcp`\" pulumi-lang-go=\"`gcp`\" pulumi-lang-python=\"`gcp`\" pulumi-lang-yaml=\"`gcp`\" pulumi-lang-java=\"`gcp`\"\u003e`gcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vsphere`\" pulumi-lang-dotnet=\"`Vsphere`\" pulumi-lang-go=\"`vsphere`\" pulumi-lang-python=\"`vsphere`\" pulumi-lang-yaml=\"`vsphere`\" pulumi-lang-java=\"`vsphere`\"\u003e`vsphere`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`openshift`\" pulumi-lang-dotnet=\"`Openshift`\" pulumi-lang-go=\"`openshift`\" pulumi-lang-python=\"`openshift`\" pulumi-lang-yaml=\"`openshift`\" pulumi-lang-java=\"`openshift`\"\u003e`openshift`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`generic`\" pulumi-lang-dotnet=\"`Generic`\" pulumi-lang-go=\"`generic`\" pulumi-lang-python=\"`generic`\" pulumi-lang-yaml=\"`generic`\" pulumi-lang-java=\"`generic`\"\u003e`generic`\u003c/span\u003e,`apache-cloudstack`,`edge-native`,\u003cspan pulumi-lang-nodejs=\"`maas`\" pulumi-lang-dotnet=\"`Maas`\" pulumi-lang-go=\"`maas`\" pulumi-lang-python=\"`maas`\" pulumi-lang-yaml=\"`maas`\" pulumi-lang-java=\"`maas`\"\u003e`maas`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`openstack`\" pulumi-lang-dotnet=\"`Openstack`\" pulumi-lang-go=\"`openstack`\" pulumi-lang-python=\"`openstack`\" pulumi-lang-yaml=\"`openstack`\" pulumi-lang-java=\"`openstack`\"\u003e`openstack`\u003c/span\u003e. This field cannot be updated after creation.\n"},"clusterBrownfieldId":{"type":"string","description":"The ID of this resource.\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldClusterProfile:ClusterBrownfieldClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldClusterRbacBinding:ClusterBrownfieldClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"containerMountPath":{"type":"string","description":"Location to mount Proxy CA cert inside container. This is the file path inside the container where the Proxy CA certificate will be mounted. This field cannot be updated after creation.\n"},"context":{"type":"string","description":"The context for the cluster registration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. This field cannot be updated after creation.If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"healthStatus":{"type":"string","description":"The current health status of the cluster. Possible values include: `Healthy`, `UnHealthy`, `Unknown`.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldHostConfig:ClusterBrownfieldHostConfig"},"description":"The host configuration for the cluster.\n"},"hostPath":{"type":"string","description":"Location for Proxy CA cert on host nodes. This is the file path on the host where the Proxy CA certificate is stored. This field cannot be updated after creation.\n"},"importMode":{"type":"string","description":"The import mode for the cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`readOnly`\" pulumi-lang-dotnet=\"`ReadOnly`\" pulumi-lang-go=\"`readOnly`\" pulumi-lang-python=\"`read_only`\" pulumi-lang-yaml=\"`readOnly`\" pulumi-lang-java=\"`readOnly`\"\u003e`read_only`\u003c/span\u003e (imports cluster with read-only permissions) or \u003cspan pulumi-lang-nodejs=\"`full`\" pulumi-lang-dotnet=\"`Full`\" pulumi-lang-go=\"`full`\" pulumi-lang-python=\"`full`\" pulumi-lang-yaml=\"`full`\" pulumi-lang-java=\"`full`\"\u003e`full`\u003c/span\u003e (imports cluster with full permissions). Defaults to \u003cspan pulumi-lang-nodejs=\"`full`\" pulumi-lang-dotnet=\"`Full`\" pulumi-lang-go=\"`full`\" pulumi-lang-python=\"`full`\" pulumi-lang-yaml=\"`full`\" pulumi-lang-java=\"`full`\"\u003e`full`\u003c/span\u003e. This field cannot be updated after creation.\n"},"kubectlCommand":{"type":"string","description":"The kubectl command that must be executed on your Kubernetes cluster to complete the import process into Palette.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldLocationConfig:ClusterBrownfieldLocationConfig"},"description":"The location of the cluster.\n"},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldMachinePool:ClusterBrownfieldMachinePool"},"description":"Machine pool configuration for Day-2 node maintenance operations. Used to perform node actions like cordon/uncordon on specific nodes.\n"},"manifestUrl":{"type":"string","description":"The URL of the import manifest that must be applied to your Kubernetes cluster to complete the import into Palette.\n"},"name":{"type":"string","description":"The name of the cluster to be registered. This field cannot be updated after creation.\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldNamespace:ClusterBrownfieldNamespace"},"description":"The namespaces for the cluster.\n"},"noProxy":{"type":"string","description":"Location to mount Proxy CA cert inside container. This field supports vsphere and openshift clusters. This field cannot be updated after creation.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"proxy":{"type":"string","description":"Location to mount Proxy CA cert inside container. This field supports vsphere and openshift clusters. This field cannot be updated after creation.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldScanPolicy:ClusterBrownfieldScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"status":{"type":"string","description":"The current operational state of the cluster. Possible values include: `Pending`, `Provisioning`, `Running`, `Deleting`, `Deleted`, `Error`, `Importing`.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`. The \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e attribute will soon be deprecated. It is recommended to use \u003cspan pulumi-lang-nodejs=\"`tagsMap`\" pulumi-lang-dotnet=\"`TagsMap`\" pulumi-lang-go=\"`tagsMap`\" pulumi-lang-python=\"`tags_map`\" pulumi-lang-yaml=\"`tagsMap`\" pulumi-lang-java=\"`tagsMap`\"\u003e`tags_map`\u003c/span\u003e instead.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldTimeouts:ClusterBrownfieldTimeouts"}},"type":"object","required":["cloudConfigId","cloudType","clusterBrownfieldId","healthStatus","kubectlCommand","locationConfigs","manifestUrl","name","status"],"inputProperties":{"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldBackupPolicy:ClusterBrownfieldBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudType":{"type":"string","description":"The cloud type of the cluster. Supported values: \u003cspan pulumi-lang-nodejs=\"`aws`\" pulumi-lang-dotnet=\"`Aws`\" pulumi-lang-go=\"`aws`\" pulumi-lang-python=\"`aws`\" pulumi-lang-yaml=\"`aws`\" pulumi-lang-java=\"`aws`\"\u003e`aws`\u003c/span\u003e, `eks-anywhere`, \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gcp`\" pulumi-lang-dotnet=\"`Gcp`\" pulumi-lang-go=\"`gcp`\" pulumi-lang-python=\"`gcp`\" pulumi-lang-yaml=\"`gcp`\" pulumi-lang-java=\"`gcp`\"\u003e`gcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vsphere`\" pulumi-lang-dotnet=\"`Vsphere`\" pulumi-lang-go=\"`vsphere`\" pulumi-lang-python=\"`vsphere`\" pulumi-lang-yaml=\"`vsphere`\" pulumi-lang-java=\"`vsphere`\"\u003e`vsphere`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`openshift`\" pulumi-lang-dotnet=\"`Openshift`\" pulumi-lang-go=\"`openshift`\" pulumi-lang-python=\"`openshift`\" pulumi-lang-yaml=\"`openshift`\" pulumi-lang-java=\"`openshift`\"\u003e`openshift`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`generic`\" pulumi-lang-dotnet=\"`Generic`\" pulumi-lang-go=\"`generic`\" pulumi-lang-python=\"`generic`\" pulumi-lang-yaml=\"`generic`\" pulumi-lang-java=\"`generic`\"\u003e`generic`\u003c/span\u003e,`apache-cloudstack`,`edge-native`,\u003cspan pulumi-lang-nodejs=\"`maas`\" pulumi-lang-dotnet=\"`Maas`\" pulumi-lang-go=\"`maas`\" pulumi-lang-python=\"`maas`\" pulumi-lang-yaml=\"`maas`\" pulumi-lang-java=\"`maas`\"\u003e`maas`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`openstack`\" pulumi-lang-dotnet=\"`Openstack`\" pulumi-lang-go=\"`openstack`\" pulumi-lang-python=\"`openstack`\" pulumi-lang-yaml=\"`openstack`\" pulumi-lang-java=\"`openstack`\"\u003e`openstack`\u003c/span\u003e. This field cannot be updated after creation.\n"},"clusterBrownfieldId":{"type":"string","description":"The ID of this resource.\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldClusterProfile:ClusterBrownfieldClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldClusterRbacBinding:ClusterBrownfieldClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"containerMountPath":{"type":"string","description":"Location to mount Proxy CA cert inside container. This is the file path inside the container where the Proxy CA certificate will be mounted. This field cannot be updated after creation.\n"},"context":{"type":"string","description":"The context for the cluster registration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. This field cannot be updated after creation.If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldHostConfig:ClusterBrownfieldHostConfig"},"description":"The host configuration for the cluster.\n"},"hostPath":{"type":"string","description":"Location for Proxy CA cert on host nodes. This is the file path on the host where the Proxy CA certificate is stored. This field cannot be updated after creation.\n"},"importMode":{"type":"string","description":"The import mode for the cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`readOnly`\" pulumi-lang-dotnet=\"`ReadOnly`\" pulumi-lang-go=\"`readOnly`\" pulumi-lang-python=\"`read_only`\" pulumi-lang-yaml=\"`readOnly`\" pulumi-lang-java=\"`readOnly`\"\u003e`read_only`\u003c/span\u003e (imports cluster with read-only permissions) or \u003cspan pulumi-lang-nodejs=\"`full`\" pulumi-lang-dotnet=\"`Full`\" pulumi-lang-go=\"`full`\" pulumi-lang-python=\"`full`\" pulumi-lang-yaml=\"`full`\" pulumi-lang-java=\"`full`\"\u003e`full`\u003c/span\u003e (imports cluster with full permissions). Defaults to \u003cspan pulumi-lang-nodejs=\"`full`\" pulumi-lang-dotnet=\"`Full`\" pulumi-lang-go=\"`full`\" pulumi-lang-python=\"`full`\" pulumi-lang-yaml=\"`full`\" pulumi-lang-java=\"`full`\"\u003e`full`\u003c/span\u003e. This field cannot be updated after creation.\n"},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldMachinePool:ClusterBrownfieldMachinePool"},"description":"Machine pool configuration for Day-2 node maintenance operations. Used to perform node actions like cordon/uncordon on specific nodes.\n"},"name":{"type":"string","description":"The name of the cluster to be registered. This field cannot be updated after creation.\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldNamespace:ClusterBrownfieldNamespace"},"description":"The namespaces for the cluster.\n"},"noProxy":{"type":"string","description":"Location to mount Proxy CA cert inside container. This field supports vsphere and openshift clusters. This field cannot be updated after creation.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"proxy":{"type":"string","description":"Location to mount Proxy CA cert inside container. This field supports vsphere and openshift clusters. This field cannot be updated after creation.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldScanPolicy:ClusterBrownfieldScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`. The \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e attribute will soon be deprecated. It is recommended to use \u003cspan pulumi-lang-nodejs=\"`tagsMap`\" pulumi-lang-dotnet=\"`TagsMap`\" pulumi-lang-go=\"`tagsMap`\" pulumi-lang-python=\"`tags_map`\" pulumi-lang-yaml=\"`tagsMap`\" pulumi-lang-java=\"`tagsMap`\"\u003e`tags_map`\u003c/span\u003e instead.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldTimeouts:ClusterBrownfieldTimeouts"}},"requiredInputs":["cloudType"],"stateInputs":{"description":"Input properties used for looking up and filtering ClusterBrownfield resources.\n","properties":{"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldBackupPolicy:ClusterBrownfieldBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This is automatically set from the cluster's cloud config reference.\n"},"cloudType":{"type":"string","description":"The cloud type of the cluster. Supported values: \u003cspan pulumi-lang-nodejs=\"`aws`\" pulumi-lang-dotnet=\"`Aws`\" pulumi-lang-go=\"`aws`\" pulumi-lang-python=\"`aws`\" pulumi-lang-yaml=\"`aws`\" pulumi-lang-java=\"`aws`\"\u003e`aws`\u003c/span\u003e, `eks-anywhere`, \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gcp`\" pulumi-lang-dotnet=\"`Gcp`\" pulumi-lang-go=\"`gcp`\" pulumi-lang-python=\"`gcp`\" pulumi-lang-yaml=\"`gcp`\" pulumi-lang-java=\"`gcp`\"\u003e`gcp`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vsphere`\" pulumi-lang-dotnet=\"`Vsphere`\" pulumi-lang-go=\"`vsphere`\" pulumi-lang-python=\"`vsphere`\" pulumi-lang-yaml=\"`vsphere`\" pulumi-lang-java=\"`vsphere`\"\u003e`vsphere`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`openshift`\" pulumi-lang-dotnet=\"`Openshift`\" pulumi-lang-go=\"`openshift`\" pulumi-lang-python=\"`openshift`\" pulumi-lang-yaml=\"`openshift`\" pulumi-lang-java=\"`openshift`\"\u003e`openshift`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`generic`\" pulumi-lang-dotnet=\"`Generic`\" pulumi-lang-go=\"`generic`\" pulumi-lang-python=\"`generic`\" pulumi-lang-yaml=\"`generic`\" pulumi-lang-java=\"`generic`\"\u003e`generic`\u003c/span\u003e,`apache-cloudstack`,`edge-native`,\u003cspan pulumi-lang-nodejs=\"`maas`\" pulumi-lang-dotnet=\"`Maas`\" pulumi-lang-go=\"`maas`\" pulumi-lang-python=\"`maas`\" pulumi-lang-yaml=\"`maas`\" pulumi-lang-java=\"`maas`\"\u003e`maas`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`openstack`\" pulumi-lang-dotnet=\"`Openstack`\" pulumi-lang-go=\"`openstack`\" pulumi-lang-python=\"`openstack`\" pulumi-lang-yaml=\"`openstack`\" pulumi-lang-java=\"`openstack`\"\u003e`openstack`\u003c/span\u003e. This field cannot be updated after creation.\n"},"clusterBrownfieldId":{"type":"string","description":"The ID of this resource.\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldClusterProfile:ClusterBrownfieldClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldClusterRbacBinding:ClusterBrownfieldClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"containerMountPath":{"type":"string","description":"Location to mount Proxy CA cert inside container. This is the file path inside the container where the Proxy CA certificate will be mounted. This field cannot be updated after creation.\n"},"context":{"type":"string","description":"The context for the cluster registration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. This field cannot be updated after creation.If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"healthStatus":{"type":"string","description":"The current health status of the cluster. Possible values include: `Healthy`, `UnHealthy`, `Unknown`.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldHostConfig:ClusterBrownfieldHostConfig"},"description":"The host configuration for the cluster.\n"},"hostPath":{"type":"string","description":"Location for Proxy CA cert on host nodes. This is the file path on the host where the Proxy CA certificate is stored. This field cannot be updated after creation.\n"},"importMode":{"type":"string","description":"The import mode for the cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`readOnly`\" pulumi-lang-dotnet=\"`ReadOnly`\" pulumi-lang-go=\"`readOnly`\" pulumi-lang-python=\"`read_only`\" pulumi-lang-yaml=\"`readOnly`\" pulumi-lang-java=\"`readOnly`\"\u003e`read_only`\u003c/span\u003e (imports cluster with read-only permissions) or \u003cspan pulumi-lang-nodejs=\"`full`\" pulumi-lang-dotnet=\"`Full`\" pulumi-lang-go=\"`full`\" pulumi-lang-python=\"`full`\" pulumi-lang-yaml=\"`full`\" pulumi-lang-java=\"`full`\"\u003e`full`\u003c/span\u003e (imports cluster with full permissions). Defaults to \u003cspan pulumi-lang-nodejs=\"`full`\" pulumi-lang-dotnet=\"`Full`\" pulumi-lang-go=\"`full`\" pulumi-lang-python=\"`full`\" pulumi-lang-yaml=\"`full`\" pulumi-lang-java=\"`full`\"\u003e`full`\u003c/span\u003e. This field cannot be updated after creation.\n"},"kubectlCommand":{"type":"string","description":"The kubectl command that must be executed on your Kubernetes cluster to complete the import process into Palette.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldLocationConfig:ClusterBrownfieldLocationConfig"},"description":"The location of the cluster.\n"},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldMachinePool:ClusterBrownfieldMachinePool"},"description":"Machine pool configuration for Day-2 node maintenance operations. Used to perform node actions like cordon/uncordon on specific nodes.\n"},"manifestUrl":{"type":"string","description":"The URL of the import manifest that must be applied to your Kubernetes cluster to complete the import into Palette.\n"},"name":{"type":"string","description":"The name of the cluster to be registered. This field cannot be updated after creation.\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldNamespace:ClusterBrownfieldNamespace"},"description":"The namespaces for the cluster.\n"},"noProxy":{"type":"string","description":"Location to mount Proxy CA cert inside container. This field supports vsphere and openshift clusters. This field cannot be updated after creation.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"proxy":{"type":"string","description":"Location to mount Proxy CA cert inside container. This field supports vsphere and openshift clusters. This field cannot be updated after creation.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldScanPolicy:ClusterBrownfieldScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"status":{"type":"string","description":"The current operational state of the cluster. Possible values include: `Pending`, `Provisioning`, `Running`, `Deleting`, `Deleted`, `Error`, `Importing`.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`. The \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e attribute will soon be deprecated. It is recommended to use \u003cspan pulumi-lang-nodejs=\"`tagsMap`\" pulumi-lang-dotnet=\"`TagsMap`\" pulumi-lang-go=\"`tagsMap`\" pulumi-lang-python=\"`tags_map`\" pulumi-lang-yaml=\"`tagsMap`\" pulumi-lang-java=\"`tagsMap`\"\u003e`tags_map`\u003c/span\u003e instead.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterBrownfieldTimeouts:ClusterBrownfieldTimeouts"}},"type":"object"}},"spectrocloud:index/clusterConfigPolicy:ClusterConfigPolicy":{"description":"A resource for creating and managing cluster config policies (maintenance policies). Tech Preview: This resource is in tech preview and may undergo changes.\n\n## Example Usage\n\nBasic maintenance policy with a weekly schedule.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst weeklyMaintenance = new spectrocloud.ClusterConfigPolicy(\"weekly_maintenance\", {\n    name: \"weekly-maintenance-policy\",\n    context: \"project\",\n    schedules: [{\n        name: \"sunday-maintenance\",\n        startCron: \"0 2 * * SUN\",\n        durationHrs: 4,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nweekly_maintenance = spectrocloud.ClusterConfigPolicy(\"weekly_maintenance\",\n    name=\"weekly-maintenance-policy\",\n    context=\"project\",\n    schedules=[{\n        \"name\": \"sunday-maintenance\",\n        \"start_cron\": \"0 2 * * SUN\",\n        \"duration_hrs\": 4,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var weeklyMaintenance = new Spectrocloud.ClusterConfigPolicy(\"weekly_maintenance\", new()\n    {\n        Name = \"weekly-maintenance-policy\",\n        Context = \"project\",\n        Schedules = new[]\n        {\n            new Spectrocloud.Inputs.ClusterConfigPolicyScheduleArgs\n            {\n                Name = \"sunday-maintenance\",\n                StartCron = \"0 2 * * SUN\",\n                DurationHrs = 4,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewClusterConfigPolicy(ctx, \"weekly_maintenance\", \u0026spectrocloud.ClusterConfigPolicyArgs{\n\t\t\tName:    pulumi.String(\"weekly-maintenance-policy\"),\n\t\t\tContext: pulumi.String(\"project\"),\n\t\t\tSchedules: spectrocloud.ClusterConfigPolicyScheduleArray{\n\t\t\t\t\u0026spectrocloud.ClusterConfigPolicyScheduleArgs{\n\t\t\t\t\tName:        pulumi.String(\"sunday-maintenance\"),\n\t\t\t\t\tStartCron:   pulumi.String(\"0 2 * * SUN\"),\n\t\t\t\t\tDurationHrs: pulumi.Float64(4),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.ClusterConfigPolicy;\nimport com.pulumi.spectrocloud.ClusterConfigPolicyArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterConfigPolicyScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var weeklyMaintenance = new ClusterConfigPolicy(\"weeklyMaintenance\", ClusterConfigPolicyArgs.builder()\n            .name(\"weekly-maintenance-policy\")\n            .context(\"project\")\n            .schedules(ClusterConfigPolicyScheduleArgs.builder()\n                .name(\"sunday-maintenance\")\n                .startCron(\"0 2 * * SUN\")\n                .durationHrs(4.0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  weeklyMaintenance:\n    type: spectrocloud:ClusterConfigPolicy\n    name: weekly_maintenance\n    properties:\n      name: weekly-maintenance-policy\n      context: project\n      schedules:\n        - name: sunday-maintenance\n          startCron: 0 2 * * SUN\n          durationHrs: 4\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nMaintenance policy with multiple schedules and tags.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst multiSchedule = new spectrocloud.ClusterConfigPolicy(\"multi_schedule\", {\n    name: \"multi-schedule-policy\",\n    context: \"project\",\n    tags: [\n        \"env:production\",\n        \"team:devops\",\n        \"critical\",\n    ],\n    schedules: [\n        {\n            name: \"weekday-maintenance\",\n            startCron: \"0 1 * * 1-5\",\n            durationHrs: 2,\n        },\n        {\n            name: \"weekend-maintenance\",\n            startCron: \"0 3 * * 0,6\",\n            durationHrs: 6,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nmulti_schedule = spectrocloud.ClusterConfigPolicy(\"multi_schedule\",\n    name=\"multi-schedule-policy\",\n    context=\"project\",\n    tags=[\n        \"env:production\",\n        \"team:devops\",\n        \"critical\",\n    ],\n    schedules=[\n        {\n            \"name\": \"weekday-maintenance\",\n            \"start_cron\": \"0 1 * * 1-5\",\n            \"duration_hrs\": 2,\n        },\n        {\n            \"name\": \"weekend-maintenance\",\n            \"start_cron\": \"0 3 * * 0,6\",\n            \"duration_hrs\": 6,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var multiSchedule = new Spectrocloud.ClusterConfigPolicy(\"multi_schedule\", new()\n    {\n        Name = \"multi-schedule-policy\",\n        Context = \"project\",\n        Tags = new[]\n        {\n            \"env:production\",\n            \"team:devops\",\n            \"critical\",\n        },\n        Schedules = new[]\n        {\n            new Spectrocloud.Inputs.ClusterConfigPolicyScheduleArgs\n            {\n                Name = \"weekday-maintenance\",\n                StartCron = \"0 1 * * 1-5\",\n                DurationHrs = 2,\n            },\n            new Spectrocloud.Inputs.ClusterConfigPolicyScheduleArgs\n            {\n                Name = \"weekend-maintenance\",\n                StartCron = \"0 3 * * 0,6\",\n                DurationHrs = 6,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewClusterConfigPolicy(ctx, \"multi_schedule\", \u0026spectrocloud.ClusterConfigPolicyArgs{\n\t\t\tName:    pulumi.String(\"multi-schedule-policy\"),\n\t\t\tContext: pulumi.String(\"project\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"env:production\"),\n\t\t\t\tpulumi.String(\"team:devops\"),\n\t\t\t\tpulumi.String(\"critical\"),\n\t\t\t},\n\t\t\tSchedules: spectrocloud.ClusterConfigPolicyScheduleArray{\n\t\t\t\t\u0026spectrocloud.ClusterConfigPolicyScheduleArgs{\n\t\t\t\t\tName:        pulumi.String(\"weekday-maintenance\"),\n\t\t\t\t\tStartCron:   pulumi.String(\"0 1 * * 1-5\"),\n\t\t\t\t\tDurationHrs: pulumi.Float64(2),\n\t\t\t\t},\n\t\t\t\t\u0026spectrocloud.ClusterConfigPolicyScheduleArgs{\n\t\t\t\t\tName:        pulumi.String(\"weekend-maintenance\"),\n\t\t\t\t\tStartCron:   pulumi.String(\"0 3 * * 0,6\"),\n\t\t\t\t\tDurationHrs: pulumi.Float64(6),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.ClusterConfigPolicy;\nimport com.pulumi.spectrocloud.ClusterConfigPolicyArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterConfigPolicyScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var multiSchedule = new ClusterConfigPolicy(\"multiSchedule\", ClusterConfigPolicyArgs.builder()\n            .name(\"multi-schedule-policy\")\n            .context(\"project\")\n            .tags(            \n                \"env:production\",\n                \"team:devops\",\n                \"critical\")\n            .schedules(            \n                ClusterConfigPolicyScheduleArgs.builder()\n                    .name(\"weekday-maintenance\")\n                    .startCron(\"0 1 * * 1-5\")\n                    .durationHrs(2.0)\n                    .build(),\n                ClusterConfigPolicyScheduleArgs.builder()\n                    .name(\"weekend-maintenance\")\n                    .startCron(\"0 3 * * 0,6\")\n                    .durationHrs(6.0)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  multiSchedule:\n    type: spectrocloud:ClusterConfigPolicy\n    name: multi_schedule\n    properties:\n      name: multi-schedule-policy\n      context: project\n      tags:\n        - env:production\n        - team:devops\n        - critical\n      schedules:\n        - name: weekday-maintenance\n          startCron: 0 1 * * 1-5\n          durationHrs: 2\n        - name: weekend-maintenance\n          startCron: 0 3 * * 0,6\n          durationHrs: 6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nTenant-level maintenance policy.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst tenantPolicy = new spectrocloud.ClusterConfigPolicy(\"tenant_policy\", {\n    name: \"tenant-wide-maintenance\",\n    context: \"tenant\",\n    schedules: [{\n        name: \"monthly-maintenance\",\n        startCron: \"0 3 1 * *\",\n        durationHrs: 8,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\ntenant_policy = spectrocloud.ClusterConfigPolicy(\"tenant_policy\",\n    name=\"tenant-wide-maintenance\",\n    context=\"tenant\",\n    schedules=[{\n        \"name\": \"monthly-maintenance\",\n        \"start_cron\": \"0 3 1 * *\",\n        \"duration_hrs\": 8,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var tenantPolicy = new Spectrocloud.ClusterConfigPolicy(\"tenant_policy\", new()\n    {\n        Name = \"tenant-wide-maintenance\",\n        Context = \"tenant\",\n        Schedules = new[]\n        {\n            new Spectrocloud.Inputs.ClusterConfigPolicyScheduleArgs\n            {\n                Name = \"monthly-maintenance\",\n                StartCron = \"0 3 1 * *\",\n                DurationHrs = 8,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewClusterConfigPolicy(ctx, \"tenant_policy\", \u0026spectrocloud.ClusterConfigPolicyArgs{\n\t\t\tName:    pulumi.String(\"tenant-wide-maintenance\"),\n\t\t\tContext: pulumi.String(\"tenant\"),\n\t\t\tSchedules: spectrocloud.ClusterConfigPolicyScheduleArray{\n\t\t\t\t\u0026spectrocloud.ClusterConfigPolicyScheduleArgs{\n\t\t\t\t\tName:        pulumi.String(\"monthly-maintenance\"),\n\t\t\t\t\tStartCron:   pulumi.String(\"0 3 1 * *\"),\n\t\t\t\t\tDurationHrs: pulumi.Float64(8),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.ClusterConfigPolicy;\nimport com.pulumi.spectrocloud.ClusterConfigPolicyArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterConfigPolicyScheduleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var tenantPolicy = new ClusterConfigPolicy(\"tenantPolicy\", ClusterConfigPolicyArgs.builder()\n            .name(\"tenant-wide-maintenance\")\n            .context(\"tenant\")\n            .schedules(ClusterConfigPolicyScheduleArgs.builder()\n                .name(\"monthly-maintenance\")\n                .startCron(\"0 3 1 * *\")\n                .durationHrs(8.0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  tenantPolicy:\n    type: spectrocloud:ClusterConfigPolicy\n    name: tenant_policy\n    properties:\n      name: tenant-wide-maintenance\n      context: tenant\n      schedules:\n        - name: monthly-maintenance\n          startCron: 0 3 1 * *\n          durationHrs: 8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"clusterConfigPolicyId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the cluster config policy. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the cluster config policy.\n"},"policyType":{"type":"string","description":"Type of the policy. Allowed values are \u003cspan pulumi-lang-nodejs=\"`maintenance`\" pulumi-lang-dotnet=\"`Maintenance`\" pulumi-lang-go=\"`maintenance`\" pulumi-lang-python=\"`maintenance`\" pulumi-lang-yaml=\"`maintenance`\" pulumi-lang-java=\"`maintenance`\"\u003e`maintenance`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`upgrade`\" pulumi-lang-dotnet=\"`Upgrade`\" pulumi-lang-go=\"`upgrade`\" pulumi-lang-python=\"`upgrade`\" pulumi-lang-yaml=\"`upgrade`\" pulumi-lang-java=\"`upgrade`\"\u003e`upgrade`\u003c/span\u003e(not supported yet). Default value is \u003cspan pulumi-lang-nodejs=\"`maintenance`\" pulumi-lang-dotnet=\"`Maintenance`\" pulumi-lang-go=\"`maintenance`\" pulumi-lang-python=\"`maintenance`\" pulumi-lang-yaml=\"`maintenance`\" pulumi-lang-java=\"`maintenance`\"\u003e`maintenance`\u003c/span\u003e.\n"},"schedules":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterConfigPolicySchedule:ClusterConfigPolicySchedule"},"description":"Set of maintenance schedules for the policy.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Assign tags to the cluster config policy. Tags can be in the format `key:value` or just \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterConfigPolicyTimeouts:ClusterConfigPolicyTimeouts"}},"type":"object","required":["clusterConfigPolicyId","name"],"inputProperties":{"clusterConfigPolicyId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the cluster config policy. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the cluster config policy.\n"},"policyType":{"type":"string","description":"Type of the policy. Allowed values are \u003cspan pulumi-lang-nodejs=\"`maintenance`\" pulumi-lang-dotnet=\"`Maintenance`\" pulumi-lang-go=\"`maintenance`\" pulumi-lang-python=\"`maintenance`\" pulumi-lang-yaml=\"`maintenance`\" pulumi-lang-java=\"`maintenance`\"\u003e`maintenance`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`upgrade`\" pulumi-lang-dotnet=\"`Upgrade`\" pulumi-lang-go=\"`upgrade`\" pulumi-lang-python=\"`upgrade`\" pulumi-lang-yaml=\"`upgrade`\" pulumi-lang-java=\"`upgrade`\"\u003e`upgrade`\u003c/span\u003e(not supported yet). Default value is \u003cspan pulumi-lang-nodejs=\"`maintenance`\" pulumi-lang-dotnet=\"`Maintenance`\" pulumi-lang-go=\"`maintenance`\" pulumi-lang-python=\"`maintenance`\" pulumi-lang-yaml=\"`maintenance`\" pulumi-lang-java=\"`maintenance`\"\u003e`maintenance`\u003c/span\u003e.\n"},"schedules":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterConfigPolicySchedule:ClusterConfigPolicySchedule"},"description":"Set of maintenance schedules for the policy.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Assign tags to the cluster config policy. Tags can be in the format `key:value` or just \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterConfigPolicyTimeouts:ClusterConfigPolicyTimeouts"}},"stateInputs":{"description":"Input properties used for looking up and filtering ClusterConfigPolicy resources.\n","properties":{"clusterConfigPolicyId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the cluster config policy. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the cluster config policy.\n"},"policyType":{"type":"string","description":"Type of the policy. Allowed values are \u003cspan pulumi-lang-nodejs=\"`maintenance`\" pulumi-lang-dotnet=\"`Maintenance`\" pulumi-lang-go=\"`maintenance`\" pulumi-lang-python=\"`maintenance`\" pulumi-lang-yaml=\"`maintenance`\" pulumi-lang-java=\"`maintenance`\"\u003e`maintenance`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`upgrade`\" pulumi-lang-dotnet=\"`Upgrade`\" pulumi-lang-go=\"`upgrade`\" pulumi-lang-python=\"`upgrade`\" pulumi-lang-yaml=\"`upgrade`\" pulumi-lang-java=\"`upgrade`\"\u003e`upgrade`\u003c/span\u003e(not supported yet). Default value is \u003cspan pulumi-lang-nodejs=\"`maintenance`\" pulumi-lang-dotnet=\"`Maintenance`\" pulumi-lang-go=\"`maintenance`\" pulumi-lang-python=\"`maintenance`\" pulumi-lang-yaml=\"`maintenance`\" pulumi-lang-java=\"`maintenance`\"\u003e`maintenance`\u003c/span\u003e.\n"},"schedules":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterConfigPolicySchedule:ClusterConfigPolicySchedule"},"description":"Set of maintenance schedules for the policy.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Assign tags to the cluster config policy. Tags can be in the format `key:value` or just \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterConfigPolicyTimeouts:ClusterConfigPolicyTimeouts"}},"type":"object"}},"spectrocloud:index/clusterConfigTemplate:ClusterConfigTemplate":{"description":"A resource for creating and managing cluster config templates. Tech Preview: This resource is in tech preview and may undergo changes.\n\n## Example Usage\n\n### Basic Cluster Config Template\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst basicTemplate = new spectrocloud.ClusterConfigTemplate(\"basic_template\", {\n    name: \"basic-aws-template\",\n    cloudType: \"aws\",\n    context: \"project\",\n    description: \"Basic AWS cluster configuration template\",\n    tags: [\n        \"env:production\",\n        \"team:platform\",\n    ],\n    clusterProfiles: [\n        {\n            id: infraProfile.id,\n        },\n        {\n            id: addonProfile.id,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nbasic_template = spectrocloud.ClusterConfigTemplate(\"basic_template\",\n    name=\"basic-aws-template\",\n    cloud_type=\"aws\",\n    context=\"project\",\n    description=\"Basic AWS cluster configuration template\",\n    tags=[\n        \"env:production\",\n        \"team:platform\",\n    ],\n    cluster_profiles=[\n        {\n            \"id\": infra_profile[\"id\"],\n        },\n        {\n            \"id\": addon_profile[\"id\"],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var basicTemplate = new Spectrocloud.ClusterConfigTemplate(\"basic_template\", new()\n    {\n        Name = \"basic-aws-template\",\n        CloudType = \"aws\",\n        Context = \"project\",\n        Description = \"Basic AWS cluster configuration template\",\n        Tags = new[]\n        {\n            \"env:production\",\n            \"team:platform\",\n        },\n        ClusterProfiles = new[]\n        {\n            new Spectrocloud.Inputs.ClusterConfigTemplateClusterProfileArgs\n            {\n                Id = infraProfile.Id,\n            },\n            new Spectrocloud.Inputs.ClusterConfigTemplateClusterProfileArgs\n            {\n                Id = addonProfile.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewClusterConfigTemplate(ctx, \"basic_template\", \u0026spectrocloud.ClusterConfigTemplateArgs{\n\t\t\tName:        pulumi.String(\"basic-aws-template\"),\n\t\t\tCloudType:   pulumi.String(\"aws\"),\n\t\t\tContext:     pulumi.String(\"project\"),\n\t\t\tDescription: pulumi.String(\"Basic AWS cluster configuration template\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"env:production\"),\n\t\t\t\tpulumi.String(\"team:platform\"),\n\t\t\t},\n\t\t\tClusterProfiles: spectrocloud.ClusterConfigTemplateClusterProfileArray{\n\t\t\t\t\u0026spectrocloud.ClusterConfigTemplateClusterProfileArgs{\n\t\t\t\t\tId: pulumi.Any(infraProfile.Id),\n\t\t\t\t},\n\t\t\t\t\u0026spectrocloud.ClusterConfigTemplateClusterProfileArgs{\n\t\t\t\t\tId: pulumi.Any(addonProfile.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.ClusterConfigTemplate;\nimport com.pulumi.spectrocloud.ClusterConfigTemplateArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterConfigTemplateClusterProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var basicTemplate = new ClusterConfigTemplate(\"basicTemplate\", ClusterConfigTemplateArgs.builder()\n            .name(\"basic-aws-template\")\n            .cloudType(\"aws\")\n            .context(\"project\")\n            .description(\"Basic AWS cluster configuration template\")\n            .tags(            \n                \"env:production\",\n                \"team:platform\")\n            .clusterProfiles(            \n                ClusterConfigTemplateClusterProfileArgs.builder()\n                    .id(infraProfile.id())\n                    .build(),\n                ClusterConfigTemplateClusterProfileArgs.builder()\n                    .id(addonProfile.id())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  basicTemplate:\n    type: spectrocloud:ClusterConfigTemplate\n    name: basic_template\n    properties:\n      name: basic-aws-template\n      cloudType: aws\n      context: project\n      description: Basic AWS cluster configuration template\n      tags:\n        - env:production\n        - team:platform\n      clusterProfiles:\n        - id: ${infraProfile.id}\n        - id: ${addonProfile.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Template with Maintenance Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst templateWithPolicy = new spectrocloud.ClusterConfigTemplate(\"template_with_policy\", {\n    name: \"aws-template-with-maintenance\",\n    cloudType: \"aws\",\n    context: \"project\",\n    description: \"AWS cluster template with maintenance policy\",\n    tags: [\n        \"env:staging\",\n        \"critical\",\n        \"automated\",\n    ],\n    clusterProfiles: [{\n        id: infraProfile.id,\n    }],\n    policy: {\n        id: weeklyMaintenance.id,\n        kind: \"maintenance\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\ntemplate_with_policy = spectrocloud.ClusterConfigTemplate(\"template_with_policy\",\n    name=\"aws-template-with-maintenance\",\n    cloud_type=\"aws\",\n    context=\"project\",\n    description=\"AWS cluster template with maintenance policy\",\n    tags=[\n        \"env:staging\",\n        \"critical\",\n        \"automated\",\n    ],\n    cluster_profiles=[{\n        \"id\": infra_profile[\"id\"],\n    }],\n    policy={\n        \"id\": weekly_maintenance[\"id\"],\n        \"kind\": \"maintenance\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var templateWithPolicy = new Spectrocloud.ClusterConfigTemplate(\"template_with_policy\", new()\n    {\n        Name = \"aws-template-with-maintenance\",\n        CloudType = \"aws\",\n        Context = \"project\",\n        Description = \"AWS cluster template with maintenance policy\",\n        Tags = new[]\n        {\n            \"env:staging\",\n            \"critical\",\n            \"automated\",\n        },\n        ClusterProfiles = new[]\n        {\n            new Spectrocloud.Inputs.ClusterConfigTemplateClusterProfileArgs\n            {\n                Id = infraProfile.Id,\n            },\n        },\n        Policy = new Spectrocloud.Inputs.ClusterConfigTemplatePolicyArgs\n        {\n            Id = weeklyMaintenance.Id,\n            Kind = \"maintenance\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewClusterConfigTemplate(ctx, \"template_with_policy\", \u0026spectrocloud.ClusterConfigTemplateArgs{\n\t\t\tName:        pulumi.String(\"aws-template-with-maintenance\"),\n\t\t\tCloudType:   pulumi.String(\"aws\"),\n\t\t\tContext:     pulumi.String(\"project\"),\n\t\t\tDescription: pulumi.String(\"AWS cluster template with maintenance policy\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"env:staging\"),\n\t\t\t\tpulumi.String(\"critical\"),\n\t\t\t\tpulumi.String(\"automated\"),\n\t\t\t},\n\t\t\tClusterProfiles: spectrocloud.ClusterConfigTemplateClusterProfileArray{\n\t\t\t\t\u0026spectrocloud.ClusterConfigTemplateClusterProfileArgs{\n\t\t\t\t\tId: pulumi.Any(infraProfile.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPolicy: \u0026spectrocloud.ClusterConfigTemplatePolicyArgs{\n\t\t\t\tId:   pulumi.Any(weeklyMaintenance.Id),\n\t\t\t\tKind: pulumi.String(\"maintenance\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.ClusterConfigTemplate;\nimport com.pulumi.spectrocloud.ClusterConfigTemplateArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterConfigTemplateClusterProfileArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterConfigTemplatePolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var templateWithPolicy = new ClusterConfigTemplate(\"templateWithPolicy\", ClusterConfigTemplateArgs.builder()\n            .name(\"aws-template-with-maintenance\")\n            .cloudType(\"aws\")\n            .context(\"project\")\n            .description(\"AWS cluster template with maintenance policy\")\n            .tags(            \n                \"env:staging\",\n                \"critical\",\n                \"automated\")\n            .clusterProfiles(ClusterConfigTemplateClusterProfileArgs.builder()\n                .id(infraProfile.id())\n                .build())\n            .policy(ClusterConfigTemplatePolicyArgs.builder()\n                .id(weeklyMaintenance.id())\n                .kind(\"maintenance\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  templateWithPolicy:\n    type: spectrocloud:ClusterConfigTemplate\n    name: template_with_policy\n    properties:\n      name: aws-template-with-maintenance\n      cloudType: aws\n      context: project\n      description: AWS cluster template with maintenance policy\n      tags:\n        - env:staging\n        - critical\n        - automated\n      clusterProfiles:\n        - id: ${infraProfile.id}\n      policy:\n        id: ${weeklyMaintenance.id}\n        kind: maintenance\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Tenant-Level Template\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst tenantTemplate = new spectrocloud.ClusterConfigTemplate(\"tenant_template\", {\n    name: \"organization-wide-template\",\n    cloudType: \"azure\",\n    context: \"tenant\",\n    description: \"Organization-wide Azure cluster template\",\n    tags: [\n        \"tenant:wide\",\n        \"compliance:required\",\n    ],\n    clusterProfiles: [{\n        id: baseProfile.id,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\ntenant_template = spectrocloud.ClusterConfigTemplate(\"tenant_template\",\n    name=\"organization-wide-template\",\n    cloud_type=\"azure\",\n    context=\"tenant\",\n    description=\"Organization-wide Azure cluster template\",\n    tags=[\n        \"tenant:wide\",\n        \"compliance:required\",\n    ],\n    cluster_profiles=[{\n        \"id\": base_profile[\"id\"],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var tenantTemplate = new Spectrocloud.ClusterConfigTemplate(\"tenant_template\", new()\n    {\n        Name = \"organization-wide-template\",\n        CloudType = \"azure\",\n        Context = \"tenant\",\n        Description = \"Organization-wide Azure cluster template\",\n        Tags = new[]\n        {\n            \"tenant:wide\",\n            \"compliance:required\",\n        },\n        ClusterProfiles = new[]\n        {\n            new Spectrocloud.Inputs.ClusterConfigTemplateClusterProfileArgs\n            {\n                Id = baseProfile.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewClusterConfigTemplate(ctx, \"tenant_template\", \u0026spectrocloud.ClusterConfigTemplateArgs{\n\t\t\tName:        pulumi.String(\"organization-wide-template\"),\n\t\t\tCloudType:   pulumi.String(\"azure\"),\n\t\t\tContext:     pulumi.String(\"tenant\"),\n\t\t\tDescription: pulumi.String(\"Organization-wide Azure cluster template\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"tenant:wide\"),\n\t\t\t\tpulumi.String(\"compliance:required\"),\n\t\t\t},\n\t\t\tClusterProfiles: spectrocloud.ClusterConfigTemplateClusterProfileArray{\n\t\t\t\t\u0026spectrocloud.ClusterConfigTemplateClusterProfileArgs{\n\t\t\t\t\tId: pulumi.Any(baseProfile.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.ClusterConfigTemplate;\nimport com.pulumi.spectrocloud.ClusterConfigTemplateArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterConfigTemplateClusterProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var tenantTemplate = new ClusterConfigTemplate(\"tenantTemplate\", ClusterConfigTemplateArgs.builder()\n            .name(\"organization-wide-template\")\n            .cloudType(\"azure\")\n            .context(\"tenant\")\n            .description(\"Organization-wide Azure cluster template\")\n            .tags(            \n                \"tenant:wide\",\n                \"compliance:required\")\n            .clusterProfiles(ClusterConfigTemplateClusterProfileArgs.builder()\n                .id(baseProfile.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  tenantTemplate:\n    type: spectrocloud:ClusterConfigTemplate\n    name: tenant_template\n    properties:\n      name: organization-wide-template\n      cloudType: azure\n      context: tenant\n      description: Organization-wide Azure cluster template\n      tags:\n        - tenant:wide\n        - compliance:required\n      clusterProfiles:\n        - id: ${baseProfile.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCluster config templates can be imported using the template ID:\n\n```sh\n$ pulumi import spectrocloud:index/clusterConfigTemplate:ClusterConfigTemplate example \u003ctemplate-id\u003e\n```\n\n","properties":{"attachedClusters":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterConfigTemplateAttachedCluster:ClusterConfigTemplateAttachedCluster"},"description":"List of clusters attached to this template.\n"},"cloudType":{"type":"string","description":"The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.\n"},"clusterConfigTemplateId":{"type":"string","description":"The ID of this resource.\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterConfigTemplateClusterProfile:ClusterConfigTemplateClusterProfile"},"description":"Set of cluster profile references.\n"},"context":{"type":"string","description":"The context of the cluster config template. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster config template.\n"},"executionState":{"type":"string","description":"Current execution state of the cluster template. Possible values: `Pending`, `Applied`, `Failed`, `PartiallyApplied`.\n"},"name":{"type":"string","description":"The name of the cluster config template.\n"},"policy":{"$ref":"#/types/spectrocloud:index%2FClusterConfigTemplatePolicy:ClusterConfigTemplatePolicy","description":"List of policy references.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Assign tags to the cluster config template. Tags can be in the format `key:value` or just \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterConfigTemplateTimeouts:ClusterConfigTemplateTimeouts"},"upgradeNow":{"type":"string","description":"Timestamp to trigger an immediate upgrade for all clusters launched from this template. NOTE: The upgrade executes immediately when this value changes - the timestamp does NOT schedule a future upgrade. Set this to the current timestamp each time you want to trigger an upgrade. This field can also be used for tracking when upgrades were triggered by the user. Format: RFC3339 (e.g., '2024-01-15T10:30:00Z'). Example: To trigger an upgrade now, set to current time like '2024-11-12T15:30:00Z'.\n"}},"type":"object","required":["attachedClusters","cloudType","clusterConfigTemplateId","executionState","name"],"inputProperties":{"cloudType":{"type":"string","description":"The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.\n"},"clusterConfigTemplateId":{"type":"string","description":"The ID of this resource.\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterConfigTemplateClusterProfile:ClusterConfigTemplateClusterProfile"},"description":"Set of cluster profile references.\n"},"context":{"type":"string","description":"The context of the cluster config template. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster config template.\n"},"name":{"type":"string","description":"The name of the cluster config template.\n"},"policy":{"$ref":"#/types/spectrocloud:index%2FClusterConfigTemplatePolicy:ClusterConfigTemplatePolicy","description":"List of policy references.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Assign tags to the cluster config template. Tags can be in the format `key:value` or just \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterConfigTemplateTimeouts:ClusterConfigTemplateTimeouts"},"upgradeNow":{"type":"string","description":"Timestamp to trigger an immediate upgrade for all clusters launched from this template. NOTE: The upgrade executes immediately when this value changes - the timestamp does NOT schedule a future upgrade. Set this to the current timestamp each time you want to trigger an upgrade. This field can also be used for tracking when upgrades were triggered by the user. Format: RFC3339 (e.g., '2024-01-15T10:30:00Z'). Example: To trigger an upgrade now, set to current time like '2024-11-12T15:30:00Z'.\n"}},"requiredInputs":["cloudType"],"stateInputs":{"description":"Input properties used for looking up and filtering ClusterConfigTemplate resources.\n","properties":{"attachedClusters":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterConfigTemplateAttachedCluster:ClusterConfigTemplateAttachedCluster"},"description":"List of clusters attached to this template.\n"},"cloudType":{"type":"string","description":"The cloud type for the cluster template. Examples: 'aws', 'azure', 'gcp', 'vsphere', etc.\n"},"clusterConfigTemplateId":{"type":"string","description":"The ID of this resource.\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterConfigTemplateClusterProfile:ClusterConfigTemplateClusterProfile"},"description":"Set of cluster profile references.\n"},"context":{"type":"string","description":"The context of the cluster config template. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster config template.\n"},"executionState":{"type":"string","description":"Current execution state of the cluster template. Possible values: `Pending`, `Applied`, `Failed`, `PartiallyApplied`.\n"},"name":{"type":"string","description":"The name of the cluster config template.\n"},"policy":{"$ref":"#/types/spectrocloud:index%2FClusterConfigTemplatePolicy:ClusterConfigTemplatePolicy","description":"List of policy references.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Assign tags to the cluster config template. Tags can be in the format `key:value` or just \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterConfigTemplateTimeouts:ClusterConfigTemplateTimeouts"},"upgradeNow":{"type":"string","description":"Timestamp to trigger an immediate upgrade for all clusters launched from this template. NOTE: The upgrade executes immediately when this value changes - the timestamp does NOT schedule a future upgrade. Set this to the current timestamp each time you want to trigger an upgrade. This field can also be used for tracking when upgrades were triggered by the user. Format: RFC3339 (e.g., '2024-01-15T10:30:00Z'). Example: To trigger an upgrade now, set to current time like '2024-11-12T15:30:00Z'.\n"}},"type":"object"}},"spectrocloud:index/clusterCustomCloud:ClusterCustomCloud":{"description":"Resource for managing custom cloud clusters in Spectro Cloud through Palette.\n\n## Import\n\nUsing `pulumi import`, import the cluster using the `cluster_name` or `id` colon separated with `context` colon separated with `custom_cloud_name`. For example:\n\nconsole\n\n```sh\n$ pulumi import spectrocloud:index/clusterCustomCloud:ClusterCustomCloud {cloud_account_uid}/{cloud_account_name}:project:custom_cloud_name \n```\n\nRefer to the [Import section](/docs#import) to learn more.\n\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudBackupPolicy:ClusterCustomCloudBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloud":{"type":"string","description":"The cloud provider name.\n"},"cloudAccountId":{"type":"string","description":"The cloud account id to use for this cluster.\n"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudCloudConfig:ClusterCustomCloudCloudConfig","description":"The Cloud environment configuration settings such as network parameters and encryption parameters that apply to this cluster.\n"},"cloudConfigId":{"type":"string","deprecationMessage":"Deprecated"},"clusterCustomCloudId":{"type":"string","description":"The ID of this resource.\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudClusterProfile:ClusterCustomCloudClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudClusterRbacBinding:ClusterCustomCloudClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudClusterTemplate:ClusterCustomCloudClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"clusterType":{"type":"string","description":"The cluster type. Valid values are `PureManage` and `PureAttach`. This field can only be set during cluster creation and cannot be modified after the cluster is created. If not specified, the cluster will use the default type determined by the system.\n"},"context":{"type":"string","description":"The context of the EKS cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudLocationConfig:ClusterCustomCloudLocationConfig"}},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudMachinePool:ClusterCustomCloudMachinePool"},"description":"The machine pool configuration for the cluster.\n"},"name":{"type":"string","description":"The name of the cluster.\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudNamespace:ClusterCustomCloudNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudScanPolicy:ClusterCustomCloudScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudTimeouts:ClusterCustomCloudTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object","required":["adminKubeConfig","cloud","cloudAccountId","cloudConfig","cloudConfigId","clusterCustomCloudId","clusterType","kubeconfig","machinePools","name"],"inputProperties":{"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudBackupPolicy:ClusterCustomCloudBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloud":{"type":"string","description":"The cloud provider name.\n"},"cloudAccountId":{"type":"string","description":"The cloud account id to use for this cluster.\n"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudCloudConfig:ClusterCustomCloudCloudConfig","description":"The Cloud environment configuration settings such as network parameters and encryption parameters that apply to this cluster.\n"},"clusterCustomCloudId":{"type":"string","description":"The ID of this resource.\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudClusterProfile:ClusterCustomCloudClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudClusterRbacBinding:ClusterCustomCloudClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudClusterTemplate:ClusterCustomCloudClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"clusterType":{"type":"string","description":"The cluster type. Valid values are `PureManage` and `PureAttach`. This field can only be set during cluster creation and cannot be modified after the cluster is created. If not specified, the cluster will use the default type determined by the system.\n"},"context":{"type":"string","description":"The context of the EKS cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudLocationConfig:ClusterCustomCloudLocationConfig"}},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudMachinePool:ClusterCustomCloudMachinePool"},"description":"The machine pool configuration for the cluster.\n"},"name":{"type":"string","description":"The name of the cluster.\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudNamespace:ClusterCustomCloudNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudScanPolicy:ClusterCustomCloudScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudTimeouts:ClusterCustomCloudTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"requiredInputs":["cloud","cloudAccountId","cloudConfig","machinePools"],"stateInputs":{"description":"Input properties used for looking up and filtering ClusterCustomCloud resources.\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudBackupPolicy:ClusterCustomCloudBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloud":{"type":"string","description":"The cloud provider name.\n"},"cloudAccountId":{"type":"string","description":"The cloud account id to use for this cluster.\n"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudCloudConfig:ClusterCustomCloudCloudConfig","description":"The Cloud environment configuration settings such as network parameters and encryption parameters that apply to this cluster.\n"},"cloudConfigId":{"type":"string","deprecationMessage":"Deprecated"},"clusterCustomCloudId":{"type":"string","description":"The ID of this resource.\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudClusterProfile:ClusterCustomCloudClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudClusterRbacBinding:ClusterCustomCloudClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudClusterTemplate:ClusterCustomCloudClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"clusterType":{"type":"string","description":"The cluster type. Valid values are `PureManage` and `PureAttach`. This field can only be set during cluster creation and cannot be modified after the cluster is created. If not specified, the cluster will use the default type determined by the system.\n"},"context":{"type":"string","description":"The context of the EKS cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudLocationConfig:ClusterCustomCloudLocationConfig"}},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudMachinePool:ClusterCustomCloudMachinePool"},"description":"The machine pool configuration for the cluster.\n"},"name":{"type":"string","description":"The name of the cluster.\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudNamespace:ClusterCustomCloudNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudScanPolicy:ClusterCustomCloudScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterCustomCloudTimeouts:ClusterCustomCloudTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object"}},"spectrocloud:index/clusterEdgeNative:ClusterEdgeNative":{"description":"Resource for managing Edge Native clusters in Spectro Cloud through Palette.\n\n## Import\n\nUsing `pulumi import`, import the cluster using the `cluster_name` or `id` colon separated with `context`. For example:\n\nconsole\n\n```sh\n$ pulumi import spectrocloud:index/clusterEdgeNative:ClusterEdgeNative {cluster_uid}/{cluster_name}:project \n```\n\nRefer to the [Import section](/docs#import) to learn more.\n\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeBackupPolicy:ClusterEdgeNativeBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeCloudConfig:ClusterEdgeNativeCloudConfig"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterEdgeNativeId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeClusterProfile:ClusterEdgeNativeClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeClusterRbacBinding:ClusterEdgeNativeClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeClusterTemplate:ClusterEdgeNativeClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the Edge cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeHostConfig:ClusterEdgeNativeHostConfig"},"description":"The host configuration for the cluster.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeLocationConfig:ClusterEdgeNativeLocationConfig"}},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeMachinePool:ClusterEdgeNativeMachinePool"}},"name":{"type":"string"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeNamespace:ClusterEdgeNativeNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeScanPolicy:ClusterEdgeNativeScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeTimeouts:ClusterEdgeNativeTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object","required":["adminKubeConfig","cloudConfig","cloudConfigId","clusterEdgeNativeId","kubeconfig","machinePools","name"],"inputProperties":{"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeBackupPolicy:ClusterEdgeNativeBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeCloudConfig:ClusterEdgeNativeCloudConfig"},"clusterEdgeNativeId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeClusterProfile:ClusterEdgeNativeClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeClusterRbacBinding:ClusterEdgeNativeClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeClusterTemplate:ClusterEdgeNativeClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the Edge cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeHostConfig:ClusterEdgeNativeHostConfig"},"description":"The host configuration for the cluster.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeLocationConfig:ClusterEdgeNativeLocationConfig"}},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeMachinePool:ClusterEdgeNativeMachinePool"}},"name":{"type":"string"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeNamespace:ClusterEdgeNativeNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeScanPolicy:ClusterEdgeNativeScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeTimeouts:ClusterEdgeNativeTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"requiredInputs":["cloudConfig","machinePools"],"stateInputs":{"description":"Input properties used for looking up and filtering ClusterEdgeNative resources.\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeBackupPolicy:ClusterEdgeNativeBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeCloudConfig:ClusterEdgeNativeCloudConfig"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterEdgeNativeId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeClusterProfile:ClusterEdgeNativeClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeClusterRbacBinding:ClusterEdgeNativeClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeClusterTemplate:ClusterEdgeNativeClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the Edge cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeHostConfig:ClusterEdgeNativeHostConfig"},"description":"The host configuration for the cluster.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeLocationConfig:ClusterEdgeNativeLocationConfig"}},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeMachinePool:ClusterEdgeNativeMachinePool"}},"name":{"type":"string"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeNamespace:ClusterEdgeNativeNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeScanPolicy:ClusterEdgeNativeScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeNativeTimeouts:ClusterEdgeNativeTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object"}},"spectrocloud:index/clusterEdgeVsphere:ClusterEdgeVsphere":{"properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereBackupPolicy:ClusterEdgeVsphereBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereCloudConfig:ClusterEdgeVsphereCloudConfig"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterEdgeVsphereId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereClusterProfile:ClusterEdgeVsphereClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereClusterRbacBinding:ClusterEdgeVsphereClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereClusterTemplate:ClusterEdgeVsphereClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the Edge cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"edgeHostUid":{"type":"string"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereHostConfig:ClusterEdgeVsphereHostConfig"},"description":"The host configuration for the cluster.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereLocationConfig:ClusterEdgeVsphereLocationConfig"}},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereMachinePool:ClusterEdgeVsphereMachinePool"}},"name":{"type":"string"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereNamespace:ClusterEdgeVsphereNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereScanPolicy:ClusterEdgeVsphereScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereTimeouts:ClusterEdgeVsphereTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object","required":["adminKubeConfig","cloudConfig","cloudConfigId","clusterEdgeVsphereId","edgeHostUid","kubeconfig","machinePools","name"],"inputProperties":{"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereBackupPolicy:ClusterEdgeVsphereBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereCloudConfig:ClusterEdgeVsphereCloudConfig"},"clusterEdgeVsphereId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereClusterProfile:ClusterEdgeVsphereClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereClusterRbacBinding:ClusterEdgeVsphereClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereClusterTemplate:ClusterEdgeVsphereClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the Edge cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"edgeHostUid":{"type":"string"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereHostConfig:ClusterEdgeVsphereHostConfig"},"description":"The host configuration for the cluster.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereLocationConfig:ClusterEdgeVsphereLocationConfig"}},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereMachinePool:ClusterEdgeVsphereMachinePool"}},"name":{"type":"string"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereNamespace:ClusterEdgeVsphereNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereScanPolicy:ClusterEdgeVsphereScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereTimeouts:ClusterEdgeVsphereTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"requiredInputs":["cloudConfig","edgeHostUid","machinePools"],"stateInputs":{"description":"Input properties used for looking up and filtering ClusterEdgeVsphere resources.\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereBackupPolicy:ClusterEdgeVsphereBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereCloudConfig:ClusterEdgeVsphereCloudConfig"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterEdgeVsphereId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereClusterProfile:ClusterEdgeVsphereClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereClusterRbacBinding:ClusterEdgeVsphereClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereClusterTemplate:ClusterEdgeVsphereClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the Edge cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"edgeHostUid":{"type":"string"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereHostConfig:ClusterEdgeVsphereHostConfig"},"description":"The host configuration for the cluster.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereLocationConfig:ClusterEdgeVsphereLocationConfig"}},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereMachinePool:ClusterEdgeVsphereMachinePool"}},"name":{"type":"string"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereNamespace:ClusterEdgeVsphereNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereScanPolicy:ClusterEdgeVsphereScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterEdgeVsphereTimeouts:ClusterEdgeVsphereTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object"}},"spectrocloud:index/clusterEks:ClusterEks":{"description":"Resource for managing EKS clusters in Spectro Cloud through Palette.\n\n\u003e When creating a **Palette EKS cluster** with `machine_pool.eks_launch_template`: If you do **not set** `machine_pool.eks_launch_template.ami_id`, Palette will automatically perform **EKS AMI updates**. This will trigger a **cluster repave**, since the system replaces the underlying AMI as part of the update process. To avoid unexpected repaves, explicitly set the \u003cspan pulumi-lang-nodejs=\"`amiId`\" pulumi-lang-dotnet=\"`AmiId`\" pulumi-lang-go=\"`amiId`\" pulumi-lang-python=\"`ami_id`\" pulumi-lang-yaml=\"`amiId`\" pulumi-lang-java=\"`amiId`\"\u003e`ami_id`\u003c/span\u003e in the launch template when defining the \u003cspan pulumi-lang-nodejs=\"`machinePool`\" pulumi-lang-dotnet=\"`MachinePool`\" pulumi-lang-go=\"`machinePool`\" pulumi-lang-python=\"`machine_pool`\" pulumi-lang-yaml=\"`machinePool`\" pulumi-lang-java=\"`machinePool`\"\u003e`machine_pool`\u003c/span\u003e.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  cluster:\n    type: spectrocloud:ClusterEks\n    properties:\n      name: ${clusterName}\n      tags:\n        - dev\n        - department:devops\n        - owner:bob\n      cloudAccountId: ${account.id}\n      cloudConfig:\n        sshKeyName: default\n        region: us-west-2\n      clusterProfiles:\n        - id: ${profile.id}\n      backupPolicy:\n        schedule: 0 0 * * SUN\n        backupLocationId: ${bsl.id}\n        prefix: prod-backup\n        expiryInHour: 7200\n        includeDisks: true\n        includeClusterResources: true\n      scanPolicy:\n        configurationScanSchedule: 0 0 * * SUN\n        penetrationScanSchedule: 0 0 * * SUN\n        conformanceScanSchedule: 0 0 1 * *\n      machinePools:\n        - name: worker-basic\n          count: 1\n          instanceType: t3.large\n          diskSizeGb: 60\n          azSubnets:\n            us-west-2a: subnet-0d4978ddbff16c\n          encryptionConfigArn: arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab\nvariables:\n  account:\n    fn::invoke:\n      function: spectrocloud:getCloudaccountAws\n      arguments:\n        name: ${clusterCloudAccountName}\n  profile:\n    fn::invoke:\n      function: spectrocloud:getClusterProfile\n      arguments:\n        name: ${clusterClusterProfileName}\n  bsl:\n    fn::invoke:\n      function: spectrocloud:getBackupStorageLocation\n      arguments:\n        name: ${backupStorageLocationName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the cluster using the `cluster_name` or `id` colon separated with `context`. For example:\n\nconsole\n\n```sh\n$ pulumi import spectrocloud:index/clusterEks:ClusterEks {cluster_uid}/{cluster_name}:project \n```\n\nRefer to the [Import section](/docs#import) to learn more.\n\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterEksBackupPolicy:ClusterEksBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string","description":"The AWS cloud account id to use for this cluster.\n"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterEksCloudConfig:ClusterEksCloudConfig","description":"The AWS environment configuration settings such as network parameters and encryption parameters that apply to this cluster.\n"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterEksId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksClusterProfile:ClusterEksClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksClusterRbacBinding:ClusterEksClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterEksClusterTemplate:ClusterEksClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the EKS cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"fargateProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksFargateProfile:ClusterEksFargateProfile"}},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksHostConfig:ClusterEksHostConfig"},"description":"The host configuration for the cluster.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksLocationConfig:ClusterEksLocationConfig"},"description":"The location of the cluster.\n"},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksMachinePool:ClusterEksMachinePool"},"description":"The machine pool configuration for the cluster.\n"},"name":{"type":"string","description":"The name of the cluster.\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksNamespace:ClusterEksNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterEksScanPolicy:ClusterEksScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`. The \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e attribute will soon be deprecated. It is recommended to use \u003cspan pulumi-lang-nodejs=\"`tagsMap`\" pulumi-lang-dotnet=\"`TagsMap`\" pulumi-lang-go=\"`tagsMap`\" pulumi-lang-python=\"`tags_map`\" pulumi-lang-yaml=\"`tagsMap`\" pulumi-lang-java=\"`tagsMap`\"\u003e`tags_map`\u003c/span\u003e instead.\n"},"tagsMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of tags to be applied to the cluster. tags and\u003cspan pulumi-lang-nodejs=\" tagsMap \" pulumi-lang-dotnet=\" TagsMap \" pulumi-lang-go=\" tagsMap \" pulumi-lang-python=\" tags_map \" pulumi-lang-yaml=\" tagsMap \" pulumi-lang-java=\" tagsMap \"\u003e tags_map \u003c/span\u003eare mutually exclusive — only one should be used at a time\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterEksTimeouts:ClusterEksTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object","required":["adminKubeConfig","cloudAccountId","cloudConfig","cloudConfigId","clusterEksId","kubeconfig","locationConfigs","machinePools","name"],"inputProperties":{"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterEksBackupPolicy:ClusterEksBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string","description":"The AWS cloud account id to use for this cluster.\n"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterEksCloudConfig:ClusterEksCloudConfig","description":"The AWS environment configuration settings such as network parameters and encryption parameters that apply to this cluster.\n"},"clusterEksId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksClusterProfile:ClusterEksClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksClusterRbacBinding:ClusterEksClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterEksClusterTemplate:ClusterEksClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the EKS cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"fargateProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksFargateProfile:ClusterEksFargateProfile"}},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksHostConfig:ClusterEksHostConfig"},"description":"The host configuration for the cluster.\n"},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksMachinePool:ClusterEksMachinePool"},"description":"The machine pool configuration for the cluster.\n"},"name":{"type":"string","description":"The name of the cluster.\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksNamespace:ClusterEksNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterEksScanPolicy:ClusterEksScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`. The \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e attribute will soon be deprecated. It is recommended to use \u003cspan pulumi-lang-nodejs=\"`tagsMap`\" pulumi-lang-dotnet=\"`TagsMap`\" pulumi-lang-go=\"`tagsMap`\" pulumi-lang-python=\"`tags_map`\" pulumi-lang-yaml=\"`tagsMap`\" pulumi-lang-java=\"`tagsMap`\"\u003e`tags_map`\u003c/span\u003e instead.\n"},"tagsMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of tags to be applied to the cluster. tags and\u003cspan pulumi-lang-nodejs=\" tagsMap \" pulumi-lang-dotnet=\" TagsMap \" pulumi-lang-go=\" tagsMap \" pulumi-lang-python=\" tags_map \" pulumi-lang-yaml=\" tagsMap \" pulumi-lang-java=\" tagsMap \"\u003e tags_map \u003c/span\u003eare mutually exclusive — only one should be used at a time\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterEksTimeouts:ClusterEksTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"requiredInputs":["cloudAccountId","cloudConfig","machinePools"],"stateInputs":{"description":"Input properties used for looking up and filtering ClusterEks resources.\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterEksBackupPolicy:ClusterEksBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string","description":"The AWS cloud account id to use for this cluster.\n"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterEksCloudConfig:ClusterEksCloudConfig","description":"The AWS environment configuration settings such as network parameters and encryption parameters that apply to this cluster.\n"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterEksId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksClusterProfile:ClusterEksClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksClusterRbacBinding:ClusterEksClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterEksClusterTemplate:ClusterEksClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the EKS cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"fargateProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksFargateProfile:ClusterEksFargateProfile"}},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksHostConfig:ClusterEksHostConfig"},"description":"The host configuration for the cluster.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksLocationConfig:ClusterEksLocationConfig"},"description":"The location of the cluster.\n"},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksMachinePool:ClusterEksMachinePool"},"description":"The machine pool configuration for the cluster.\n"},"name":{"type":"string","description":"The name of the cluster.\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterEksNamespace:ClusterEksNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterEksScanPolicy:ClusterEksScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`. The \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e attribute will soon be deprecated. It is recommended to use \u003cspan pulumi-lang-nodejs=\"`tagsMap`\" pulumi-lang-dotnet=\"`TagsMap`\" pulumi-lang-go=\"`tagsMap`\" pulumi-lang-python=\"`tags_map`\" pulumi-lang-yaml=\"`tagsMap`\" pulumi-lang-java=\"`tagsMap`\"\u003e`tags_map`\u003c/span\u003e instead.\n"},"tagsMap":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of tags to be applied to the cluster. tags and\u003cspan pulumi-lang-nodejs=\" tagsMap \" pulumi-lang-dotnet=\" TagsMap \" pulumi-lang-go=\" tagsMap \" pulumi-lang-python=\" tags_map \" pulumi-lang-yaml=\" tagsMap \" pulumi-lang-java=\" tagsMap \"\u003e tags_map \u003c/span\u003eare mutually exclusive — only one should be used at a time\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterEksTimeouts:ClusterEksTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object"}},"spectrocloud:index/clusterGcp:ClusterGcp":{"description":"Resource for managing GCP clusters in Spectro Cloud through Palette.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst account = spectrocloud.getCloudaccountGcp({\n    name: clusterCloudAccountName,\n});\nconst profile = spectrocloud.getClusterProfile({\n    name: clusterClusterProfileName,\n});\nconst cluster = new spectrocloud.ClusterGcp(\"cluster\", {\n    name: clusterName,\n    tags: [\n        \"dev\",\n        \"department:devops\",\n        \"owner:bob\",\n    ],\n    cloudAccountId: account.then(account =\u003e account.id),\n    cloudConfig: {\n        network: gcpNetwork,\n        project: gcpProject,\n        region: gcpRegion,\n    },\n    clusterProfiles: [{\n        id: profile.then(profile =\u003e profile.id),\n    }],\n    machinePools: [\n        {\n            controlPlane: true,\n            controlPlaneAsWorker: true,\n            name: \"cp-pool\",\n            count: 1,\n            instanceType: \"e2-standard-2\",\n            diskSizeGb: 62,\n            azs: [\"us-west3-a\"],\n        },\n        {\n            name: \"worker-basic\",\n            count: 1,\n            instanceType: \"e2-standard-2\",\n            azs: [\"us-west3-a\"],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\naccount = spectrocloud.get_cloudaccount_gcp(name=cluster_cloud_account_name)\nprofile = spectrocloud.get_cluster_profile(name=cluster_cluster_profile_name)\ncluster = spectrocloud.ClusterGcp(\"cluster\",\n    name=cluster_name,\n    tags=[\n        \"dev\",\n        \"department:devops\",\n        \"owner:bob\",\n    ],\n    cloud_account_id=account.id,\n    cloud_config={\n        \"network\": gcp_network,\n        \"project\": gcp_project,\n        \"region\": gcp_region,\n    },\n    cluster_profiles=[{\n        \"id\": profile.id,\n    }],\n    machine_pools=[\n        {\n            \"control_plane\": True,\n            \"control_plane_as_worker\": True,\n            \"name\": \"cp-pool\",\n            \"count\": 1,\n            \"instance_type\": \"e2-standard-2\",\n            \"disk_size_gb\": 62,\n            \"azs\": [\"us-west3-a\"],\n        },\n        {\n            \"name\": \"worker-basic\",\n            \"count\": 1,\n            \"instance_type\": \"e2-standard-2\",\n            \"azs\": [\"us-west3-a\"],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var account = Spectrocloud.GetCloudaccountGcp.Invoke(new()\n    {\n        Name = clusterCloudAccountName,\n    });\n\n    var profile = Spectrocloud.GetClusterProfile.Invoke(new()\n    {\n        Name = clusterClusterProfileName,\n    });\n\n    var cluster = new Spectrocloud.ClusterGcp(\"cluster\", new()\n    {\n        Name = clusterName,\n        Tags = new[]\n        {\n            \"dev\",\n            \"department:devops\",\n            \"owner:bob\",\n        },\n        CloudAccountId = account.Apply(getCloudaccountGcpResult =\u003e getCloudaccountGcpResult.Id),\n        CloudConfig = new Spectrocloud.Inputs.ClusterGcpCloudConfigArgs\n        {\n            Network = gcpNetwork,\n            Project = gcpProject,\n            Region = gcpRegion,\n        },\n        ClusterProfiles = new[]\n        {\n            new Spectrocloud.Inputs.ClusterGcpClusterProfileArgs\n            {\n                Id = profile.Apply(getClusterProfileResult =\u003e getClusterProfileResult.Id),\n            },\n        },\n        MachinePools = new[]\n        {\n            new Spectrocloud.Inputs.ClusterGcpMachinePoolArgs\n            {\n                ControlPlane = true,\n                ControlPlaneAsWorker = true,\n                Name = \"cp-pool\",\n                Count = 1,\n                InstanceType = \"e2-standard-2\",\n                DiskSizeGb = 62,\n                Azs = new[]\n                {\n                    \"us-west3-a\",\n                },\n            },\n            new Spectrocloud.Inputs.ClusterGcpMachinePoolArgs\n            {\n                Name = \"worker-basic\",\n                Count = 1,\n                InstanceType = \"e2-standard-2\",\n                Azs = new[]\n                {\n                    \"us-west3-a\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taccount, err := spectrocloud.LookupCloudaccountGcp(ctx, \u0026spectrocloud.LookupCloudaccountGcpArgs{\n\t\t\tName: pulumi.StringRef(clusterCloudAccountName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprofile, err := spectrocloud.LookupClusterProfile(ctx, \u0026spectrocloud.LookupClusterProfileArgs{\n\t\t\tName: pulumi.StringRef(clusterClusterProfileName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.NewClusterGcp(ctx, \"cluster\", \u0026spectrocloud.ClusterGcpArgs{\n\t\t\tName: pulumi.Any(clusterName),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"dev\"),\n\t\t\t\tpulumi.String(\"department:devops\"),\n\t\t\t\tpulumi.String(\"owner:bob\"),\n\t\t\t},\n\t\t\tCloudAccountId: pulumi.String(account.Id),\n\t\t\tCloudConfig: \u0026spectrocloud.ClusterGcpCloudConfigArgs{\n\t\t\t\tNetwork: pulumi.Any(gcpNetwork),\n\t\t\t\tProject: pulumi.Any(gcpProject),\n\t\t\t\tRegion:  pulumi.Any(gcpRegion),\n\t\t\t},\n\t\t\tClusterProfiles: spectrocloud.ClusterGcpClusterProfileArray{\n\t\t\t\t\u0026spectrocloud.ClusterGcpClusterProfileArgs{\n\t\t\t\t\tId: pulumi.String(profile.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMachinePools: spectrocloud.ClusterGcpMachinePoolArray{\n\t\t\t\t\u0026spectrocloud.ClusterGcpMachinePoolArgs{\n\t\t\t\t\tControlPlane:         pulumi.Bool(true),\n\t\t\t\t\tControlPlaneAsWorker: pulumi.Bool(true),\n\t\t\t\t\tName:                 pulumi.String(\"cp-pool\"),\n\t\t\t\t\tCount:                pulumi.Float64(1),\n\t\t\t\t\tInstanceType:         pulumi.String(\"e2-standard-2\"),\n\t\t\t\t\tDiskSizeGb:           pulumi.Float64(62),\n\t\t\t\t\tAzs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"us-west3-a\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026spectrocloud.ClusterGcpMachinePoolArgs{\n\t\t\t\t\tName:         pulumi.String(\"worker-basic\"),\n\t\t\t\t\tCount:        pulumi.Float64(1),\n\t\t\t\t\tInstanceType: pulumi.String(\"e2-standard-2\"),\n\t\t\t\t\tAzs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"us-west3-a\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetCloudaccountGcpArgs;\nimport com.pulumi.spectrocloud.inputs.GetClusterProfileArgs;\nimport com.pulumi.spectrocloud.ClusterGcp;\nimport com.pulumi.spectrocloud.ClusterGcpArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterGcpCloudConfigArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterGcpClusterProfileArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterGcpMachinePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var account = SpectrocloudFunctions.getCloudaccountGcp(GetCloudaccountGcpArgs.builder()\n            .name(clusterCloudAccountName)\n            .build());\n\n        final var profile = SpectrocloudFunctions.getClusterProfile(GetClusterProfileArgs.builder()\n            .name(clusterClusterProfileName)\n            .build());\n\n        var cluster = new ClusterGcp(\"cluster\", ClusterGcpArgs.builder()\n            .name(clusterName)\n            .tags(            \n                \"dev\",\n                \"department:devops\",\n                \"owner:bob\")\n            .cloudAccountId(account.id())\n            .cloudConfig(ClusterGcpCloudConfigArgs.builder()\n                .network(gcpNetwork)\n                .project(gcpProject)\n                .region(gcpRegion)\n                .build())\n            .clusterProfiles(ClusterGcpClusterProfileArgs.builder()\n                .id(profile.id())\n                .build())\n            .machinePools(            \n                ClusterGcpMachinePoolArgs.builder()\n                    .controlPlane(true)\n                    .controlPlaneAsWorker(true)\n                    .name(\"cp-pool\")\n                    .count(1.0)\n                    .instanceType(\"e2-standard-2\")\n                    .diskSizeGb(62.0)\n                    .azs(\"us-west3-a\")\n                    .build(),\n                ClusterGcpMachinePoolArgs.builder()\n                    .name(\"worker-basic\")\n                    .count(1.0)\n                    .instanceType(\"e2-standard-2\")\n                    .azs(\"us-west3-a\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  cluster:\n    type: spectrocloud:ClusterGcp\n    properties:\n      name: ${clusterName}\n      tags:\n        - dev\n        - department:devops\n        - owner:bob\n      cloudAccountId: ${account.id}\n      cloudConfig:\n        network: ${gcpNetwork}\n        project: ${gcpProject}\n        region: ${gcpRegion}\n      clusterProfiles:\n        - id: ${profile.id}\n      machinePools:\n        - controlPlane: true\n          controlPlaneAsWorker: true\n          name: cp-pool\n          count: 1\n          instanceType: e2-standard-2\n          diskSizeGb: 62\n          azs:\n            - us-west3-a\n        - name: worker-basic\n          count: 1\n          instanceType: e2-standard-2\n          azs:\n            - us-west3-a\nvariables:\n  account:\n    fn::invoke:\n      function: spectrocloud:getCloudaccountGcp\n      arguments:\n        name: ${clusterCloudAccountName}\n  profile:\n    fn::invoke:\n      function: spectrocloud:getClusterProfile\n      arguments:\n        name: ${clusterClusterProfileName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the cluster using the `cluster_name` or `id` colon separated with `context`. For example:\n\nconsole\n\n```sh\n$ pulumi import spectrocloud:index/clusterGcp:ClusterGcp {cluster_uid}/{cluster_name}:project \n```\n\nRefer to the [Import section](/docs#import) to learn more.\n\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterGcpBackupPolicy:ClusterGcpBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterGcpCloudConfig:ClusterGcpCloudConfig"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterGcpId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGcpClusterProfile:ClusterGcpClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGcpClusterRbacBinding:ClusterGcpClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterGcpClusterTemplate:ClusterGcpClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the GCP cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGcpHostConfig:ClusterGcpHostConfig"},"description":"The host configuration for the cluster.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGcpLocationConfig:ClusterGcpLocationConfig"},"description":"The location of the cluster.\n"},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGcpMachinePool:ClusterGcpMachinePool"}},"name":{"type":"string"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGcpNamespace:ClusterGcpNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterGcpScanPolicy:ClusterGcpScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterGcpTimeouts:ClusterGcpTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object","required":["adminKubeConfig","cloudAccountId","cloudConfig","cloudConfigId","clusterGcpId","kubeconfig","locationConfigs","machinePools","name"],"inputProperties":{"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterGcpBackupPolicy:ClusterGcpBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterGcpCloudConfig:ClusterGcpCloudConfig"},"clusterGcpId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGcpClusterProfile:ClusterGcpClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGcpClusterRbacBinding:ClusterGcpClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterGcpClusterTemplate:ClusterGcpClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the GCP cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGcpHostConfig:ClusterGcpHostConfig"},"description":"The host configuration for the cluster.\n"},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGcpMachinePool:ClusterGcpMachinePool"}},"name":{"type":"string"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGcpNamespace:ClusterGcpNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterGcpScanPolicy:ClusterGcpScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterGcpTimeouts:ClusterGcpTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"requiredInputs":["cloudAccountId","cloudConfig","machinePools"],"stateInputs":{"description":"Input properties used for looking up and filtering ClusterGcp resources.\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterGcpBackupPolicy:ClusterGcpBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterGcpCloudConfig:ClusterGcpCloudConfig"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterGcpId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGcpClusterProfile:ClusterGcpClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGcpClusterRbacBinding:ClusterGcpClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterGcpClusterTemplate:ClusterGcpClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the GCP cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGcpHostConfig:ClusterGcpHostConfig"},"description":"The host configuration for the cluster.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGcpLocationConfig:ClusterGcpLocationConfig"},"description":"The location of the cluster.\n"},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGcpMachinePool:ClusterGcpMachinePool"}},"name":{"type":"string"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGcpNamespace:ClusterGcpNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterGcpScanPolicy:ClusterGcpScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterGcpTimeouts:ClusterGcpTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object"}},"spectrocloud:index/clusterGke:ClusterGke":{"description":"Resource for managing GKE clusters through Palette.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst account = spectrocloud.getCloudaccountGcp({\n    name: gcpCloudAccountName,\n});\nconst profile = spectrocloud.getClusterProfile({\n    name: gkeClusterProfileName,\n});\nconst cluster = new spectrocloud.ClusterGke(\"cluster\", {\n    name: clusterName,\n    description: \"Gke Cluster\",\n    tags: [\n        \"dev\",\n        \"department:pax\",\n    ],\n    cloudAccountId: account.then(account =\u003e account.id),\n    context: \"project\",\n    clusterProfiles: [{\n        id: profile.then(profile =\u003e profile.id),\n    }],\n    cloudConfig: {\n        project: gcpProject,\n        region: gcpRegion,\n    },\n    updateWorkerPoolInParallel: true,\n    machinePools: [{\n        name: \"worker-basic\",\n        count: 3,\n        instanceType: \"n2-standard-4\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\naccount = spectrocloud.get_cloudaccount_gcp(name=gcp_cloud_account_name)\nprofile = spectrocloud.get_cluster_profile(name=gke_cluster_profile_name)\ncluster = spectrocloud.ClusterGke(\"cluster\",\n    name=cluster_name,\n    description=\"Gke Cluster\",\n    tags=[\n        \"dev\",\n        \"department:pax\",\n    ],\n    cloud_account_id=account.id,\n    context=\"project\",\n    cluster_profiles=[{\n        \"id\": profile.id,\n    }],\n    cloud_config={\n        \"project\": gcp_project,\n        \"region\": gcp_region,\n    },\n    update_worker_pool_in_parallel=True,\n    machine_pools=[{\n        \"name\": \"worker-basic\",\n        \"count\": 3,\n        \"instance_type\": \"n2-standard-4\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var account = Spectrocloud.GetCloudaccountGcp.Invoke(new()\n    {\n        Name = gcpCloudAccountName,\n    });\n\n    var profile = Spectrocloud.GetClusterProfile.Invoke(new()\n    {\n        Name = gkeClusterProfileName,\n    });\n\n    var cluster = new Spectrocloud.ClusterGke(\"cluster\", new()\n    {\n        Name = clusterName,\n        Description = \"Gke Cluster\",\n        Tags = new[]\n        {\n            \"dev\",\n            \"department:pax\",\n        },\n        CloudAccountId = account.Apply(getCloudaccountGcpResult =\u003e getCloudaccountGcpResult.Id),\n        Context = \"project\",\n        ClusterProfiles = new[]\n        {\n            new Spectrocloud.Inputs.ClusterGkeClusterProfileArgs\n            {\n                Id = profile.Apply(getClusterProfileResult =\u003e getClusterProfileResult.Id),\n            },\n        },\n        CloudConfig = new Spectrocloud.Inputs.ClusterGkeCloudConfigArgs\n        {\n            Project = gcpProject,\n            Region = gcpRegion,\n        },\n        UpdateWorkerPoolInParallel = true,\n        MachinePools = new[]\n        {\n            new Spectrocloud.Inputs.ClusterGkeMachinePoolArgs\n            {\n                Name = \"worker-basic\",\n                Count = 3,\n                InstanceType = \"n2-standard-4\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taccount, err := spectrocloud.LookupCloudaccountGcp(ctx, \u0026spectrocloud.LookupCloudaccountGcpArgs{\n\t\t\tName: pulumi.StringRef(gcpCloudAccountName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprofile, err := spectrocloud.LookupClusterProfile(ctx, \u0026spectrocloud.LookupClusterProfileArgs{\n\t\t\tName: pulumi.StringRef(gkeClusterProfileName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.NewClusterGke(ctx, \"cluster\", \u0026spectrocloud.ClusterGkeArgs{\n\t\t\tName:        pulumi.Any(clusterName),\n\t\t\tDescription: pulumi.String(\"Gke Cluster\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"dev\"),\n\t\t\t\tpulumi.String(\"department:pax\"),\n\t\t\t},\n\t\t\tCloudAccountId: pulumi.String(account.Id),\n\t\t\tContext:        pulumi.String(\"project\"),\n\t\t\tClusterProfiles: spectrocloud.ClusterGkeClusterProfileArray{\n\t\t\t\t\u0026spectrocloud.ClusterGkeClusterProfileArgs{\n\t\t\t\t\tId: pulumi.String(profile.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCloudConfig: \u0026spectrocloud.ClusterGkeCloudConfigArgs{\n\t\t\t\tProject: pulumi.Any(gcpProject),\n\t\t\t\tRegion:  pulumi.Any(gcpRegion),\n\t\t\t},\n\t\t\tUpdateWorkerPoolInParallel: pulumi.Bool(true),\n\t\t\tMachinePools: spectrocloud.ClusterGkeMachinePoolArray{\n\t\t\t\t\u0026spectrocloud.ClusterGkeMachinePoolArgs{\n\t\t\t\t\tName:         pulumi.String(\"worker-basic\"),\n\t\t\t\t\tCount:        pulumi.Float64(3),\n\t\t\t\t\tInstanceType: pulumi.String(\"n2-standard-4\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetCloudaccountGcpArgs;\nimport com.pulumi.spectrocloud.inputs.GetClusterProfileArgs;\nimport com.pulumi.spectrocloud.ClusterGke;\nimport com.pulumi.spectrocloud.ClusterGkeArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterGkeClusterProfileArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterGkeCloudConfigArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterGkeMachinePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var account = SpectrocloudFunctions.getCloudaccountGcp(GetCloudaccountGcpArgs.builder()\n            .name(gcpCloudAccountName)\n            .build());\n\n        final var profile = SpectrocloudFunctions.getClusterProfile(GetClusterProfileArgs.builder()\n            .name(gkeClusterProfileName)\n            .build());\n\n        var cluster = new ClusterGke(\"cluster\", ClusterGkeArgs.builder()\n            .name(clusterName)\n            .description(\"Gke Cluster\")\n            .tags(            \n                \"dev\",\n                \"department:pax\")\n            .cloudAccountId(account.id())\n            .context(\"project\")\n            .clusterProfiles(ClusterGkeClusterProfileArgs.builder()\n                .id(profile.id())\n                .build())\n            .cloudConfig(ClusterGkeCloudConfigArgs.builder()\n                .project(gcpProject)\n                .region(gcpRegion)\n                .build())\n            .updateWorkerPoolInParallel(true)\n            .machinePools(ClusterGkeMachinePoolArgs.builder()\n                .name(\"worker-basic\")\n                .count(3.0)\n                .instanceType(\"n2-standard-4\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  cluster:\n    type: spectrocloud:ClusterGke\n    properties:\n      name: ${clusterName}\n      description: Gke Cluster\n      tags:\n        - dev\n        - department:pax\n      cloudAccountId: ${account.id}\n      context: project\n      clusterProfiles:\n        - id: ${profile.id}\n      cloudConfig:\n        project: ${gcpProject}\n        region: ${gcpRegion}\n      updateWorkerPoolInParallel: true\n      machinePools:\n        - name: worker-basic\n          count: 3\n          instanceType: n2-standard-4\nvariables:\n  account:\n    fn::invoke:\n      function: spectrocloud:getCloudaccountGcp\n      arguments:\n        name: ${gcpCloudAccountName}\n  profile:\n    fn::invoke:\n      function: spectrocloud:getClusterProfile\n      arguments:\n        name: ${gkeClusterProfileName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the cluster using the `cluster_name` or `id` colon separated with `context`. For example:\n\nconsole\n\n```sh\n$ pulumi import spectrocloud:index/clusterGke:ClusterGke {cluster_uid}/{cluster_name}:project \n```\n\nRefer to the [Import section](/docs#import) to learn more.\n\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterGkeBackupPolicy:ClusterGkeBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterGkeCloudConfig:ClusterGkeCloudConfig","description":"The GKE environment configuration settings such as project parameters and region parameters that apply to this cluster.\n"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterGkeId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGkeClusterProfile:ClusterGkeClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGkeClusterRbacBinding:ClusterGkeClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterGkeClusterTemplate:ClusterGkeClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the GKE cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGkeHostConfig:ClusterGkeHostConfig"},"description":"The host configuration for the cluster.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGkeLocationConfig:ClusterGkeLocationConfig"},"description":"The location of the cluster.\n"},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGkeMachinePool:ClusterGkeMachinePool"},"description":"The machine pool configuration for the cluster.\n"},"name":{"type":"string","description":"The name of the cluster.\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGkeNamespace:ClusterGkeNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterGkeScanPolicy:ClusterGkeScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterGkeTimeouts:ClusterGkeTimeouts"},"updateWorkerPoolInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (default), worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n","deprecationMessage":"Deprecated"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object","required":["adminKubeConfig","cloudAccountId","cloudConfig","cloudConfigId","clusterGkeId","kubeconfig","locationConfigs","machinePools","name"],"inputProperties":{"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterGkeBackupPolicy:ClusterGkeBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterGkeCloudConfig:ClusterGkeCloudConfig","description":"The GKE environment configuration settings such as project parameters and region parameters that apply to this cluster.\n"},"clusterGkeId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGkeClusterProfile:ClusterGkeClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGkeClusterRbacBinding:ClusterGkeClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterGkeClusterTemplate:ClusterGkeClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the GKE cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGkeHostConfig:ClusterGkeHostConfig"},"description":"The host configuration for the cluster.\n"},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGkeMachinePool:ClusterGkeMachinePool"},"description":"The machine pool configuration for the cluster.\n"},"name":{"type":"string","description":"The name of the cluster.\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGkeNamespace:ClusterGkeNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterGkeScanPolicy:ClusterGkeScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterGkeTimeouts:ClusterGkeTimeouts"},"updateWorkerPoolInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (default), worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n","deprecationMessage":"Deprecated"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"requiredInputs":["cloudAccountId","cloudConfig","machinePools"],"stateInputs":{"description":"Input properties used for looking up and filtering ClusterGke resources.\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterGkeBackupPolicy:ClusterGkeBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterGkeCloudConfig:ClusterGkeCloudConfig","description":"The GKE environment configuration settings such as project parameters and region parameters that apply to this cluster.\n"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterGkeId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGkeClusterProfile:ClusterGkeClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGkeClusterRbacBinding:ClusterGkeClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterGkeClusterTemplate:ClusterGkeClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the GKE cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGkeHostConfig:ClusterGkeHostConfig"},"description":"The host configuration for the cluster.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGkeLocationConfig:ClusterGkeLocationConfig"},"description":"The location of the cluster.\n"},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGkeMachinePool:ClusterGkeMachinePool"},"description":"The machine pool configuration for the cluster.\n"},"name":{"type":"string","description":"The name of the cluster.\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGkeNamespace:ClusterGkeNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"type":"string","description":"Date and time after which to patch cluster `RFC3339: 2006-01-02T15:04:05Z07:00`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterGkeScanPolicy:ClusterGkeScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterGkeTimeouts:ClusterGkeTimeouts"},"updateWorkerPoolInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (default), worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n","deprecationMessage":"Deprecated"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object"}},"spectrocloud:index/clusterGroup:ClusterGroup":{"description":"## Example Usage\n\n### Cluster Group \nAn example of how to provision a Palette Cluster Group.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  cg:\n    type: spectrocloud:ClusterGroup\n    properties:\n      name: cluster-group-demo\n      clusters:\n        - clusterUid: ${hostCluster0.id}\n          host: '*.test.com'\n        - clusterUid: ${hostCluster1.id}\n          host: '*'\n      config:\n        hostEndpointType: LoadBalancer\n        cpuMillicore: 6000\n        memoryInMb: 8192\n        storageInGb: 10\n        oversubscriptionPercent: 120\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the cluster group using the `id` colon separated with `context`. For example:\n\nconsole\n\n```sh\n$ pulumi import spectrocloud:index/clusterGroup:ClusterGroup example example_id:project\n```\n\nRefer to the [Import section](/docs#import) to learn more.\n\n","properties":{"clusterGroupId":{"type":"string","description":"The ID of this resource.\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGroupClusterProfile:ClusterGroupClusterProfile"}},"clusters":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGroupCluster:ClusterGroupCluster"},"description":"A list of clusters to include in the cluster group.\n"},"config":{"$ref":"#/types/spectrocloud:index%2FClusterGroupConfig:ClusterGroupConfig"},"context":{"type":"string","description":"The context of the Cluster group. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"name":{"type":"string","description":"Name of the cluster group\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster group. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterGroupTimeouts:ClusterGroupTimeouts"}},"type":"object","required":["clusterGroupId","config","name"],"inputProperties":{"clusterGroupId":{"type":"string","description":"The ID of this resource.\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGroupClusterProfile:ClusterGroupClusterProfile"}},"clusters":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGroupCluster:ClusterGroupCluster"},"description":"A list of clusters to include in the cluster group.\n"},"config":{"$ref":"#/types/spectrocloud:index%2FClusterGroupConfig:ClusterGroupConfig"},"context":{"type":"string","description":"The context of the Cluster group. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"name":{"type":"string","description":"Name of the cluster group\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster group. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterGroupTimeouts:ClusterGroupTimeouts"}},"requiredInputs":["config"],"stateInputs":{"description":"Input properties used for looking up and filtering ClusterGroup resources.\n","properties":{"clusterGroupId":{"type":"string","description":"The ID of this resource.\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGroupClusterProfile:ClusterGroupClusterProfile"}},"clusters":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterGroupCluster:ClusterGroupCluster"},"description":"A list of clusters to include in the cluster group.\n"},"config":{"$ref":"#/types/spectrocloud:index%2FClusterGroupConfig:ClusterGroupConfig"},"context":{"type":"string","description":"The context of the Cluster group. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"name":{"type":"string","description":"Name of the cluster group\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster group. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterGroupTimeouts:ClusterGroupTimeouts"}},"type":"object"}},"spectrocloud:index/clusterMaas:ClusterMaas":{"description":"Resource for managing MAAS clusters in Spectro Cloud through Palette.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst account = spectrocloud.getCloudaccountMaas({\n    name: clusterCloudAccountName,\n});\nconst profile = spectrocloud.getClusterProfile({\n    name: clusterClusterProfileName,\n});\nconst bsl = spectrocloud.getBackupStorageLocation({\n    name: backupStorageLocationName,\n});\nconst cluster = new spectrocloud.ClusterMaas(\"cluster\", {\n    name: clusterName,\n    tags: [\n        \"dev\",\n        \"department:devops\",\n        \"owner:bob\",\n    ],\n    cloudAccountId: account.then(account =\u003e account.id),\n    cloudConfig: {\n        domain: \"maas.mycompany.com\",\n        enableLxdVm: false,\n        ntpServers: [\n            \"0.pool.ntp.org\",\n            \"1.pool.ntp.org\",\n            \"time.google.com\",\n        ],\n    },\n    clusterProfiles: [{\n        id: profile.then(profile =\u003e profile.id),\n    }],\n    backupPolicy: {\n        schedule: \"0 0 * * SUN\",\n        backupLocationId: bsl.then(bsl =\u003e bsl.id),\n        prefix: \"prod-backup\",\n        expiryInHour: 7200,\n        includeDisks: true,\n        includeClusterResources: true,\n    },\n    scanPolicy: {\n        configurationScanSchedule: \"0 0 * * SUN\",\n        penetrationScanSchedule: \"0 0 * * SUN\",\n        conformanceScanSchedule: \"0 0 1 * *\",\n    },\n    machinePools: [\n        {\n            name: \"control-plane\",\n            count: 1,\n            controlPlane: true,\n            instanceType: {\n                minCpu: 8,\n                minMemoryMb: 16000,\n            },\n            placement: {\n                resourcePool: \"Production-Compute-Pool-1\",\n            },\n        },\n        {\n            name: \"worker-basic\",\n            count: 1,\n            instanceType: {\n                minCpu: 8,\n                minMemoryMb: 32000,\n            },\n            placement: {\n                resourcePool: \"Production-Compute-Pool-2\",\n            },\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\naccount = spectrocloud.get_cloudaccount_maas(name=cluster_cloud_account_name)\nprofile = spectrocloud.get_cluster_profile(name=cluster_cluster_profile_name)\nbsl = spectrocloud.get_backup_storage_location(name=backup_storage_location_name)\ncluster = spectrocloud.ClusterMaas(\"cluster\",\n    name=cluster_name,\n    tags=[\n        \"dev\",\n        \"department:devops\",\n        \"owner:bob\",\n    ],\n    cloud_account_id=account.id,\n    cloud_config={\n        \"domain\": \"maas.mycompany.com\",\n        \"enable_lxd_vm\": False,\n        \"ntp_servers\": [\n            \"0.pool.ntp.org\",\n            \"1.pool.ntp.org\",\n            \"time.google.com\",\n        ],\n    },\n    cluster_profiles=[{\n        \"id\": profile.id,\n    }],\n    backup_policy={\n        \"schedule\": \"0 0 * * SUN\",\n        \"backup_location_id\": bsl.id,\n        \"prefix\": \"prod-backup\",\n        \"expiry_in_hour\": 7200,\n        \"include_disks\": True,\n        \"include_cluster_resources\": True,\n    },\n    scan_policy={\n        \"configuration_scan_schedule\": \"0 0 * * SUN\",\n        \"penetration_scan_schedule\": \"0 0 * * SUN\",\n        \"conformance_scan_schedule\": \"0 0 1 * *\",\n    },\n    machine_pools=[\n        {\n            \"name\": \"control-plane\",\n            \"count\": 1,\n            \"control_plane\": True,\n            \"instance_type\": {\n                \"min_cpu\": 8,\n                \"min_memory_mb\": 16000,\n            },\n            \"placement\": {\n                \"resource_pool\": \"Production-Compute-Pool-1\",\n            },\n        },\n        {\n            \"name\": \"worker-basic\",\n            \"count\": 1,\n            \"instance_type\": {\n                \"min_cpu\": 8,\n                \"min_memory_mb\": 32000,\n            },\n            \"placement\": {\n                \"resource_pool\": \"Production-Compute-Pool-2\",\n            },\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var account = Spectrocloud.GetCloudaccountMaas.Invoke(new()\n    {\n        Name = clusterCloudAccountName,\n    });\n\n    var profile = Spectrocloud.GetClusterProfile.Invoke(new()\n    {\n        Name = clusterClusterProfileName,\n    });\n\n    var bsl = Spectrocloud.GetBackupStorageLocation.Invoke(new()\n    {\n        Name = backupStorageLocationName,\n    });\n\n    var cluster = new Spectrocloud.ClusterMaas(\"cluster\", new()\n    {\n        Name = clusterName,\n        Tags = new[]\n        {\n            \"dev\",\n            \"department:devops\",\n            \"owner:bob\",\n        },\n        CloudAccountId = account.Apply(getCloudaccountMaasResult =\u003e getCloudaccountMaasResult.Id),\n        CloudConfig = new Spectrocloud.Inputs.ClusterMaasCloudConfigArgs\n        {\n            Domain = \"maas.mycompany.com\",\n            EnableLxdVm = false,\n            NtpServers = new[]\n            {\n                \"0.pool.ntp.org\",\n                \"1.pool.ntp.org\",\n                \"time.google.com\",\n            },\n        },\n        ClusterProfiles = new[]\n        {\n            new Spectrocloud.Inputs.ClusterMaasClusterProfileArgs\n            {\n                Id = profile.Apply(getClusterProfileResult =\u003e getClusterProfileResult.Id),\n            },\n        },\n        BackupPolicy = new Spectrocloud.Inputs.ClusterMaasBackupPolicyArgs\n        {\n            Schedule = \"0 0 * * SUN\",\n            BackupLocationId = bsl.Apply(getBackupStorageLocationResult =\u003e getBackupStorageLocationResult.Id),\n            Prefix = \"prod-backup\",\n            ExpiryInHour = 7200,\n            IncludeDisks = true,\n            IncludeClusterResources = true,\n        },\n        ScanPolicy = new Spectrocloud.Inputs.ClusterMaasScanPolicyArgs\n        {\n            ConfigurationScanSchedule = \"0 0 * * SUN\",\n            PenetrationScanSchedule = \"0 0 * * SUN\",\n            ConformanceScanSchedule = \"0 0 1 * *\",\n        },\n        MachinePools = new[]\n        {\n            new Spectrocloud.Inputs.ClusterMaasMachinePoolArgs\n            {\n                Name = \"control-plane\",\n                Count = 1,\n                ControlPlane = true,\n                InstanceType = new Spectrocloud.Inputs.ClusterMaasMachinePoolInstanceTypeArgs\n                {\n                    MinCpu = 8,\n                    MinMemoryMb = 16000,\n                },\n                Placement = new Spectrocloud.Inputs.ClusterMaasMachinePoolPlacementArgs\n                {\n                    ResourcePool = \"Production-Compute-Pool-1\",\n                },\n            },\n            new Spectrocloud.Inputs.ClusterMaasMachinePoolArgs\n            {\n                Name = \"worker-basic\",\n                Count = 1,\n                InstanceType = new Spectrocloud.Inputs.ClusterMaasMachinePoolInstanceTypeArgs\n                {\n                    MinCpu = 8,\n                    MinMemoryMb = 32000,\n                },\n                Placement = new Spectrocloud.Inputs.ClusterMaasMachinePoolPlacementArgs\n                {\n                    ResourcePool = \"Production-Compute-Pool-2\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taccount, err := spectrocloud.LookupCloudaccountMaas(ctx, \u0026spectrocloud.LookupCloudaccountMaasArgs{\n\t\t\tName: pulumi.StringRef(clusterCloudAccountName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprofile, err := spectrocloud.LookupClusterProfile(ctx, \u0026spectrocloud.LookupClusterProfileArgs{\n\t\t\tName: pulumi.StringRef(clusterClusterProfileName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbsl, err := spectrocloud.LookupBackupStorageLocation(ctx, \u0026spectrocloud.LookupBackupStorageLocationArgs{\n\t\t\tName: pulumi.StringRef(backupStorageLocationName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.NewClusterMaas(ctx, \"cluster\", \u0026spectrocloud.ClusterMaasArgs{\n\t\t\tName: pulumi.Any(clusterName),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"dev\"),\n\t\t\t\tpulumi.String(\"department:devops\"),\n\t\t\t\tpulumi.String(\"owner:bob\"),\n\t\t\t},\n\t\t\tCloudAccountId: pulumi.String(account.Id),\n\t\t\tCloudConfig: \u0026spectrocloud.ClusterMaasCloudConfigArgs{\n\t\t\t\tDomain:      pulumi.String(\"maas.mycompany.com\"),\n\t\t\t\tEnableLxdVm: pulumi.Bool(false),\n\t\t\t\tNtpServers: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"0.pool.ntp.org\"),\n\t\t\t\t\tpulumi.String(\"1.pool.ntp.org\"),\n\t\t\t\t\tpulumi.String(\"time.google.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClusterProfiles: spectrocloud.ClusterMaasClusterProfileArray{\n\t\t\t\t\u0026spectrocloud.ClusterMaasClusterProfileArgs{\n\t\t\t\t\tId: pulumi.String(profile.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackupPolicy: \u0026spectrocloud.ClusterMaasBackupPolicyArgs{\n\t\t\t\tSchedule:                pulumi.String(\"0 0 * * SUN\"),\n\t\t\t\tBackupLocationId:        pulumi.String(bsl.Id),\n\t\t\t\tPrefix:                  pulumi.String(\"prod-backup\"),\n\t\t\t\tExpiryInHour:            pulumi.Float64(7200),\n\t\t\t\tIncludeDisks:            pulumi.Bool(true),\n\t\t\t\tIncludeClusterResources: pulumi.Bool(true),\n\t\t\t},\n\t\t\tScanPolicy: \u0026spectrocloud.ClusterMaasScanPolicyArgs{\n\t\t\t\tConfigurationScanSchedule: pulumi.String(\"0 0 * * SUN\"),\n\t\t\t\tPenetrationScanSchedule:   pulumi.String(\"0 0 * * SUN\"),\n\t\t\t\tConformanceScanSchedule:   pulumi.String(\"0 0 1 * *\"),\n\t\t\t},\n\t\t\tMachinePools: spectrocloud.ClusterMaasMachinePoolArray{\n\t\t\t\t\u0026spectrocloud.ClusterMaasMachinePoolArgs{\n\t\t\t\t\tName:         pulumi.String(\"control-plane\"),\n\t\t\t\t\tCount:        pulumi.Float64(1),\n\t\t\t\t\tControlPlane: pulumi.Bool(true),\n\t\t\t\t\tInstanceType: \u0026spectrocloud.ClusterMaasMachinePoolInstanceTypeArgs{\n\t\t\t\t\t\tMinCpu:      pulumi.Float64(8),\n\t\t\t\t\t\tMinMemoryMb: pulumi.Float64(16000),\n\t\t\t\t\t},\n\t\t\t\t\tPlacement: \u0026spectrocloud.ClusterMaasMachinePoolPlacementArgs{\n\t\t\t\t\t\tResourcePool: pulumi.String(\"Production-Compute-Pool-1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026spectrocloud.ClusterMaasMachinePoolArgs{\n\t\t\t\t\tName:  pulumi.String(\"worker-basic\"),\n\t\t\t\t\tCount: pulumi.Float64(1),\n\t\t\t\t\tInstanceType: \u0026spectrocloud.ClusterMaasMachinePoolInstanceTypeArgs{\n\t\t\t\t\t\tMinCpu:      pulumi.Float64(8),\n\t\t\t\t\t\tMinMemoryMb: pulumi.Float64(32000),\n\t\t\t\t\t},\n\t\t\t\t\tPlacement: \u0026spectrocloud.ClusterMaasMachinePoolPlacementArgs{\n\t\t\t\t\t\tResourcePool: pulumi.String(\"Production-Compute-Pool-2\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetCloudaccountMaasArgs;\nimport com.pulumi.spectrocloud.inputs.GetClusterProfileArgs;\nimport com.pulumi.spectrocloud.inputs.GetBackupStorageLocationArgs;\nimport com.pulumi.spectrocloud.ClusterMaas;\nimport com.pulumi.spectrocloud.ClusterMaasArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterMaasCloudConfigArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterMaasClusterProfileArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterMaasBackupPolicyArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterMaasScanPolicyArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterMaasMachinePoolArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterMaasMachinePoolInstanceTypeArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterMaasMachinePoolPlacementArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var account = SpectrocloudFunctions.getCloudaccountMaas(GetCloudaccountMaasArgs.builder()\n            .name(clusterCloudAccountName)\n            .build());\n\n        final var profile = SpectrocloudFunctions.getClusterProfile(GetClusterProfileArgs.builder()\n            .name(clusterClusterProfileName)\n            .build());\n\n        final var bsl = SpectrocloudFunctions.getBackupStorageLocation(GetBackupStorageLocationArgs.builder()\n            .name(backupStorageLocationName)\n            .build());\n\n        var cluster = new ClusterMaas(\"cluster\", ClusterMaasArgs.builder()\n            .name(clusterName)\n            .tags(            \n                \"dev\",\n                \"department:devops\",\n                \"owner:bob\")\n            .cloudAccountId(account.id())\n            .cloudConfig(ClusterMaasCloudConfigArgs.builder()\n                .domain(\"maas.mycompany.com\")\n                .enableLxdVm(false)\n                .ntpServers(                \n                    \"0.pool.ntp.org\",\n                    \"1.pool.ntp.org\",\n                    \"time.google.com\")\n                .build())\n            .clusterProfiles(ClusterMaasClusterProfileArgs.builder()\n                .id(profile.id())\n                .build())\n            .backupPolicy(ClusterMaasBackupPolicyArgs.builder()\n                .schedule(\"0 0 * * SUN\")\n                .backupLocationId(bsl.id())\n                .prefix(\"prod-backup\")\n                .expiryInHour(7200.0)\n                .includeDisks(true)\n                .includeClusterResources(true)\n                .build())\n            .scanPolicy(ClusterMaasScanPolicyArgs.builder()\n                .configurationScanSchedule(\"0 0 * * SUN\")\n                .penetrationScanSchedule(\"0 0 * * SUN\")\n                .conformanceScanSchedule(\"0 0 1 * *\")\n                .build())\n            .machinePools(            \n                ClusterMaasMachinePoolArgs.builder()\n                    .name(\"control-plane\")\n                    .count(1.0)\n                    .controlPlane(true)\n                    .instanceType(ClusterMaasMachinePoolInstanceTypeArgs.builder()\n                        .minCpu(8.0)\n                        .minMemoryMb(16000.0)\n                        .build())\n                    .placement(ClusterMaasMachinePoolPlacementArgs.builder()\n                        .resourcePool(\"Production-Compute-Pool-1\")\n                        .build())\n                    .build(),\n                ClusterMaasMachinePoolArgs.builder()\n                    .name(\"worker-basic\")\n                    .count(1.0)\n                    .instanceType(ClusterMaasMachinePoolInstanceTypeArgs.builder()\n                        .minCpu(8.0)\n                        .minMemoryMb(32000.0)\n                        .build())\n                    .placement(ClusterMaasMachinePoolPlacementArgs.builder()\n                        .resourcePool(\"Production-Compute-Pool-2\")\n                        .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  cluster:\n    type: spectrocloud:ClusterMaas\n    properties:\n      name: ${clusterName}\n      tags:\n        - dev\n        - department:devops\n        - owner:bob\n      cloudAccountId: ${account.id}\n      cloudConfig:\n        domain: maas.mycompany.com\n        enableLxdVm: false\n        ntpServers:\n          - 0.pool.ntp.org\n          - 1.pool.ntp.org\n          - time.google.com\n      clusterProfiles:\n        - id: ${profile.id}\n      backupPolicy:\n        schedule: 0 0 * * SUN\n        backupLocationId: ${bsl.id}\n        prefix: prod-backup\n        expiryInHour: 7200\n        includeDisks: true\n        includeClusterResources: true\n      scanPolicy:\n        configurationScanSchedule: 0 0 * * SUN\n        penetrationScanSchedule: 0 0 * * SUN\n        conformanceScanSchedule: 0 0 1 * *\n      machinePools:\n        - name: control-plane\n          count: 1\n          controlPlane: true\n          instanceType:\n            minCpu: 8\n            minMemoryMb: 16000\n          placement:\n            resourcePool: Production-Compute-Pool-1\n        - name: worker-basic\n          count: 1\n          instanceType:\n            minCpu: 8\n            minMemoryMb: 32000\n          placement:\n            resourcePool: Production-Compute-Pool-2\nvariables:\n  account:\n    fn::invoke:\n      function: spectrocloud:getCloudaccountMaas\n      arguments:\n        name: ${clusterCloudAccountName}\n  profile:\n    fn::invoke:\n      function: spectrocloud:getClusterProfile\n      arguments:\n        name: ${clusterClusterProfileName}\n  bsl:\n    fn::invoke:\n      function: spectrocloud:getBackupStorageLocation\n      arguments:\n        name: ${backupStorageLocationName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the cluster using the `cluster_name` or `id` colon separated with `context`. For example:\n\nconsole\n\n```sh\n$ pulumi import spectrocloud:index/clusterMaas:ClusterMaas example example_id:project\n```\n\nconsole\n\n```sh\n$ pulumi import spectrocloud:index/clusterMaas:ClusterMaas example cluster_name:project\n```\n\nRefer to the [Import section](/docs#import) to learn more.\n\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterMaasBackupPolicy:ClusterMaasBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string","description":"ID of the Maas cloud account used for the cluster. This cloud account must be of type \u003cspan pulumi-lang-nodejs=\"`maas`\" pulumi-lang-dotnet=\"`Maas`\" pulumi-lang-go=\"`maas`\" pulumi-lang-python=\"`maas`\" pulumi-lang-yaml=\"`maas`\" pulumi-lang-java=\"`maas`\"\u003e`maas`\u003c/span\u003e.\n"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterMaasCloudConfig:ClusterMaasCloudConfig"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`maas`\" pulumi-lang-dotnet=\"`Maas`\" pulumi-lang-go=\"`maas`\" pulumi-lang-python=\"`maas`\" pulumi-lang-yaml=\"`maas`\" pulumi-lang-java=\"`maas`\"\u003e`maas`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterMaasId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterMaasClusterProfile:ClusterMaasClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterMaasClusterRbacBinding:ClusterMaasClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterMaasClusterTemplate:ClusterMaasClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"clusterType":{"type":"string","description":"The cluster type. Valid values are `PureManage` and `PureAttach`. This field can only be set during cluster creation and cannot be modified after the cluster is created. If not specified, the cluster will use the default type determined by the system.\n"},"context":{"type":"string","description":"The context of the MAAS configuration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterMaasHostConfig:ClusterMaasHostConfig"},"description":"The host configuration for the cluster.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterMaasLocationConfig:ClusterMaasLocationConfig"}},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterMaasMachinePool:ClusterMaasMachinePool"}},"name":{"type":"string","description":"The name of the cluster.\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterMaasNamespace:ClusterMaasNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"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`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterMaasScanPolicy:ClusterMaasScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterMaasTimeouts:ClusterMaasTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object","required":["adminKubeConfig","cloudConfig","cloudConfigId","clusterMaasId","clusterType","kubeconfig","machinePools","name"],"inputProperties":{"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterMaasBackupPolicy:ClusterMaasBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string","description":"ID of the Maas cloud account used for the cluster. This cloud account must be of type \u003cspan pulumi-lang-nodejs=\"`maas`\" pulumi-lang-dotnet=\"`Maas`\" pulumi-lang-go=\"`maas`\" pulumi-lang-python=\"`maas`\" pulumi-lang-yaml=\"`maas`\" pulumi-lang-java=\"`maas`\"\u003e`maas`\u003c/span\u003e.\n"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterMaasCloudConfig:ClusterMaasCloudConfig"},"clusterMaasId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterMaasClusterProfile:ClusterMaasClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterMaasClusterRbacBinding:ClusterMaasClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterMaasClusterTemplate:ClusterMaasClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"clusterType":{"type":"string","description":"The cluster type. Valid values are `PureManage` and `PureAttach`. This field can only be set during cluster creation and cannot be modified after the cluster is created. If not specified, the cluster will use the default type determined by the system.\n"},"context":{"type":"string","description":"The context of the MAAS configuration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterMaasHostConfig:ClusterMaasHostConfig"},"description":"The host configuration for the cluster.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterMaasLocationConfig:ClusterMaasLocationConfig"}},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterMaasMachinePool:ClusterMaasMachinePool"}},"name":{"type":"string","description":"The name of the cluster.\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterMaasNamespace:ClusterMaasNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"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`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterMaasScanPolicy:ClusterMaasScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterMaasTimeouts:ClusterMaasTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"requiredInputs":["cloudConfig","machinePools"],"stateInputs":{"description":"Input properties used for looking up and filtering ClusterMaas resources.\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterMaasBackupPolicy:ClusterMaasBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string","description":"ID of the Maas cloud account used for the cluster. This cloud account must be of type \u003cspan pulumi-lang-nodejs=\"`maas`\" pulumi-lang-dotnet=\"`Maas`\" pulumi-lang-go=\"`maas`\" pulumi-lang-python=\"`maas`\" pulumi-lang-yaml=\"`maas`\" pulumi-lang-java=\"`maas`\"\u003e`maas`\u003c/span\u003e.\n"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterMaasCloudConfig:ClusterMaasCloudConfig"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`maas`\" pulumi-lang-dotnet=\"`Maas`\" pulumi-lang-go=\"`maas`\" pulumi-lang-python=\"`maas`\" pulumi-lang-yaml=\"`maas`\" pulumi-lang-java=\"`maas`\"\u003e`maas`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterMaasId":{"type":"string","description":"The ID of this resource.\n"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterMaasClusterProfile:ClusterMaasClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterMaasClusterRbacBinding:ClusterMaasClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterMaasClusterTemplate:ClusterMaasClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"clusterType":{"type":"string","description":"The cluster type. Valid values are `PureManage` and `PureAttach`. This field can only be set during cluster creation and cannot be modified after the cluster is created. If not specified, the cluster will use the default type determined by the system.\n"},"context":{"type":"string","description":"The context of the MAAS configuration. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterMaasHostConfig:ClusterMaasHostConfig"},"description":"The host configuration for the cluster.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterMaasLocationConfig:ClusterMaasLocationConfig"}},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterMaasMachinePool:ClusterMaasMachinePool"}},"name":{"type":"string","description":"The name of the cluster.\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterMaasNamespace:ClusterMaasNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"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`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterMaasScanPolicy:ClusterMaasScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterMaasTimeouts:ClusterMaasTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object"}},"spectrocloud:index/clusterOpenstack:ClusterOpenstack":{"description":"Resource for managing Openstack clusters in Spectro Cloud through Palette.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst account = spectrocloud.getCloudaccountOpenstack({\n    name: clusterCloudAccountName,\n});\nconst profile = spectrocloud.getClusterProfile({\n    name: clusterClusterProfileName,\n});\nconst bsl = spectrocloud.getBackupStorageLocation({\n    name: backupStorageLocationName,\n});\nconst cluster = new spectrocloud.ClusterOpenstack(\"cluster\", {\n    name: \"openstack-piyush-tf-1\",\n    clusterProfiles: [{\n        id: profile.then(profile =\u003e profile.id),\n    }],\n    cloudAccountId: account.then(account =\u003e account.id),\n    tags: [\"dev\"],\n    cloudConfig: {\n        domain: \"Default\",\n        project: \"dev\",\n        region: \"RegionOne\",\n        sshKey: \"Spectro2021\",\n        dnsServers: [\n            \"10.10.128.8\",\n            \"8.8.8.8\",\n        ],\n        subnetCidr: \"192.168.151.0/24\",\n    },\n    machinePools: [\n        {\n            controlPlane: true,\n            controlPlaneAsWorker: true,\n            name: \"cp-pool\",\n            count: 1,\n            instanceType: \"spectro-xlarge\",\n            azs: [\"zone1\"],\n        },\n        {\n            name: \"worker-basic\",\n            count: 2,\n            instanceType: \"spectro-large\",\n            azs: [\"zone1\"],\n        },\n    ],\n    backupPolicy: {\n        schedule: \"0 0 * * SUN\",\n        backupLocationId: bsl.then(bsl =\u003e bsl.id),\n        prefix: \"prod-backup\",\n        expiryInHour: 7200,\n        includeDisks: true,\n        includeClusterResources: true,\n    },\n    scanPolicy: {\n        configurationScanSchedule: \"0 0 * * SUN\",\n        penetrationScanSchedule: \"0 0 * * SUN\",\n        conformanceScanSchedule: \"0 0 1 * *\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\naccount = spectrocloud.get_cloudaccount_openstack(name=cluster_cloud_account_name)\nprofile = spectrocloud.get_cluster_profile(name=cluster_cluster_profile_name)\nbsl = spectrocloud.get_backup_storage_location(name=backup_storage_location_name)\ncluster = spectrocloud.ClusterOpenstack(\"cluster\",\n    name=\"openstack-piyush-tf-1\",\n    cluster_profiles=[{\n        \"id\": profile.id,\n    }],\n    cloud_account_id=account.id,\n    tags=[\"dev\"],\n    cloud_config={\n        \"domain\": \"Default\",\n        \"project\": \"dev\",\n        \"region\": \"RegionOne\",\n        \"ssh_key\": \"Spectro2021\",\n        \"dns_servers\": [\n            \"10.10.128.8\",\n            \"8.8.8.8\",\n        ],\n        \"subnet_cidr\": \"192.168.151.0/24\",\n    },\n    machine_pools=[\n        {\n            \"control_plane\": True,\n            \"control_plane_as_worker\": True,\n            \"name\": \"cp-pool\",\n            \"count\": 1,\n            \"instance_type\": \"spectro-xlarge\",\n            \"azs\": [\"zone1\"],\n        },\n        {\n            \"name\": \"worker-basic\",\n            \"count\": 2,\n            \"instance_type\": \"spectro-large\",\n            \"azs\": [\"zone1\"],\n        },\n    ],\n    backup_policy={\n        \"schedule\": \"0 0 * * SUN\",\n        \"backup_location_id\": bsl.id,\n        \"prefix\": \"prod-backup\",\n        \"expiry_in_hour\": 7200,\n        \"include_disks\": True,\n        \"include_cluster_resources\": True,\n    },\n    scan_policy={\n        \"configuration_scan_schedule\": \"0 0 * * SUN\",\n        \"penetration_scan_schedule\": \"0 0 * * SUN\",\n        \"conformance_scan_schedule\": \"0 0 1 * *\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var account = Spectrocloud.GetCloudaccountOpenstack.Invoke(new()\n    {\n        Name = clusterCloudAccountName,\n    });\n\n    var profile = Spectrocloud.GetClusterProfile.Invoke(new()\n    {\n        Name = clusterClusterProfileName,\n    });\n\n    var bsl = Spectrocloud.GetBackupStorageLocation.Invoke(new()\n    {\n        Name = backupStorageLocationName,\n    });\n\n    var cluster = new Spectrocloud.ClusterOpenstack(\"cluster\", new()\n    {\n        Name = \"openstack-piyush-tf-1\",\n        ClusterProfiles = new[]\n        {\n            new Spectrocloud.Inputs.ClusterOpenstackClusterProfileArgs\n            {\n                Id = profile.Apply(getClusterProfileResult =\u003e getClusterProfileResult.Id),\n            },\n        },\n        CloudAccountId = account.Apply(getCloudaccountOpenstackResult =\u003e getCloudaccountOpenstackResult.Id),\n        Tags = new[]\n        {\n            \"dev\",\n        },\n        CloudConfig = new Spectrocloud.Inputs.ClusterOpenstackCloudConfigArgs\n        {\n            Domain = \"Default\",\n            Project = \"dev\",\n            Region = \"RegionOne\",\n            SshKey = \"Spectro2021\",\n            DnsServers = new[]\n            {\n                \"10.10.128.8\",\n                \"8.8.8.8\",\n            },\n            SubnetCidr = \"192.168.151.0/24\",\n        },\n        MachinePools = new[]\n        {\n            new Spectrocloud.Inputs.ClusterOpenstackMachinePoolArgs\n            {\n                ControlPlane = true,\n                ControlPlaneAsWorker = true,\n                Name = \"cp-pool\",\n                Count = 1,\n                InstanceType = \"spectro-xlarge\",\n                Azs = new[]\n                {\n                    \"zone1\",\n                },\n            },\n            new Spectrocloud.Inputs.ClusterOpenstackMachinePoolArgs\n            {\n                Name = \"worker-basic\",\n                Count = 2,\n                InstanceType = \"spectro-large\",\n                Azs = new[]\n                {\n                    \"zone1\",\n                },\n            },\n        },\n        BackupPolicy = new Spectrocloud.Inputs.ClusterOpenstackBackupPolicyArgs\n        {\n            Schedule = \"0 0 * * SUN\",\n            BackupLocationId = bsl.Apply(getBackupStorageLocationResult =\u003e getBackupStorageLocationResult.Id),\n            Prefix = \"prod-backup\",\n            ExpiryInHour = 7200,\n            IncludeDisks = true,\n            IncludeClusterResources = true,\n        },\n        ScanPolicy = new Spectrocloud.Inputs.ClusterOpenstackScanPolicyArgs\n        {\n            ConfigurationScanSchedule = \"0 0 * * SUN\",\n            PenetrationScanSchedule = \"0 0 * * SUN\",\n            ConformanceScanSchedule = \"0 0 1 * *\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taccount, err := spectrocloud.LookupCloudaccountOpenstack(ctx, \u0026spectrocloud.LookupCloudaccountOpenstackArgs{\n\t\t\tName: pulumi.StringRef(clusterCloudAccountName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tprofile, err := spectrocloud.LookupClusterProfile(ctx, \u0026spectrocloud.LookupClusterProfileArgs{\n\t\t\tName: pulumi.StringRef(clusterClusterProfileName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbsl, err := spectrocloud.LookupBackupStorageLocation(ctx, \u0026spectrocloud.LookupBackupStorageLocationArgs{\n\t\t\tName: pulumi.StringRef(backupStorageLocationName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.NewClusterOpenstack(ctx, \"cluster\", \u0026spectrocloud.ClusterOpenstackArgs{\n\t\t\tName: pulumi.String(\"openstack-piyush-tf-1\"),\n\t\t\tClusterProfiles: spectrocloud.ClusterOpenstackClusterProfileArray{\n\t\t\t\t\u0026spectrocloud.ClusterOpenstackClusterProfileArgs{\n\t\t\t\t\tId: pulumi.String(profile.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCloudAccountId: pulumi.String(account.Id),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"dev\"),\n\t\t\t},\n\t\t\tCloudConfig: \u0026spectrocloud.ClusterOpenstackCloudConfigArgs{\n\t\t\t\tDomain:  pulumi.String(\"Default\"),\n\t\t\t\tProject: pulumi.String(\"dev\"),\n\t\t\t\tRegion:  pulumi.String(\"RegionOne\"),\n\t\t\t\tSshKey:  pulumi.String(\"Spectro2021\"),\n\t\t\t\tDnsServers: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"10.10.128.8\"),\n\t\t\t\t\tpulumi.String(\"8.8.8.8\"),\n\t\t\t\t},\n\t\t\t\tSubnetCidr: pulumi.String(\"192.168.151.0/24\"),\n\t\t\t},\n\t\t\tMachinePools: spectrocloud.ClusterOpenstackMachinePoolArray{\n\t\t\t\t\u0026spectrocloud.ClusterOpenstackMachinePoolArgs{\n\t\t\t\t\tControlPlane:         pulumi.Bool(true),\n\t\t\t\t\tControlPlaneAsWorker: pulumi.Bool(true),\n\t\t\t\t\tName:                 pulumi.String(\"cp-pool\"),\n\t\t\t\t\tCount:                pulumi.Float64(1),\n\t\t\t\t\tInstanceType:         pulumi.String(\"spectro-xlarge\"),\n\t\t\t\t\tAzs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"zone1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026spectrocloud.ClusterOpenstackMachinePoolArgs{\n\t\t\t\t\tName:         pulumi.String(\"worker-basic\"),\n\t\t\t\t\tCount:        pulumi.Float64(2),\n\t\t\t\t\tInstanceType: pulumi.String(\"spectro-large\"),\n\t\t\t\t\tAzs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"zone1\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackupPolicy: \u0026spectrocloud.ClusterOpenstackBackupPolicyArgs{\n\t\t\t\tSchedule:                pulumi.String(\"0 0 * * SUN\"),\n\t\t\t\tBackupLocationId:        pulumi.String(bsl.Id),\n\t\t\t\tPrefix:                  pulumi.String(\"prod-backup\"),\n\t\t\t\tExpiryInHour:            pulumi.Float64(7200),\n\t\t\t\tIncludeDisks:            pulumi.Bool(true),\n\t\t\t\tIncludeClusterResources: pulumi.Bool(true),\n\t\t\t},\n\t\t\tScanPolicy: \u0026spectrocloud.ClusterOpenstackScanPolicyArgs{\n\t\t\t\tConfigurationScanSchedule: pulumi.String(\"0 0 * * SUN\"),\n\t\t\t\tPenetrationScanSchedule:   pulumi.String(\"0 0 * * SUN\"),\n\t\t\t\tConformanceScanSchedule:   pulumi.String(\"0 0 1 * *\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetCloudaccountOpenstackArgs;\nimport com.pulumi.spectrocloud.inputs.GetClusterProfileArgs;\nimport com.pulumi.spectrocloud.inputs.GetBackupStorageLocationArgs;\nimport com.pulumi.spectrocloud.ClusterOpenstack;\nimport com.pulumi.spectrocloud.ClusterOpenstackArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterOpenstackClusterProfileArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterOpenstackCloudConfigArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterOpenstackMachinePoolArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterOpenstackBackupPolicyArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterOpenstackScanPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var account = SpectrocloudFunctions.getCloudaccountOpenstack(GetCloudaccountOpenstackArgs.builder()\n            .name(clusterCloudAccountName)\n            .build());\n\n        final var profile = SpectrocloudFunctions.getClusterProfile(GetClusterProfileArgs.builder()\n            .name(clusterClusterProfileName)\n            .build());\n\n        final var bsl = SpectrocloudFunctions.getBackupStorageLocation(GetBackupStorageLocationArgs.builder()\n            .name(backupStorageLocationName)\n            .build());\n\n        var cluster = new ClusterOpenstack(\"cluster\", ClusterOpenstackArgs.builder()\n            .name(\"openstack-piyush-tf-1\")\n            .clusterProfiles(ClusterOpenstackClusterProfileArgs.builder()\n                .id(profile.id())\n                .build())\n            .cloudAccountId(account.id())\n            .tags(\"dev\")\n            .cloudConfig(ClusterOpenstackCloudConfigArgs.builder()\n                .domain(\"Default\")\n                .project(\"dev\")\n                .region(\"RegionOne\")\n                .sshKey(\"Spectro2021\")\n                .dnsServers(                \n                    \"10.10.128.8\",\n                    \"8.8.8.8\")\n                .subnetCidr(\"192.168.151.0/24\")\n                .build())\n            .machinePools(            \n                ClusterOpenstackMachinePoolArgs.builder()\n                    .controlPlane(true)\n                    .controlPlaneAsWorker(true)\n                    .name(\"cp-pool\")\n                    .count(1.0)\n                    .instanceType(\"spectro-xlarge\")\n                    .azs(\"zone1\")\n                    .build(),\n                ClusterOpenstackMachinePoolArgs.builder()\n                    .name(\"worker-basic\")\n                    .count(2.0)\n                    .instanceType(\"spectro-large\")\n                    .azs(\"zone1\")\n                    .build())\n            .backupPolicy(ClusterOpenstackBackupPolicyArgs.builder()\n                .schedule(\"0 0 * * SUN\")\n                .backupLocationId(bsl.id())\n                .prefix(\"prod-backup\")\n                .expiryInHour(7200.0)\n                .includeDisks(true)\n                .includeClusterResources(true)\n                .build())\n            .scanPolicy(ClusterOpenstackScanPolicyArgs.builder()\n                .configurationScanSchedule(\"0 0 * * SUN\")\n                .penetrationScanSchedule(\"0 0 * * SUN\")\n                .conformanceScanSchedule(\"0 0 1 * *\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  cluster:\n    type: spectrocloud:ClusterOpenstack\n    properties:\n      name: openstack-piyush-tf-1\n      clusterProfiles:\n        - id: ${profile.id}\n      cloudAccountId: ${account.id}\n      tags:\n        - dev\n      cloudConfig:\n        domain: Default\n        project: dev\n        region: RegionOne\n        sshKey: Spectro2021\n        dnsServers:\n          - 10.10.128.8\n          - 8.8.8.8\n        subnetCidr: 192.168.151.0/24\n      machinePools:\n        - controlPlane: true\n          controlPlaneAsWorker: true\n          name: cp-pool\n          count: 1\n          instanceType: spectro-xlarge\n          azs:\n            - zone1\n        - name: worker-basic\n          count: 2\n          instanceType: spectro-large\n          azs:\n            - zone1\n      backupPolicy:\n        schedule: 0 0 * * SUN\n        backupLocationId: ${bsl.id}\n        prefix: prod-backup\n        expiryInHour: 7200\n        includeDisks: true\n        includeClusterResources: true\n      scanPolicy:\n        configurationScanSchedule: 0 0 * * SUN\n        penetrationScanSchedule: 0 0 * * SUN\n        conformanceScanSchedule: 0 0 1 * *\nvariables:\n  account:\n    fn::invoke:\n      function: spectrocloud:getCloudaccountOpenstack\n      arguments:\n        name: ${clusterCloudAccountName}\n  profile:\n    fn::invoke:\n      function: spectrocloud:getClusterProfile\n      arguments:\n        name: ${clusterClusterProfileName}\n  bsl:\n    fn::invoke:\n      function: spectrocloud:getBackupStorageLocation\n      arguments:\n        name: ${backupStorageLocationName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackBackupPolicy:ClusterOpenstackBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackCloudConfig:ClusterOpenstackCloudConfig"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterOpenstackId":{"type":"string","description":"The ID of this resource.\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackClusterProfile:ClusterOpenstackClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackClusterRbacBinding:ClusterOpenstackClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackClusterTemplate:ClusterOpenstackClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the OpenStack cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackHostConfig:ClusterOpenstackHostConfig"},"description":"The host configuration for the cluster.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackLocationConfig:ClusterOpenstackLocationConfig"}},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackMachinePool:ClusterOpenstackMachinePool"}},"name":{"type":"string"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackNamespace:ClusterOpenstackNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"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`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackScanPolicy:ClusterOpenstackScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackTimeouts:ClusterOpenstackTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object","required":["adminKubeConfig","cloudAccountId","cloudConfig","cloudConfigId","clusterOpenstackId","kubeconfig","machinePools","name"],"inputProperties":{"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackBackupPolicy:ClusterOpenstackBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackCloudConfig:ClusterOpenstackCloudConfig"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterOpenstackId":{"type":"string","description":"The ID of this resource.\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackClusterProfile:ClusterOpenstackClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackClusterRbacBinding:ClusterOpenstackClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackClusterTemplate:ClusterOpenstackClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the OpenStack cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackHostConfig:ClusterOpenstackHostConfig"},"description":"The host configuration for the cluster.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackLocationConfig:ClusterOpenstackLocationConfig"}},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackMachinePool:ClusterOpenstackMachinePool"}},"name":{"type":"string"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackNamespace:ClusterOpenstackNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"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`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackScanPolicy:ClusterOpenstackScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackTimeouts:ClusterOpenstackTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"requiredInputs":["cloudAccountId","cloudConfig","machinePools"],"stateInputs":{"description":"Input properties used for looking up and filtering ClusterOpenstack resources.\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackBackupPolicy:ClusterOpenstackBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackCloudConfig:ClusterOpenstackCloudConfig"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterOpenstackId":{"type":"string","description":"The ID of this resource.\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackClusterProfile:ClusterOpenstackClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackClusterRbacBinding:ClusterOpenstackClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackClusterTemplate:ClusterOpenstackClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"context":{"type":"string","description":"The context of the OpenStack cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackHostConfig:ClusterOpenstackHostConfig"},"description":"The host configuration for the cluster.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackLocationConfig:ClusterOpenstackLocationConfig"}},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackMachinePool:ClusterOpenstackMachinePool"}},"name":{"type":"string"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackNamespace:ClusterOpenstackNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"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`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackScanPolicy:ClusterOpenstackScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterOpenstackTimeouts:ClusterOpenstackTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object"}},"spectrocloud:index/clusterProfile:ClusterProfile":{"description":"\n\n## Import\n\nYou can also use the Terraform CLI and the `pulumi import`, command to import the cluster using by referencing the resource `id`. For example:\n\n```sh\n$ pulumi import spectrocloud:index/clusterProfile:ClusterProfile example example_id:project\n```\nRefer to the [Import section](/docs#import) to learn more.\n\n","properties":{"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-native, generic, and gke` or any custom cloud provider registered in Palette, e.g., \u003cspan pulumi-lang-nodejs=\"`nutanix`\" pulumi-lang-dotnet=\"`Nutanix`\" pulumi-lang-go=\"`nutanix`\" pulumi-lang-python=\"`nutanix`\" pulumi-lang-yaml=\"`nutanix`\" pulumi-lang-java=\"`nutanix`\"\u003e`nutanix`\u003c/span\u003e.If the value is set to \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e, then the type must be set to `add-on`. Otherwise, the cluster profile may be incompatible with other providers. Default value is \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e.\n"},"clusterProfileId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the cluster profile. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string"},"name":{"type":"string"},"packs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterProfilePack:ClusterProfilePack"},"description":"For packs of type \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, at least one pack must be specified.\n"},"profileVariables":{"$ref":"#/types/spectrocloud:index%2FClusterProfileProfileVariables:ClusterProfileProfileVariables","description":"List of variables for the cluster profile.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterProfileTimeouts:ClusterProfileTimeouts"},"type":{"type":"string","description":"Specify the cluster profile type to use. Allowed values are \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`infra`\" pulumi-lang-dotnet=\"`Infra`\" pulumi-lang-go=\"`infra`\" pulumi-lang-python=\"`infra`\" pulumi-lang-yaml=\"`infra`\" pulumi-lang-java=\"`infra`\"\u003e`infra`\u003c/span\u003e, `add-on`, and \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e. 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 \u003cspan pulumi-lang-nodejs=\"`infra`\" pulumi-lang-dotnet=\"`Infra`\" pulumi-lang-go=\"`infra`\" pulumi-lang-python=\"`infra`\" pulumi-lang-yaml=\"`infra`\" pulumi-lang-java=\"`infra`\"\u003e`infra`\u003c/span\u003e; for an Add-on cluster profile, use the value `add-on`.System cluster profiles can be specified using the value \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e. To learn more about cluster profiles, refer to the [Cluster Profile](https://docs.spectrocloud.com/cluster-profiles) documentation. Default value is `add-on`.\n"},"version":{"type":"string"}},"type":"object","required":["clusterProfileId","name"],"inputProperties":{"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-native, generic, and gke` or any custom cloud provider registered in Palette, e.g., \u003cspan pulumi-lang-nodejs=\"`nutanix`\" pulumi-lang-dotnet=\"`Nutanix`\" pulumi-lang-go=\"`nutanix`\" pulumi-lang-python=\"`nutanix`\" pulumi-lang-yaml=\"`nutanix`\" pulumi-lang-java=\"`nutanix`\"\u003e`nutanix`\u003c/span\u003e.If the value is set to \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e, then the type must be set to `add-on`. Otherwise, the cluster profile may be incompatible with other providers. Default value is \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e.\n"},"clusterProfileId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the cluster profile. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string"},"name":{"type":"string"},"packs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterProfilePack:ClusterProfilePack"},"description":"For packs of type \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, at least one pack must be specified.\n"},"profileVariables":{"$ref":"#/types/spectrocloud:index%2FClusterProfileProfileVariables:ClusterProfileProfileVariables","description":"List of variables for the cluster profile.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterProfileTimeouts:ClusterProfileTimeouts"},"type":{"type":"string","description":"Specify the cluster profile type to use. Allowed values are \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`infra`\" pulumi-lang-dotnet=\"`Infra`\" pulumi-lang-go=\"`infra`\" pulumi-lang-python=\"`infra`\" pulumi-lang-yaml=\"`infra`\" pulumi-lang-java=\"`infra`\"\u003e`infra`\u003c/span\u003e, `add-on`, and \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e. 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 \u003cspan pulumi-lang-nodejs=\"`infra`\" pulumi-lang-dotnet=\"`Infra`\" pulumi-lang-go=\"`infra`\" pulumi-lang-python=\"`infra`\" pulumi-lang-yaml=\"`infra`\" pulumi-lang-java=\"`infra`\"\u003e`infra`\u003c/span\u003e; for an Add-on cluster profile, use the value `add-on`.System cluster profiles can be specified using the value \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e. To learn more about cluster profiles, refer to the [Cluster Profile](https://docs.spectrocloud.com/cluster-profiles) documentation. Default value is `add-on`.\n"},"version":{"type":"string"}},"stateInputs":{"description":"Input properties used for looking up and filtering ClusterProfile resources.\n","properties":{"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-native, generic, and gke` or any custom cloud provider registered in Palette, e.g., \u003cspan pulumi-lang-nodejs=\"`nutanix`\" pulumi-lang-dotnet=\"`Nutanix`\" pulumi-lang-go=\"`nutanix`\" pulumi-lang-python=\"`nutanix`\" pulumi-lang-yaml=\"`nutanix`\" pulumi-lang-java=\"`nutanix`\"\u003e`nutanix`\u003c/span\u003e.If the value is set to \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e, then the type must be set to `add-on`. Otherwise, the cluster profile may be incompatible with other providers. Default value is \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e.\n"},"clusterProfileId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the cluster profile. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string"},"name":{"type":"string"},"packs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterProfilePack:ClusterProfilePack"},"description":"For packs of type \u003cspan pulumi-lang-nodejs=\"`spectro`\" pulumi-lang-dotnet=\"`Spectro`\" pulumi-lang-go=\"`spectro`\" pulumi-lang-python=\"`spectro`\" pulumi-lang-yaml=\"`spectro`\" pulumi-lang-java=\"`spectro`\"\u003e`spectro`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, at least one pack must be specified.\n"},"profileVariables":{"$ref":"#/types/spectrocloud:index%2FClusterProfileProfileVariables:ClusterProfileProfileVariables","description":"List of variables for the cluster profile.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterProfileTimeouts:ClusterProfileTimeouts"},"type":{"type":"string","description":"Specify the cluster profile type to use. Allowed values are \u003cspan pulumi-lang-nodejs=\"`cluster`\" pulumi-lang-dotnet=\"`Cluster`\" pulumi-lang-go=\"`cluster`\" pulumi-lang-python=\"`cluster`\" pulumi-lang-yaml=\"`cluster`\" pulumi-lang-java=\"`cluster`\"\u003e`cluster`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`infra`\" pulumi-lang-dotnet=\"`Infra`\" pulumi-lang-go=\"`infra`\" pulumi-lang-python=\"`infra`\" pulumi-lang-yaml=\"`infra`\" pulumi-lang-java=\"`infra`\"\u003e`infra`\u003c/span\u003e, `add-on`, and \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e. 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 \u003cspan pulumi-lang-nodejs=\"`infra`\" pulumi-lang-dotnet=\"`Infra`\" pulumi-lang-go=\"`infra`\" pulumi-lang-python=\"`infra`\" pulumi-lang-yaml=\"`infra`\" pulumi-lang-java=\"`infra`\"\u003e`infra`\u003c/span\u003e; for an Add-on cluster profile, use the value `add-on`.System cluster profiles can be specified using the value \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e. To learn more about cluster profiles, refer to the [Cluster Profile](https://docs.spectrocloud.com/cluster-profiles) documentation. Default value is `add-on`.\n"},"version":{"type":"string"}},"type":"object"}},"spectrocloud:index/clusterProfileImport:ClusterProfileImport":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst _import = new spectrocloud.ClusterProfileImport(\"import\", {importFile: \"/tmp/profile_import.json\"});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nimport_ = spectrocloud.ClusterProfileImport(\"import\", import_file=\"/tmp/profile_import.json\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var import = new Spectrocloud.ClusterProfileImport(\"import\", new()\n    {\n        ImportFile = \"/tmp/profile_import.json\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewClusterProfileImport(ctx, \"import\", \u0026spectrocloud.ClusterProfileImportArgs{\n\t\t\tImportFile: pulumi.String(\"/tmp/profile_import.json\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.ClusterProfileImport;\nimport com.pulumi.spectrocloud.ClusterProfileImportArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var import_ = new ClusterProfileImport(\"import\", ClusterProfileImportArgs.builder()\n            .importFile(\"/tmp/profile_import.json\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  import:\n    type: spectrocloud:ClusterProfileImport\n    properties:\n      importFile: /tmp/profile_import.json\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"clusterProfileImportId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"importFile":{"type":"string"}},"type":"object","required":["clusterProfileImportId","importFile"],"inputProperties":{"clusterProfileImportId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"importFile":{"type":"string"}},"requiredInputs":["importFile"],"stateInputs":{"description":"Input properties used for looking up and filtering ClusterProfileImport resources.\n","properties":{"clusterProfileImportId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"importFile":{"type":"string"}},"type":"object"}},"spectrocloud:index/clusterVsphere:ClusterVsphere":{"description":"A resource to manage a vSphere cluster in Palette.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst vmwareProfile = spectrocloud.getClusterProfile({\n    name: \"vsphere-picard-2\",\n    version: \"1.0.0\",\n    context: \"project\",\n});\nconst vmwareAccount = spectrocloud.getCloudaccountVsphere({\n    name: sharedVmwareCloudAccountName,\n});\nconst cluster = new spectrocloud.ClusterVsphere(\"cluster\", {\n    name: \"vsphere-picard-3\",\n    cloudAccountId: vmwareAccount.then(vmwareAccount =\u003e vmwareAccount.id),\n    clusterProfiles: [{\n        id: vmwareProfile.then(vmwareProfile =\u003e vmwareProfile.id),\n    }],\n    cloudConfig: {\n        sshKey: clusterSshPublicKey,\n        datacenter: vsphereDatacenter,\n        folder: vsphereFolder,\n        networkType: \"DDNS\",\n        networkSearchDomain: clusterNetworkSearch,\n    },\n    machinePools: [\n        {\n            controlPlane: true,\n            controlPlaneAsWorker: true,\n            name: \"cp-pool\",\n            count: 1,\n            placement: {\n                cluster: vsphereCluster,\n                resourcePool: vsphereResourcePool,\n                datastore: vsphereDatastore,\n                network: vsphereNetwork,\n            },\n            instanceType: {\n                diskSizeGb: 40,\n                memoryMb: 4096,\n                cpu: 2,\n            },\n        },\n        {\n            name: \"worker-basic\",\n            count: 1,\n            nodeRepaveInterval: 30,\n            placement: {\n                cluster: vsphereCluster,\n                resourcePool: vsphereResourcePool,\n                datastore: vsphereDatastore,\n                network: vsphereNetwork,\n            },\n            instanceType: {\n                diskSizeGb: 40,\n                memoryMb: 8192,\n                cpu: 4,\n            },\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nvmware_profile = spectrocloud.get_cluster_profile(name=\"vsphere-picard-2\",\n    version=\"1.0.0\",\n    context=\"project\")\nvmware_account = spectrocloud.get_cloudaccount_vsphere(name=shared_vmware_cloud_account_name)\ncluster = spectrocloud.ClusterVsphere(\"cluster\",\n    name=\"vsphere-picard-3\",\n    cloud_account_id=vmware_account.id,\n    cluster_profiles=[{\n        \"id\": vmware_profile.id,\n    }],\n    cloud_config={\n        \"ssh_key\": cluster_ssh_public_key,\n        \"datacenter\": vsphere_datacenter,\n        \"folder\": vsphere_folder,\n        \"network_type\": \"DDNS\",\n        \"network_search_domain\": cluster_network_search,\n    },\n    machine_pools=[\n        {\n            \"control_plane\": True,\n            \"control_plane_as_worker\": True,\n            \"name\": \"cp-pool\",\n            \"count\": 1,\n            \"placement\": {\n                \"cluster\": vsphere_cluster,\n                \"resource_pool\": vsphere_resource_pool,\n                \"datastore\": vsphere_datastore,\n                \"network\": vsphere_network,\n            },\n            \"instance_type\": {\n                \"disk_size_gb\": 40,\n                \"memory_mb\": 4096,\n                \"cpu\": 2,\n            },\n        },\n        {\n            \"name\": \"worker-basic\",\n            \"count\": 1,\n            \"node_repave_interval\": 30,\n            \"placement\": {\n                \"cluster\": vsphere_cluster,\n                \"resource_pool\": vsphere_resource_pool,\n                \"datastore\": vsphere_datastore,\n                \"network\": vsphere_network,\n            },\n            \"instance_type\": {\n                \"disk_size_gb\": 40,\n                \"memory_mb\": 8192,\n                \"cpu\": 4,\n            },\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vmwareProfile = Spectrocloud.GetClusterProfile.Invoke(new()\n    {\n        Name = \"vsphere-picard-2\",\n        Version = \"1.0.0\",\n        Context = \"project\",\n    });\n\n    var vmwareAccount = Spectrocloud.GetCloudaccountVsphere.Invoke(new()\n    {\n        Name = sharedVmwareCloudAccountName,\n    });\n\n    var cluster = new Spectrocloud.ClusterVsphere(\"cluster\", new()\n    {\n        Name = \"vsphere-picard-3\",\n        CloudAccountId = vmwareAccount.Apply(getCloudaccountVsphereResult =\u003e getCloudaccountVsphereResult.Id),\n        ClusterProfiles = new[]\n        {\n            new Spectrocloud.Inputs.ClusterVsphereClusterProfileArgs\n            {\n                Id = vmwareProfile.Apply(getClusterProfileResult =\u003e getClusterProfileResult.Id),\n            },\n        },\n        CloudConfig = new Spectrocloud.Inputs.ClusterVsphereCloudConfigArgs\n        {\n            SshKey = clusterSshPublicKey,\n            Datacenter = vsphereDatacenter,\n            Folder = vsphereFolder,\n            NetworkType = \"DDNS\",\n            NetworkSearchDomain = clusterNetworkSearch,\n        },\n        MachinePools = new[]\n        {\n            new Spectrocloud.Inputs.ClusterVsphereMachinePoolArgs\n            {\n                ControlPlane = true,\n                ControlPlaneAsWorker = true,\n                Name = \"cp-pool\",\n                Count = 1,\n                Placement = new Spectrocloud.Inputs.ClusterVsphereMachinePoolPlacementArgs\n                {\n                    Cluster = vsphereCluster,\n                    ResourcePool = vsphereResourcePool,\n                    Datastore = vsphereDatastore,\n                    Network = vsphereNetwork,\n                },\n                InstanceType = new Spectrocloud.Inputs.ClusterVsphereMachinePoolInstanceTypeArgs\n                {\n                    DiskSizeGb = 40,\n                    MemoryMb = 4096,\n                    Cpu = 2,\n                },\n            },\n            new Spectrocloud.Inputs.ClusterVsphereMachinePoolArgs\n            {\n                Name = \"worker-basic\",\n                Count = 1,\n                NodeRepaveInterval = 30,\n                Placement = new Spectrocloud.Inputs.ClusterVsphereMachinePoolPlacementArgs\n                {\n                    Cluster = vsphereCluster,\n                    ResourcePool = vsphereResourcePool,\n                    Datastore = vsphereDatastore,\n                    Network = vsphereNetwork,\n                },\n                InstanceType = new Spectrocloud.Inputs.ClusterVsphereMachinePoolInstanceTypeArgs\n                {\n                    DiskSizeGb = 40,\n                    MemoryMb = 8192,\n                    Cpu = 4,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvmwareProfile, err := spectrocloud.LookupClusterProfile(ctx, \u0026spectrocloud.LookupClusterProfileArgs{\n\t\t\tName:    pulumi.StringRef(\"vsphere-picard-2\"),\n\t\t\tVersion: pulumi.StringRef(\"1.0.0\"),\n\t\t\tContext: pulumi.StringRef(\"project\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvmwareAccount, err := spectrocloud.LookupCloudaccountVsphere(ctx, \u0026spectrocloud.LookupCloudaccountVsphereArgs{\n\t\t\tName: pulumi.StringRef(sharedVmwareCloudAccountName),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.NewClusterVsphere(ctx, \"cluster\", \u0026spectrocloud.ClusterVsphereArgs{\n\t\t\tName:           pulumi.String(\"vsphere-picard-3\"),\n\t\t\tCloudAccountId: pulumi.String(vmwareAccount.Id),\n\t\t\tClusterProfiles: spectrocloud.ClusterVsphereClusterProfileArray{\n\t\t\t\t\u0026spectrocloud.ClusterVsphereClusterProfileArgs{\n\t\t\t\t\tId: pulumi.String(vmwareProfile.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tCloudConfig: \u0026spectrocloud.ClusterVsphereCloudConfigArgs{\n\t\t\t\tSshKey:              pulumi.Any(clusterSshPublicKey),\n\t\t\t\tDatacenter:          pulumi.Any(vsphereDatacenter),\n\t\t\t\tFolder:              pulumi.Any(vsphereFolder),\n\t\t\t\tNetworkType:         pulumi.String(\"DDNS\"),\n\t\t\t\tNetworkSearchDomain: pulumi.Any(clusterNetworkSearch),\n\t\t\t},\n\t\t\tMachinePools: spectrocloud.ClusterVsphereMachinePoolArray{\n\t\t\t\t\u0026spectrocloud.ClusterVsphereMachinePoolArgs{\n\t\t\t\t\tControlPlane:         pulumi.Bool(true),\n\t\t\t\t\tControlPlaneAsWorker: pulumi.Bool(true),\n\t\t\t\t\tName:                 pulumi.String(\"cp-pool\"),\n\t\t\t\t\tCount:                pulumi.Float64(1),\n\t\t\t\t\tPlacement: \u0026spectrocloud.ClusterVsphereMachinePoolPlacementArgs{\n\t\t\t\t\t\tCluster:      pulumi.Any(vsphereCluster),\n\t\t\t\t\t\tResourcePool: pulumi.Any(vsphereResourcePool),\n\t\t\t\t\t\tDatastore:    pulumi.Any(vsphereDatastore),\n\t\t\t\t\t\tNetwork:      pulumi.Any(vsphereNetwork),\n\t\t\t\t\t},\n\t\t\t\t\tInstanceType: \u0026spectrocloud.ClusterVsphereMachinePoolInstanceTypeArgs{\n\t\t\t\t\t\tDiskSizeGb: pulumi.Float64(40),\n\t\t\t\t\t\tMemoryMb:   pulumi.Float64(4096),\n\t\t\t\t\t\tCpu:        pulumi.Float64(2),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026spectrocloud.ClusterVsphereMachinePoolArgs{\n\t\t\t\t\tName:               pulumi.String(\"worker-basic\"),\n\t\t\t\t\tCount:              pulumi.Float64(1),\n\t\t\t\t\tNodeRepaveInterval: pulumi.Float64(30),\n\t\t\t\t\tPlacement: \u0026spectrocloud.ClusterVsphereMachinePoolPlacementArgs{\n\t\t\t\t\t\tCluster:      pulumi.Any(vsphereCluster),\n\t\t\t\t\t\tResourcePool: pulumi.Any(vsphereResourcePool),\n\t\t\t\t\t\tDatastore:    pulumi.Any(vsphereDatastore),\n\t\t\t\t\t\tNetwork:      pulumi.Any(vsphereNetwork),\n\t\t\t\t\t},\n\t\t\t\t\tInstanceType: \u0026spectrocloud.ClusterVsphereMachinePoolInstanceTypeArgs{\n\t\t\t\t\t\tDiskSizeGb: pulumi.Float64(40),\n\t\t\t\t\t\tMemoryMb:   pulumi.Float64(8192),\n\t\t\t\t\t\tCpu:        pulumi.Float64(4),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetClusterProfileArgs;\nimport com.pulumi.spectrocloud.inputs.GetCloudaccountVsphereArgs;\nimport com.pulumi.spectrocloud.ClusterVsphere;\nimport com.pulumi.spectrocloud.ClusterVsphereArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterVsphereClusterProfileArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterVsphereCloudConfigArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterVsphereMachinePoolArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterVsphereMachinePoolPlacementArgs;\nimport com.pulumi.spectrocloud.inputs.ClusterVsphereMachinePoolInstanceTypeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var vmwareProfile = SpectrocloudFunctions.getClusterProfile(GetClusterProfileArgs.builder()\n            .name(\"vsphere-picard-2\")\n            .version(\"1.0.0\")\n            .context(\"project\")\n            .build());\n\n        final var vmwareAccount = SpectrocloudFunctions.getCloudaccountVsphere(GetCloudaccountVsphereArgs.builder()\n            .name(sharedVmwareCloudAccountName)\n            .build());\n\n        var cluster = new ClusterVsphere(\"cluster\", ClusterVsphereArgs.builder()\n            .name(\"vsphere-picard-3\")\n            .cloudAccountId(vmwareAccount.id())\n            .clusterProfiles(ClusterVsphereClusterProfileArgs.builder()\n                .id(vmwareProfile.id())\n                .build())\n            .cloudConfig(ClusterVsphereCloudConfigArgs.builder()\n                .sshKey(clusterSshPublicKey)\n                .datacenter(vsphereDatacenter)\n                .folder(vsphereFolder)\n                .networkType(\"DDNS\")\n                .networkSearchDomain(clusterNetworkSearch)\n                .build())\n            .machinePools(            \n                ClusterVsphereMachinePoolArgs.builder()\n                    .controlPlane(true)\n                    .controlPlaneAsWorker(true)\n                    .name(\"cp-pool\")\n                    .count(1.0)\n                    .placement(ClusterVsphereMachinePoolPlacementArgs.builder()\n                        .cluster(vsphereCluster)\n                        .resourcePool(vsphereResourcePool)\n                        .datastore(vsphereDatastore)\n                        .network(vsphereNetwork)\n                        .build())\n                    .instanceType(ClusterVsphereMachinePoolInstanceTypeArgs.builder()\n                        .diskSizeGb(40.0)\n                        .memoryMb(4096.0)\n                        .cpu(2.0)\n                        .build())\n                    .build(),\n                ClusterVsphereMachinePoolArgs.builder()\n                    .name(\"worker-basic\")\n                    .count(1.0)\n                    .nodeRepaveInterval(30.0)\n                    .placement(ClusterVsphereMachinePoolPlacementArgs.builder()\n                        .cluster(vsphereCluster)\n                        .resourcePool(vsphereResourcePool)\n                        .datastore(vsphereDatastore)\n                        .network(vsphereNetwork)\n                        .build())\n                    .instanceType(ClusterVsphereMachinePoolInstanceTypeArgs.builder()\n                        .diskSizeGb(40.0)\n                        .memoryMb(8192.0)\n                        .cpu(4.0)\n                        .build())\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  cluster:\n    type: spectrocloud:ClusterVsphere\n    properties:\n      name: vsphere-picard-3\n      cloudAccountId: ${vmwareAccount.id}\n      clusterProfiles:\n        - id: ${vmwareProfile.id}\n      cloudConfig:\n        sshKey: ${clusterSshPublicKey}\n        datacenter: ${vsphereDatacenter}\n        folder: ${vsphereFolder}\n        networkType: DDNS\n        networkSearchDomain: ${clusterNetworkSearch}\n      machinePools:\n        - controlPlane: true\n          controlPlaneAsWorker: true\n          name: cp-pool\n          count: 1\n          placement:\n            cluster: ${vsphereCluster}\n            resourcePool: ${vsphereResourcePool}\n            datastore: ${vsphereDatastore}\n            network: ${vsphereNetwork}\n          instanceType:\n            diskSizeGb: 40\n            memoryMb: 4096\n            cpu: 2\n        - name: worker-basic\n          count: 1\n          nodeRepaveInterval: 30\n          placement:\n            cluster: ${vsphereCluster}\n            resourcePool: ${vsphereResourcePool}\n            datastore: ${vsphereDatastore}\n            network: ${vsphereNetwork}\n          instanceType:\n            diskSizeGb: 40\n            memoryMb: 8192\n            cpu: 4\nvariables:\n  vmwareProfile:\n    fn::invoke:\n      function: spectrocloud:getClusterProfile\n      arguments:\n        name: vsphere-picard-2\n        version: 1.0.0\n        context: project\n  vmwareAccount:\n    fn::invoke:\n      function: spectrocloud:getCloudaccountVsphere\n      arguments:\n        name: ${sharedVmwareCloudAccountName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the cluster using the `cluster_name` or `id` colon separated with `context`. For example:\n\nconsole\n\n```sh\n$ pulumi import spectrocloud:index/clusterVsphere:ClusterVsphere {cluster_uid}/{cluster_name}:project \n```\n\nRefer to the [Import section](/docs#import) to learn more.\n\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereBackupPolicy:ClusterVsphereBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string","description":"ID of the cloud account to be used for the cluster. This cloud account must be of type \u003cspan pulumi-lang-nodejs=\"`vsphere`\" pulumi-lang-dotnet=\"`Vsphere`\" pulumi-lang-go=\"`vsphere`\" pulumi-lang-python=\"`vsphere`\" pulumi-lang-yaml=\"`vsphere`\" pulumi-lang-java=\"`vsphere`\"\u003e`vsphere`\u003c/span\u003e.\n"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereCloudConfig:ClusterVsphereCloudConfig"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereClusterProfile:ClusterVsphereClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereClusterRbacBinding:ClusterVsphereClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereClusterTemplate:ClusterVsphereClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"clusterVsphereId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the VMware cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereHostConfig:ClusterVsphereHostConfig"},"description":"The host configuration for the cluster.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereLocationConfig:ClusterVsphereLocationConfig"}},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereMachinePool:ClusterVsphereMachinePool"}},"name":{"type":"string","description":"The name of the cluster.\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereNamespace:ClusterVsphereNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"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`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereScanPolicy:ClusterVsphereScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereTimeouts:ClusterVsphereTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object","required":["adminKubeConfig","cloudAccountId","cloudConfig","cloudConfigId","clusterVsphereId","kubeconfig","machinePools","name"],"inputProperties":{"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereBackupPolicy:ClusterVsphereBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string","description":"ID of the cloud account to be used for the cluster. This cloud account must be of type \u003cspan pulumi-lang-nodejs=\"`vsphere`\" pulumi-lang-dotnet=\"`Vsphere`\" pulumi-lang-go=\"`vsphere`\" pulumi-lang-python=\"`vsphere`\" pulumi-lang-yaml=\"`vsphere`\" pulumi-lang-java=\"`vsphere`\"\u003e`vsphere`\u003c/span\u003e.\n"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereCloudConfig:ClusterVsphereCloudConfig"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereClusterProfile:ClusterVsphereClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereClusterRbacBinding:ClusterVsphereClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereClusterTemplate:ClusterVsphereClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"clusterVsphereId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the VMware cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereHostConfig:ClusterVsphereHostConfig"},"description":"The host configuration for the cluster.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereLocationConfig:ClusterVsphereLocationConfig"}},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereMachinePool:ClusterVsphereMachinePool"}},"name":{"type":"string","description":"The name of the cluster.\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereNamespace:ClusterVsphereNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"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`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereScanPolicy:ClusterVsphereScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereTimeouts:ClusterVsphereTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"requiredInputs":["cloudAccountId","cloudConfig","machinePools"],"stateInputs":{"description":"Input properties used for looking up and filtering ClusterVsphere resources.\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereBackupPolicy:ClusterVsphereBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudAccountId":{"type":"string","description":"ID of the cloud account to be used for the cluster. This cloud account must be of type \u003cspan pulumi-lang-nodejs=\"`vsphere`\" pulumi-lang-dotnet=\"`Vsphere`\" pulumi-lang-go=\"`vsphere`\" pulumi-lang-python=\"`vsphere`\" pulumi-lang-yaml=\"`vsphere`\" pulumi-lang-java=\"`vsphere`\"\u003e`vsphere`\u003c/span\u003e.\n"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereCloudConfig:ClusterVsphereCloudConfig"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterMetaAttribute":{"type":"string","description":"\u003cspan pulumi-lang-nodejs=\"`clusterMetaAttribute`\" pulumi-lang-dotnet=\"`ClusterMetaAttribute`\" pulumi-lang-go=\"`clusterMetaAttribute`\" pulumi-lang-python=\"`cluster_meta_attribute`\" pulumi-lang-yaml=\"`clusterMetaAttribute`\" pulumi-lang-java=\"`clusterMetaAttribute`\"\u003e`cluster_meta_attribute`\u003c/span\u003e can be used to set additional cluster metadata information, eg `{'nic_name': 'test', 'env': 'stage'}`\n"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereClusterProfile:ClusterVsphereClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereClusterRbacBinding:ClusterVsphereClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusterTemplate":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereClusterTemplate:ClusterVsphereClusterTemplate","description":"The cluster template of the cluster.\n"},"clusterTimezone":{"type":"string","description":"Defines the time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades will follow this time zone to ensure they run at the appropriate local time for the cluster. Must be in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata', 'Europe/London').\n"},"clusterVsphereId":{"type":"string","description":"The ID of this resource.\n"},"context":{"type":"string","description":"The context of the VMware cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereHostConfig:ClusterVsphereHostConfig"},"description":"The host configuration for the cluster.\n"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereLocationConfig:ClusterVsphereLocationConfig"}},"machinePools":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereMachinePool:ClusterVsphereMachinePool"}},"name":{"type":"string","description":"The name of the cluster.\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereNamespace:ClusterVsphereNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"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`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"The cron schedule for OS patching. This must be in the form of cron syntax. Ex: `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"reviewRepaveState":{"type":"string","description":"To authorize the cluster repave, set the value to `Approved` for approval and `\"\"` to decline. Default value is `\"\"`.\n"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereScanPolicy:ClusterVsphereScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FClusterVsphereTimeouts:ClusterVsphereTimeouts"},"updateWorkerPoolsInParallel":{"type":"boolean","description":"Controls whether worker pool updates occur in parallel or sequentially. When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e (default), all worker pools are updated simultaneously. When \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, worker pools are updated one at a time, reducing cluster disruption but taking longer to complete updates.\n"}},"type":"object"}},"spectrocloud:index/datavolume:Datavolume":{"properties":{"addVolumeOptions":{"$ref":"#/types/spectrocloud:index%2FDatavolumeAddVolumeOptions:DatavolumeAddVolumeOptions","description":"DataVolumeSpec defines our specification for a DataVolume type\n"},"clusterContext":{"type":"string"},"clusterUid":{"type":"string","description":"The cluster UID to which the virtual machine belongs to.\n"},"datavolumeId":{"type":"string","description":"The ID of this resource.\n"},"metadata":{"$ref":"#/types/spectrocloud:index%2FDatavolumeMetadata:DatavolumeMetadata","description":"Standard DataVolume's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata\n"},"spec":{"$ref":"#/types/spectrocloud:index%2FDatavolumeSpec:DatavolumeSpec","description":"DataVolumeSpec defines our specification for a DataVolume type\n"},"status":{"$ref":"#/types/spectrocloud:index%2FDatavolumeStatus:DatavolumeStatus","description":"DataVolumeStatus provides the parameters to store the phase of the Data Volume\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FDatavolumeTimeouts:DatavolumeTimeouts"},"vmName":{"type":"string","description":"The name of the virtual machine to which the data volume belongs to.\n"},"vmNamespace":{"type":"string","description":"The namespace of the virtual machine to which the data volume belongs to.\n"}},"type":"object","required":["addVolumeOptions","clusterContext","datavolumeId","metadata","spec"],"inputProperties":{"addVolumeOptions":{"$ref":"#/types/spectrocloud:index%2FDatavolumeAddVolumeOptions:DatavolumeAddVolumeOptions","description":"DataVolumeSpec defines our specification for a DataVolume type\n"},"clusterContext":{"type":"string"},"clusterUid":{"type":"string","description":"The cluster UID to which the virtual machine belongs to.\n"},"datavolumeId":{"type":"string","description":"The ID of this resource.\n"},"metadata":{"$ref":"#/types/spectrocloud:index%2FDatavolumeMetadata:DatavolumeMetadata","description":"Standard DataVolume's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata\n"},"spec":{"$ref":"#/types/spectrocloud:index%2FDatavolumeSpec:DatavolumeSpec","description":"DataVolumeSpec defines our specification for a DataVolume type\n"},"status":{"$ref":"#/types/spectrocloud:index%2FDatavolumeStatus:DatavolumeStatus","description":"DataVolumeStatus provides the parameters to store the phase of the Data Volume\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FDatavolumeTimeouts:DatavolumeTimeouts"},"vmName":{"type":"string","description":"The name of the virtual machine to which the data volume belongs to.\n"},"vmNamespace":{"type":"string","description":"The namespace of the virtual machine to which the data volume belongs to.\n"}},"requiredInputs":["addVolumeOptions","clusterContext","metadata","spec"],"stateInputs":{"description":"Input properties used for looking up and filtering Datavolume resources.\n","properties":{"addVolumeOptions":{"$ref":"#/types/spectrocloud:index%2FDatavolumeAddVolumeOptions:DatavolumeAddVolumeOptions","description":"DataVolumeSpec defines our specification for a DataVolume type\n"},"clusterContext":{"type":"string"},"clusterUid":{"type":"string","description":"The cluster UID to which the virtual machine belongs to.\n"},"datavolumeId":{"type":"string","description":"The ID of this resource.\n"},"metadata":{"$ref":"#/types/spectrocloud:index%2FDatavolumeMetadata:DatavolumeMetadata","description":"Standard DataVolume's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata\n"},"spec":{"$ref":"#/types/spectrocloud:index%2FDatavolumeSpec:DatavolumeSpec","description":"DataVolumeSpec defines our specification for a DataVolume type\n"},"status":{"$ref":"#/types/spectrocloud:index%2FDatavolumeStatus:DatavolumeStatus","description":"DataVolumeStatus provides the parameters to store the phase of the Data Volume\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FDatavolumeTimeouts:DatavolumeTimeouts"},"vmName":{"type":"string","description":"The name of the virtual machine to which the data volume belongs to.\n"},"vmNamespace":{"type":"string","description":"The namespace of the virtual machine to which the data volume belongs to.\n"}},"type":"object"}},"spectrocloud:index/developerSetting:DeveloperSetting":{"description":"Each developer in this tenant may create up to 1 virtual clusters and will be allocated compute and storage quota across all their virtual clusters based on the configuration in developer setting [Developer Setting](https://docs.spectrocloud.com/devx/manage-dev-engine/resource-quota/#tenant-developer-user-quotas) guide.\n\n\u003e The\u003cspan pulumi-lang-nodejs=\" developerSetting \" pulumi-lang-dotnet=\" DeveloperSetting \" pulumi-lang-go=\" developerSetting \" pulumi-lang-python=\" developer_setting \" pulumi-lang-yaml=\" developerSetting \" pulumi-lang-java=\" developerSetting \"\u003e developer_setting \u003c/span\u003eresource enforces a usage quota for developer. By default, a developer quota is configured in Palette with default values. Users can update the developer settings as per their requirements. Every new virtual cluster will consume about 3 CPU and 3 GiB memory even without any user workloads, we recommend that you allocate quota accordingly. When a\u003cspan pulumi-lang-nodejs=\" spectrocloud.DeveloperSetting \" pulumi-lang-dotnet=\" spectrocloud.DeveloperSetting \" pulumi-lang-go=\" DeveloperSetting \" pulumi-lang-python=\" DeveloperSetting \" pulumi-lang-yaml=\" spectrocloud.DeveloperSetting \" pulumi-lang-java=\" spectrocloud.DeveloperSetting \"\u003e spectrocloud.DeveloperSetting \u003c/span\u003eresource is destroyed, the developer setting will revert to the Palette default settings.\n\n## Example Usage\n\nAn example of managing an developer setting in Palette.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst devSetting = new spectrocloud.DeveloperSetting(\"dev_setting\", {\n    virtualClustersLimit: 10,\n    cpu: 20,\n    memory: 100,\n    storage: 100,\n    hideSystemClusterGroup: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\ndev_setting = spectrocloud.DeveloperSetting(\"dev_setting\",\n    virtual_clusters_limit=10,\n    cpu=20,\n    memory=100,\n    storage=100,\n    hide_system_cluster_group=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var devSetting = new Spectrocloud.DeveloperSetting(\"dev_setting\", new()\n    {\n        VirtualClustersLimit = 10,\n        Cpu = 20,\n        Memory = 100,\n        Storage = 100,\n        HideSystemClusterGroup = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewDeveloperSetting(ctx, \"dev_setting\", \u0026spectrocloud.DeveloperSettingArgs{\n\t\t\tVirtualClustersLimit:   pulumi.Float64(10),\n\t\t\tCpu:                    pulumi.Float64(20),\n\t\t\tMemory:                 pulumi.Float64(100),\n\t\t\tStorage:                pulumi.Float64(100),\n\t\t\tHideSystemClusterGroup: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.DeveloperSetting;\nimport com.pulumi.spectrocloud.DeveloperSettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var devSetting = new DeveloperSetting(\"devSetting\", DeveloperSettingArgs.builder()\n            .virtualClustersLimit(10.0)\n            .cpu(20.0)\n            .memory(100.0)\n            .storage(100.0)\n            .hideSystemClusterGroup(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  devSetting:\n    type: spectrocloud:DeveloperSetting\n    name: dev_setting\n    properties:\n      virtualClustersLimit: 10\n      cpu: 20\n      memory: 100\n      storage: 100\n      hideSystemClusterGroup: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"cpu":{"type":"number","description":"Defines the number of CPU cores allocated to the cluster.\n"},"developerSettingId":{"type":"string","description":"The ID of this resource.\n"},"hideSystemClusterGroup":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, hides the system cluster.\n"},"memory":{"type":"number","description":"Specifies the amount of memory (in GiB) allocated to the cluster.\n"},"storage":{"type":"number","description":"Defines the storage capacity (in GiB) allocated to the cluster.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FDeveloperSettingTimeouts:DeveloperSettingTimeouts"},"virtualClustersLimit":{"type":"number","description":"Specifies the number of virtual clusters to be created.\n"}},"type":"object","required":["developerSettingId"],"inputProperties":{"cpu":{"type":"number","description":"Defines the number of CPU cores allocated to the cluster.\n"},"developerSettingId":{"type":"string","description":"The ID of this resource.\n"},"hideSystemClusterGroup":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, hides the system cluster.\n"},"memory":{"type":"number","description":"Specifies the amount of memory (in GiB) allocated to the cluster.\n"},"storage":{"type":"number","description":"Defines the storage capacity (in GiB) allocated to the cluster.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FDeveloperSettingTimeouts:DeveloperSettingTimeouts"},"virtualClustersLimit":{"type":"number","description":"Specifies the number of virtual clusters to be created.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering DeveloperSetting resources.\n","properties":{"cpu":{"type":"number","description":"Defines the number of CPU cores allocated to the cluster.\n"},"developerSettingId":{"type":"string","description":"The ID of this resource.\n"},"hideSystemClusterGroup":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, hides the system cluster.\n"},"memory":{"type":"number","description":"Specifies the amount of memory (in GiB) allocated to the cluster.\n"},"storage":{"type":"number","description":"Defines the storage capacity (in GiB) allocated to the cluster.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FDeveloperSettingTimeouts:DeveloperSettingTimeouts"},"virtualClustersLimit":{"type":"number","description":"Specifies the number of virtual clusters to be created.\n"}},"type":"object"}},"spectrocloud:index/filter:Filter":{"description":"A resource for creating and managing filters.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst example = new spectrocloud.Filter(\"example\", {\n    metadata: {\n        name: \"resourcefilter2\",\n    },\n    spec: {\n        filterGroup: {\n            conjunction: \"and\",\n            filters: [\n                {\n                    key: \"testtag1\",\n                    negation: false,\n                    operator: \"eq\",\n                    values: [\"spectro__tag\"],\n                },\n                {\n                    key: \"testtag2\",\n                    negation: true,\n                    operator: \"eq\",\n                    values: [\"spectro__tag\"],\n                },\n            ],\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nexample = spectrocloud.Filter(\"example\",\n    metadata={\n        \"name\": \"resourcefilter2\",\n    },\n    spec={\n        \"filter_group\": {\n            \"conjunction\": \"and\",\n            \"filters\": [\n                {\n                    \"key\": \"testtag1\",\n                    \"negation\": False,\n                    \"operator\": \"eq\",\n                    \"values\": [\"spectro__tag\"],\n                },\n                {\n                    \"key\": \"testtag2\",\n                    \"negation\": True,\n                    \"operator\": \"eq\",\n                    \"values\": [\"spectro__tag\"],\n                },\n            ],\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Spectrocloud.Filter(\"example\", new()\n    {\n        Metadata = new Spectrocloud.Inputs.FilterMetadataArgs\n        {\n            Name = \"resourcefilter2\",\n        },\n        Spec = new Spectrocloud.Inputs.FilterSpecArgs\n        {\n            FilterGroup = new Spectrocloud.Inputs.FilterSpecFilterGroupArgs\n            {\n                Conjunction = \"and\",\n                Filters = new[]\n                {\n                    new Spectrocloud.Inputs.FilterSpecFilterGroupFilterArgs\n                    {\n                        Key = \"testtag1\",\n                        Negation = false,\n                        Operator = \"eq\",\n                        Values = new[]\n                        {\n                            \"spectro__tag\",\n                        },\n                    },\n                    new Spectrocloud.Inputs.FilterSpecFilterGroupFilterArgs\n                    {\n                        Key = \"testtag2\",\n                        Negation = true,\n                        Operator = \"eq\",\n                        Values = new[]\n                        {\n                            \"spectro__tag\",\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewFilter(ctx, \"example\", \u0026spectrocloud.FilterArgs{\n\t\t\tMetadata: \u0026spectrocloud.FilterMetadataArgs{\n\t\t\t\tName: pulumi.String(\"resourcefilter2\"),\n\t\t\t},\n\t\t\tSpec: \u0026spectrocloud.FilterSpecArgs{\n\t\t\t\tFilterGroup: \u0026spectrocloud.FilterSpecFilterGroupArgs{\n\t\t\t\t\tConjunction: pulumi.String(\"and\"),\n\t\t\t\t\tFilters: spectrocloud.FilterSpecFilterGroupFilterArray{\n\t\t\t\t\t\t\u0026spectrocloud.FilterSpecFilterGroupFilterArgs{\n\t\t\t\t\t\t\tKey:      pulumi.String(\"testtag1\"),\n\t\t\t\t\t\t\tNegation: pulumi.Bool(false),\n\t\t\t\t\t\t\tOperator: pulumi.String(\"eq\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"spectro__tag\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026spectrocloud.FilterSpecFilterGroupFilterArgs{\n\t\t\t\t\t\t\tKey:      pulumi.String(\"testtag2\"),\n\t\t\t\t\t\t\tNegation: pulumi.Bool(true),\n\t\t\t\t\t\t\tOperator: pulumi.String(\"eq\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"spectro__tag\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.Filter;\nimport com.pulumi.spectrocloud.FilterArgs;\nimport com.pulumi.spectrocloud.inputs.FilterMetadataArgs;\nimport com.pulumi.spectrocloud.inputs.FilterSpecArgs;\nimport com.pulumi.spectrocloud.inputs.FilterSpecFilterGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Filter(\"example\", FilterArgs.builder()\n            .metadata(FilterMetadataArgs.builder()\n                .name(\"resourcefilter2\")\n                .build())\n            .spec(FilterSpecArgs.builder()\n                .filterGroup(FilterSpecFilterGroupArgs.builder()\n                    .conjunction(\"and\")\n                    .filters(                    \n                        FilterSpecFilterGroupFilterArgs.builder()\n                            .key(\"testtag1\")\n                            .negation(false)\n                            .operator(\"eq\")\n                            .values(\"spectro__tag\")\n                            .build(),\n                        FilterSpecFilterGroupFilterArgs.builder()\n                            .key(\"testtag2\")\n                            .negation(true)\n                            .operator(\"eq\")\n                            .values(\"spectro__tag\")\n                            .build())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: spectrocloud:Filter\n    properties:\n      metadata:\n        name: resourcefilter2\n      spec:\n        filterGroup:\n          conjunction: and\n          filters:\n            - key: testtag1\n              negation: false\n              operator: eq\n              values:\n                - spectro__tag\n            - key: testtag2\n              negation: true\n              operator: eq\n              values:\n                - spectro__tag\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"filterId":{"type":"string","description":"The ID of this resource.\n"},"metadata":{"$ref":"#/types/spectrocloud:index%2FFilterMetadata:FilterMetadata","description":"Metadata of the filter.\n"},"spec":{"$ref":"#/types/spectrocloud:index%2FFilterSpec:FilterSpec","description":"Specification of the filter.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FFilterTimeouts:FilterTimeouts"}},"type":"object","required":["filterId","metadata","spec"],"inputProperties":{"filterId":{"type":"string","description":"The ID of this resource.\n"},"metadata":{"$ref":"#/types/spectrocloud:index%2FFilterMetadata:FilterMetadata","description":"Metadata of the filter.\n"},"spec":{"$ref":"#/types/spectrocloud:index%2FFilterSpec:FilterSpec","description":"Specification of the filter.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FFilterTimeouts:FilterTimeouts"}},"requiredInputs":["metadata","spec"],"stateInputs":{"description":"Input properties used for looking up and filtering Filter resources.\n","properties":{"filterId":{"type":"string","description":"The ID of this resource.\n"},"metadata":{"$ref":"#/types/spectrocloud:index%2FFilterMetadata:FilterMetadata","description":"Metadata of the filter.\n"},"spec":{"$ref":"#/types/spectrocloud:index%2FFilterSpec:FilterSpec","description":"Specification of the filter.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FFilterTimeouts:FilterTimeouts"}},"type":"object"}},"spectrocloud:index/macros:Macros":{"description":"A resource for creating and managing service output variables and macros.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst projectMacro = new spectrocloud.Macros(\"project_macro\", {\n    macros: {\n        project_macro_1: \"val1\",\n        project_macro_2: \"val2\",\n    },\n    context: \"project\",\n});\nconst tenantMacro = new spectrocloud.Macros(\"tenant_macro\", {macros: {\n    tenant_macro_1: \"tenant_val1\",\n    tenant_macro_2: \"tenant_val2\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nproject_macro = spectrocloud.Macros(\"project_macro\",\n    macros={\n        \"project_macro_1\": \"val1\",\n        \"project_macro_2\": \"val2\",\n    },\n    context=\"project\")\ntenant_macro = spectrocloud.Macros(\"tenant_macro\", macros={\n    \"tenant_macro_1\": \"tenant_val1\",\n    \"tenant_macro_2\": \"tenant_val2\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var projectMacro = new Spectrocloud.Macros(\"project_macro\", new()\n    {\n        Macros = \n        {\n            { \"project_macro_1\", \"val1\" },\n            { \"project_macro_2\", \"val2\" },\n        },\n        Context = \"project\",\n    });\n\n    var tenantMacro = new Spectrocloud.Macros(\"tenant_macro\", new()\n    {\n        Macros = \n        {\n            { \"tenant_macro_1\", \"tenant_val1\" },\n            { \"tenant_macro_2\", \"tenant_val2\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewMacros(ctx, \"project_macro\", \u0026spectrocloud.MacrosArgs{\n\t\t\tMacros: pulumi.StringMap{\n\t\t\t\t\"project_macro_1\": pulumi.String(\"val1\"),\n\t\t\t\t\"project_macro_2\": pulumi.String(\"val2\"),\n\t\t\t},\n\t\t\tContext: pulumi.String(\"project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.NewMacros(ctx, \"tenant_macro\", \u0026spectrocloud.MacrosArgs{\n\t\t\tMacros: pulumi.StringMap{\n\t\t\t\t\"tenant_macro_1\": pulumi.String(\"tenant_val1\"),\n\t\t\t\t\"tenant_macro_2\": pulumi.String(\"tenant_val2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.Macros;\nimport com.pulumi.spectrocloud.MacrosArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var projectMacro = new Macros(\"projectMacro\", MacrosArgs.builder()\n            .macros(Map.ofEntries(\n                Map.entry(\"project_macro_1\", \"val1\"),\n                Map.entry(\"project_macro_2\", \"val2\")\n            ))\n            .context(\"project\")\n            .build());\n\n        var tenantMacro = new Macros(\"tenantMacro\", MacrosArgs.builder()\n            .macros(Map.ofEntries(\n                Map.entry(\"tenant_macro_1\", \"tenant_val1\"),\n                Map.entry(\"tenant_macro_2\", \"tenant_val2\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  projectMacro:\n    type: spectrocloud:Macros\n    name: project_macro\n    properties:\n      macros:\n        project_macro_1: val1\n        project_macro_2: val2\n      context: project\n  tenantMacro:\n    type: spectrocloud:Macros\n    name: tenant_macro\n    properties:\n      macros:\n        tenant_macro_1: tenant_val1\n        tenant_macro_2: tenant_val2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"context":{"type":"string","description":"The context of the cluster profile. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"macros":{"type":"object","additionalProperties":{"type":"string"},"description":"The key-value mapping includes the macro name and its corresponding value, representing either a macro or a service variable output.\n"},"macrosId":{"type":"string","description":"The ID of this resource.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FMacrosTimeouts:MacrosTimeouts"}},"type":"object","required":["macros","macrosId"],"inputProperties":{"context":{"type":"string","description":"The context of the cluster profile. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"macros":{"type":"object","additionalProperties":{"type":"string"},"description":"The key-value mapping includes the macro name and its corresponding value, representing either a macro or a service variable output.\n"},"macrosId":{"type":"string","description":"The ID of this resource.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FMacrosTimeouts:MacrosTimeouts"}},"requiredInputs":["macros"],"stateInputs":{"description":"Input properties used for looking up and filtering Macros resources.\n","properties":{"context":{"type":"string","description":"The context of the cluster profile. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"macros":{"type":"object","additionalProperties":{"type":"string"},"description":"The key-value mapping includes the macro name and its corresponding value, representing either a macro or a service variable output.\n"},"macrosId":{"type":"string","description":"The ID of this resource.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FMacrosTimeouts:MacrosTimeouts"}},"type":"object"}},"spectrocloud:index/passwordPolicy:PasswordPolicy":{"description":"You can learn more about managing password policy in Palette by reviewing the [Password Policy](https://docs.spectrocloud.com/enterprise-version/system-management/account-management/credentials/#password-requirements-and-security) guide.\n\n\u003e The\u003cspan pulumi-lang-nodejs=\" passwordPolicy \" pulumi-lang-dotnet=\" PasswordPolicy \" pulumi-lang-go=\" passwordPolicy \" pulumi-lang-python=\" password_policy \" pulumi-lang-yaml=\" passwordPolicy \" pulumi-lang-java=\" passwordPolicy \"\u003e password_policy \u003c/span\u003eresource enforces a password compliance policy. By default, a password policy is configured in Palette with default values. Users can update the password compliance settings as per their requirements. When a\u003cspan pulumi-lang-nodejs=\" spectrocloud.PasswordPolicy \" pulumi-lang-dotnet=\" spectrocloud.PasswordPolicy \" pulumi-lang-go=\" PasswordPolicy \" pulumi-lang-python=\" PasswordPolicy \" pulumi-lang-yaml=\" spectrocloud.PasswordPolicy \" pulumi-lang-java=\" spectrocloud.PasswordPolicy \"\u003e spectrocloud.PasswordPolicy \u003c/span\u003eresource is destroyed, the password policy will revert to the Palette default settings.\n\n## Example Usage\n\nAn example of managing an password policy in Palette.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst policyRegex = new spectrocloud.PasswordPolicy(\"policy_regex\", {\n    passwordExpiryDays: 123,\n    firstReminderDays: 5,\n    minDigits: 1,\n    minLowercaseLetters: 12,\n    minPasswordLength: 12,\n    minSpecialCharacters: 1,\n    minUppercaseLetters: 1,\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\npolicy_regex = spectrocloud.PasswordPolicy(\"policy_regex\",\n    password_expiry_days=123,\n    first_reminder_days=5,\n    min_digits=1,\n    min_lowercase_letters=12,\n    min_password_length=12,\n    min_special_characters=1,\n    min_uppercase_letters=1)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policyRegex = new Spectrocloud.PasswordPolicy(\"policy_regex\", new()\n    {\n        PasswordExpiryDays = 123,\n        FirstReminderDays = 5,\n        MinDigits = 1,\n        MinLowercaseLetters = 12,\n        MinPasswordLength = 12,\n        MinSpecialCharacters = 1,\n        MinUppercaseLetters = 1,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewPasswordPolicy(ctx, \"policy_regex\", \u0026spectrocloud.PasswordPolicyArgs{\n\t\t\tPasswordExpiryDays:   pulumi.Float64(123),\n\t\t\tFirstReminderDays:    pulumi.Float64(5),\n\t\t\tMinDigits:            pulumi.Float64(1),\n\t\t\tMinLowercaseLetters:  pulumi.Float64(12),\n\t\t\tMinPasswordLength:    pulumi.Float64(12),\n\t\t\tMinSpecialCharacters: pulumi.Float64(1),\n\t\t\tMinUppercaseLetters:  pulumi.Float64(1),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.PasswordPolicy;\nimport com.pulumi.spectrocloud.PasswordPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var policyRegex = new PasswordPolicy(\"policyRegex\", PasswordPolicyArgs.builder()\n            .passwordExpiryDays(123.0)\n            .firstReminderDays(5.0)\n            .minDigits(1.0)\n            .minLowercaseLetters(12.0)\n            .minPasswordLength(12.0)\n            .minSpecialCharacters(1.0)\n            .minUppercaseLetters(1.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  policyRegex:\n    type: spectrocloud:PasswordPolicy\n    name: policy_regex\n    properties:\n      passwordExpiryDays: 123\n      firstReminderDays: 5\n      minDigits: 1\n      minLowercaseLetters: 12\n      minPasswordLength: 12\n      minSpecialCharacters: 1\n      minUppercaseLetters: 1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"firstReminderDays":{"type":"number","description":"The number of days before the password expiry to send the first reminder to the user. Default is \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e days before expiry.\n"},"minDigits":{"type":"number","description":"The minimum number of numeric digits (0-9) required in the password. Ensures that passwords contain numerical characters. Minimum length of digit should be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"minLowercaseLetters":{"type":"number","description":"The minimum number of lowercase letters (a-z) required in the password. Ensures that lowercase characters are included for password complexity. Minimum length of lower case should be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"minPasswordLength":{"type":"number","description":"The minimum length required for the password. Enforces a stronger password policy by ensuring a minimum number of characters.  Default minimum length is \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e.\n"},"minSpecialCharacters":{"type":"number","description":"The minimum number of special characters (e.g., !, @, #, $, %) required in the password. This increases the password's security level by including symbols. Minimum special characters should be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"minUppercaseLetters":{"type":"number","description":"The minimum number of uppercase letters (A-Z) required in the password. Helps ensure password complexity with a mix of case-sensitive characters. Minimum length of upper case should be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"passwordExpiryDays":{"type":"number","description":"The number of days before the password expires. Must be between 1 and 1000 days. Defines how often passwords must be changed.  Default is \u003cspan pulumi-lang-nodejs=\"`999`\" pulumi-lang-dotnet=\"`999`\" pulumi-lang-go=\"`999`\" pulumi-lang-python=\"`999`\" pulumi-lang-yaml=\"`999`\" pulumi-lang-java=\"`999`\"\u003e`999`\u003c/span\u003e days for expiry. Conflicts with \u003cspan pulumi-lang-nodejs=\"`minPasswordLength`\" pulumi-lang-dotnet=\"`MinPasswordLength`\" pulumi-lang-go=\"`minPasswordLength`\" pulumi-lang-python=\"`min_password_length`\" pulumi-lang-yaml=\"`minPasswordLength`\" pulumi-lang-java=\"`minPasswordLength`\"\u003e`min_password_length`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`minUppercaseLetters`\" pulumi-lang-dotnet=\"`MinUppercaseLetters`\" pulumi-lang-go=\"`minUppercaseLetters`\" pulumi-lang-python=\"`min_uppercase_letters`\" pulumi-lang-yaml=\"`minUppercaseLetters`\" pulumi-lang-java=\"`minUppercaseLetters`\"\u003e`min_uppercase_letters`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`minDigits`\" pulumi-lang-dotnet=\"`MinDigits`\" pulumi-lang-go=\"`minDigits`\" pulumi-lang-python=\"`min_digits`\" pulumi-lang-yaml=\"`minDigits`\" pulumi-lang-java=\"`minDigits`\"\u003e`min_digits`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`minLowercaseLetters`\" pulumi-lang-dotnet=\"`MinLowercaseLetters`\" pulumi-lang-go=\"`minLowercaseLetters`\" pulumi-lang-python=\"`min_lowercase_letters`\" pulumi-lang-yaml=\"`minLowercaseLetters`\" pulumi-lang-java=\"`minLowercaseLetters`\"\u003e`min_lowercase_letters`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`minSpecialCharacters`\" pulumi-lang-dotnet=\"`MinSpecialCharacters`\" pulumi-lang-go=\"`minSpecialCharacters`\" pulumi-lang-python=\"`min_special_characters`\" pulumi-lang-yaml=\"`minSpecialCharacters`\" pulumi-lang-java=\"`minSpecialCharacters`\"\u003e`min_special_characters`\u003c/span\u003e\n"},"passwordPolicyId":{"type":"string","description":"The ID of this resource.\n"},"passwordRegex":{"type":"string","description":"A regular expression (regex) to define custom password patterns, such as enforcing specific characters or sequences in the password.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FPasswordPolicyTimeouts:PasswordPolicyTimeouts"}},"type":"object","required":["passwordPolicyId"],"inputProperties":{"firstReminderDays":{"type":"number","description":"The number of days before the password expiry to send the first reminder to the user. Default is \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e days before expiry.\n"},"minDigits":{"type":"number","description":"The minimum number of numeric digits (0-9) required in the password. Ensures that passwords contain numerical characters. Minimum length of digit should be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"minLowercaseLetters":{"type":"number","description":"The minimum number of lowercase letters (a-z) required in the password. Ensures that lowercase characters are included for password complexity. Minimum length of lower case should be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"minPasswordLength":{"type":"number","description":"The minimum length required for the password. Enforces a stronger password policy by ensuring a minimum number of characters.  Default minimum length is \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e.\n"},"minSpecialCharacters":{"type":"number","description":"The minimum number of special characters (e.g., !, @, #, $, %) required in the password. This increases the password's security level by including symbols. Minimum special characters should be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"minUppercaseLetters":{"type":"number","description":"The minimum number of uppercase letters (A-Z) required in the password. Helps ensure password complexity with a mix of case-sensitive characters. Minimum length of upper case should be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"passwordExpiryDays":{"type":"number","description":"The number of days before the password expires. Must be between 1 and 1000 days. Defines how often passwords must be changed.  Default is \u003cspan pulumi-lang-nodejs=\"`999`\" pulumi-lang-dotnet=\"`999`\" pulumi-lang-go=\"`999`\" pulumi-lang-python=\"`999`\" pulumi-lang-yaml=\"`999`\" pulumi-lang-java=\"`999`\"\u003e`999`\u003c/span\u003e days for expiry. Conflicts with \u003cspan pulumi-lang-nodejs=\"`minPasswordLength`\" pulumi-lang-dotnet=\"`MinPasswordLength`\" pulumi-lang-go=\"`minPasswordLength`\" pulumi-lang-python=\"`min_password_length`\" pulumi-lang-yaml=\"`minPasswordLength`\" pulumi-lang-java=\"`minPasswordLength`\"\u003e`min_password_length`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`minUppercaseLetters`\" pulumi-lang-dotnet=\"`MinUppercaseLetters`\" pulumi-lang-go=\"`minUppercaseLetters`\" pulumi-lang-python=\"`min_uppercase_letters`\" pulumi-lang-yaml=\"`minUppercaseLetters`\" pulumi-lang-java=\"`minUppercaseLetters`\"\u003e`min_uppercase_letters`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`minDigits`\" pulumi-lang-dotnet=\"`MinDigits`\" pulumi-lang-go=\"`minDigits`\" pulumi-lang-python=\"`min_digits`\" pulumi-lang-yaml=\"`minDigits`\" pulumi-lang-java=\"`minDigits`\"\u003e`min_digits`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`minLowercaseLetters`\" pulumi-lang-dotnet=\"`MinLowercaseLetters`\" pulumi-lang-go=\"`minLowercaseLetters`\" pulumi-lang-python=\"`min_lowercase_letters`\" pulumi-lang-yaml=\"`minLowercaseLetters`\" pulumi-lang-java=\"`minLowercaseLetters`\"\u003e`min_lowercase_letters`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`minSpecialCharacters`\" pulumi-lang-dotnet=\"`MinSpecialCharacters`\" pulumi-lang-go=\"`minSpecialCharacters`\" pulumi-lang-python=\"`min_special_characters`\" pulumi-lang-yaml=\"`minSpecialCharacters`\" pulumi-lang-java=\"`minSpecialCharacters`\"\u003e`min_special_characters`\u003c/span\u003e\n"},"passwordPolicyId":{"type":"string","description":"The ID of this resource.\n"},"passwordRegex":{"type":"string","description":"A regular expression (regex) to define custom password patterns, such as enforcing specific characters or sequences in the password.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FPasswordPolicyTimeouts:PasswordPolicyTimeouts"}},"stateInputs":{"description":"Input properties used for looking up and filtering PasswordPolicy resources.\n","properties":{"firstReminderDays":{"type":"number","description":"The number of days before the password expiry to send the first reminder to the user. Default is \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e days before expiry.\n"},"minDigits":{"type":"number","description":"The minimum number of numeric digits (0-9) required in the password. Ensures that passwords contain numerical characters. Minimum length of digit should be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"minLowercaseLetters":{"type":"number","description":"The minimum number of lowercase letters (a-z) required in the password. Ensures that lowercase characters are included for password complexity. Minimum length of lower case should be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"minPasswordLength":{"type":"number","description":"The minimum length required for the password. Enforces a stronger password policy by ensuring a minimum number of characters.  Default minimum length is \u003cspan pulumi-lang-nodejs=\"`6`\" pulumi-lang-dotnet=\"`6`\" pulumi-lang-go=\"`6`\" pulumi-lang-python=\"`6`\" pulumi-lang-yaml=\"`6`\" pulumi-lang-java=\"`6`\"\u003e`6`\u003c/span\u003e.\n"},"minSpecialCharacters":{"type":"number","description":"The minimum number of special characters (e.g., !, @, #, $, %) required in the password. This increases the password's security level by including symbols. Minimum special characters should be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"minUppercaseLetters":{"type":"number","description":"The minimum number of uppercase letters (A-Z) required in the password. Helps ensure password complexity with a mix of case-sensitive characters. Minimum length of upper case should be \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"passwordExpiryDays":{"type":"number","description":"The number of days before the password expires. Must be between 1 and 1000 days. Defines how often passwords must be changed.  Default is \u003cspan pulumi-lang-nodejs=\"`999`\" pulumi-lang-dotnet=\"`999`\" pulumi-lang-go=\"`999`\" pulumi-lang-python=\"`999`\" pulumi-lang-yaml=\"`999`\" pulumi-lang-java=\"`999`\"\u003e`999`\u003c/span\u003e days for expiry. Conflicts with \u003cspan pulumi-lang-nodejs=\"`minPasswordLength`\" pulumi-lang-dotnet=\"`MinPasswordLength`\" pulumi-lang-go=\"`minPasswordLength`\" pulumi-lang-python=\"`min_password_length`\" pulumi-lang-yaml=\"`minPasswordLength`\" pulumi-lang-java=\"`minPasswordLength`\"\u003e`min_password_length`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`minUppercaseLetters`\" pulumi-lang-dotnet=\"`MinUppercaseLetters`\" pulumi-lang-go=\"`minUppercaseLetters`\" pulumi-lang-python=\"`min_uppercase_letters`\" pulumi-lang-yaml=\"`minUppercaseLetters`\" pulumi-lang-java=\"`minUppercaseLetters`\"\u003e`min_uppercase_letters`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`minDigits`\" pulumi-lang-dotnet=\"`MinDigits`\" pulumi-lang-go=\"`minDigits`\" pulumi-lang-python=\"`min_digits`\" pulumi-lang-yaml=\"`minDigits`\" pulumi-lang-java=\"`minDigits`\"\u003e`min_digits`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`minLowercaseLetters`\" pulumi-lang-dotnet=\"`MinLowercaseLetters`\" pulumi-lang-go=\"`minLowercaseLetters`\" pulumi-lang-python=\"`min_lowercase_letters`\" pulumi-lang-yaml=\"`minLowercaseLetters`\" pulumi-lang-java=\"`minLowercaseLetters`\"\u003e`min_lowercase_letters`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`minSpecialCharacters`\" pulumi-lang-dotnet=\"`MinSpecialCharacters`\" pulumi-lang-go=\"`minSpecialCharacters`\" pulumi-lang-python=\"`min_special_characters`\" pulumi-lang-yaml=\"`minSpecialCharacters`\" pulumi-lang-java=\"`minSpecialCharacters`\"\u003e`min_special_characters`\u003c/span\u003e\n"},"passwordPolicyId":{"type":"string","description":"The ID of this resource.\n"},"passwordRegex":{"type":"string","description":"A regular expression (regex) to define custom password patterns, such as enforcing specific characters or sequences in the password.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FPasswordPolicyTimeouts:PasswordPolicyTimeouts"}},"type":"object"}},"spectrocloud:index/platformSetting:PlatformSetting":{"description":"Tenant/Project administration can be achieved through platform settings such as session_timeout, agent_upgrade, login_banner, and cluster_remediation.[Platform Setting](https://docs.spectrocloud.com/clusters/cluster-management/platform-settings/) guide.\n\n\u003e The\u003cspan pulumi-lang-nodejs=\" tenantPlatformSetting \" pulumi-lang-dotnet=\" TenantPlatformSetting \" pulumi-lang-go=\" tenantPlatformSetting \" pulumi-lang-python=\" tenant_platform_setting \" pulumi-lang-yaml=\" tenantPlatformSetting \" pulumi-lang-java=\" tenantPlatformSetting \"\u003e tenant_platform_setting \u003c/span\u003eresource enforces settings across projects. By default, it is configured with Palette’s default values. Users can customize settings as needed. Destroying the\u003cspan pulumi-lang-nodejs=\" spectrocloud.PlatformSetting \" pulumi-lang-dotnet=\" spectrocloud.PlatformSetting \" pulumi-lang-go=\" PlatformSetting \" pulumi-lang-python=\" PlatformSetting \" pulumi-lang-yaml=\" spectrocloud.PlatformSetting \" pulumi-lang-java=\" spectrocloud.PlatformSetting \"\u003e spectrocloud.PlatformSetting \u003c/span\u003eresource resets it to Palette defaults.\n\n## Example Usage\n\nAn example of managing an developer setting in Palette.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst platformSettings = new spectrocloud.PlatformSetting(\"platform_settings\", {\n    context: \"tenant\",\n    enableAutoRemediation: true,\n    sessionTimeout: 230,\n    clusterAutoRemediation: false,\n    nonFipsAddonPack: true,\n    nonFipsFeatures: true,\n    nonFipsClusterImport: true,\n    pauseAgentUpgrades: \"lock\",\n    loginBanner: {\n        title: \"test\",\n        message: \"test\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nplatform_settings = spectrocloud.PlatformSetting(\"platform_settings\",\n    context=\"tenant\",\n    enable_auto_remediation=True,\n    session_timeout=230,\n    cluster_auto_remediation=False,\n    non_fips_addon_pack=True,\n    non_fips_features=True,\n    non_fips_cluster_import=True,\n    pause_agent_upgrades=\"lock\",\n    login_banner={\n        \"title\": \"test\",\n        \"message\": \"test\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var platformSettings = new Spectrocloud.PlatformSetting(\"platform_settings\", new()\n    {\n        Context = \"tenant\",\n        EnableAutoRemediation = true,\n        SessionTimeout = 230,\n        ClusterAutoRemediation = false,\n        NonFipsAddonPack = true,\n        NonFipsFeatures = true,\n        NonFipsClusterImport = true,\n        PauseAgentUpgrades = \"lock\",\n        LoginBanner = new Spectrocloud.Inputs.PlatformSettingLoginBannerArgs\n        {\n            Title = \"test\",\n            Message = \"test\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewPlatformSetting(ctx, \"platform_settings\", \u0026spectrocloud.PlatformSettingArgs{\n\t\t\tContext:                pulumi.String(\"tenant\"),\n\t\t\tEnableAutoRemediation:  pulumi.Bool(true),\n\t\t\tSessionTimeout:         pulumi.Float64(230),\n\t\t\tClusterAutoRemediation: pulumi.Bool(false),\n\t\t\tNonFipsAddonPack:       pulumi.Bool(true),\n\t\t\tNonFipsFeatures:        pulumi.Bool(true),\n\t\t\tNonFipsClusterImport:   pulumi.Bool(true),\n\t\t\tPauseAgentUpgrades:     pulumi.String(\"lock\"),\n\t\t\tLoginBanner: \u0026spectrocloud.PlatformSettingLoginBannerArgs{\n\t\t\t\tTitle:   pulumi.String(\"test\"),\n\t\t\t\tMessage: pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.PlatformSetting;\nimport com.pulumi.spectrocloud.PlatformSettingArgs;\nimport com.pulumi.spectrocloud.inputs.PlatformSettingLoginBannerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var platformSettings = new PlatformSetting(\"platformSettings\", PlatformSettingArgs.builder()\n            .context(\"tenant\")\n            .enableAutoRemediation(true)\n            .sessionTimeout(230.0)\n            .clusterAutoRemediation(false)\n            .nonFipsAddonPack(true)\n            .nonFipsFeatures(true)\n            .nonFipsClusterImport(true)\n            .pauseAgentUpgrades(\"lock\")\n            .loginBanner(PlatformSettingLoginBannerArgs.builder()\n                .title(\"test\")\n                .message(\"test\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  platformSettings:\n    type: spectrocloud:PlatformSetting\n    name: platform_settings\n    properties:\n      context: tenant\n      enableAutoRemediation: true\n      sessionTimeout: 230\n      clusterAutoRemediation: false\n      nonFipsAddonPack: true\n      nonFipsFeatures: true\n      nonFipsClusterImport: true\n      pauseAgentUpgrades: lock\n      loginBanner:\n        title: test\n        message: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"automaticClusterRoleBinding":{"type":"boolean","description":"Enables automatic cluster role binding for clusters deployed under a tenant or project. Setting it to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e disables automatic cluster role binding.\n"},"clusterAutoRemediation":{"type":"boolean","description":"Enables automatic remediation for unhealthy nodes in Palette-provisioned clusters by replacing them with new nodes. Disabling this feature prevents auto-remediation. Not applicable to `EKS`, `AKS`, or `TKE` clusters.\n"},"context":{"type":"string","description":"Defines the scope of the platform setting. Valid values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. By default, it is set to \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"enableAutoRemediation":{"type":"boolean","description":"Enables automatic remediation. set only with `project' context\n"},"loginBanner":{"$ref":"#/types/spectrocloud:index%2FPlatformSettingLoginBanner:PlatformSettingLoginBanner","description":"Configure a login banner that users must acknowledge before signing in. Allowed only for \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e context\n"},"nonFipsAddonPack":{"type":"boolean","description":"Allows users in this tenant to use non-FIPS-compliant addon packs when creating cluster profiles. The \u003cspan pulumi-lang-nodejs=\"`nonFipsAddonPack`\" pulumi-lang-dotnet=\"`NonFipsAddonPack`\" pulumi-lang-go=\"`nonFipsAddonPack`\" pulumi-lang-python=\"`non_fips_addon_pack`\" pulumi-lang-yaml=\"`nonFipsAddonPack`\" pulumi-lang-java=\"`nonFipsAddonPack`\"\u003e`non_fips_addon_pack`\u003c/span\u003e only supported in palette vertex environment. Allowed only for \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e context\n"},"nonFipsClusterImport":{"type":"boolean","description":"Allows users in this tenant to import clusters, but the imported clusters may not be FIPS-compliant.  The \u003cspan pulumi-lang-nodejs=\"`nonFipsClusterImport`\" pulumi-lang-dotnet=\"`NonFipsClusterImport`\" pulumi-lang-go=\"`nonFipsClusterImport`\" pulumi-lang-python=\"`non_fips_cluster_import`\" pulumi-lang-yaml=\"`nonFipsClusterImport`\" pulumi-lang-java=\"`nonFipsClusterImport`\"\u003e`non_fips_cluster_import`\u003c/span\u003e only supported in palette vertex environment. Allowed only for \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e context\n"},"nonFipsFeatures":{"type":"boolean","description":"Allows users in this tenant to access non-FIPS-compliant features such as backup, restore, and scans. The \u003cspan pulumi-lang-nodejs=\"`nonFipsFeatures`\" pulumi-lang-dotnet=\"`NonFipsFeatures`\" pulumi-lang-go=\"`nonFipsFeatures`\" pulumi-lang-python=\"`non_fips_features`\" pulumi-lang-yaml=\"`nonFipsFeatures`\" pulumi-lang-java=\"`nonFipsFeatures`\"\u003e`non_fips_features`\u003c/span\u003e only supported in palette vertex environment. Allowed only for \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e context\n"},"pauseAgentUpgrades":{"type":"string","description":"Controls automatic upgrades for Palette components and agents in clusters deployed under a tenant or project. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e disables automatic upgrades, while \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e (default) allows automatic upgrades.\n"},"platformSettingId":{"type":"string","description":"The ID of this resource.\n"},"sessionTimeout":{"type":"number","description":"Specifies the duration (in minutes) of inactivity before a user is automatically logged out. The default is 240 minutes allowed in Palette. Allowed only for \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e context\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FPlatformSettingTimeouts:PlatformSettingTimeouts"}},"type":"object","required":["platformSettingId"],"inputProperties":{"automaticClusterRoleBinding":{"type":"boolean","description":"Enables automatic cluster role binding for clusters deployed under a tenant or project. Setting it to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e disables automatic cluster role binding.\n"},"clusterAutoRemediation":{"type":"boolean","description":"Enables automatic remediation for unhealthy nodes in Palette-provisioned clusters by replacing them with new nodes. Disabling this feature prevents auto-remediation. Not applicable to `EKS`, `AKS`, or `TKE` clusters.\n"},"context":{"type":"string","description":"Defines the scope of the platform setting. Valid values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. By default, it is set to \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"enableAutoRemediation":{"type":"boolean","description":"Enables automatic remediation. set only with `project' context\n"},"loginBanner":{"$ref":"#/types/spectrocloud:index%2FPlatformSettingLoginBanner:PlatformSettingLoginBanner","description":"Configure a login banner that users must acknowledge before signing in. Allowed only for \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e context\n"},"nonFipsAddonPack":{"type":"boolean","description":"Allows users in this tenant to use non-FIPS-compliant addon packs when creating cluster profiles. The \u003cspan pulumi-lang-nodejs=\"`nonFipsAddonPack`\" pulumi-lang-dotnet=\"`NonFipsAddonPack`\" pulumi-lang-go=\"`nonFipsAddonPack`\" pulumi-lang-python=\"`non_fips_addon_pack`\" pulumi-lang-yaml=\"`nonFipsAddonPack`\" pulumi-lang-java=\"`nonFipsAddonPack`\"\u003e`non_fips_addon_pack`\u003c/span\u003e only supported in palette vertex environment. Allowed only for \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e context\n"},"nonFipsClusterImport":{"type":"boolean","description":"Allows users in this tenant to import clusters, but the imported clusters may not be FIPS-compliant.  The \u003cspan pulumi-lang-nodejs=\"`nonFipsClusterImport`\" pulumi-lang-dotnet=\"`NonFipsClusterImport`\" pulumi-lang-go=\"`nonFipsClusterImport`\" pulumi-lang-python=\"`non_fips_cluster_import`\" pulumi-lang-yaml=\"`nonFipsClusterImport`\" pulumi-lang-java=\"`nonFipsClusterImport`\"\u003e`non_fips_cluster_import`\u003c/span\u003e only supported in palette vertex environment. Allowed only for \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e context\n"},"nonFipsFeatures":{"type":"boolean","description":"Allows users in this tenant to access non-FIPS-compliant features such as backup, restore, and scans. The \u003cspan pulumi-lang-nodejs=\"`nonFipsFeatures`\" pulumi-lang-dotnet=\"`NonFipsFeatures`\" pulumi-lang-go=\"`nonFipsFeatures`\" pulumi-lang-python=\"`non_fips_features`\" pulumi-lang-yaml=\"`nonFipsFeatures`\" pulumi-lang-java=\"`nonFipsFeatures`\"\u003e`non_fips_features`\u003c/span\u003e only supported in palette vertex environment. Allowed only for \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e context\n"},"pauseAgentUpgrades":{"type":"string","description":"Controls automatic upgrades for Palette components and agents in clusters deployed under a tenant or project. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e disables automatic upgrades, while \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e (default) allows automatic upgrades.\n"},"platformSettingId":{"type":"string","description":"The ID of this resource.\n"},"sessionTimeout":{"type":"number","description":"Specifies the duration (in minutes) of inactivity before a user is automatically logged out. The default is 240 minutes allowed in Palette. Allowed only for \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e context\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FPlatformSettingTimeouts:PlatformSettingTimeouts"}},"stateInputs":{"description":"Input properties used for looking up and filtering PlatformSetting resources.\n","properties":{"automaticClusterRoleBinding":{"type":"boolean","description":"Enables automatic cluster role binding for clusters deployed under a tenant or project. Setting it to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e disables automatic cluster role binding.\n"},"clusterAutoRemediation":{"type":"boolean","description":"Enables automatic remediation for unhealthy nodes in Palette-provisioned clusters by replacing them with new nodes. Disabling this feature prevents auto-remediation. Not applicable to `EKS`, `AKS`, or `TKE` clusters.\n"},"context":{"type":"string","description":"Defines the scope of the platform setting. Valid values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. By default, it is set to \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"enableAutoRemediation":{"type":"boolean","description":"Enables automatic remediation. set only with `project' context\n"},"loginBanner":{"$ref":"#/types/spectrocloud:index%2FPlatformSettingLoginBanner:PlatformSettingLoginBanner","description":"Configure a login banner that users must acknowledge before signing in. Allowed only for \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e context\n"},"nonFipsAddonPack":{"type":"boolean","description":"Allows users in this tenant to use non-FIPS-compliant addon packs when creating cluster profiles. The \u003cspan pulumi-lang-nodejs=\"`nonFipsAddonPack`\" pulumi-lang-dotnet=\"`NonFipsAddonPack`\" pulumi-lang-go=\"`nonFipsAddonPack`\" pulumi-lang-python=\"`non_fips_addon_pack`\" pulumi-lang-yaml=\"`nonFipsAddonPack`\" pulumi-lang-java=\"`nonFipsAddonPack`\"\u003e`non_fips_addon_pack`\u003c/span\u003e only supported in palette vertex environment. Allowed only for \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e context\n"},"nonFipsClusterImport":{"type":"boolean","description":"Allows users in this tenant to import clusters, but the imported clusters may not be FIPS-compliant.  The \u003cspan pulumi-lang-nodejs=\"`nonFipsClusterImport`\" pulumi-lang-dotnet=\"`NonFipsClusterImport`\" pulumi-lang-go=\"`nonFipsClusterImport`\" pulumi-lang-python=\"`non_fips_cluster_import`\" pulumi-lang-yaml=\"`nonFipsClusterImport`\" pulumi-lang-java=\"`nonFipsClusterImport`\"\u003e`non_fips_cluster_import`\u003c/span\u003e only supported in palette vertex environment. Allowed only for \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e context\n"},"nonFipsFeatures":{"type":"boolean","description":"Allows users in this tenant to access non-FIPS-compliant features such as backup, restore, and scans. The \u003cspan pulumi-lang-nodejs=\"`nonFipsFeatures`\" pulumi-lang-dotnet=\"`NonFipsFeatures`\" pulumi-lang-go=\"`nonFipsFeatures`\" pulumi-lang-python=\"`non_fips_features`\" pulumi-lang-yaml=\"`nonFipsFeatures`\" pulumi-lang-java=\"`nonFipsFeatures`\"\u003e`non_fips_features`\u003c/span\u003e only supported in palette vertex environment. Allowed only for \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e context\n"},"pauseAgentUpgrades":{"type":"string","description":"Controls automatic upgrades for Palette components and agents in clusters deployed under a tenant or project. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e disables automatic upgrades, while \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e (default) allows automatic upgrades.\n"},"platformSettingId":{"type":"string","description":"The ID of this resource.\n"},"sessionTimeout":{"type":"number","description":"Specifies the duration (in minutes) of inactivity before a user is automatically logged out. The default is 240 minutes allowed in Palette. Allowed only for \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e context\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FPlatformSettingTimeouts:PlatformSettingTimeouts"}},"type":"object"}},"spectrocloud:index/privatecloudgatewayDnsMap:PrivatecloudgatewayDnsMap":{"description":"This resource allows for the management of DNS mappings for private cloud gateways. This helps ensure proper DNS resolution for resources within the private cloud environment.\n\nYou can learn more about Private Cloud Gateways DNS Mapping by reviewing the [Create and Manage DNS Mappings](https://docs.spectrocloud.com/clusters/pcg/manage-pcg/add-dns-mapping/) guide.\n\n## Example Usage\n\nAn example of creating an DNS Map for a Private Cloud Gateway using a search domain, datacenter and network.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst gateway = spectrocloud.getPrivateCloudGateway({\n    name: \"test-vm-pcg\",\n});\nconst dnsMapTest = new spectrocloud.PrivatecloudgatewayDnsMap(\"dns_map_test\", {\n    privateCloudGatewayId: gateway.then(gateway =\u003e gateway.id),\n    searchDomainName: \"test1.spectro.com\",\n    dataCenter: \"DataCenterTest\",\n    network: \"TEST-VM-NETWORK\",\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\ngateway = spectrocloud.get_private_cloud_gateway(name=\"test-vm-pcg\")\ndns_map_test = spectrocloud.PrivatecloudgatewayDnsMap(\"dns_map_test\",\n    private_cloud_gateway_id=gateway.id,\n    search_domain_name=\"test1.spectro.com\",\n    data_center=\"DataCenterTest\",\n    network=\"TEST-VM-NETWORK\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var gateway = Spectrocloud.GetPrivateCloudGateway.Invoke(new()\n    {\n        Name = \"test-vm-pcg\",\n    });\n\n    var dnsMapTest = new Spectrocloud.PrivatecloudgatewayDnsMap(\"dns_map_test\", new()\n    {\n        PrivateCloudGatewayId = gateway.Apply(getPrivateCloudGatewayResult =\u003e getPrivateCloudGatewayResult.Id),\n        SearchDomainName = \"test1.spectro.com\",\n        DataCenter = \"DataCenterTest\",\n        Network = \"TEST-VM-NETWORK\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tgateway, err := spectrocloud.GetPrivateCloudGateway(ctx, \u0026spectrocloud.GetPrivateCloudGatewayArgs{\n\t\t\tName: pulumi.StringRef(\"test-vm-pcg\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.NewPrivatecloudgatewayDnsMap(ctx, \"dns_map_test\", \u0026spectrocloud.PrivatecloudgatewayDnsMapArgs{\n\t\t\tPrivateCloudGatewayId: pulumi.String(gateway.Id),\n\t\t\tSearchDomainName:      pulumi.String(\"test1.spectro.com\"),\n\t\t\tDataCenter:            pulumi.String(\"DataCenterTest\"),\n\t\t\tNetwork:               pulumi.String(\"TEST-VM-NETWORK\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetPrivateCloudGatewayArgs;\nimport com.pulumi.spectrocloud.PrivatecloudgatewayDnsMap;\nimport com.pulumi.spectrocloud.PrivatecloudgatewayDnsMapArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var gateway = SpectrocloudFunctions.getPrivateCloudGateway(GetPrivateCloudGatewayArgs.builder()\n            .name(\"test-vm-pcg\")\n            .build());\n\n        var dnsMapTest = new PrivatecloudgatewayDnsMap(\"dnsMapTest\", PrivatecloudgatewayDnsMapArgs.builder()\n            .privateCloudGatewayId(gateway.id())\n            .searchDomainName(\"test1.spectro.com\")\n            .dataCenter(\"DataCenterTest\")\n            .network(\"TEST-VM-NETWORK\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dnsMapTest:\n    type: spectrocloud:PrivatecloudgatewayDnsMap\n    name: dns_map_test\n    properties:\n      privateCloudGatewayId: ${gateway.id}\n      searchDomainName: test1.spectro.com\n      dataCenter: DataCenterTest\n      network: TEST-VM-NETWORK\nvariables:\n  gateway:\n    fn::invoke:\n      function: spectrocloud:getPrivateCloudGateway\n      arguments:\n        name: test-vm-pcg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate Cloud Gateway DNS maps can be imported using the composite ID format: `pcg_id:dns_map_id`. This is a tenant-level resource.\n\nbash\n\n```sh\n$ pulumi import spectrocloud:index/privatecloudgatewayDnsMap:PrivatecloudgatewayDnsMap example \u003cpcg_id\u003e:\u003cdns_map_id\u003e\n```\n\nWhere:\n\n- `\u003cpcg_id\u003e` is the Private Cloud Gateway ID\n\n- `\u003cdns_map_id\u003e` is the DNS map ID\n\nThe import will automatically populate all configuration fields from the Spectro Cloud API, including the associated Private Cloud Gateway ID, search domain name, data center, and network. After import, you can run `pulumi preview` to see the current configuration and make any necessary adjustments.\n\n**Note**: Since this is a tenant-level resource, ensure your provider is configured with appropriate tenant-level credentials and access.\n\n","properties":{"dataCenter":{"type":"string","description":"The data center in which the private cloud resides.\n"},"network":{"type":"string","description":"The network to which the private cloud gateway is mapped.\n"},"privateCloudGatewayId":{"type":"string","description":"The ID of the Private Cloud Gateway.\n"},"privatecloudgatewayDnsMapId":{"type":"string","description":"The ID of this resource.\n"},"searchDomainName":{"type":"string","description":"The domain name used for DNS search queries within the private cloud.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FPrivatecloudgatewayDnsMapTimeouts:PrivatecloudgatewayDnsMapTimeouts"}},"type":"object","required":["dataCenter","network","privateCloudGatewayId","privatecloudgatewayDnsMapId","searchDomainName"],"inputProperties":{"dataCenter":{"type":"string","description":"The data center in which the private cloud resides.\n"},"network":{"type":"string","description":"The network to which the private cloud gateway is mapped.\n"},"privateCloudGatewayId":{"type":"string","description":"The ID of the Private Cloud Gateway.\n"},"privatecloudgatewayDnsMapId":{"type":"string","description":"The ID of this resource.\n"},"searchDomainName":{"type":"string","description":"The domain name used for DNS search queries within the private cloud.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FPrivatecloudgatewayDnsMapTimeouts:PrivatecloudgatewayDnsMapTimeouts"}},"requiredInputs":["dataCenter","network","privateCloudGatewayId","searchDomainName"],"stateInputs":{"description":"Input properties used for looking up and filtering PrivatecloudgatewayDnsMap resources.\n","properties":{"dataCenter":{"type":"string","description":"The data center in which the private cloud resides.\n"},"network":{"type":"string","description":"The network to which the private cloud gateway is mapped.\n"},"privateCloudGatewayId":{"type":"string","description":"The ID of the Private Cloud Gateway.\n"},"privatecloudgatewayDnsMapId":{"type":"string","description":"The ID of this resource.\n"},"searchDomainName":{"type":"string","description":"The domain name used for DNS search queries within the private cloud.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FPrivatecloudgatewayDnsMapTimeouts:PrivatecloudgatewayDnsMapTimeouts"}},"type":"object"}},"spectrocloud:index/privatecloudgatewayIppool:PrivatecloudgatewayIppool":{"description":"A Resource to manage IP pools for Private Cloud Gateway.\n\nYou can learn more about Private Cloud Gateways IP Pools by revewing the [Create and Manage IPAM Node Pools](https://docs.spectrocloud.com/clusters/pcg/manage-pcg/create-manage-node-pool/) guide.\n\n## Example Usage\n\nAn example of creating an IP Pool for a Private Cloud Gateway using a range of IP addresses and restricting the IP Pool to a single cluster.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst pcg = spectrocloud.getPrivateCloudGateway({\n    name: \"wst-1-pcg\",\n});\nconst ippool = new spectrocloud.PrivatecloudgatewayIppool(\"ippool\", {\n    gateway: \"192.168.1.1\",\n    name: \"primary-compute-pool-1\",\n    networkType: \"range\",\n    prefix: 24,\n    privateCloudGatewayId: pcg.then(pcg =\u003e pcg.id),\n    ipStartRange: \"192.168.1.10\",\n    ipEndRange: \"192.168.1.100\",\n    nameserverAddresses: [\"192.168.1.8\"],\n    restrictToSingleCluster: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\npcg = spectrocloud.get_private_cloud_gateway(name=\"wst-1-pcg\")\nippool = spectrocloud.PrivatecloudgatewayIppool(\"ippool\",\n    gateway=\"192.168.1.1\",\n    name=\"primary-compute-pool-1\",\n    network_type=\"range\",\n    prefix=24,\n    private_cloud_gateway_id=pcg.id,\n    ip_start_range=\"192.168.1.10\",\n    ip_end_range=\"192.168.1.100\",\n    nameserver_addresses=[\"192.168.1.8\"],\n    restrict_to_single_cluster=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pcg = Spectrocloud.GetPrivateCloudGateway.Invoke(new()\n    {\n        Name = \"wst-1-pcg\",\n    });\n\n    var ippool = new Spectrocloud.PrivatecloudgatewayIppool(\"ippool\", new()\n    {\n        Gateway = \"192.168.1.1\",\n        Name = \"primary-compute-pool-1\",\n        NetworkType = \"range\",\n        Prefix = 24,\n        PrivateCloudGatewayId = pcg.Apply(getPrivateCloudGatewayResult =\u003e getPrivateCloudGatewayResult.Id),\n        IpStartRange = \"192.168.1.10\",\n        IpEndRange = \"192.168.1.100\",\n        NameserverAddresses = new[]\n        {\n            \"192.168.1.8\",\n        },\n        RestrictToSingleCluster = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpcg, err := spectrocloud.GetPrivateCloudGateway(ctx, \u0026spectrocloud.GetPrivateCloudGatewayArgs{\n\t\t\tName: pulumi.StringRef(\"wst-1-pcg\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.NewPrivatecloudgatewayIppool(ctx, \"ippool\", \u0026spectrocloud.PrivatecloudgatewayIppoolArgs{\n\t\t\tGateway:               pulumi.String(\"192.168.1.1\"),\n\t\t\tName:                  pulumi.String(\"primary-compute-pool-1\"),\n\t\t\tNetworkType:           pulumi.String(\"range\"),\n\t\t\tPrefix:                pulumi.Float64(24),\n\t\t\tPrivateCloudGatewayId: pulumi.String(pcg.Id),\n\t\t\tIpStartRange:          pulumi.String(\"192.168.1.10\"),\n\t\t\tIpEndRange:            pulumi.String(\"192.168.1.100\"),\n\t\t\tNameserverAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.1.8\"),\n\t\t\t},\n\t\t\tRestrictToSingleCluster: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetPrivateCloudGatewayArgs;\nimport com.pulumi.spectrocloud.PrivatecloudgatewayIppool;\nimport com.pulumi.spectrocloud.PrivatecloudgatewayIppoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pcg = SpectrocloudFunctions.getPrivateCloudGateway(GetPrivateCloudGatewayArgs.builder()\n            .name(\"wst-1-pcg\")\n            .build());\n\n        var ippool = new PrivatecloudgatewayIppool(\"ippool\", PrivatecloudgatewayIppoolArgs.builder()\n            .gateway(\"192.168.1.1\")\n            .name(\"primary-compute-pool-1\")\n            .networkType(\"range\")\n            .prefix(24.0)\n            .privateCloudGatewayId(pcg.id())\n            .ipStartRange(\"192.168.1.10\")\n            .ipEndRange(\"192.168.1.100\")\n            .nameserverAddresses(\"192.168.1.8\")\n            .restrictToSingleCluster(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  ippool:\n    type: spectrocloud:PrivatecloudgatewayIppool\n    properties:\n      gateway: 192.168.1.1\n      name: primary-compute-pool-1\n      networkType: range\n      prefix: '24'\n      privateCloudGatewayId: ${pcg.id}\n      ipStartRange: 192.168.1.10\n      ipEndRange: 192.168.1.100\n      nameserverAddresses:\n        - 192.168.1.8\n      restrictToSingleCluster: true\nvariables:\n  pcg:\n    fn::invoke:\n      function: spectrocloud:getPrivateCloudGateway\n      arguments:\n        name: wst-1-pcg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\nAn example of creating an IP Pool for a Private Cloud Gateway using a subnet of IP addresses.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst pcg = spectrocloud.getPrivateCloudGateway({\n    name: \"east-3-pcg\",\n});\nconst ippool = new spectrocloud.PrivatecloudgatewayIppool(\"ippool\", {\n    gateway: \"10.10.192.1\",\n    name: \"backup-compute-pool\",\n    networkType: \"subnet\",\n    prefix: 24,\n    subnetCidr: \"10.10.100.0/24\",\n    privateCloudGatewayId: pcg.then(pcg =\u003e pcg.id),\n    nameserverAddresses: [\"192.168.1.8\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\npcg = spectrocloud.get_private_cloud_gateway(name=\"east-3-pcg\")\nippool = spectrocloud.PrivatecloudgatewayIppool(\"ippool\",\n    gateway=\"10.10.192.1\",\n    name=\"backup-compute-pool\",\n    network_type=\"subnet\",\n    prefix=24,\n    subnet_cidr=\"10.10.100.0/24\",\n    private_cloud_gateway_id=pcg.id,\n    nameserver_addresses=[\"192.168.1.8\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pcg = Spectrocloud.GetPrivateCloudGateway.Invoke(new()\n    {\n        Name = \"east-3-pcg\",\n    });\n\n    var ippool = new Spectrocloud.PrivatecloudgatewayIppool(\"ippool\", new()\n    {\n        Gateway = \"10.10.192.1\",\n        Name = \"backup-compute-pool\",\n        NetworkType = \"subnet\",\n        Prefix = 24,\n        SubnetCidr = \"10.10.100.0/24\",\n        PrivateCloudGatewayId = pcg.Apply(getPrivateCloudGatewayResult =\u003e getPrivateCloudGatewayResult.Id),\n        NameserverAddresses = new[]\n        {\n            \"192.168.1.8\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpcg, err := spectrocloud.GetPrivateCloudGateway(ctx, \u0026spectrocloud.GetPrivateCloudGatewayArgs{\n\t\t\tName: pulumi.StringRef(\"east-3-pcg\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.NewPrivatecloudgatewayIppool(ctx, \"ippool\", \u0026spectrocloud.PrivatecloudgatewayIppoolArgs{\n\t\t\tGateway:               pulumi.String(\"10.10.192.1\"),\n\t\t\tName:                  pulumi.String(\"backup-compute-pool\"),\n\t\t\tNetworkType:           pulumi.String(\"subnet\"),\n\t\t\tPrefix:                pulumi.Float64(24),\n\t\t\tSubnetCidr:            pulumi.String(\"10.10.100.0/24\"),\n\t\t\tPrivateCloudGatewayId: pulumi.String(pcg.Id),\n\t\t\tNameserverAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"192.168.1.8\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetPrivateCloudGatewayArgs;\nimport com.pulumi.spectrocloud.PrivatecloudgatewayIppool;\nimport com.pulumi.spectrocloud.PrivatecloudgatewayIppoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var pcg = SpectrocloudFunctions.getPrivateCloudGateway(GetPrivateCloudGatewayArgs.builder()\n            .name(\"east-3-pcg\")\n            .build());\n\n        var ippool = new PrivatecloudgatewayIppool(\"ippool\", PrivatecloudgatewayIppoolArgs.builder()\n            .gateway(\"10.10.192.1\")\n            .name(\"backup-compute-pool\")\n            .networkType(\"subnet\")\n            .prefix(24.0)\n            .subnetCidr(\"10.10.100.0/24\")\n            .privateCloudGatewayId(pcg.id())\n            .nameserverAddresses(\"192.168.1.8\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  ippool:\n    type: spectrocloud:PrivatecloudgatewayIppool\n    properties:\n      gateway: 10.10.192.1\n      name: backup-compute-pool\n      networkType: subnet\n      prefix: '24'\n      subnetCidr: 10.10.100.0/24\n      privateCloudGatewayId: ${pcg.id}\n      nameserverAddresses:\n        - 192.168.1.8\nvariables:\n  pcg:\n    fn::invoke:\n      function: spectrocloud:getPrivateCloudGateway\n      arguments:\n        name: east-3-pcg\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPrivate Cloud Gateway IP pools can be imported using the composite ID format: `pcg_id:ippool_id`. This is a tenant-level resource.\n\nbash\n\n```sh\n$ pulumi import spectrocloud:index/privatecloudgatewayIppool:PrivatecloudgatewayIppool example \u003cpcg_id\u003e:\u003cippool_id\u003e\n```\n\nWhere:\n\n- `\u003cpcg_id\u003e` is the Private Cloud Gateway ID\n\n- `\u003cippool_id\u003e` is the IP Pool ID\n\nThe import will automatically populate all configuration fields from the Spectro Cloud API. After import, you can run `pulumi preview` to see the current configuration and make any necessary adjustments.\n\n**Note**: Since this is a tenant-level resource, ensure your provider is configured with appropriate tenant-level credentials and access.\n\n","properties":{"gateway":{"type":"string","description":"The network gateway IP address for the IP pool. Typically, this is the default network gateway for the subnet.\n"},"ipEndRange":{"type":"string","description":"The end IP address of the IP pool. Required if \u003cspan pulumi-lang-nodejs=\"`networkType`\" pulumi-lang-dotnet=\"`NetworkType`\" pulumi-lang-go=\"`networkType`\" pulumi-lang-python=\"`network_type`\" pulumi-lang-yaml=\"`networkType`\" pulumi-lang-java=\"`networkType`\"\u003e`network_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`range`\" pulumi-lang-dotnet=\"`Range`\" pulumi-lang-go=\"`range`\" pulumi-lang-python=\"`range`\" pulumi-lang-yaml=\"`range`\" pulumi-lang-java=\"`range`\"\u003e`range`\u003c/span\u003e.\n"},"ipStartRange":{"type":"string","description":"The start IP address of the IP pool. Required if \u003cspan pulumi-lang-nodejs=\"`networkType`\" pulumi-lang-dotnet=\"`NetworkType`\" pulumi-lang-go=\"`networkType`\" pulumi-lang-python=\"`network_type`\" pulumi-lang-yaml=\"`networkType`\" pulumi-lang-java=\"`networkType`\"\u003e`network_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`range`\" pulumi-lang-dotnet=\"`Range`\" pulumi-lang-go=\"`range`\" pulumi-lang-python=\"`range`\" pulumi-lang-yaml=\"`range`\" pulumi-lang-java=\"`range`\"\u003e`range`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the IP pool.\n"},"nameserverAddresses":{"type":"array","items":{"type":"string"},"description":"The list of nameserver IP addresses for the IP pool.\n"},"nameserverSearchSuffixes":{"type":"array","items":{"type":"string"},"description":"The list of nameserver search suffixes for the IP pool. For example, `example.org`.\n"},"networkType":{"type":"string","description":"The type of network for the IP pool. Allowed values are: \u003cspan pulumi-lang-nodejs=\"`range`\" pulumi-lang-dotnet=\"`Range`\" pulumi-lang-go=\"`range`\" pulumi-lang-python=\"`range`\" pulumi-lang-yaml=\"`range`\" pulumi-lang-java=\"`range`\"\u003e`range`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e.\n"},"prefix":{"type":"number","description":"The prefix of the IP pool provided network range or subnet. For example \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e for a `/24` subnet or a range that falls inside a \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e subnet.\n"},"privateCloudGatewayId":{"type":"string","description":"The ID of the Private Cloud Gateway.\n"},"privatecloudgatewayIppoolId":{"type":"string","description":"The ID of this resource.\n"},"restrictToSingleCluster":{"type":"boolean","description":"Restrict the IP pool to a single cluster. If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the IP pool is restricted to a single cluster. We recommend setting this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for production environments and creating separate IP pools for each cluster.\n"},"subnetCidr":{"type":"string","description":"The subnet CIDR of the IP pool. Required if \u003cspan pulumi-lang-nodejs=\"`networkType`\" pulumi-lang-dotnet=\"`NetworkType`\" pulumi-lang-go=\"`networkType`\" pulumi-lang-python=\"`network_type`\" pulumi-lang-yaml=\"`networkType`\" pulumi-lang-java=\"`networkType`\"\u003e`network_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FPrivatecloudgatewayIppoolTimeouts:PrivatecloudgatewayIppoolTimeouts"}},"type":"object","required":["gateway","name","networkType","prefix","privateCloudGatewayId","privatecloudgatewayIppoolId"],"inputProperties":{"gateway":{"type":"string","description":"The network gateway IP address for the IP pool. Typically, this is the default network gateway for the subnet.\n"},"ipEndRange":{"type":"string","description":"The end IP address of the IP pool. Required if \u003cspan pulumi-lang-nodejs=\"`networkType`\" pulumi-lang-dotnet=\"`NetworkType`\" pulumi-lang-go=\"`networkType`\" pulumi-lang-python=\"`network_type`\" pulumi-lang-yaml=\"`networkType`\" pulumi-lang-java=\"`networkType`\"\u003e`network_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`range`\" pulumi-lang-dotnet=\"`Range`\" pulumi-lang-go=\"`range`\" pulumi-lang-python=\"`range`\" pulumi-lang-yaml=\"`range`\" pulumi-lang-java=\"`range`\"\u003e`range`\u003c/span\u003e.\n"},"ipStartRange":{"type":"string","description":"The start IP address of the IP pool. Required if \u003cspan pulumi-lang-nodejs=\"`networkType`\" pulumi-lang-dotnet=\"`NetworkType`\" pulumi-lang-go=\"`networkType`\" pulumi-lang-python=\"`network_type`\" pulumi-lang-yaml=\"`networkType`\" pulumi-lang-java=\"`networkType`\"\u003e`network_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`range`\" pulumi-lang-dotnet=\"`Range`\" pulumi-lang-go=\"`range`\" pulumi-lang-python=\"`range`\" pulumi-lang-yaml=\"`range`\" pulumi-lang-java=\"`range`\"\u003e`range`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the IP pool.\n"},"nameserverAddresses":{"type":"array","items":{"type":"string"},"description":"The list of nameserver IP addresses for the IP pool.\n"},"nameserverSearchSuffixes":{"type":"array","items":{"type":"string"},"description":"The list of nameserver search suffixes for the IP pool. For example, `example.org`.\n"},"networkType":{"type":"string","description":"The type of network for the IP pool. Allowed values are: \u003cspan pulumi-lang-nodejs=\"`range`\" pulumi-lang-dotnet=\"`Range`\" pulumi-lang-go=\"`range`\" pulumi-lang-python=\"`range`\" pulumi-lang-yaml=\"`range`\" pulumi-lang-java=\"`range`\"\u003e`range`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e.\n"},"prefix":{"type":"number","description":"The prefix of the IP pool provided network range or subnet. For example \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e for a `/24` subnet or a range that falls inside a \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e subnet.\n"},"privateCloudGatewayId":{"type":"string","description":"The ID of the Private Cloud Gateway.\n"},"privatecloudgatewayIppoolId":{"type":"string","description":"The ID of this resource.\n"},"restrictToSingleCluster":{"type":"boolean","description":"Restrict the IP pool to a single cluster. If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the IP pool is restricted to a single cluster. We recommend setting this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for production environments and creating separate IP pools for each cluster.\n"},"subnetCidr":{"type":"string","description":"The subnet CIDR of the IP pool. Required if \u003cspan pulumi-lang-nodejs=\"`networkType`\" pulumi-lang-dotnet=\"`NetworkType`\" pulumi-lang-go=\"`networkType`\" pulumi-lang-python=\"`network_type`\" pulumi-lang-yaml=\"`networkType`\" pulumi-lang-java=\"`networkType`\"\u003e`network_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FPrivatecloudgatewayIppoolTimeouts:PrivatecloudgatewayIppoolTimeouts"}},"requiredInputs":["gateway","networkType","prefix","privateCloudGatewayId"],"stateInputs":{"description":"Input properties used for looking up and filtering PrivatecloudgatewayIppool resources.\n","properties":{"gateway":{"type":"string","description":"The network gateway IP address for the IP pool. Typically, this is the default network gateway for the subnet.\n"},"ipEndRange":{"type":"string","description":"The end IP address of the IP pool. Required if \u003cspan pulumi-lang-nodejs=\"`networkType`\" pulumi-lang-dotnet=\"`NetworkType`\" pulumi-lang-go=\"`networkType`\" pulumi-lang-python=\"`network_type`\" pulumi-lang-yaml=\"`networkType`\" pulumi-lang-java=\"`networkType`\"\u003e`network_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`range`\" pulumi-lang-dotnet=\"`Range`\" pulumi-lang-go=\"`range`\" pulumi-lang-python=\"`range`\" pulumi-lang-yaml=\"`range`\" pulumi-lang-java=\"`range`\"\u003e`range`\u003c/span\u003e.\n"},"ipStartRange":{"type":"string","description":"The start IP address of the IP pool. Required if \u003cspan pulumi-lang-nodejs=\"`networkType`\" pulumi-lang-dotnet=\"`NetworkType`\" pulumi-lang-go=\"`networkType`\" pulumi-lang-python=\"`network_type`\" pulumi-lang-yaml=\"`networkType`\" pulumi-lang-java=\"`networkType`\"\u003e`network_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`range`\" pulumi-lang-dotnet=\"`Range`\" pulumi-lang-go=\"`range`\" pulumi-lang-python=\"`range`\" pulumi-lang-yaml=\"`range`\" pulumi-lang-java=\"`range`\"\u003e`range`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the IP pool.\n"},"nameserverAddresses":{"type":"array","items":{"type":"string"},"description":"The list of nameserver IP addresses for the IP pool.\n"},"nameserverSearchSuffixes":{"type":"array","items":{"type":"string"},"description":"The list of nameserver search suffixes for the IP pool. For example, `example.org`.\n"},"networkType":{"type":"string","description":"The type of network for the IP pool. Allowed values are: \u003cspan pulumi-lang-nodejs=\"`range`\" pulumi-lang-dotnet=\"`Range`\" pulumi-lang-go=\"`range`\" pulumi-lang-python=\"`range`\" pulumi-lang-yaml=\"`range`\" pulumi-lang-java=\"`range`\"\u003e`range`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e.\n"},"prefix":{"type":"number","description":"The prefix of the IP pool provided network range or subnet. For example \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e for a `/24` subnet or a range that falls inside a \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e subnet.\n"},"privateCloudGatewayId":{"type":"string","description":"The ID of the Private Cloud Gateway.\n"},"privatecloudgatewayIppoolId":{"type":"string","description":"The ID of this resource.\n"},"restrictToSingleCluster":{"type":"boolean","description":"Restrict the IP pool to a single cluster. If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the IP pool is restricted to a single cluster. We recommend setting this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for production environments and creating separate IP pools for each cluster.\n"},"subnetCidr":{"type":"string","description":"The subnet CIDR of the IP pool. Required if \u003cspan pulumi-lang-nodejs=\"`networkType`\" pulumi-lang-dotnet=\"`NetworkType`\" pulumi-lang-go=\"`networkType`\" pulumi-lang-python=\"`network_type`\" pulumi-lang-yaml=\"`networkType`\" pulumi-lang-java=\"`networkType`\"\u003e`network_type`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`subnet`\" pulumi-lang-dotnet=\"`Subnet`\" pulumi-lang-go=\"`subnet`\" pulumi-lang-python=\"`subnet`\" pulumi-lang-yaml=\"`subnet`\" pulumi-lang-java=\"`subnet`\"\u003e`subnet`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FPrivatecloudgatewayIppoolTimeouts:PrivatecloudgatewayIppoolTimeouts"}},"type":"object"}},"spectrocloud:index/project:Project":{"description":"Create and manage projects in Palette.\n\n## Example Usage\n\nSimple example of a project without any additional configuration.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst project = new spectrocloud.Project(\"project\", {name: \"dev1\"});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nproject = spectrocloud.Project(\"project\", name=\"dev1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var project = new Spectrocloud.Project(\"project\", new()\n    {\n        Name = \"dev1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewProject(ctx, \"project\", \u0026spectrocloud.ProjectArgs{\n\t\t\tName: pulumi.String(\"dev1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.Project;\nimport com.pulumi.spectrocloud.ProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var project = new Project(\"project\", ProjectArgs.builder()\n            .name(\"dev1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  project:\n    type: spectrocloud:Project\n    properties:\n      name: dev1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nYou can also add tags and a description to the project.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst project = new spectrocloud.Project(\"project\", {\n    name: \"dev2\",\n    tags: [\n        \"owner:jdoe@emxaple.com\",\n        \"cost-center:12345\",\n    ],\n    description: \"This is the primary devoplent environment for team Yellow.\",\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nproject = spectrocloud.Project(\"project\",\n    name=\"dev2\",\n    tags=[\n        \"owner:jdoe@emxaple.com\",\n        \"cost-center:12345\",\n    ],\n    description=\"This is the primary devoplent environment for team Yellow.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var project = new Spectrocloud.Project(\"project\", new()\n    {\n        Name = \"dev2\",\n        Tags = new[]\n        {\n            \"owner:jdoe@emxaple.com\",\n            \"cost-center:12345\",\n        },\n        Description = \"This is the primary devoplent environment for team Yellow.\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewProject(ctx, \"project\", \u0026spectrocloud.ProjectArgs{\n\t\t\tName: pulumi.String(\"dev2\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"owner:jdoe@emxaple.com\"),\n\t\t\t\tpulumi.String(\"cost-center:12345\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"This is the primary devoplent environment for team Yellow.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.Project;\nimport com.pulumi.spectrocloud.ProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var project = new Project(\"project\", ProjectArgs.builder()\n            .name(\"dev2\")\n            .tags(            \n                \"owner:jdoe@emxaple.com\",\n                \"cost-center:12345\")\n            .description(\"This is the primary devoplent environment for team Yellow.\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  project:\n    type: spectrocloud:Project\n    properties:\n      name: dev2\n      tags:\n        - owner:jdoe@emxaple.com\n        - cost-center:12345\n      description: This is the primary devoplent environment for team Yellow.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"description":{"type":"string","description":"The description of the project.\n"},"name":{"type":"string","description":"The name of the project.\n"},"projectId":{"type":"string","description":"The ID of this resource.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Assign tags to the project.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FProjectTimeouts:ProjectTimeouts"}},"type":"object","required":["name","projectId"],"inputProperties":{"description":{"type":"string","description":"The description of the project.\n"},"name":{"type":"string","description":"The name of the project.\n"},"projectId":{"type":"string","description":"The ID of this resource.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Assign tags to the project.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FProjectTimeouts:ProjectTimeouts"}},"stateInputs":{"description":"Input properties used for looking up and filtering Project resources.\n","properties":{"description":{"type":"string","description":"The description of the project.\n"},"name":{"type":"string","description":"The name of the project.\n"},"projectId":{"type":"string","description":"The ID of this resource.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Assign tags to the project.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FProjectTimeouts:ProjectTimeouts"}},"type":"object"}},"spectrocloud:index/registrationToken:RegistrationToken":{"description":"Registration tokens in Palette are used to register an Edge host or pair a locally managed cluster for central management.[Registration Token](https://docs.spectrocloud.com/clusters/edge/site-deployment/site-installation/create-registration-token/) guide.\n\n## Example Usage\n\nAn example of managing an developer setting in Palette.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst tfToken = new spectrocloud.RegistrationToken(\"tf_token\", {\n    name: \"tf_siva\",\n    description: \"test token description updated\",\n    expiryDate: \"2025-03-25\",\n    projectUid: \"6514216503b\",\n    status: \"active\",\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\ntf_token = spectrocloud.RegistrationToken(\"tf_token\",\n    name=\"tf_siva\",\n    description=\"test token description updated\",\n    expiry_date=\"2025-03-25\",\n    project_uid=\"6514216503b\",\n    status=\"active\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var tfToken = new Spectrocloud.RegistrationToken(\"tf_token\", new()\n    {\n        Name = \"tf_siva\",\n        Description = \"test token description updated\",\n        ExpiryDate = \"2025-03-25\",\n        ProjectUid = \"6514216503b\",\n        Status = \"active\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewRegistrationToken(ctx, \"tf_token\", \u0026spectrocloud.RegistrationTokenArgs{\n\t\t\tName:        pulumi.String(\"tf_siva\"),\n\t\t\tDescription: pulumi.String(\"test token description updated\"),\n\t\t\tExpiryDate:  pulumi.String(\"2025-03-25\"),\n\t\t\tProjectUid:  pulumi.String(\"6514216503b\"),\n\t\t\tStatus:      pulumi.String(\"active\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.RegistrationToken;\nimport com.pulumi.spectrocloud.RegistrationTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var tfToken = new RegistrationToken(\"tfToken\", RegistrationTokenArgs.builder()\n            .name(\"tf_siva\")\n            .description(\"test token description updated\")\n            .expiryDate(\"2025-03-25\")\n            .projectUid(\"6514216503b\")\n            .status(\"active\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  tfToken:\n    type: spectrocloud:RegistrationToken\n    name: tf_token\n    properties:\n      name: tf_siva\n      description: test token description updated\n      expiryDate: 2025-03-25\n      projectUid: 6514216503b\n      status: active\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"description":{"type":"string","description":"A brief description of the registration token.\n"},"expiryDate":{"type":"string","description":"The expiration date of the registration token in `YYYY-MM-DD` format.\n"},"name":{"type":"string","description":"The name of the registration token.\n"},"projectUid":{"type":"string","description":"The unique identifier of the project associated with the registration token.\n"},"registrationTokenId":{"type":"string","description":"The ID of this resource.\n"},"status":{"type":"string","description":"The status of the registration token. Allowed values are \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`inactive`\" pulumi-lang-dotnet=\"`Inactive`\" pulumi-lang-go=\"`inactive`\" pulumi-lang-python=\"`inactive`\" pulumi-lang-yaml=\"`inactive`\" pulumi-lang-java=\"`inactive`\"\u003e`inactive`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FRegistrationTokenTimeouts:RegistrationTokenTimeouts"},"token":{"type":"string"}},"type":"object","required":["expiryDate","name","registrationTokenId","token"],"inputProperties":{"description":{"type":"string","description":"A brief description of the registration token.\n"},"expiryDate":{"type":"string","description":"The expiration date of the registration token in `YYYY-MM-DD` format.\n"},"name":{"type":"string","description":"The name of the registration token.\n"},"projectUid":{"type":"string","description":"The unique identifier of the project associated with the registration token.\n"},"registrationTokenId":{"type":"string","description":"The ID of this resource.\n"},"status":{"type":"string","description":"The status of the registration token. Allowed values are \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`inactive`\" pulumi-lang-dotnet=\"`Inactive`\" pulumi-lang-go=\"`inactive`\" pulumi-lang-python=\"`inactive`\" pulumi-lang-yaml=\"`inactive`\" pulumi-lang-java=\"`inactive`\"\u003e`inactive`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FRegistrationTokenTimeouts:RegistrationTokenTimeouts"}},"requiredInputs":["expiryDate"],"stateInputs":{"description":"Input properties used for looking up and filtering RegistrationToken resources.\n","properties":{"description":{"type":"string","description":"A brief description of the registration token.\n"},"expiryDate":{"type":"string","description":"The expiration date of the registration token in `YYYY-MM-DD` format.\n"},"name":{"type":"string","description":"The name of the registration token.\n"},"projectUid":{"type":"string","description":"The unique identifier of the project associated with the registration token.\n"},"registrationTokenId":{"type":"string","description":"The ID of this resource.\n"},"status":{"type":"string","description":"The status of the registration token. Allowed values are \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`inactive`\" pulumi-lang-dotnet=\"`Inactive`\" pulumi-lang-go=\"`inactive`\" pulumi-lang-python=\"`inactive`\" pulumi-lang-yaml=\"`inactive`\" pulumi-lang-java=\"`inactive`\"\u003e`inactive`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FRegistrationTokenTimeouts:RegistrationTokenTimeouts"},"token":{"type":"string"}},"type":"object"}},"spectrocloud:index/registryHelm:RegistryHelm":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst r1 = new spectrocloud.RegistryHelm(\"r1\", {\n    name: \"us-artifactory\",\n    endpoint: \"https://123456.dkr.ecr.us-west-1.amazonaws.com\",\n    isPrivate: true,\n    credentials: {\n        credentialType: \"noAuth\",\n        username: \"abc\",\n        password: \"def\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nr1 = spectrocloud.RegistryHelm(\"r1\",\n    name=\"us-artifactory\",\n    endpoint=\"https://123456.dkr.ecr.us-west-1.amazonaws.com\",\n    is_private=True,\n    credentials={\n        \"credential_type\": \"noAuth\",\n        \"username\": \"abc\",\n        \"password\": \"def\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var r1 = new Spectrocloud.RegistryHelm(\"r1\", new()\n    {\n        Name = \"us-artifactory\",\n        Endpoint = \"https://123456.dkr.ecr.us-west-1.amazonaws.com\",\n        IsPrivate = true,\n        Credentials = new Spectrocloud.Inputs.RegistryHelmCredentialsArgs\n        {\n            CredentialType = \"noAuth\",\n            Username = \"abc\",\n            Password = \"def\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewRegistryHelm(ctx, \"r1\", \u0026spectrocloud.RegistryHelmArgs{\n\t\t\tName:      pulumi.String(\"us-artifactory\"),\n\t\t\tEndpoint:  pulumi.String(\"https://123456.dkr.ecr.us-west-1.amazonaws.com\"),\n\t\t\tIsPrivate: pulumi.Bool(true),\n\t\t\tCredentials: \u0026spectrocloud.RegistryHelmCredentialsArgs{\n\t\t\t\tCredentialType: pulumi.String(\"noAuth\"),\n\t\t\t\tUsername:       pulumi.String(\"abc\"),\n\t\t\t\tPassword:       pulumi.String(\"def\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.RegistryHelm;\nimport com.pulumi.spectrocloud.RegistryHelmArgs;\nimport com.pulumi.spectrocloud.inputs.RegistryHelmCredentialsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var r1 = new RegistryHelm(\"r1\", RegistryHelmArgs.builder()\n            .name(\"us-artifactory\")\n            .endpoint(\"https://123456.dkr.ecr.us-west-1.amazonaws.com\")\n            .isPrivate(true)\n            .credentials(RegistryHelmCredentialsArgs.builder()\n                .credentialType(\"noAuth\")\n                .username(\"abc\")\n                .password(\"def\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  r1:\n    type: spectrocloud:RegistryHelm\n    properties:\n      name: us-artifactory\n      endpoint: https://123456.dkr.ecr.us-west-1.amazonaws.com\n      isPrivate: true\n      credentials:\n        credentialType: noAuth\n        username: abc\n        password: def\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nHelm registries can be imported using the registry ID. This is a tenant-level resource.\n\nbash\n\n```sh\n$ pulumi import spectrocloud:index/registryHelm:RegistryHelm example \u003cregistry_id\u003e\n```\n\nWhere `\u003cregistry_id\u003e` is the Helm registry ID.\n\nThe import will automatically populate all configuration fields from the Spectro Cloud API, including the name, endpoint, privacy setting, and authentication credentials. After import, you can run `pulumi preview` to see the current configuration and make any necessary adjustments.\n\n**Note**: Since this is a tenant-level resource, ensure your provider is configured with appropriate tenant-level credentials and access.\n\n","properties":{"credentials":{"$ref":"#/types/spectrocloud:index%2FRegistryHelmCredentials:RegistryHelmCredentials","description":"Authentication credentials for accessing the Helm registry.\n"},"endpoint":{"type":"string","description":"The URL endpoint of the Helm registry where the charts are hosted.\n"},"isPrivate":{"type":"boolean","description":"Specifies whether the Helm registry is private or public.\n"},"name":{"type":"string","description":"The name of the Helm registry. This must be unique\n"},"registryHelmId":{"type":"string","description":"The ID of this resource.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FRegistryHelmTimeouts:RegistryHelmTimeouts"},"waitForSync":{"type":"boolean"}},"type":"object","required":["credentials","endpoint","isPrivate","name","registryHelmId"],"inputProperties":{"credentials":{"$ref":"#/types/spectrocloud:index%2FRegistryHelmCredentials:RegistryHelmCredentials","description":"Authentication credentials for accessing the Helm registry.\n"},"endpoint":{"type":"string","description":"The URL endpoint of the Helm registry where the charts are hosted.\n"},"isPrivate":{"type":"boolean","description":"Specifies whether the Helm registry is private or public.\n"},"name":{"type":"string","description":"The name of the Helm registry. This must be unique\n"},"registryHelmId":{"type":"string","description":"The ID of this resource.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FRegistryHelmTimeouts:RegistryHelmTimeouts"},"waitForSync":{"type":"boolean"}},"requiredInputs":["credentials","endpoint","isPrivate"],"stateInputs":{"description":"Input properties used for looking up and filtering RegistryHelm resources.\n","properties":{"credentials":{"$ref":"#/types/spectrocloud:index%2FRegistryHelmCredentials:RegistryHelmCredentials","description":"Authentication credentials for accessing the Helm registry.\n"},"endpoint":{"type":"string","description":"The URL endpoint of the Helm registry where the charts are hosted.\n"},"isPrivate":{"type":"boolean","description":"Specifies whether the Helm registry is private or public.\n"},"name":{"type":"string","description":"The name of the Helm registry. This must be unique\n"},"registryHelmId":{"type":"string","description":"The ID of this resource.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FRegistryHelmTimeouts:RegistryHelmTimeouts"},"waitForSync":{"type":"boolean"}},"type":"object"}},"spectrocloud:index/registryOci:RegistryOci":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst r1 = new spectrocloud.RegistryOci(\"r1\", {\n    name: \"test-nik2\",\n    type: \"ecr\",\n    endpoint: \"123456.dkr.ecr.us-west-1.amazonaws.com\",\n    isPrivate: true,\n    credentials: {\n        credentialType: \"sts\",\n        arn: \"arn:aws:iam::123456:role/stage-demo-ecr\",\n        externalId: \"sofiwhgowbrgiornM=\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nr1 = spectrocloud.RegistryOci(\"r1\",\n    name=\"test-nik2\",\n    type=\"ecr\",\n    endpoint=\"123456.dkr.ecr.us-west-1.amazonaws.com\",\n    is_private=True,\n    credentials={\n        \"credential_type\": \"sts\",\n        \"arn\": \"arn:aws:iam::123456:role/stage-demo-ecr\",\n        \"external_id\": \"sofiwhgowbrgiornM=\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var r1 = new Spectrocloud.RegistryOci(\"r1\", new()\n    {\n        Name = \"test-nik2\",\n        Type = \"ecr\",\n        Endpoint = \"123456.dkr.ecr.us-west-1.amazonaws.com\",\n        IsPrivate = true,\n        Credentials = new Spectrocloud.Inputs.RegistryOciCredentialsArgs\n        {\n            CredentialType = \"sts\",\n            Arn = \"arn:aws:iam::123456:role/stage-demo-ecr\",\n            ExternalId = \"sofiwhgowbrgiornM=\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewRegistryOci(ctx, \"r1\", \u0026spectrocloud.RegistryOciArgs{\n\t\t\tName:      pulumi.String(\"test-nik2\"),\n\t\t\tType:      pulumi.String(\"ecr\"),\n\t\t\tEndpoint:  pulumi.String(\"123456.dkr.ecr.us-west-1.amazonaws.com\"),\n\t\t\tIsPrivate: pulumi.Bool(true),\n\t\t\tCredentials: \u0026spectrocloud.RegistryOciCredentialsArgs{\n\t\t\t\tCredentialType: pulumi.String(\"sts\"),\n\t\t\t\tArn:            pulumi.String(\"arn:aws:iam::123456:role/stage-demo-ecr\"),\n\t\t\t\tExternalId:     pulumi.String(\"sofiwhgowbrgiornM=\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.RegistryOci;\nimport com.pulumi.spectrocloud.RegistryOciArgs;\nimport com.pulumi.spectrocloud.inputs.RegistryOciCredentialsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var r1 = new RegistryOci(\"r1\", RegistryOciArgs.builder()\n            .name(\"test-nik2\")\n            .type(\"ecr\")\n            .endpoint(\"123456.dkr.ecr.us-west-1.amazonaws.com\")\n            .isPrivate(true)\n            .credentials(RegistryOciCredentialsArgs.builder()\n                .credentialType(\"sts\")\n                .arn(\"arn:aws:iam::123456:role/stage-demo-ecr\")\n                .externalId(\"sofiwhgowbrgiornM=\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  r1:\n    type: spectrocloud:RegistryOci\n    properties:\n      name: test-nik2\n      type: ecr\n      endpoint: 123456.dkr.ecr.us-west-1.amazonaws.com\n      isPrivate: true\n      credentials:\n        credentialType: sts\n        arn: arn:aws:iam::123456:role/stage-demo-ecr\n        externalId: sofiwhgowbrgiornM=\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nOCI registries can be imported either using the registry ID or the registry name. This is a tenant-level resource.\n\n**Import by UID:**\n\nbash\n\n```sh\n$ pulumi import spectrocloud:index/registryOci:RegistryOci example \u003cregistry_id\u003e\n```\n\nWhere `\u003cregistry_id\u003e` is the OCI registry ID.\n\n**Import by Name:**\n\nbash\n\n```sh\n$ pulumi import spectrocloud:index/registryOci:RegistryOci example \u003cregistry_name\u003e\n```\n\nbash\n\n```sh\n$ pulumi import spectrocloud:index/registryOci:RegistryOci example \"Pack Registry\"\n```\n\nThe import will automatically detect whether the registry is an ECR or basic type and populate all configuration fields from the Spectro Cloud API. After import, you can run `pulumi preview` to see the current configuration and make any necessary adjustments.\n\n**Note**: Since this is a tenant-level resource, ensure your provider is configured with appropriate tenant-level credentials and access.\n\n","properties":{"baseContentPath":{"type":"string","description":"The relative path to the endpoint specified.\n"},"credentials":{"$ref":"#/types/spectrocloud:index%2FRegistryOciCredentials:RegistryOciCredentials","description":"Authentication credentials to access the private OCI registry. Required if \u003cspan pulumi-lang-nodejs=\"`isPrivate`\" pulumi-lang-dotnet=\"`IsPrivate`\" pulumi-lang-go=\"`isPrivate`\" pulumi-lang-python=\"`is_private`\" pulumi-lang-yaml=\"`isPrivate`\" pulumi-lang-java=\"`isPrivate`\"\u003e`is_private`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"},"endpoint":{"type":"string","description":"The URL endpoint of the OCI registry. This is where the container images are hosted and accessed.\n"},"endpointSuffix":{"type":"string","description":"Specifies a suffix to append to the endpoint. This field is optional, but some registries (e.g., JFrog) may require it. The final registry URL is constructed by appending this suffix to the endpoint.\n"},"isPrivate":{"type":"boolean","description":"Specifies whether the registry is private or public. Private registries require authentication to access.\n"},"isSynchronization":{"type":"boolean","description":"Specifies whether the registry is synchronized.\n"},"name":{"type":"string","description":"The name of the OCI registry.\n"},"providerType":{"type":"string","description":"The type of provider used for interacting with the registry. Supported value's are \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zarf`\" pulumi-lang-dotnet=\"`Zarf`\" pulumi-lang-go=\"`zarf`\" pulumi-lang-python=\"`zarf`\" pulumi-lang-yaml=\"`zarf`\" pulumi-lang-java=\"`zarf`\"\u003e`zarf`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`pack`\" pulumi-lang-dotnet=\"`Pack`\" pulumi-lang-go=\"`pack`\" pulumi-lang-python=\"`pack`\" pulumi-lang-yaml=\"`pack`\" pulumi-lang-java=\"`pack`\"\u003e`pack`\u003c/span\u003e, The default is 'helm'. \u003cspan pulumi-lang-nodejs=\"`zarf`\" pulumi-lang-dotnet=\"`Zarf`\" pulumi-lang-go=\"`zarf`\" pulumi-lang-python=\"`zarf`\" pulumi-lang-yaml=\"`zarf`\" pulumi-lang-java=\"`zarf`\"\u003e`zarf`\u003c/span\u003e is allowed with `type=\"basic\"`\n"},"registryOciId":{"type":"string","description":"The ID of this resource.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FRegistryOciTimeouts:RegistryOciTimeouts"},"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).\n"},"waitForStatusMessage":{"type":"string","description":"The status message from the last sync operation. This is a computed field that is populated after sync completes.\n"},"waitForSync":{"type":"boolean"}},"type":"object","required":["credentials","endpoint","isPrivate","name","registryOciId","type","waitForStatusMessage"],"inputProperties":{"baseContentPath":{"type":"string","description":"The relative path to the endpoint specified.\n"},"credentials":{"$ref":"#/types/spectrocloud:index%2FRegistryOciCredentials:RegistryOciCredentials","description":"Authentication credentials to access the private OCI registry. Required if \u003cspan pulumi-lang-nodejs=\"`isPrivate`\" pulumi-lang-dotnet=\"`IsPrivate`\" pulumi-lang-go=\"`isPrivate`\" pulumi-lang-python=\"`is_private`\" pulumi-lang-yaml=\"`isPrivate`\" pulumi-lang-java=\"`isPrivate`\"\u003e`is_private`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"},"endpoint":{"type":"string","description":"The URL endpoint of the OCI registry. This is where the container images are hosted and accessed.\n"},"endpointSuffix":{"type":"string","description":"Specifies a suffix to append to the endpoint. This field is optional, but some registries (e.g., JFrog) may require it. The final registry URL is constructed by appending this suffix to the endpoint.\n"},"isPrivate":{"type":"boolean","description":"Specifies whether the registry is private or public. Private registries require authentication to access.\n"},"isSynchronization":{"type":"boolean","description":"Specifies whether the registry is synchronized.\n"},"name":{"type":"string","description":"The name of the OCI registry.\n"},"providerType":{"type":"string","description":"The type of provider used for interacting with the registry. Supported value's are \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zarf`\" pulumi-lang-dotnet=\"`Zarf`\" pulumi-lang-go=\"`zarf`\" pulumi-lang-python=\"`zarf`\" pulumi-lang-yaml=\"`zarf`\" pulumi-lang-java=\"`zarf`\"\u003e`zarf`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`pack`\" pulumi-lang-dotnet=\"`Pack`\" pulumi-lang-go=\"`pack`\" pulumi-lang-python=\"`pack`\" pulumi-lang-yaml=\"`pack`\" pulumi-lang-java=\"`pack`\"\u003e`pack`\u003c/span\u003e, The default is 'helm'. \u003cspan pulumi-lang-nodejs=\"`zarf`\" pulumi-lang-dotnet=\"`Zarf`\" pulumi-lang-go=\"`zarf`\" pulumi-lang-python=\"`zarf`\" pulumi-lang-yaml=\"`zarf`\" pulumi-lang-java=\"`zarf`\"\u003e`zarf`\u003c/span\u003e is allowed with `type=\"basic\"`\n"},"registryOciId":{"type":"string","description":"The ID of this resource.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FRegistryOciTimeouts:RegistryOciTimeouts"},"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).\n"},"waitForStatusMessage":{"type":"string","description":"The status message from the last sync operation. This is a computed field that is populated after sync completes.\n"},"waitForSync":{"type":"boolean"}},"requiredInputs":["credentials","endpoint","isPrivate","type"],"stateInputs":{"description":"Input properties used for looking up and filtering RegistryOci resources.\n","properties":{"baseContentPath":{"type":"string","description":"The relative path to the endpoint specified.\n"},"credentials":{"$ref":"#/types/spectrocloud:index%2FRegistryOciCredentials:RegistryOciCredentials","description":"Authentication credentials to access the private OCI registry. Required if \u003cspan pulumi-lang-nodejs=\"`isPrivate`\" pulumi-lang-dotnet=\"`IsPrivate`\" pulumi-lang-go=\"`isPrivate`\" pulumi-lang-python=\"`is_private`\" pulumi-lang-yaml=\"`isPrivate`\" pulumi-lang-java=\"`isPrivate`\"\u003e`is_private`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e\n"},"endpoint":{"type":"string","description":"The URL endpoint of the OCI registry. This is where the container images are hosted and accessed.\n"},"endpointSuffix":{"type":"string","description":"Specifies a suffix to append to the endpoint. This field is optional, but some registries (e.g., JFrog) may require it. The final registry URL is constructed by appending this suffix to the endpoint.\n"},"isPrivate":{"type":"boolean","description":"Specifies whether the registry is private or public. Private registries require authentication to access.\n"},"isSynchronization":{"type":"boolean","description":"Specifies whether the registry is synchronized.\n"},"name":{"type":"string","description":"The name of the OCI registry.\n"},"providerType":{"type":"string","description":"The type of provider used for interacting with the registry. Supported value's are \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zarf`\" pulumi-lang-dotnet=\"`Zarf`\" pulumi-lang-go=\"`zarf`\" pulumi-lang-python=\"`zarf`\" pulumi-lang-yaml=\"`zarf`\" pulumi-lang-java=\"`zarf`\"\u003e`zarf`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`pack`\" pulumi-lang-dotnet=\"`Pack`\" pulumi-lang-go=\"`pack`\" pulumi-lang-python=\"`pack`\" pulumi-lang-yaml=\"`pack`\" pulumi-lang-java=\"`pack`\"\u003e`pack`\u003c/span\u003e, The default is 'helm'. \u003cspan pulumi-lang-nodejs=\"`zarf`\" pulumi-lang-dotnet=\"`Zarf`\" pulumi-lang-go=\"`zarf`\" pulumi-lang-python=\"`zarf`\" pulumi-lang-yaml=\"`zarf`\" pulumi-lang-java=\"`zarf`\"\u003e`zarf`\u003c/span\u003e is allowed with `type=\"basic\"`\n"},"registryOciId":{"type":"string","description":"The ID of this resource.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FRegistryOciTimeouts:RegistryOciTimeouts"},"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).\n"},"waitForStatusMessage":{"type":"string","description":"The status message from the last sync operation. This is a computed field that is populated after sync completes.\n"},"waitForSync":{"type":"boolean"}},"type":"object"}},"spectrocloud:index/resourceLimit:ResourceLimit":{"description":"You can learn more about managing resource limit in Palette by reviewing the [Default Resource Limit](https://docs.spectrocloud.com/tenant-settings/palette-resource-limits/?utm_source=palette\u0026utm_medium=product2docs) guide.\n\n\u003e The\u003cspan pulumi-lang-nodejs=\" resourceLimit \" pulumi-lang-dotnet=\" ResourceLimit \" pulumi-lang-go=\" resourceLimit \" pulumi-lang-python=\" resource_limit \" pulumi-lang-yaml=\" resourceLimit \" pulumi-lang-java=\" resourceLimit \"\u003e resource_limit \u003c/span\u003eresource enforces a resource limit in Palette. By default, a resource limit is configured in Palette with default values. Users can update the resource limit settings as per their requirements. When a\u003cspan pulumi-lang-nodejs=\" spectrocloud.ResourceLimit \" pulumi-lang-dotnet=\" spectrocloud.ResourceLimit \" pulumi-lang-go=\" ResourceLimit \" pulumi-lang-python=\" ResourceLimit \" pulumi-lang-yaml=\" spectrocloud.ResourceLimit \" pulumi-lang-java=\" spectrocloud.ResourceLimit \"\u003e spectrocloud.ResourceLimit \u003c/span\u003eresource is destroyed, the resource limits will revert to the Palette default settings.\n\n## Example Usage\n\nAn example of managing an password policy in Palette.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst resourceLimit = new spectrocloud.ResourceLimit(\"resource_limit\", {\n    alert: 101,\n    apiKeys: 201,\n    appliance: 6001,\n    applianceToken: 201,\n    applicationDeployment: 200,\n    applicationProfile: 200,\n    certificate: 20,\n    cloudAccount: 355,\n    cluster: 300,\n    clusterGroup: 50,\n    clusterProfile: 2500,\n    filter: 200,\n    location: 100,\n    macro: 6000,\n    privateGateway: 100,\n    project: 200,\n    registry: 200,\n    role: 100,\n    sshKey: 300,\n    team: 100,\n    user: 300,\n    workspace: 60,\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nresource_limit = spectrocloud.ResourceLimit(\"resource_limit\",\n    alert=101,\n    api_keys=201,\n    appliance=6001,\n    appliance_token=201,\n    application_deployment=200,\n    application_profile=200,\n    certificate=20,\n    cloud_account=355,\n    cluster=300,\n    cluster_group=50,\n    cluster_profile=2500,\n    filter=200,\n    location=100,\n    macro=6000,\n    private_gateway=100,\n    project=200,\n    registry=200,\n    role=100,\n    ssh_key=300,\n    team=100,\n    user=300,\n    workspace=60)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var resourceLimit = new Spectrocloud.ResourceLimit(\"resource_limit\", new()\n    {\n        Alert = 101,\n        ApiKeys = 201,\n        Appliance = 6001,\n        ApplianceToken = 201,\n        ApplicationDeployment = 200,\n        ApplicationProfile = 200,\n        Certificate = 20,\n        CloudAccount = 355,\n        Cluster = 300,\n        ClusterGroup = 50,\n        ClusterProfile = 2500,\n        Filter = 200,\n        Location = 100,\n        Macro = 6000,\n        PrivateGateway = 100,\n        Project = 200,\n        Registry = 200,\n        Role = 100,\n        SshKey = 300,\n        Team = 100,\n        User = 300,\n        Workspace = 60,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewResourceLimit(ctx, \"resource_limit\", \u0026spectrocloud.ResourceLimitArgs{\n\t\t\tAlert:                 pulumi.Float64(101),\n\t\t\tApiKeys:               pulumi.Float64(201),\n\t\t\tAppliance:             pulumi.Float64(6001),\n\t\t\tApplianceToken:        pulumi.Float64(201),\n\t\t\tApplicationDeployment: pulumi.Float64(200),\n\t\t\tApplicationProfile:    pulumi.Float64(200),\n\t\t\tCertificate:           pulumi.Float64(20),\n\t\t\tCloudAccount:          pulumi.Float64(355),\n\t\t\tCluster:               pulumi.Float64(300),\n\t\t\tClusterGroup:          pulumi.Float64(50),\n\t\t\tClusterProfile:        pulumi.Float64(2500),\n\t\t\tFilter:                pulumi.Float64(200),\n\t\t\tLocation:              pulumi.Float64(100),\n\t\t\tMacro:                 pulumi.Float64(6000),\n\t\t\tPrivateGateway:        pulumi.Float64(100),\n\t\t\tProject:               pulumi.Float64(200),\n\t\t\tRegistry:              pulumi.Float64(200),\n\t\t\tRole:                  pulumi.Float64(100),\n\t\t\tSshKey:                pulumi.Float64(300),\n\t\t\tTeam:                  pulumi.Float64(100),\n\t\t\tUser:                  pulumi.Float64(300),\n\t\t\tWorkspace:             pulumi.Float64(60),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.ResourceLimit;\nimport com.pulumi.spectrocloud.ResourceLimitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var resourceLimit = new ResourceLimit(\"resourceLimit\", ResourceLimitArgs.builder()\n            .alert(101.0)\n            .apiKeys(201.0)\n            .appliance(6001.0)\n            .applianceToken(201.0)\n            .applicationDeployment(200.0)\n            .applicationProfile(200.0)\n            .certificate(20.0)\n            .cloudAccount(355.0)\n            .cluster(300.0)\n            .clusterGroup(50.0)\n            .clusterProfile(2500.0)\n            .filter(200.0)\n            .location(100.0)\n            .macro(6000.0)\n            .privateGateway(100.0)\n            .project(200.0)\n            .registry(200.0)\n            .role(100.0)\n            .sshKey(300.0)\n            .team(100.0)\n            .user(300.0)\n            .workspace(60.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  resourceLimit:\n    type: spectrocloud:ResourceLimit\n    name: resource_limit\n    properties:\n      alert: 101\n      apiKeys: 201\n      appliance: 6001\n      applianceToken: 201\n      applicationDeployment: 200\n      applicationProfile: 200\n      certificate: 20\n      cloudAccount: 355\n      cluster: 300\n      clusterGroup: 50\n      clusterProfile: 2500\n      filter: 200\n      location: 100\n      macro: 6000\n      privateGateway: 100\n      project: 200\n      registry: 200\n      role: 100\n      sshKey: 300\n      team: 100\n      user: 300\n      workspace: 60\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"alert":{"type":"number","description":"The maximum number of alerts that can be created. Must be between 1 and 10,000.\n"},"apiKeys":{"type":"number","description":"The maximum number of API keys that can be generated. Must be between 1 and 10,000.\n"},"appliance":{"type":"number","description":"The maximum number of appliances that can be managed. Must be between 1 and 50,000.\n"},"applianceToken":{"type":"number","description":"The maximum number of appliance tokens that can be issued. Must be between 1 and 10,000.\n"},"applicationDeployment":{"type":"number","description":"The maximum number of application deployments allowed. Must be between 1 and 10,000.\n"},"applicationProfile":{"type":"number","description":"The maximum number of application profiles that can be configured. Must be between 1 and 10,000.\n"},"certificate":{"type":"number","description":"The maximum number of certificates that can be managed. Must be between 1 and 10,000.\n"},"cloudAccount":{"type":"number","description":"The maximum number of cloud accounts that can be added. Must be between 1 and 10,000.\n"},"cluster":{"type":"number","description":"The maximum number of clusters that can be created. Must be between 1 and 50,000.\n"},"clusterGroup":{"type":"number","description":"The maximum number of cluster groups that can be created. Must be between 1 and 10,000.\n"},"clusterProfile":{"type":"number","description":"The maximum number of cluster profiles that can be configured. Must be between 1 and 10,000.\n"},"filter":{"type":"number","description":"The maximum number of filters that can be defined. Must be between 1 and 10,000.\n"},"location":{"type":"number","description":"The maximum number of locations that can be configured. Must be between 1 and 10,000.\n"},"macro":{"type":"number","description":"The maximum number of macros that can be created. Must be between 1 and 10,000.\n"},"privateGateway":{"type":"number","description":"The maximum number of private gateways that can be managed. Must be between 1 and 10,000.\n"},"project":{"type":"number","description":"The maximum number of projects that can be created. Must be between 1 and 10,000.\n"},"registry":{"type":"number","description":"The maximum number of registries that can be configured. Must be between 1 and 10,000.\n"},"resourceLimitId":{"type":"string","description":"The ID of this resource.\n"},"role":{"type":"number","description":"The maximum number of roles that can be assigned. Must be between 1 and 10,000.\n"},"sshKey":{"type":"number","description":"The maximum number of SSH keys that can be managed. Must be between 1 and 10,000.\n"},"team":{"type":"number","description":"The maximum number of teams that can be created. Must be between 1 and 10,000.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FResourceLimitTimeouts:ResourceLimitTimeouts"},"user":{"type":"number","description":"The maximum number of users that can be added. Must be between 1 and 10,000.\n"},"workspace":{"type":"number","description":"The maximum number of workspaces that can be created. Must be between 1 and 10,000.\n"}},"type":"object","required":["resourceLimitId"],"inputProperties":{"alert":{"type":"number","description":"The maximum number of alerts that can be created. Must be between 1 and 10,000.\n"},"apiKeys":{"type":"number","description":"The maximum number of API keys that can be generated. Must be between 1 and 10,000.\n"},"appliance":{"type":"number","description":"The maximum number of appliances that can be managed. Must be between 1 and 50,000.\n"},"applianceToken":{"type":"number","description":"The maximum number of appliance tokens that can be issued. Must be between 1 and 10,000.\n"},"applicationDeployment":{"type":"number","description":"The maximum number of application deployments allowed. Must be between 1 and 10,000.\n"},"applicationProfile":{"type":"number","description":"The maximum number of application profiles that can be configured. Must be between 1 and 10,000.\n"},"certificate":{"type":"number","description":"The maximum number of certificates that can be managed. Must be between 1 and 10,000.\n"},"cloudAccount":{"type":"number","description":"The maximum number of cloud accounts that can be added. Must be between 1 and 10,000.\n"},"cluster":{"type":"number","description":"The maximum number of clusters that can be created. Must be between 1 and 50,000.\n"},"clusterGroup":{"type":"number","description":"The maximum number of cluster groups that can be created. Must be between 1 and 10,000.\n"},"clusterProfile":{"type":"number","description":"The maximum number of cluster profiles that can be configured. Must be between 1 and 10,000.\n"},"filter":{"type":"number","description":"The maximum number of filters that can be defined. Must be between 1 and 10,000.\n"},"location":{"type":"number","description":"The maximum number of locations that can be configured. Must be between 1 and 10,000.\n"},"macro":{"type":"number","description":"The maximum number of macros that can be created. Must be between 1 and 10,000.\n"},"privateGateway":{"type":"number","description":"The maximum number of private gateways that can be managed. Must be between 1 and 10,000.\n"},"project":{"type":"number","description":"The maximum number of projects that can be created. Must be between 1 and 10,000.\n"},"registry":{"type":"number","description":"The maximum number of registries that can be configured. Must be between 1 and 10,000.\n"},"resourceLimitId":{"type":"string","description":"The ID of this resource.\n"},"role":{"type":"number","description":"The maximum number of roles that can be assigned. Must be between 1 and 10,000.\n"},"sshKey":{"type":"number","description":"The maximum number of SSH keys that can be managed. Must be between 1 and 10,000.\n"},"team":{"type":"number","description":"The maximum number of teams that can be created. Must be between 1 and 10,000.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FResourceLimitTimeouts:ResourceLimitTimeouts"},"user":{"type":"number","description":"The maximum number of users that can be added. Must be between 1 and 10,000.\n"},"workspace":{"type":"number","description":"The maximum number of workspaces that can be created. Must be between 1 and 10,000.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering ResourceLimit resources.\n","properties":{"alert":{"type":"number","description":"The maximum number of alerts that can be created. Must be between 1 and 10,000.\n"},"apiKeys":{"type":"number","description":"The maximum number of API keys that can be generated. Must be between 1 and 10,000.\n"},"appliance":{"type":"number","description":"The maximum number of appliances that can be managed. Must be between 1 and 50,000.\n"},"applianceToken":{"type":"number","description":"The maximum number of appliance tokens that can be issued. Must be between 1 and 10,000.\n"},"applicationDeployment":{"type":"number","description":"The maximum number of application deployments allowed. Must be between 1 and 10,000.\n"},"applicationProfile":{"type":"number","description":"The maximum number of application profiles that can be configured. Must be between 1 and 10,000.\n"},"certificate":{"type":"number","description":"The maximum number of certificates that can be managed. Must be between 1 and 10,000.\n"},"cloudAccount":{"type":"number","description":"The maximum number of cloud accounts that can be added. Must be between 1 and 10,000.\n"},"cluster":{"type":"number","description":"The maximum number of clusters that can be created. Must be between 1 and 50,000.\n"},"clusterGroup":{"type":"number","description":"The maximum number of cluster groups that can be created. Must be between 1 and 10,000.\n"},"clusterProfile":{"type":"number","description":"The maximum number of cluster profiles that can be configured. Must be between 1 and 10,000.\n"},"filter":{"type":"number","description":"The maximum number of filters that can be defined. Must be between 1 and 10,000.\n"},"location":{"type":"number","description":"The maximum number of locations that can be configured. Must be between 1 and 10,000.\n"},"macro":{"type":"number","description":"The maximum number of macros that can be created. Must be between 1 and 10,000.\n"},"privateGateway":{"type":"number","description":"The maximum number of private gateways that can be managed. Must be between 1 and 10,000.\n"},"project":{"type":"number","description":"The maximum number of projects that can be created. Must be between 1 and 10,000.\n"},"registry":{"type":"number","description":"The maximum number of registries that can be configured. Must be between 1 and 10,000.\n"},"resourceLimitId":{"type":"string","description":"The ID of this resource.\n"},"role":{"type":"number","description":"The maximum number of roles that can be assigned. Must be between 1 and 10,000.\n"},"sshKey":{"type":"number","description":"The maximum number of SSH keys that can be managed. Must be between 1 and 10,000.\n"},"team":{"type":"number","description":"The maximum number of teams that can be created. Must be between 1 and 10,000.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FResourceLimitTimeouts:ResourceLimitTimeouts"},"user":{"type":"number","description":"The maximum number of users that can be added. Must be between 1 and 10,000.\n"},"workspace":{"type":"number","description":"The maximum number of workspaces that can be created. Must be between 1 and 10,000.\n"}},"type":"object"}},"spectrocloud:index/role:Role":{"description":"The role resource allows you to manage roles in Palette.\n\nYou can learn more about managing roles in Palette by reviewing the [Roles](https://docs.spectrocloud.com/glossary-all/#role) guide.\n\n","properties":{"name":{"type":"string","description":"The name of the role.\n"},"permissions":{"type":"array","items":{"type":"string"},"description":"The permission's assigned to the role.\n"},"roleId":{"type":"string","description":"The ID of this resource.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FRoleTimeouts:RoleTimeouts"},"type":{"type":"string","description":"The role type. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`resource`\" pulumi-lang-dotnet=\"`Resource`\" pulumi-lang-go=\"`resource`\" pulumi-lang-python=\"`resource`\" pulumi-lang-yaml=\"`resource`\" pulumi-lang-java=\"`resource`\"\u003e`resource`\u003c/span\u003e\n"}},"type":"object","required":["name","permissions","roleId"],"inputProperties":{"name":{"type":"string","description":"The name of the role.\n"},"permissions":{"type":"array","items":{"type":"string"},"description":"The permission's assigned to the role.\n"},"roleId":{"type":"string","description":"The ID of this resource.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FRoleTimeouts:RoleTimeouts"},"type":{"type":"string","description":"The role type. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`resource`\" pulumi-lang-dotnet=\"`Resource`\" pulumi-lang-go=\"`resource`\" pulumi-lang-python=\"`resource`\" pulumi-lang-yaml=\"`resource`\" pulumi-lang-java=\"`resource`\"\u003e`resource`\u003c/span\u003e\n"}},"requiredInputs":["permissions"],"stateInputs":{"description":"Input properties used for looking up and filtering Role resources.\n","properties":{"name":{"type":"string","description":"The name of the role.\n"},"permissions":{"type":"array","items":{"type":"string"},"description":"The permission's assigned to the role.\n"},"roleId":{"type":"string","description":"The ID of this resource.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FRoleTimeouts:RoleTimeouts"},"type":{"type":"string","description":"The role type. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`resource`\" pulumi-lang-dotnet=\"`Resource`\" pulumi-lang-go=\"`resource`\" pulumi-lang-python=\"`resource`\" pulumi-lang-yaml=\"`resource`\" pulumi-lang-java=\"`resource`\"\u003e`resource`\u003c/span\u003e\n"}},"type":"object"}},"spectrocloud:index/sshKey:SshKey":{"description":"The SSH key resource allows you to manage SSH keys in Palette.\n\nYou can learn more about managing SSH keys in Palette by reviewing the [SSH Keys](https://docs.spectrocloud.com/clusters/cluster-management/ssh-keys/) guide.\n\n\u003e The \u003cspan pulumi-lang-nodejs=\"`sshKey`\" pulumi-lang-dotnet=\"`SshKey`\" pulumi-lang-go=\"`sshKey`\" pulumi-lang-python=\"`ssh_key`\" pulumi-lang-yaml=\"`sshKey`\" pulumi-lang-java=\"`sshKey`\"\u003e`ssh_key`\u003c/span\u003e resource will not generate an SSH key pair. You must provide the public key to an existing SSH key as a string value to the \u003cspan pulumi-lang-nodejs=\"`sshKey`\" pulumi-lang-dotnet=\"`SshKey`\" pulumi-lang-go=\"`sshKey`\" pulumi-lang-python=\"`ssh_key`\" pulumi-lang-yaml=\"`sshKey`\" pulumi-lang-java=\"`sshKey`\"\u003e`ssh_key`\u003c/span\u003e attribute. Refer to the Generate Key with TLS Provider section for additonal guidance.\n\n## Example Usage\n\nAn example of creating an SSH key resource in Palette.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst sshTenant = new spectrocloud.SshKey(\"ssh_tenant\", {\n    name: \"ssh-dev-1\",\n    context: \"project\",\n    sshKey: \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZ.....\",\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nssh_tenant = spectrocloud.SshKey(\"ssh_tenant\",\n    name=\"ssh-dev-1\",\n    context=\"project\",\n    ssh_key=\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZ.....\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sshTenant = new Spectrocloud.SshKey(\"ssh_tenant\", new()\n    {\n        Name = \"ssh-dev-1\",\n        Context = \"project\",\n        SshKey = \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZ.....\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewSshKey(ctx, \"ssh_tenant\", \u0026spectrocloud.SshKeyArgs{\n\t\t\tName:    pulumi.String(\"ssh-dev-1\"),\n\t\t\tContext: pulumi.String(\"project\"),\n\t\t\tSshKey:  pulumi.String(\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZ.....\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SshKey;\nimport com.pulumi.spectrocloud.SshKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var sshTenant = new SshKey(\"sshTenant\", SshKeyArgs.builder()\n            .name(\"ssh-dev-1\")\n            .context(\"project\")\n            .sshKey(\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZ.....\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  sshTenant:\n    type: spectrocloud:SshKey\n    name: ssh_tenant\n    properties:\n      name: ssh-dev-1\n      context: project\n      sshKey: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZ.....\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe example below demonstrates how to create an SSH key resource in Palette with the \u003cspan pulumi-lang-nodejs=\"`context`\" pulumi-lang-dotnet=\"`Context`\" pulumi-lang-go=\"`context`\" pulumi-lang-python=\"`context`\" pulumi-lang-yaml=\"`context`\" pulumi-lang-java=\"`context`\"\u003e`context`\u003c/span\u003e attribute set to \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst sshTenant = new spectrocloud.SshKey(\"ssh_tenant\", {\n    name: \"ssh-dev-1\",\n    context: \"tenant\",\n    sshKey: sshKeyValue,\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nssh_tenant = spectrocloud.SshKey(\"ssh_tenant\",\n    name=\"ssh-dev-1\",\n    context=\"tenant\",\n    ssh_key=ssh_key_value)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sshTenant = new Spectrocloud.SshKey(\"ssh_tenant\", new()\n    {\n        Name = \"ssh-dev-1\",\n        Context = \"tenant\",\n        SshKey = sshKeyValue,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewSshKey(ctx, \"ssh_tenant\", \u0026spectrocloud.SshKeyArgs{\n\t\t\tName:    pulumi.String(\"ssh-dev-1\"),\n\t\t\tContext: pulumi.String(\"tenant\"),\n\t\t\tSshKey:  pulumi.Any(sshKeyValue),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SshKey;\nimport com.pulumi.spectrocloud.SshKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var sshTenant = new SshKey(\"sshTenant\", SshKeyArgs.builder()\n            .name(\"ssh-dev-1\")\n            .context(\"tenant\")\n            .sshKey(sshKeyValue)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  sshTenant:\n    type: spectrocloud:SshKey\n    name: ssh_tenant\n    properties:\n      name: ssh-dev-1\n      context: tenant\n      sshKey: ${sshKeyValue}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Context-specific Import\n\nbash\n\n```sh\n$ pulumi import spectrocloud:index/sshKey:SshKey example \u003cssh_key_id\u003e:project\n```\n\n```sh\n$ pulumi import spectrocloud:index/sshKey:SshKey example \u003cssh_key_id\u003e:tenant\n```\n\nWhere:\n\n- `\u003cssh_key_id\u003e` is the SSH key ID\n\n- `project` or `tenant` specifies the context where the SSH key exists\n\n**Import behavior:**\n\n- If no context is specified, it defaults to `project` context\n\n- If the resource is not found in the specified context, the import will automatically try the other context\n\n- The import will automatically populate all configuration fields from the Spectro Cloud API, including the correct context, name, and SSH key content\n\nAfter import, you can run `pulumi preview` to see the current configuration and make any necessary adjustments.\n\n","properties":{"context":{"type":"string","description":"The context of the cluster profile. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the SSH key resource.\n"},"sshKey":{"type":"string","description":"The SSH key value. This is the public key that will be used to access the cluster. Must be in the [Authorized Keys](https://www.ssh.com/academy/ssh/authorized-keys-openssh#format-of-the-authorized-keys-file) format, such as `ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZ...`\n","secret":true},"sshKeyId":{"type":"string","description":"The ID of this resource.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FSshKeyTimeouts:SshKeyTimeouts"}},"type":"object","required":["name","sshKey","sshKeyId"],"inputProperties":{"context":{"type":"string","description":"The context of the cluster profile. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the SSH key resource.\n"},"sshKey":{"type":"string","description":"The SSH key value. This is the public key that will be used to access the cluster. Must be in the [Authorized Keys](https://www.ssh.com/academy/ssh/authorized-keys-openssh#format-of-the-authorized-keys-file) format, such as `ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZ...`\n","secret":true},"sshKeyId":{"type":"string","description":"The ID of this resource.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FSshKeyTimeouts:SshKeyTimeouts"}},"requiredInputs":["sshKey"],"stateInputs":{"description":"Input properties used for looking up and filtering SshKey resources.\n","properties":{"context":{"type":"string","description":"The context of the cluster profile. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the SSH key resource.\n"},"sshKey":{"type":"string","description":"The SSH key value. This is the public key that will be used to access the cluster. Must be in the [Authorized Keys](https://www.ssh.com/academy/ssh/authorized-keys-openssh#format-of-the-authorized-keys-file) format, such as `ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZ...`\n","secret":true},"sshKeyId":{"type":"string","description":"The ID of this resource.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FSshKeyTimeouts:SshKeyTimeouts"}},"type":"object"}},"spectrocloud:index/sso:Sso":{"description":"Palette supports Single Sign-On (SSO) with a variety of Identity Providers (IDP). You can enable SSO in Palette by using the following protocols for authentication and authorization.[SSO Setting](https://docs.spectrocloud.com/user-management/saml-sso/) guide.\n\n\u003e The\u003cspan pulumi-lang-nodejs=\" spectrocloud.Sso \" pulumi-lang-dotnet=\" spectrocloud.Sso \" pulumi-lang-go=\" Sso \" pulumi-lang-python=\" Sso \" pulumi-lang-yaml=\" spectrocloud.Sso \" pulumi-lang-java=\" spectrocloud.Sso \"\u003e spectrocloud.Sso \u003c/span\u003eresource enforces Single Sign-On (SSO) settings. By default, it is configured with Palette’s default values. Users can customize settings as needed. Destroying the\u003cspan pulumi-lang-nodejs=\" spectrocloud.Sso \" pulumi-lang-dotnet=\" spectrocloud.Sso \" pulumi-lang-go=\" Sso \" pulumi-lang-python=\" Sso \" pulumi-lang-yaml=\" spectrocloud.Sso \" pulumi-lang-java=\" spectrocloud.Sso \"\u003e spectrocloud.Sso \u003c/span\u003eresource SSO set to none.\n\n## Example Usage\n\nAn example of managing an developer setting in Palette.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst team = spectrocloud.getTeam({\n    name: \"Tenant Admin\",\n});\nconst ssoSetting = new spectrocloud.Sso(\"sso_setting\", {\n    ssoAuthType: \"saml\",\n    domains: [\n        \"test.com\",\n        \"test-login.com\",\n    ],\n    authProviders: [\n        \"github\",\n        \"google\",\n    ],\n    saml: {\n        serviceProvider: \"Microsoft ADFS\",\n        identityProviderMetadata: \"\u003cnote\u003etest\u003c/note\u003e\",\n        defaultTeamIds: [team.then(team =\u003e team.id)],\n        enableSingleLogout: true,\n        nameIdFormat: \"name_id_format\",\n        firstName: \"testfirst\",\n        lastName: \"testlast\",\n        email: \"test@test.com\",\n        spectroTeam: \"SpectroTeam\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nteam = spectrocloud.get_team(name=\"Tenant Admin\")\nsso_setting = spectrocloud.Sso(\"sso_setting\",\n    sso_auth_type=\"saml\",\n    domains=[\n        \"test.com\",\n        \"test-login.com\",\n    ],\n    auth_providers=[\n        \"github\",\n        \"google\",\n    ],\n    saml={\n        \"service_provider\": \"Microsoft ADFS\",\n        \"identity_provider_metadata\": \"\u003cnote\u003etest\u003c/note\u003e\",\n        \"default_team_ids\": [team.id],\n        \"enable_single_logout\": True,\n        \"name_id_format\": \"name_id_format\",\n        \"first_name\": \"testfirst\",\n        \"last_name\": \"testlast\",\n        \"email\": \"test@test.com\",\n        \"spectro_team\": \"SpectroTeam\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var team = Spectrocloud.GetTeam.Invoke(new()\n    {\n        Name = \"Tenant Admin\",\n    });\n\n    var ssoSetting = new Spectrocloud.Sso(\"sso_setting\", new()\n    {\n        SsoAuthType = \"saml\",\n        Domains = new[]\n        {\n            \"test.com\",\n            \"test-login.com\",\n        },\n        AuthProviders = new[]\n        {\n            \"github\",\n            \"google\",\n        },\n        Saml = new Spectrocloud.Inputs.SsoSamlArgs\n        {\n            ServiceProvider = \"Microsoft ADFS\",\n            IdentityProviderMetadata = \"\u003cnote\u003etest\u003c/note\u003e\",\n            DefaultTeamIds = new[]\n            {\n                team.Apply(getTeamResult =\u003e getTeamResult.Id),\n            },\n            EnableSingleLogout = true,\n            NameIdFormat = \"name_id_format\",\n            FirstName = \"testfirst\",\n            LastName = \"testlast\",\n            Email = \"test@test.com\",\n            SpectroTeam = \"SpectroTeam\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tteam, err := spectrocloud.LookupTeam(ctx, \u0026spectrocloud.LookupTeamArgs{\n\t\t\tName: pulumi.StringRef(\"Tenant Admin\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.NewSso(ctx, \"sso_setting\", \u0026spectrocloud.SsoArgs{\n\t\t\tSsoAuthType: pulumi.String(\"saml\"),\n\t\t\tDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test.com\"),\n\t\t\t\tpulumi.String(\"test-login.com\"),\n\t\t\t},\n\t\t\tAuthProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"github\"),\n\t\t\t\tpulumi.String(\"google\"),\n\t\t\t},\n\t\t\tSaml: \u0026spectrocloud.SsoSamlArgs{\n\t\t\t\tServiceProvider:          pulumi.String(\"Microsoft ADFS\"),\n\t\t\t\tIdentityProviderMetadata: pulumi.String(\"\u003cnote\u003etest\u003c/note\u003e\"),\n\t\t\t\tDefaultTeamIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(team.Id),\n\t\t\t\t},\n\t\t\t\tEnableSingleLogout: pulumi.Bool(true),\n\t\t\t\tNameIdFormat:       pulumi.String(\"name_id_format\"),\n\t\t\t\tFirstName:          pulumi.String(\"testfirst\"),\n\t\t\t\tLastName:           pulumi.String(\"testlast\"),\n\t\t\t\tEmail:              pulumi.String(\"test@test.com\"),\n\t\t\t\tSpectroTeam:        pulumi.String(\"SpectroTeam\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetTeamArgs;\nimport com.pulumi.spectrocloud.Sso;\nimport com.pulumi.spectrocloud.SsoArgs;\nimport com.pulumi.spectrocloud.inputs.SsoSamlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var team = SpectrocloudFunctions.getTeam(GetTeamArgs.builder()\n            .name(\"Tenant Admin\")\n            .build());\n\n        var ssoSetting = new Sso(\"ssoSetting\", SsoArgs.builder()\n            .ssoAuthType(\"saml\")\n            .domains(            \n                \"test.com\",\n                \"test-login.com\")\n            .authProviders(            \n                \"github\",\n                \"google\")\n            .saml(SsoSamlArgs.builder()\n                .serviceProvider(\"Microsoft ADFS\")\n                .identityProviderMetadata(\"\u003cnote\u003etest\u003c/note\u003e\")\n                .defaultTeamIds(team.id())\n                .enableSingleLogout(true)\n                .nameIdFormat(\"name_id_format\")\n                .firstName(\"testfirst\")\n                .lastName(\"testlast\")\n                .email(\"test@test.com\")\n                .spectroTeam(\"SpectroTeam\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  ssoSetting:\n    type: spectrocloud:Sso\n    name: sso_setting\n    properties:\n      ssoAuthType: saml\n      domains:\n        - test.com\n        - test-login.com\n      authProviders:\n        - github\n        - google\n      saml:\n        serviceProvider: Microsoft ADFS\n        identityProviderMetadata: \u003cnote\u003etest\u003c/note\u003e\n        defaultTeamIds:\n          - ${team.id}\n        enableSingleLogout: true\n        nameIdFormat: name_id_format\n        firstName: testfirst\n        lastName: testlast\n        email: test@test.com\n        spectroTeam: SpectroTeam\nvariables:\n  team:\n    fn::invoke:\n      function: spectrocloud:getTeam\n      arguments:\n        name: Tenant Admin\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"authProviders":{"type":"array","items":{"type":"string"},"description":"A set of external authentication providers such as GitHub and Google.\n"},"domains":{"type":"array","items":{"type":"string"},"description":"A set of domains associated with the SSO configuration.\n"},"oidc":{"$ref":"#/types/spectrocloud:index%2FSsoOidc:SsoOidc"},"saml":{"$ref":"#/types/spectrocloud:index%2FSsoSaml:SsoSaml","description":"Configuration for Security Assertion Markup Language (SAML) authentication.\n"},"ssoAuthType":{"type":"string","description":"Defines the type of SSO authentication. Supported values: none, saml, oidc.\n"},"ssoId":{"type":"string","description":"The ID of this resource.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FSsoTimeouts:SsoTimeouts"}},"type":"object","required":["ssoId"],"inputProperties":{"authProviders":{"type":"array","items":{"type":"string"},"description":"A set of external authentication providers such as GitHub and Google.\n"},"domains":{"type":"array","items":{"type":"string"},"description":"A set of domains associated with the SSO configuration.\n"},"oidc":{"$ref":"#/types/spectrocloud:index%2FSsoOidc:SsoOidc"},"saml":{"$ref":"#/types/spectrocloud:index%2FSsoSaml:SsoSaml","description":"Configuration for Security Assertion Markup Language (SAML) authentication.\n"},"ssoAuthType":{"type":"string","description":"Defines the type of SSO authentication. Supported values: none, saml, oidc.\n"},"ssoId":{"type":"string","description":"The ID of this resource.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FSsoTimeouts:SsoTimeouts"}},"stateInputs":{"description":"Input properties used for looking up and filtering Sso resources.\n","properties":{"authProviders":{"type":"array","items":{"type":"string"},"description":"A set of external authentication providers such as GitHub and Google.\n"},"domains":{"type":"array","items":{"type":"string"},"description":"A set of domains associated with the SSO configuration.\n"},"oidc":{"$ref":"#/types/spectrocloud:index%2FSsoOidc:SsoOidc"},"saml":{"$ref":"#/types/spectrocloud:index%2FSsoSaml:SsoSaml","description":"Configuration for Security Assertion Markup Language (SAML) authentication.\n"},"ssoAuthType":{"type":"string","description":"Defines the type of SSO authentication. Supported values: none, saml, oidc.\n"},"ssoId":{"type":"string","description":"The ID of this resource.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FSsoTimeouts:SsoTimeouts"}},"type":"object"}},"spectrocloud:index/team:Team":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  t1:\n    type: spectrocloud:Team\n    properties:\n      name: team1\n      users:\n        - ${user1.id}\n      projectRoleMappings:\n        - id: ${project1.id}\n          roles:\n            - ${role1.id}\n            - ${role2.id}\n        - id: ${project2.id}\n          roles:\n            - ${role3.id}\nvariables:\n  # user\n  user1:\n    fn::invoke:\n      function: spectrocloud:getUser\n      arguments:\n        name: Foo Bar\n  # role\n  role1:\n    fn::invoke:\n      function: spectrocloud:getRole\n      arguments:\n        name: Project Editor\n  role2:\n    fn::invoke:\n      function: spectrocloud:getRole\n      arguments:\n        name: Cluster Admin\n  role3:\n    fn::invoke:\n      function: spectrocloud:getRole\n      arguments:\n        name: Project Admin\n  # project\n  project1:\n    fn::invoke:\n      function: spectrocloud:getProject\n      arguments:\n        name: Default\n  project2:\n    fn::invoke:\n      function: spectrocloud:getProject\n      arguments:\n        name: Prod\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"name":{"type":"string","description":"Name of the team.\n"},"projectRoleMappings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FTeamProjectRoleMapping:TeamProjectRoleMapping"},"description":"List of project roles to be associated with the team.\n"},"teamId":{"type":"string","description":"The ID of this resource.\n"},"tenantRoleMappings":{"type":"array","items":{"type":"string"},"description":"List of tenant role ids to be associated with the team.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FTeamTimeouts:TeamTimeouts"},"users":{"type":"array","items":{"type":"string"},"description":"List of user ids to be associated with the team.\n"},"workspaceRoleMappings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FTeamWorkspaceRoleMapping:TeamWorkspaceRoleMapping"},"description":"List of workspace roles to be associated with the team.\n"}},"type":"object","required":["name","teamId"],"inputProperties":{"name":{"type":"string","description":"Name of the team.\n"},"projectRoleMappings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FTeamProjectRoleMapping:TeamProjectRoleMapping"},"description":"List of project roles to be associated with the team.\n"},"teamId":{"type":"string","description":"The ID of this resource.\n"},"tenantRoleMappings":{"type":"array","items":{"type":"string"},"description":"List of tenant role ids to be associated with the team.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FTeamTimeouts:TeamTimeouts"},"users":{"type":"array","items":{"type":"string"},"description":"List of user ids to be associated with the team.\n"},"workspaceRoleMappings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FTeamWorkspaceRoleMapping:TeamWorkspaceRoleMapping"},"description":"List of workspace roles to be associated with the team.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Team resources.\n","properties":{"name":{"type":"string","description":"Name of the team.\n"},"projectRoleMappings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FTeamProjectRoleMapping:TeamProjectRoleMapping"},"description":"List of project roles to be associated with the team.\n"},"teamId":{"type":"string","description":"The ID of this resource.\n"},"tenantRoleMappings":{"type":"array","items":{"type":"string"},"description":"List of tenant role ids to be associated with the team.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FTeamTimeouts:TeamTimeouts"},"users":{"type":"array","items":{"type":"string"},"description":"List of user ids to be associated with the team.\n"},"workspaceRoleMappings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FTeamWorkspaceRoleMapping:TeamWorkspaceRoleMapping"},"description":"List of workspace roles to be associated with the team.\n"}},"type":"object"}},"spectrocloud:index/user:User":{"description":"Create and manage projects in Palette.\n\nYou can learn more about managing users in Palette by reviewing the [Users](https://docs.spectrocloud.com/user-management/) guide.\n\n## Example Usage\n\nAn example of creating a user resource with assigned teams and custom roles in Palette.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst user_test = new spectrocloud.User(\"user-test\", {\n    firstName: \"tf\",\n    lastName: \"test\",\n    email: \"test-tf@spectrocloud.com\",\n    teamIds: [team2.id],\n    projectRoles: [\n        {\n            projectId: _default.id,\n            roleIds: .map(r =\u003e (r.id)),\n        },\n        {\n            projectId: ranjith.id,\n            roleIds: .map(r =\u003e (r.id)),\n        },\n    ],\n    tenantRoles: .map(t =\u003e (t.id)),\n    workspaceRoles: [{\n        projectId: _default.id,\n        workspaces: [\n            {\n                id: workspace.id,\n                roleIds: .map(w =\u003e (w.id)),\n            },\n            {\n                id: workspace2.id,\n                roleIds: [\"66fbea622947f81fc26983e6\"],\n            },\n        ],\n    }],\n    resourceRoles: [\n        {\n            projectIds: [\n                _default.id,\n                ranjith.id,\n            ],\n            filterIds: [filter.id],\n            roleIds: .map(r =\u003e (r.id)),\n        },\n        {\n            projectIds: [ranjith.id],\n            filterIds: [filter.id],\n            roleIds: .map(re =\u003e (re.id)),\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nuser_test = spectrocloud.User(\"user-test\",\n    first_name=\"tf\",\n    last_name=\"test\",\n    email=\"test-tf@spectrocloud.com\",\n    team_ids=[team2[\"id\"]],\n    project_roles=[\n        {\n            \"project_id\": default[\"id\"],\n            \"role_ids\": [r[\"id\"] for r in app_roles],\n        },\n        {\n            \"project_id\": ranjith[\"id\"],\n            \"role_ids\": [r[\"id\"] for r in app_roles],\n        },\n    ],\n    tenant_roles=[t[\"id\"] for t in tenant_roles],\n    workspace_roles=[{\n        \"project_id\": default[\"id\"],\n        \"workspaces\": [\n            {\n                \"id\": workspace[\"id\"],\n                \"role_ids\": [w[\"id\"] for w in workspace_roles],\n            },\n            {\n                \"id\": workspace2[\"id\"],\n                \"role_ids\": [\"66fbea622947f81fc26983e6\"],\n            },\n        ],\n    }],\n    resource_roles=[\n        {\n            \"project_ids\": [\n                default[\"id\"],\n                ranjith[\"id\"],\n            ],\n            \"filter_ids\": [filter[\"id\"]],\n            \"role_ids\": [r[\"id\"] for r in resource_roles],\n        },\n        {\n            \"project_ids\": [ranjith[\"id\"]],\n            \"filter_ids\": [filter[\"id\"]],\n            \"role_ids\": [re[\"id\"] for re in resource_roles_editor],\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var user_test = new Spectrocloud.User(\"user-test\", new()\n    {\n        FirstName = \"tf\",\n        LastName = \"test\",\n        Email = \"test-tf@spectrocloud.com\",\n        TeamIds = new[]\n        {\n            team2.Id,\n        },\n        ProjectRoles = new[]\n        {\n            new Spectrocloud.Inputs.UserProjectRoleArgs\n            {\n                ProjectId = @default.Id,\n                RoleIds = .Select(r =\u003e \n                {\n                    return r.Id;\n                }).ToList(),\n            },\n            new Spectrocloud.Inputs.UserProjectRoleArgs\n            {\n                ProjectId = ranjith.Id,\n                RoleIds = .Select(r =\u003e \n                {\n                    return r.Id;\n                }).ToList(),\n            },\n        },\n        TenantRoles = .Select(t =\u003e \n        {\n            return t.Id;\n        }).ToList(),\n        WorkspaceRoles = new[]\n        {\n            new Spectrocloud.Inputs.UserWorkspaceRoleArgs\n            {\n                ProjectId = @default.Id,\n                Workspaces = new[]\n                {\n                    new Spectrocloud.Inputs.UserWorkspaceRoleWorkspaceArgs\n                    {\n                        Id = workspace.Id,\n                        RoleIds = .Select(w =\u003e \n                        {\n                            return w.Id;\n                        }).ToList(),\n                    },\n                    new Spectrocloud.Inputs.UserWorkspaceRoleWorkspaceArgs\n                    {\n                        Id = workspace2.Id,\n                        RoleIds = new[]\n                        {\n                            \"66fbea622947f81fc26983e6\",\n                        },\n                    },\n                },\n            },\n        },\n        ResourceRoles = new[]\n        {\n            new Spectrocloud.Inputs.UserResourceRoleArgs\n            {\n                ProjectIds = new[]\n                {\n                    @default.Id,\n                    ranjith.Id,\n                },\n                FilterIds = new[]\n                {\n                    filter.Id,\n                },\n                RoleIds = .Select(r =\u003e \n                {\n                    return r.Id;\n                }).ToList(),\n            },\n            new Spectrocloud.Inputs.UserResourceRoleArgs\n            {\n                ProjectIds = new[]\n                {\n                    ranjith.Id,\n                },\n                FilterIds = new[]\n                {\n                    filter.Id,\n                },\n                RoleIds = .Select(re =\u003e \n                {\n                    return re.Id;\n                }).ToList(),\n            },\n        },\n    });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nThe example below demonstrates how to create an user with only assigned teams.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst user_test = new spectrocloud.User(\"user-test\", {\n    firstName: \"tf\",\n    lastName: \"test\",\n    email: \"test-tf@spectrocloud.com\",\n    teamIds: [team2.id],\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nuser_test = spectrocloud.User(\"user-test\",\n    first_name=\"tf\",\n    last_name=\"test\",\n    email=\"test-tf@spectrocloud.com\",\n    team_ids=[team2[\"id\"]])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var user_test = new Spectrocloud.User(\"user-test\", new()\n    {\n        FirstName = \"tf\",\n        LastName = \"test\",\n        Email = \"test-tf@spectrocloud.com\",\n        TeamIds = new[]\n        {\n            team2.Id,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewUser(ctx, \"user-test\", \u0026spectrocloud.UserArgs{\n\t\t\tFirstName: pulumi.String(\"tf\"),\n\t\t\tLastName:  pulumi.String(\"test\"),\n\t\t\tEmail:     pulumi.String(\"test-tf@spectrocloud.com\"),\n\t\t\tTeamIds: pulumi.StringArray{\n\t\t\t\tteam2.Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.User;\nimport com.pulumi.spectrocloud.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var user_test = new User(\"user-test\", UserArgs.builder()\n            .firstName(\"tf\")\n            .lastName(\"test\")\n            .email(\"test-tf@spectrocloud.com\")\n            .teamIds(team2.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  user-test:\n    type: spectrocloud:User\n    properties:\n      firstName: tf\n      lastName: test\n      email: test-tf@spectrocloud.com\n      teamIds:\n        - ${team2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n","properties":{"email":{"type":"string","description":"The email of the user.\n"},"firstName":{"type":"string","description":"The first name of the user.\n"},"lastName":{"type":"string","description":"The last name of the user.\n"},"projectRoles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FUserProjectRole:UserProjectRole"},"description":"List of project roles to be associated with the user.\n"},"resourceRoles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FUserResourceRole:UserResourceRole"}},"teamIds":{"type":"array","items":{"type":"string"},"description":"The team id's assigned to the user.\n"},"tenantRoles":{"type":"array","items":{"type":"string"},"description":"List of tenant role ids to be associated with the user.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FUserTimeouts:UserTimeouts"},"userId":{"type":"string","description":"The ID of this resource.\n"},"workspaceRoles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FUserWorkspaceRole:UserWorkspaceRole"},"description":"List of workspace roles to be associated with the user.\n"}},"type":"object","required":["email","firstName","lastName","userId"],"inputProperties":{"email":{"type":"string","description":"The email of the user.\n"},"firstName":{"type":"string","description":"The first name of the user.\n"},"lastName":{"type":"string","description":"The last name of the user.\n"},"projectRoles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FUserProjectRole:UserProjectRole"},"description":"List of project roles to be associated with the user.\n"},"resourceRoles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FUserResourceRole:UserResourceRole"}},"teamIds":{"type":"array","items":{"type":"string"},"description":"The team id's assigned to the user.\n"},"tenantRoles":{"type":"array","items":{"type":"string"},"description":"List of tenant role ids to be associated with the user.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FUserTimeouts:UserTimeouts"},"userId":{"type":"string","description":"The ID of this resource.\n"},"workspaceRoles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FUserWorkspaceRole:UserWorkspaceRole"},"description":"List of workspace roles to be associated with the user.\n"}},"requiredInputs":["email","firstName","lastName"],"stateInputs":{"description":"Input properties used for looking up and filtering User resources.\n","properties":{"email":{"type":"string","description":"The email of the user.\n"},"firstName":{"type":"string","description":"The first name of the user.\n"},"lastName":{"type":"string","description":"The last name of the user.\n"},"projectRoles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FUserProjectRole:UserProjectRole"},"description":"List of project roles to be associated with the user.\n"},"resourceRoles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FUserResourceRole:UserResourceRole"}},"teamIds":{"type":"array","items":{"type":"string"},"description":"The team id's assigned to the user.\n"},"tenantRoles":{"type":"array","items":{"type":"string"},"description":"List of tenant role ids to be associated with the user.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FUserTimeouts:UserTimeouts"},"userId":{"type":"string","description":"The ID of this resource.\n"},"workspaceRoles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FUserWorkspaceRole:UserWorkspaceRole"},"description":"List of workspace roles to be associated with the user.\n"}},"type":"object"}},"spectrocloud:index/virtualCluster:VirtualCluster":{"description":"A resource to manage a Palette Virtual Cluster.\n\n## Example Usage\n\n### Virtual Cluster Deployment \nAn example of a Palette Virtual Cluster with a host and optional cluster group.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst cluster = new spectrocloud.VirtualCluster(\"cluster\", {\n    name: \"virtual-cluster-demo\",\n    hostClusterUid: hostClusterUid,\n    resources: {\n        maxCpu: 6,\n        maxMemInMb: 6000,\n        minCpu: 0,\n        minMemInMb: 0,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\ncluster = spectrocloud.VirtualCluster(\"cluster\",\n    name=\"virtual-cluster-demo\",\n    host_cluster_uid=host_cluster_uid,\n    resources={\n        \"max_cpu\": 6,\n        \"max_mem_in_mb\": 6000,\n        \"min_cpu\": 0,\n        \"min_mem_in_mb\": 0,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var cluster = new Spectrocloud.VirtualCluster(\"cluster\", new()\n    {\n        Name = \"virtual-cluster-demo\",\n        HostClusterUid = hostClusterUid,\n        Resources = new Spectrocloud.Inputs.VirtualClusterResourcesArgs\n        {\n            MaxCpu = 6,\n            MaxMemInMb = 6000,\n            MinCpu = 0,\n            MinMemInMb = 0,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.NewVirtualCluster(ctx, \"cluster\", \u0026spectrocloud.VirtualClusterArgs{\n\t\t\tName:           pulumi.String(\"virtual-cluster-demo\"),\n\t\t\tHostClusterUid: pulumi.Any(hostClusterUid),\n\t\t\tResources: \u0026spectrocloud.VirtualClusterResourcesArgs{\n\t\t\t\tMaxCpu:     pulumi.Float64(6),\n\t\t\t\tMaxMemInMb: pulumi.Float64(6000),\n\t\t\t\tMinCpu:     pulumi.Float64(0),\n\t\t\t\tMinMemInMb: pulumi.Float64(0),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.VirtualCluster;\nimport com.pulumi.spectrocloud.VirtualClusterArgs;\nimport com.pulumi.spectrocloud.inputs.VirtualClusterResourcesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var cluster = new VirtualCluster(\"cluster\", VirtualClusterArgs.builder()\n            .name(\"virtual-cluster-demo\")\n            .hostClusterUid(hostClusterUid)\n            .resources(VirtualClusterResourcesArgs.builder()\n                .maxCpu(6.0)\n                .maxMemInMb(6000.0)\n                .minCpu(0.0)\n                .minMemInMb(0.0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  cluster:\n    type: spectrocloud:VirtualCluster\n    properties:\n      name: virtual-cluster-demo\n      hostClusterUid: ${hostClusterUid}\n      resources:\n        maxCpu: 6\n        maxMemInMb: 6000\n        minCpu: 0\n        minMemInMb: 0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import the cluster using the `cluster_name` or `id` colon separated with `context`. For example:\n\nconsole\n\n```sh\n$ pulumi import spectrocloud:index/virtualCluster:VirtualCluster example example_id\n```\n\nconsole\n\n```sh\n$ pulumi import spectrocloud:index/virtualCluster:VirtualCluster example cluster_name\n```\n\nRefer to the [Import section](/docs#import) to learn more.\n\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterBackupPolicy:VirtualClusterBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterCloudConfig:VirtualClusterCloudConfig"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterGroupUid":{"type":"string"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterClusterProfile:VirtualClusterClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterClusterRbacBinding:VirtualClusterClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"context":{"type":"string","description":"The context of the virtual cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostClusterUid":{"type":"string"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterLocationConfig:VirtualClusterLocationConfig"},"description":"The location of the cluster.\n"},"name":{"type":"string"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterNamespace:VirtualClusterNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"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`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"pauseCluster":{"type":"boolean","description":"To pause and resume cluster state. Set to true to pause running cluster \u0026 false to resume it.\n"},"resources":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterResources:VirtualClusterResources"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterScanPolicy:VirtualClusterScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterTimeouts:VirtualClusterTimeouts"},"virtualClusterId":{"type":"string","description":"The ID of this resource.\n"}},"type":"object","required":["adminKubeConfig","cloudConfigId","kubeconfig","locationConfigs","name","virtualClusterId"],"inputProperties":{"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterBackupPolicy:VirtualClusterBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterCloudConfig:VirtualClusterCloudConfig"},"clusterGroupUid":{"type":"string"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterClusterProfile:VirtualClusterClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterClusterRbacBinding:VirtualClusterClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"context":{"type":"string","description":"The context of the virtual cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostClusterUid":{"type":"string"},"name":{"type":"string"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterNamespace:VirtualClusterNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"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`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"pauseCluster":{"type":"boolean","description":"To pause and resume cluster state. Set to true to pause running cluster \u0026 false to resume it.\n"},"resources":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterResources:VirtualClusterResources"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterScanPolicy:VirtualClusterScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterTimeouts:VirtualClusterTimeouts"},"virtualClusterId":{"type":"string","description":"The ID of this resource.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering VirtualCluster resources.\n","properties":{"adminKubeConfig":{"type":"string","description":"Admin Kube-config for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e, With admin privilege.\n"},"applySetting":{"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`.\n"},"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterBackupPolicy:VirtualClusterBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"cloudConfig":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterCloudConfig:VirtualClusterCloudConfig"},"cloudConfigId":{"type":"string","description":"ID of the cloud config used for the cluster. This cloud config must be of type \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e.\n","deprecationMessage":"Deprecated"},"clusterGroupUid":{"type":"string"},"clusterProfiles":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterClusterProfile:VirtualClusterClusterProfile"}},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterClusterRbacBinding:VirtualClusterClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"context":{"type":"string","description":"The context of the virtual cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"description":{"type":"string","description":"The description of the cluster. Default value is empty string.\n"},"forceDelete":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be force deleted and user has to manually clean up the provisioned cloud resources.\n"},"forceDeleteDelay":{"type":"number","description":"Delay duration in minutes to before invoking cluster force delete. Default and minimum is 20.\n"},"hostClusterUid":{"type":"string"},"kubeconfig":{"type":"string","description":"Kubeconfig for the cluster. This can be used to connect to the cluster using \u003cspan pulumi-lang-nodejs=\"`kubectl`\" pulumi-lang-dotnet=\"`Kubectl`\" pulumi-lang-go=\"`kubectl`\" pulumi-lang-python=\"`kubectl`\" pulumi-lang-yaml=\"`kubectl`\" pulumi-lang-java=\"`kubectl`\"\u003e`kubectl`\u003c/span\u003e.\n"},"locationConfigs":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterLocationConfig:VirtualClusterLocationConfig"},"description":"The location of the cluster.\n"},"name":{"type":"string"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterNamespace:VirtualClusterNamespace"},"description":"The namespaces for the cluster.\n"},"osPatchAfter":{"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`\n"},"osPatchOnBoot":{"type":"boolean","description":"Whether to apply OS patch on boot. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"osPatchSchedule":{"type":"string","description":"Cron schedule for OS patching. This must be in the form of `0 0 * * *`.\n"},"pauseAgentUpgrades":{"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 \u003cspan pulumi-lang-nodejs=\"`unlock`\" pulumi-lang-dotnet=\"`Unlock`\" pulumi-lang-go=\"`unlock`\" pulumi-lang-python=\"`unlock`\" pulumi-lang-yaml=\"`unlock`\" pulumi-lang-java=\"`unlock`\"\u003e`unlock`\u003c/span\u003e, meaning upgrades occur automatically. Setting it to \u003cspan pulumi-lang-nodejs=\"`lock`\" pulumi-lang-dotnet=\"`Lock`\" pulumi-lang-go=\"`lock`\" pulumi-lang-python=\"`lock`\" pulumi-lang-yaml=\"`lock`\" pulumi-lang-java=\"`lock`\"\u003e`lock`\u003c/span\u003e pauses automatic agent upgrades for the cluster.\n"},"pauseCluster":{"type":"boolean","description":"To pause and resume cluster state. Set to true to pause running cluster \u0026 false to resume it.\n"},"resources":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterResources:VirtualClusterResources"},"scanPolicy":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterScanPolicy:VirtualClusterScanPolicy","description":"The scan policy for the cluster.\n"},"skipCompletion":{"type":"boolean","description":"If \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the cluster will be created asynchronously. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"A list of tags to be applied to the cluster. Tags must be in the form of `key:value`.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FVirtualClusterTimeouts:VirtualClusterTimeouts"},"virtualClusterId":{"type":"string","description":"The ID of this resource.\n"}},"type":"object"}},"spectrocloud:index/virtualMachine:VirtualMachine":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst vmEnabledBaseCluster = spectrocloud.getCluster({\n    name: \"tenant-cluster-002\",\n    context: \"project\",\n});\nconst storageClassName = \"spectro-storage-class\";\n// Create a VM with default cloud init disk, container disk , interface and network\n///*\nconst tf_test_vm_basic_type = new spectrocloud.VirtualMachine(\"tf-test-vm-basic-type\", {\n    clusterUid: vmEnabledBaseCluster.then(vmEnabledBaseCluster =\u003e vmEnabledBaseCluster.id),\n    clusterContext: vmEnabledBaseCluster.then(vmEnabledBaseCluster =\u003e vmEnabledBaseCluster.context),\n    runOnLaunch: true,\n    name: \"tf-test-vm-basic-type\",\n    namespace: \"default\",\n    labels: {\n        tf: \"test\",\n    },\n    volumes: [\n        {\n            name: \"containerdisk\",\n            volumeSource: {\n                containerDisks: [{\n                    imageUrl: \"gcr.io/spectro-images-public/release/vm-dashboard/os/ubuntu-container-disk:20.04\",\n                }],\n            },\n        },\n        {\n            name: \"cloudintdisk\",\n            volumeSource: {\n                cloudInitConfigDrive: {\n                    userData: `\n#cloud-config\nssh_pwauth: True\nchpasswd: { expire: False }\npassword: spectro\ndisable_root: false\n`,\n                },\n            },\n        },\n    ],\n    disks: [\n        {\n            name: \"containerdisk\",\n            diskDevices: [{\n                disks: [{\n                    bus: \"virtio\",\n                }],\n            }],\n        },\n        {\n            name: \"cloudintdisk\",\n            diskDevices: [{\n                disks: [{\n                    bus: \"virtio\",\n                }],\n            }],\n        },\n    ],\n    cpu: {\n        cores: 2,\n        sockets: 1,\n        threads: 10,\n    },\n    memory: {\n        guest: \"1Gi\",\n    },\n    resources: {\n        requests: {\n            memory: \"1Gi\",\n            cpu: \"1\",\n        },\n        limits: {\n            cpu: \"2\",\n            memory: \"1Gi\",\n        },\n    },\n    interfaces: [{\n        name: \"default\",\n        interfaceBindingMethod: \"InterfaceMasquerade\",\n    }],\n    networks: [{\n        name: \"default\",\n        networkSource: {\n            pod: {},\n        },\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nvm_enabled_base_cluster = spectrocloud.get_cluster(name=\"tenant-cluster-002\",\n    context=\"project\")\nstorage_class_name = \"spectro-storage-class\"\n# Create a VM with default cloud init disk, container disk , interface and network\n#/*\ntf_test_vm_basic_type = spectrocloud.VirtualMachine(\"tf-test-vm-basic-type\",\n    cluster_uid=vm_enabled_base_cluster.id,\n    cluster_context=vm_enabled_base_cluster.context,\n    run_on_launch=True,\n    name=\"tf-test-vm-basic-type\",\n    namespace=\"default\",\n    labels={\n        \"tf\": \"test\",\n    },\n    volumes=[\n        {\n            \"name\": \"containerdisk\",\n            \"volume_source\": {\n                \"container_disks\": [{\n                    \"image_url\": \"gcr.io/spectro-images-public/release/vm-dashboard/os/ubuntu-container-disk:20.04\",\n                }],\n            },\n        },\n        {\n            \"name\": \"cloudintdisk\",\n            \"volume_source\": {\n                \"cloud_init_config_drive\": {\n                    \"user_data\": \"\"\"\n#cloud-config\nssh_pwauth: True\nchpasswd: { expire: False }\npassword: spectro\ndisable_root: false\n\"\"\",\n                },\n            },\n        },\n    ],\n    disks=[\n        {\n            \"name\": \"containerdisk\",\n            \"disk_devices\": [{\n                \"disks\": [{\n                    \"bus\": \"virtio\",\n                }],\n            }],\n        },\n        {\n            \"name\": \"cloudintdisk\",\n            \"disk_devices\": [{\n                \"disks\": [{\n                    \"bus\": \"virtio\",\n                }],\n            }],\n        },\n    ],\n    cpu={\n        \"cores\": 2,\n        \"sockets\": 1,\n        \"threads\": 10,\n    },\n    memory={\n        \"guest\": \"1Gi\",\n    },\n    resources={\n        \"requests\": {\n            \"memory\": \"1Gi\",\n            \"cpu\": \"1\",\n        },\n        \"limits\": {\n            \"cpu\": \"2\",\n            \"memory\": \"1Gi\",\n        },\n    },\n    interfaces=[{\n        \"name\": \"default\",\n        \"interface_binding_method\": \"InterfaceMasquerade\",\n    }],\n    networks=[{\n        \"name\": \"default\",\n        \"network_source\": {\n            \"pod\": {},\n        },\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var vmEnabledBaseCluster = Spectrocloud.GetCluster.Invoke(new()\n    {\n        Name = \"tenant-cluster-002\",\n        Context = \"project\",\n    });\n\n    var storageClassName = \"spectro-storage-class\";\n\n    // Create a VM with default cloud init disk, container disk , interface and network\n    ///*\n    var tf_test_vm_basic_type = new Spectrocloud.VirtualMachine(\"tf-test-vm-basic-type\", new()\n    {\n        ClusterUid = vmEnabledBaseCluster.Apply(getClusterResult =\u003e getClusterResult.Id),\n        ClusterContext = vmEnabledBaseCluster.Apply(getClusterResult =\u003e getClusterResult.Context),\n        RunOnLaunch = true,\n        Name = \"tf-test-vm-basic-type\",\n        Namespace = \"default\",\n        Labels = \n        {\n            { \"tf\", \"test\" },\n        },\n        Volumes = new[]\n        {\n            new Spectrocloud.Inputs.VirtualMachineVolumeArgs\n            {\n                Name = \"containerdisk\",\n                VolumeSource = new Spectrocloud.Inputs.VirtualMachineVolumeVolumeSourceArgs\n                {\n                    ContainerDisks = new[]\n                    {\n                        new Spectrocloud.Inputs.VirtualMachineVolumeVolumeSourceContainerDiskArgs\n                        {\n                            ImageUrl = \"gcr.io/spectro-images-public/release/vm-dashboard/os/ubuntu-container-disk:20.04\",\n                        },\n                    },\n                },\n            },\n            new Spectrocloud.Inputs.VirtualMachineVolumeArgs\n            {\n                Name = \"cloudintdisk\",\n                VolumeSource = new Spectrocloud.Inputs.VirtualMachineVolumeVolumeSourceArgs\n                {\n                    CloudInitConfigDrive = new Spectrocloud.Inputs.VirtualMachineVolumeVolumeSourceCloudInitConfigDriveArgs\n                    {\n                        UserData = @\"\n#cloud-config\nssh_pwauth: True\nchpasswd: { expire: False }\npassword: spectro\ndisable_root: false\n\",\n                    },\n                },\n            },\n        },\n        Disks = new[]\n        {\n            new Spectrocloud.Inputs.VirtualMachineDiskArgs\n            {\n                Name = \"containerdisk\",\n                DiskDevices = new[]\n                {\n                    new Spectrocloud.Inputs.VirtualMachineDiskDiskDeviceArgs\n                    {\n                        Disks = new[]\n                        {\n                            new Spectrocloud.Inputs.VirtualMachineDiskDiskDeviceDiskArgs\n                            {\n                                Bus = \"virtio\",\n                            },\n                        },\n                    },\n                },\n            },\n            new Spectrocloud.Inputs.VirtualMachineDiskArgs\n            {\n                Name = \"cloudintdisk\",\n                DiskDevices = new[]\n                {\n                    new Spectrocloud.Inputs.VirtualMachineDiskDiskDeviceArgs\n                    {\n                        Disks = new[]\n                        {\n                            new Spectrocloud.Inputs.VirtualMachineDiskDiskDeviceDiskArgs\n                            {\n                                Bus = \"virtio\",\n                            },\n                        },\n                    },\n                },\n            },\n        },\n        Cpu = new Spectrocloud.Inputs.VirtualMachineCpuArgs\n        {\n            Cores = 2,\n            Sockets = 1,\n            Threads = 10,\n        },\n        Memory = new Spectrocloud.Inputs.VirtualMachineMemoryArgs\n        {\n            Guest = \"1Gi\",\n        },\n        Resources = new Spectrocloud.Inputs.VirtualMachineResourcesArgs\n        {\n            Requests = \n            {\n                { \"memory\", \"1Gi\" },\n                { \"cpu\", \"1\" },\n            },\n            Limits = \n            {\n                { \"cpu\", \"2\" },\n                { \"memory\", \"1Gi\" },\n            },\n        },\n        Interfaces = new[]\n        {\n            new Spectrocloud.Inputs.VirtualMachineInterfaceArgs\n            {\n                Name = \"default\",\n                InterfaceBindingMethod = \"InterfaceMasquerade\",\n            },\n        },\n        Networks = new[]\n        {\n            new Spectrocloud.Inputs.VirtualMachineNetworkArgs\n            {\n                Name = \"default\",\n                NetworkSource = new Spectrocloud.Inputs.VirtualMachineNetworkNetworkSourceArgs\n                {\n                    Pod = null,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tvmEnabledBaseCluster, err := spectrocloud.GetCluster(ctx, \u0026spectrocloud.GetClusterArgs{\n\t\t\tName:    \"tenant-cluster-002\",\n\t\t\tContext: pulumi.StringRef(\"project\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ := \"spectro-storage-class\"\n\t\t// Create a VM with default cloud init disk, container disk , interface and network\n\t\t// /*\n\t\t_, err = spectrocloud.NewVirtualMachine(ctx, \"tf-test-vm-basic-type\", \u0026spectrocloud.VirtualMachineArgs{\n\t\t\tClusterUid:     pulumi.String(vmEnabledBaseCluster.Id),\n\t\t\tClusterContext: pulumi.String(vmEnabledBaseCluster.Context),\n\t\t\tRunOnLaunch:    pulumi.Bool(true),\n\t\t\tName:           pulumi.String(\"tf-test-vm-basic-type\"),\n\t\t\tNamespace:      pulumi.String(\"default\"),\n\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\"tf\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t\tVolumes: spectrocloud.VirtualMachineVolumeArray{\n\t\t\t\t\u0026spectrocloud.VirtualMachineVolumeArgs{\n\t\t\t\t\tName: pulumi.String(\"containerdisk\"),\n\t\t\t\t\tVolumeSource: \u0026spectrocloud.VirtualMachineVolumeVolumeSourceArgs{\n\t\t\t\t\t\tContainerDisks: spectrocloud.VirtualMachineVolumeVolumeSourceContainerDiskArray{\n\t\t\t\t\t\t\t\u0026spectrocloud.VirtualMachineVolumeVolumeSourceContainerDiskArgs{\n\t\t\t\t\t\t\t\tImageUrl: pulumi.String(\"gcr.io/spectro-images-public/release/vm-dashboard/os/ubuntu-container-disk:20.04\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026spectrocloud.VirtualMachineVolumeArgs{\n\t\t\t\t\tName: pulumi.String(\"cloudintdisk\"),\n\t\t\t\t\tVolumeSource: \u0026spectrocloud.VirtualMachineVolumeVolumeSourceArgs{\n\t\t\t\t\t\tCloudInitConfigDrive: \u0026spectrocloud.VirtualMachineVolumeVolumeSourceCloudInitConfigDriveArgs{\n\t\t\t\t\t\t\tUserData: pulumi.String(`\n#cloud-config\nssh_pwauth: True\nchpasswd: { expire: False }\npassword: spectro\ndisable_root: false\n`),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tDisks: spectrocloud.VirtualMachineDiskArray{\n\t\t\t\t\u0026spectrocloud.VirtualMachineDiskArgs{\n\t\t\t\t\tName: pulumi.String(\"containerdisk\"),\n\t\t\t\t\tDiskDevices: spectrocloud.VirtualMachineDiskDiskDeviceArray{\n\t\t\t\t\t\t\u0026spectrocloud.VirtualMachineDiskDiskDeviceArgs{\n\t\t\t\t\t\t\tDisks: spectrocloud.VirtualMachineDiskDiskDeviceDiskArray{\n\t\t\t\t\t\t\t\t\u0026spectrocloud.VirtualMachineDiskDiskDeviceDiskArgs{\n\t\t\t\t\t\t\t\t\tBus: pulumi.String(\"virtio\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026spectrocloud.VirtualMachineDiskArgs{\n\t\t\t\t\tName: pulumi.String(\"cloudintdisk\"),\n\t\t\t\t\tDiskDevices: spectrocloud.VirtualMachineDiskDiskDeviceArray{\n\t\t\t\t\t\t\u0026spectrocloud.VirtualMachineDiskDiskDeviceArgs{\n\t\t\t\t\t\t\tDisks: spectrocloud.VirtualMachineDiskDiskDeviceDiskArray{\n\t\t\t\t\t\t\t\t\u0026spectrocloud.VirtualMachineDiskDiskDeviceDiskArgs{\n\t\t\t\t\t\t\t\t\tBus: pulumi.String(\"virtio\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tCpu: \u0026spectrocloud.VirtualMachineCpuArgs{\n\t\t\t\tCores:   pulumi.Float64(2),\n\t\t\t\tSockets: pulumi.Float64(1),\n\t\t\t\tThreads: pulumi.Float64(10),\n\t\t\t},\n\t\t\tMemory: \u0026spectrocloud.VirtualMachineMemoryArgs{\n\t\t\t\tGuest: pulumi.String(\"1Gi\"),\n\t\t\t},\n\t\t\tResources: \u0026spectrocloud.VirtualMachineResourcesArgs{\n\t\t\t\tRequests: pulumi.StringMap{\n\t\t\t\t\t\"memory\": pulumi.String(\"1Gi\"),\n\t\t\t\t\t\"cpu\":    pulumi.String(\"1\"),\n\t\t\t\t},\n\t\t\t\tLimits: pulumi.StringMap{\n\t\t\t\t\t\"cpu\":    pulumi.String(\"2\"),\n\t\t\t\t\t\"memory\": pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tInterfaces: spectrocloud.VirtualMachineInterfaceArray{\n\t\t\t\t\u0026spectrocloud.VirtualMachineInterfaceArgs{\n\t\t\t\t\tName:                   pulumi.String(\"default\"),\n\t\t\t\t\tInterfaceBindingMethod: pulumi.String(\"InterfaceMasquerade\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworks: spectrocloud.VirtualMachineNetworkArray{\n\t\t\t\t\u0026spectrocloud.VirtualMachineNetworkArgs{\n\t\t\t\t\tName: pulumi.String(\"default\"),\n\t\t\t\t\tNetworkSource: \u0026spectrocloud.VirtualMachineNetworkNetworkSourceArgs{\n\t\t\t\t\t\tPod: \u0026spectrocloud.VirtualMachineNetworkNetworkSourcePodArgs{},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetClusterArgs;\nimport com.pulumi.spectrocloud.VirtualMachine;\nimport com.pulumi.spectrocloud.VirtualMachineArgs;\nimport com.pulumi.spectrocloud.inputs.VirtualMachineVolumeArgs;\nimport com.pulumi.spectrocloud.inputs.VirtualMachineVolumeVolumeSourceArgs;\nimport com.pulumi.spectrocloud.inputs.VirtualMachineVolumeVolumeSourceCloudInitConfigDriveArgs;\nimport com.pulumi.spectrocloud.inputs.VirtualMachineDiskArgs;\nimport com.pulumi.spectrocloud.inputs.VirtualMachineCpuArgs;\nimport com.pulumi.spectrocloud.inputs.VirtualMachineMemoryArgs;\nimport com.pulumi.spectrocloud.inputs.VirtualMachineResourcesArgs;\nimport com.pulumi.spectrocloud.inputs.VirtualMachineInterfaceArgs;\nimport com.pulumi.spectrocloud.inputs.VirtualMachineNetworkArgs;\nimport com.pulumi.spectrocloud.inputs.VirtualMachineNetworkNetworkSourceArgs;\nimport com.pulumi.spectrocloud.inputs.VirtualMachineNetworkNetworkSourcePodArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var vmEnabledBaseCluster = SpectrocloudFunctions.getCluster(GetClusterArgs.builder()\n            .name(\"tenant-cluster-002\")\n            .context(\"project\")\n            .build());\n\n        final var storageClassName = \"spectro-storage-class\";\n\n        // Create a VM with default cloud init disk, container disk , interface and network\n        ///*\n        var tf_test_vm_basic_type = new VirtualMachine(\"tf-test-vm-basic-type\", VirtualMachineArgs.builder()\n            .clusterUid(vmEnabledBaseCluster.id())\n            .clusterContext(vmEnabledBaseCluster.context())\n            .runOnLaunch(true)\n            .name(\"tf-test-vm-basic-type\")\n            .namespace(\"default\")\n            .labels(Map.of(\"tf\", \"test\"))\n            .volumes(            \n                VirtualMachineVolumeArgs.builder()\n                    .name(\"containerdisk\")\n                    .volumeSource(VirtualMachineVolumeVolumeSourceArgs.builder()\n                        .containerDisks(VirtualMachineVolumeVolumeSourceContainerDiskArgs.builder()\n                            .imageUrl(\"gcr.io/spectro-images-public/release/vm-dashboard/os/ubuntu-container-disk:20.04\")\n                            .build())\n                        .build())\n                    .build(),\n                VirtualMachineVolumeArgs.builder()\n                    .name(\"cloudintdisk\")\n                    .volumeSource(VirtualMachineVolumeVolumeSourceArgs.builder()\n                        .cloudInitConfigDrive(VirtualMachineVolumeVolumeSourceCloudInitConfigDriveArgs.builder()\n                            .userData(\"\"\"\n\n#cloud-config\nssh_pwauth: True\nchpasswd: { expire: False }\npassword: spectro\ndisable_root: false\n                            \"\"\")\n                            .build())\n                        .build())\n                    .build())\n            .disks(            \n                VirtualMachineDiskArgs.builder()\n                    .name(\"containerdisk\")\n                    .diskDevices(VirtualMachineDiskDiskDeviceArgs.builder()\n                        .disks(VirtualMachineDiskDiskDeviceDiskArgs.builder()\n                            .bus(\"virtio\")\n                            .build())\n                        .build())\n                    .build(),\n                VirtualMachineDiskArgs.builder()\n                    .name(\"cloudintdisk\")\n                    .diskDevices(VirtualMachineDiskDiskDeviceArgs.builder()\n                        .disks(VirtualMachineDiskDiskDeviceDiskArgs.builder()\n                            .bus(\"virtio\")\n                            .build())\n                        .build())\n                    .build())\n            .cpu(VirtualMachineCpuArgs.builder()\n                .cores(2.0)\n                .sockets(1.0)\n                .threads(10.0)\n                .build())\n            .memory(VirtualMachineMemoryArgs.builder()\n                .guest(\"1Gi\")\n                .build())\n            .resources(VirtualMachineResourcesArgs.builder()\n                .requests(Map.ofEntries(\n                    Map.entry(\"memory\", \"1Gi\"),\n                    Map.entry(\"cpu\", \"1\")\n                ))\n                .limits(Map.ofEntries(\n                    Map.entry(\"cpu\", \"2\"),\n                    Map.entry(\"memory\", \"1Gi\")\n                ))\n                .build())\n            .interfaces(VirtualMachineInterfaceArgs.builder()\n                .name(\"default\")\n                .interfaceBindingMethod(\"InterfaceMasquerade\")\n                .build())\n            .networks(VirtualMachineNetworkArgs.builder()\n                .name(\"default\")\n                .networkSource(VirtualMachineNetworkNetworkSourceArgs.builder()\n                    .pod(VirtualMachineNetworkNetworkSourcePodArgs.builder()\n                        .build())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a VM with default cloud init disk, container disk , interface and network\n  #/*\n  tf-test-vm-basic-type:\n    type: spectrocloud:VirtualMachine\n    properties:\n      clusterUid: ${vmEnabledBaseCluster.id}\n      clusterContext: ${vmEnabledBaseCluster.context}\n      runOnLaunch: true\n      name: tf-test-vm-basic-type\n      namespace: default\n      labels:\n        tf: test\n      volumes:\n        - name: containerdisk\n          volumeSource:\n            containerDisks:\n              - imageUrl: gcr.io/spectro-images-public/release/vm-dashboard/os/ubuntu-container-disk:20.04\n        - name: cloudintdisk\n          volumeSource:\n            cloudInitConfigDrive:\n              userData: |2\n                #cloud-config\n                ssh_pwauth: True\n                chpasswd: { expire: False }\n                password: spectro\n                disable_root: false\n      disks:\n        - name: containerdisk\n          diskDevices:\n            - disks:\n                - bus: virtio\n        - name: cloudintdisk\n          diskDevices:\n            - disks:\n                - bus: virtio\n      cpu:\n        cores: 2\n        sockets: 1\n        threads: 10\n      memory:\n        guest: 1Gi\n      resources:\n        requests:\n          memory: 1Gi\n          cpu: 1\n        limits:\n          cpu: 2\n          memory: 1Gi\n      interfaces:\n        - name: default\n          interfaceBindingMethod: InterfaceMasquerade\n      networks:\n        - name: default\n          networkSource:\n            pod: {}\nvariables:\n  vmEnabledBaseCluster:\n    fn::invoke:\n      function: spectrocloud:getCluster\n      arguments:\n        name: tenant-cluster-002\n        context: project\n  storageClassName: spectro-storage-class\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"affinity":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinity:VirtualMachineAffinity","description":"Optional pod scheduling constraints.\n"},"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map stored with the VM that may be used to store arbitrary metadata.\n"},"baseVmName":{"type":"string","description":"The name of the source virtual machine that a clone will be created of.\n"},"clusterContext":{"type":"string","description":"Context of the cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e.\n"},"clusterUid":{"type":"string","description":"The cluster UID to which the virtual machine belongs to.\n"},"cpu":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineCpu:VirtualMachineCpu","description":"CPU allows to specifying the CPU topology. Valid resource keys are \"cores\" , \"sockets\" and \"threads\"\n"},"dataVolumeTemplates":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineDataVolumeTemplate:VirtualMachineDataVolumeTemplate"},"description":"dataVolumeTemplates is a list of dataVolumes that the VirtualMachineInstance template can reference.\n"},"disks":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineDisk:VirtualMachineDisk"},"description":"Disks describes disks, cdroms, floppy and luns which are connected to the vmi.\n"},"dnsPolicy":{"type":"string","description":"DNSPolicy defines how a pod's DNS will be configured.\n"},"evictionStrategy":{"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.\n"},"features":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineFeatures:VirtualMachineFeatures","description":"Features allows to configure various virtualization features.\n"},"firmware":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineFirmware:VirtualMachineFirmware","description":"Firmware configuration for the virtual machine.\n"},"generateName":{"type":"string","description":"Prefix, used by the server, to generate a unique name ONLY IF the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e 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\n"},"generation":{"type":"number","description":"A sequence number representing a specific generation of the desired state.\n"},"hostname":{"type":"string","description":"Specifies the hostname of the vmi.\n"},"interfaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineInterface:VirtualMachineInterface"},"description":"Interfaces describe network interfaces which are added to the vmi.\n"},"labels":{"type":"object","additionalProperties":{"type":"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.\n"},"livenessProbe":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineLivenessProbe:VirtualMachineLivenessProbe","description":"Specification of the desired behavior of the VirtualMachineInstance on the host.\n"},"memory":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineMemory:VirtualMachineMemory","description":"Memory allows specifying the vmi memory features.\n"},"name":{"type":"string","description":"Name of the virtual machine, must be unique. Cannot be updated.\n"},"namespace":{"type":"string","description":"Namespace defines the space within, Name must be unique.\n"},"networks":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineNetwork:VirtualMachineNetwork"},"description":"List of networks that can be attached to a vm's virtual interface.\n"},"nodeSelector":{"type":"object","additionalProperties":{"type":"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.\n"},"podDnsConfig":{"$ref":"#/types/spectrocloud:index%2FVirtualMachinePodDnsConfig:VirtualMachinePodDnsConfig","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\n"},"priorityClassName":{"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.\n"},"readinessProbe":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineReadinessProbe:VirtualMachineReadinessProbe","description":"Specification of the desired behavior of the VirtualMachineInstance on the host.\n"},"resourceVersion":{"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.\n"},"resources":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineResources:VirtualMachineResources","description":"Resources describes the Compute Resources required by this vmi.\n"},"runOnLaunch":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the virtual machine will be started when the cluster is launched. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"runStrategy":{"type":"string","description":"Running state indicates the requested running state of the VirtualMachineInstance, mutually exclusive with Running.\n"},"schedulerName":{"type":"string","description":"If specified, the VMI will be dispatched by specified scheduler. If not specified, the VMI will be dispatched by default scheduler.\n"},"selfLink":{"type":"string","description":"A URL representing this VM.\n"},"status":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineStatus:VirtualMachineStatus","description":"VirtualMachineStatus represents the status returned by the controller to describe how the VirtualMachine is doing.\n"},"subdomain":{"type":"string","description":"If specified, the fully qualified vmi hostname will be \"\\n\\n.\\n\\n.\\n\\n.svc.\\n\\n\".\n"},"terminationGracePeriodSeconds":{"type":"number","description":"Grace period observed after signalling a VirtualMachineInstance to stop after which the VirtualMachineInstance is force terminated.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineTimeouts:VirtualMachineTimeouts"},"tolerations":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineToleration:VirtualMachineToleration"},"description":"If specified, the pod's toleration. Optional: Defaults to empty\n"},"uid":{"type":"string","description":"The unique in time and space value for this VM.\n"},"virtualMachineId":{"type":"string","description":"The ID of this resource.\n"},"vmAction":{"type":"string","description":"The action to be performed on the virtual machine. Valid values are: \u003cspan pulumi-lang-nodejs=\"`start`\" pulumi-lang-dotnet=\"`Start`\" pulumi-lang-go=\"`start`\" pulumi-lang-python=\"`start`\" pulumi-lang-yaml=\"`start`\" pulumi-lang-java=\"`start`\"\u003e`start`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`stop`\" pulumi-lang-dotnet=\"`Stop`\" pulumi-lang-go=\"`stop`\" pulumi-lang-python=\"`stop`\" pulumi-lang-yaml=\"`stop`\" pulumi-lang-java=\"`stop`\"\u003e`stop`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`restart`\" pulumi-lang-dotnet=\"`Restart`\" pulumi-lang-go=\"`restart`\" pulumi-lang-python=\"`restart`\" pulumi-lang-yaml=\"`restart`\" pulumi-lang-java=\"`restart`\"\u003e`restart`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`pause`\" pulumi-lang-dotnet=\"`Pause`\" pulumi-lang-go=\"`pause`\" pulumi-lang-python=\"`pause`\" pulumi-lang-yaml=\"`pause`\" pulumi-lang-java=\"`pause`\"\u003e`pause`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`resume`\" pulumi-lang-dotnet=\"`Resume`\" pulumi-lang-go=\"`resume`\" pulumi-lang-python=\"`resume`\" pulumi-lang-yaml=\"`resume`\" pulumi-lang-java=\"`resume`\"\u003e`resume`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`migrate`\" pulumi-lang-dotnet=\"`Migrate`\" pulumi-lang-go=\"`migrate`\" pulumi-lang-python=\"`migrate`\" pulumi-lang-yaml=\"`migrate`\" pulumi-lang-java=\"`migrate`\"\u003e`migrate`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`start`\" pulumi-lang-dotnet=\"`Start`\" pulumi-lang-go=\"`start`\" pulumi-lang-python=\"`start`\" pulumi-lang-yaml=\"`start`\" pulumi-lang-java=\"`start`\"\u003e`start`\u003c/span\u003e.\n"},"volumes":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineVolume:VirtualMachineVolume"},"description":"Specification of the desired behavior of the VirtualMachineInstance on the host.\n"}},"type":"object","required":["annotations","clusterUid","generation","name","resourceVersion","resources","selfLink","uid","virtualMachineId"],"inputProperties":{"affinity":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinity:VirtualMachineAffinity","description":"Optional pod scheduling constraints.\n"},"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map stored with the VM that may be used to store arbitrary metadata.\n"},"baseVmName":{"type":"string","description":"The name of the source virtual machine that a clone will be created of.\n"},"clusterContext":{"type":"string","description":"Context of the cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e.\n"},"clusterUid":{"type":"string","description":"The cluster UID to which the virtual machine belongs to.\n"},"cpu":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineCpu:VirtualMachineCpu","description":"CPU allows to specifying the CPU topology. Valid resource keys are \"cores\" , \"sockets\" and \"threads\"\n"},"dataVolumeTemplates":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineDataVolumeTemplate:VirtualMachineDataVolumeTemplate"},"description":"dataVolumeTemplates is a list of dataVolumes that the VirtualMachineInstance template can reference.\n"},"disks":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineDisk:VirtualMachineDisk"},"description":"Disks describes disks, cdroms, floppy and luns which are connected to the vmi.\n"},"dnsPolicy":{"type":"string","description":"DNSPolicy defines how a pod's DNS will be configured.\n"},"evictionStrategy":{"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.\n"},"features":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineFeatures:VirtualMachineFeatures","description":"Features allows to configure various virtualization features.\n"},"firmware":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineFirmware:VirtualMachineFirmware","description":"Firmware configuration for the virtual machine.\n"},"generateName":{"type":"string","description":"Prefix, used by the server, to generate a unique name ONLY IF the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e 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\n"},"hostname":{"type":"string","description":"Specifies the hostname of the vmi.\n"},"interfaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineInterface:VirtualMachineInterface"},"description":"Interfaces describe network interfaces which are added to the vmi.\n"},"labels":{"type":"object","additionalProperties":{"type":"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.\n"},"livenessProbe":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineLivenessProbe:VirtualMachineLivenessProbe","description":"Specification of the desired behavior of the VirtualMachineInstance on the host.\n"},"memory":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineMemory:VirtualMachineMemory","description":"Memory allows specifying the vmi memory features.\n"},"name":{"type":"string","description":"Name of the virtual machine, must be unique. Cannot be updated.\n"},"namespace":{"type":"string","description":"Namespace defines the space within, Name must be unique.\n"},"networks":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineNetwork:VirtualMachineNetwork"},"description":"List of networks that can be attached to a vm's virtual interface.\n"},"nodeSelector":{"type":"object","additionalProperties":{"type":"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.\n"},"podDnsConfig":{"$ref":"#/types/spectrocloud:index%2FVirtualMachinePodDnsConfig:VirtualMachinePodDnsConfig","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\n"},"priorityClassName":{"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.\n"},"readinessProbe":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineReadinessProbe:VirtualMachineReadinessProbe","description":"Specification of the desired behavior of the VirtualMachineInstance on the host.\n"},"resources":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineResources:VirtualMachineResources","description":"Resources describes the Compute Resources required by this vmi.\n"},"runOnLaunch":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the virtual machine will be started when the cluster is launched. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"runStrategy":{"type":"string","description":"Running state indicates the requested running state of the VirtualMachineInstance, mutually exclusive with Running.\n"},"schedulerName":{"type":"string","description":"If specified, the VMI will be dispatched by specified scheduler. If not specified, the VMI will be dispatched by default scheduler.\n"},"status":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineStatus:VirtualMachineStatus","description":"VirtualMachineStatus represents the status returned by the controller to describe how the VirtualMachine is doing.\n"},"subdomain":{"type":"string","description":"If specified, the fully qualified vmi hostname will be \"\\n\\n.\\n\\n.\\n\\n.svc.\\n\\n\".\n"},"terminationGracePeriodSeconds":{"type":"number","description":"Grace period observed after signalling a VirtualMachineInstance to stop after which the VirtualMachineInstance is force terminated.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineTimeouts:VirtualMachineTimeouts"},"tolerations":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineToleration:VirtualMachineToleration"},"description":"If specified, the pod's toleration. Optional: Defaults to empty\n"},"virtualMachineId":{"type":"string","description":"The ID of this resource.\n"},"vmAction":{"type":"string","description":"The action to be performed on the virtual machine. Valid values are: \u003cspan pulumi-lang-nodejs=\"`start`\" pulumi-lang-dotnet=\"`Start`\" pulumi-lang-go=\"`start`\" pulumi-lang-python=\"`start`\" pulumi-lang-yaml=\"`start`\" pulumi-lang-java=\"`start`\"\u003e`start`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`stop`\" pulumi-lang-dotnet=\"`Stop`\" pulumi-lang-go=\"`stop`\" pulumi-lang-python=\"`stop`\" pulumi-lang-yaml=\"`stop`\" pulumi-lang-java=\"`stop`\"\u003e`stop`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`restart`\" pulumi-lang-dotnet=\"`Restart`\" pulumi-lang-go=\"`restart`\" pulumi-lang-python=\"`restart`\" pulumi-lang-yaml=\"`restart`\" pulumi-lang-java=\"`restart`\"\u003e`restart`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`pause`\" pulumi-lang-dotnet=\"`Pause`\" pulumi-lang-go=\"`pause`\" pulumi-lang-python=\"`pause`\" pulumi-lang-yaml=\"`pause`\" pulumi-lang-java=\"`pause`\"\u003e`pause`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`resume`\" pulumi-lang-dotnet=\"`Resume`\" pulumi-lang-go=\"`resume`\" pulumi-lang-python=\"`resume`\" pulumi-lang-yaml=\"`resume`\" pulumi-lang-java=\"`resume`\"\u003e`resume`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`migrate`\" pulumi-lang-dotnet=\"`Migrate`\" pulumi-lang-go=\"`migrate`\" pulumi-lang-python=\"`migrate`\" pulumi-lang-yaml=\"`migrate`\" pulumi-lang-java=\"`migrate`\"\u003e`migrate`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`start`\" pulumi-lang-dotnet=\"`Start`\" pulumi-lang-go=\"`start`\" pulumi-lang-python=\"`start`\" pulumi-lang-yaml=\"`start`\" pulumi-lang-java=\"`start`\"\u003e`start`\u003c/span\u003e.\n"},"volumes":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineVolume:VirtualMachineVolume"},"description":"Specification of the desired behavior of the VirtualMachineInstance on the host.\n"}},"requiredInputs":["clusterUid","resources"],"stateInputs":{"description":"Input properties used for looking up and filtering VirtualMachine resources.\n","properties":{"affinity":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineAffinity:VirtualMachineAffinity","description":"Optional pod scheduling constraints.\n"},"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map stored with the VM that may be used to store arbitrary metadata.\n"},"baseVmName":{"type":"string","description":"The name of the source virtual machine that a clone will be created of.\n"},"clusterContext":{"type":"string","description":"Context of the cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e.\n"},"clusterUid":{"type":"string","description":"The cluster UID to which the virtual machine belongs to.\n"},"cpu":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineCpu:VirtualMachineCpu","description":"CPU allows to specifying the CPU topology. Valid resource keys are \"cores\" , \"sockets\" and \"threads\"\n"},"dataVolumeTemplates":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineDataVolumeTemplate:VirtualMachineDataVolumeTemplate"},"description":"dataVolumeTemplates is a list of dataVolumes that the VirtualMachineInstance template can reference.\n"},"disks":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineDisk:VirtualMachineDisk"},"description":"Disks describes disks, cdroms, floppy and luns which are connected to the vmi.\n"},"dnsPolicy":{"type":"string","description":"DNSPolicy defines how a pod's DNS will be configured.\n"},"evictionStrategy":{"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.\n"},"features":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineFeatures:VirtualMachineFeatures","description":"Features allows to configure various virtualization features.\n"},"firmware":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineFirmware:VirtualMachineFirmware","description":"Firmware configuration for the virtual machine.\n"},"generateName":{"type":"string","description":"Prefix, used by the server, to generate a unique name ONLY IF the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e 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\n"},"generation":{"type":"number","description":"A sequence number representing a specific generation of the desired state.\n"},"hostname":{"type":"string","description":"Specifies the hostname of the vmi.\n"},"interfaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineInterface:VirtualMachineInterface"},"description":"Interfaces describe network interfaces which are added to the vmi.\n"},"labels":{"type":"object","additionalProperties":{"type":"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.\n"},"livenessProbe":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineLivenessProbe:VirtualMachineLivenessProbe","description":"Specification of the desired behavior of the VirtualMachineInstance on the host.\n"},"memory":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineMemory:VirtualMachineMemory","description":"Memory allows specifying the vmi memory features.\n"},"name":{"type":"string","description":"Name of the virtual machine, must be unique. Cannot be updated.\n"},"namespace":{"type":"string","description":"Namespace defines the space within, Name must be unique.\n"},"networks":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineNetwork:VirtualMachineNetwork"},"description":"List of networks that can be attached to a vm's virtual interface.\n"},"nodeSelector":{"type":"object","additionalProperties":{"type":"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.\n"},"podDnsConfig":{"$ref":"#/types/spectrocloud:index%2FVirtualMachinePodDnsConfig:VirtualMachinePodDnsConfig","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\n"},"priorityClassName":{"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.\n"},"readinessProbe":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineReadinessProbe:VirtualMachineReadinessProbe","description":"Specification of the desired behavior of the VirtualMachineInstance on the host.\n"},"resourceVersion":{"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.\n"},"resources":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineResources:VirtualMachineResources","description":"Resources describes the Compute Resources required by this vmi.\n"},"runOnLaunch":{"type":"boolean","description":"If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, the virtual machine will be started when the cluster is launched. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"runStrategy":{"type":"string","description":"Running state indicates the requested running state of the VirtualMachineInstance, mutually exclusive with Running.\n"},"schedulerName":{"type":"string","description":"If specified, the VMI will be dispatched by specified scheduler. If not specified, the VMI will be dispatched by default scheduler.\n"},"selfLink":{"type":"string","description":"A URL representing this VM.\n"},"status":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineStatus:VirtualMachineStatus","description":"VirtualMachineStatus represents the status returned by the controller to describe how the VirtualMachine is doing.\n"},"subdomain":{"type":"string","description":"If specified, the fully qualified vmi hostname will be \"\\n\\n.\\n\\n.\\n\\n.svc.\\n\\n\".\n"},"terminationGracePeriodSeconds":{"type":"number","description":"Grace period observed after signalling a VirtualMachineInstance to stop after which the VirtualMachineInstance is force terminated.\n"},"timeouts":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineTimeouts:VirtualMachineTimeouts"},"tolerations":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineToleration:VirtualMachineToleration"},"description":"If specified, the pod's toleration. Optional: Defaults to empty\n"},"uid":{"type":"string","description":"The unique in time and space value for this VM.\n"},"virtualMachineId":{"type":"string","description":"The ID of this resource.\n"},"vmAction":{"type":"string","description":"The action to be performed on the virtual machine. Valid values are: \u003cspan pulumi-lang-nodejs=\"`start`\" pulumi-lang-dotnet=\"`Start`\" pulumi-lang-go=\"`start`\" pulumi-lang-python=\"`start`\" pulumi-lang-yaml=\"`start`\" pulumi-lang-java=\"`start`\"\u003e`start`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`stop`\" pulumi-lang-dotnet=\"`Stop`\" pulumi-lang-go=\"`stop`\" pulumi-lang-python=\"`stop`\" pulumi-lang-yaml=\"`stop`\" pulumi-lang-java=\"`stop`\"\u003e`stop`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`restart`\" pulumi-lang-dotnet=\"`Restart`\" pulumi-lang-go=\"`restart`\" pulumi-lang-python=\"`restart`\" pulumi-lang-yaml=\"`restart`\" pulumi-lang-java=\"`restart`\"\u003e`restart`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`pause`\" pulumi-lang-dotnet=\"`Pause`\" pulumi-lang-go=\"`pause`\" pulumi-lang-python=\"`pause`\" pulumi-lang-yaml=\"`pause`\" pulumi-lang-java=\"`pause`\"\u003e`pause`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`resume`\" pulumi-lang-dotnet=\"`Resume`\" pulumi-lang-go=\"`resume`\" pulumi-lang-python=\"`resume`\" pulumi-lang-yaml=\"`resume`\" pulumi-lang-java=\"`resume`\"\u003e`resume`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`migrate`\" pulumi-lang-dotnet=\"`Migrate`\" pulumi-lang-go=\"`migrate`\" pulumi-lang-python=\"`migrate`\" pulumi-lang-yaml=\"`migrate`\" pulumi-lang-java=\"`migrate`\"\u003e`migrate`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`start`\" pulumi-lang-dotnet=\"`Start`\" pulumi-lang-go=\"`start`\" pulumi-lang-python=\"`start`\" pulumi-lang-yaml=\"`start`\" pulumi-lang-java=\"`start`\"\u003e`start`\u003c/span\u003e.\n"},"volumes":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FVirtualMachineVolume:VirtualMachineVolume"},"description":"Specification of the desired behavior of the VirtualMachineInstance on the host.\n"}},"type":"object"}},"spectrocloud:index/workspace:Workspace":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst cluster1 = spectrocloud.getCluster({\n    name: \"vsphere-picard-2\",\n});\nconst bsl = spectrocloud.getBackupStorageLocation({\n    name: \"backups-nikolay\",\n});\nconst workspace = new spectrocloud.Workspace(\"workspace\", {\n    name: \"wsp-tf\",\n    clusters: [{\n        uid: cluster1.then(cluster1 =\u003e cluster1.id),\n    }],\n    clusterRbacBindings: [\n        {\n            type: \"ClusterRoleBinding\",\n            role: {\n                kind: \"ClusterRole\",\n                name: \"testrole3\",\n            },\n            subjects: [\n                {\n                    type: \"User\",\n                    name: \"testRoleUser4\",\n                },\n                {\n                    type: \"Group\",\n                    name: \"testRoleGroup4\",\n                },\n                {\n                    type: \"ServiceAccount\",\n                    name: \"testrolesubject3\",\n                    namespace: \"testrolenamespace\",\n                },\n            ],\n        },\n        {\n            type: \"RoleBinding\",\n            namespace: \"test5ns\",\n            role: {\n                kind: \"Role\",\n                name: \"testrolefromns3\",\n            },\n            subjects: [\n                {\n                    type: \"User\",\n                    name: \"testUserRoleFromNS3\",\n                },\n                {\n                    type: \"Group\",\n                    name: \"testGroupFromNS3\",\n                },\n                {\n                    type: \"ServiceAccount\",\n                    name: \"testrolesubject3\",\n                    namespace: \"testrolenamespace\",\n                },\n            ],\n        },\n    ],\n    namespaces: [{\n        name: \"test5ns\",\n        resourceAllocation: {\n            cpu_cores: \"2\",\n            memory_MiB: \"2048\",\n        },\n        imagesBlacklists: [\n            \"1\",\n            \"2\",\n            \"3\",\n        ],\n    }],\n    backupPolicy: {\n        schedule: \"0 0 * * SUN\",\n        backupLocationId: bsl.then(bsl =\u003e bsl.id),\n        prefix: \"prod-backup\",\n        expiryInHour: 7200,\n        includeDisks: false,\n        includeClusterResources: true,\n        includeAllClusters: true,\n        clusterUids: [cluster1.then(cluster1 =\u003e cluster1.id)],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\ncluster1 = spectrocloud.get_cluster(name=\"vsphere-picard-2\")\nbsl = spectrocloud.get_backup_storage_location(name=\"backups-nikolay\")\nworkspace = spectrocloud.Workspace(\"workspace\",\n    name=\"wsp-tf\",\n    clusters=[{\n        \"uid\": cluster1.id,\n    }],\n    cluster_rbac_bindings=[\n        {\n            \"type\": \"ClusterRoleBinding\",\n            \"role\": {\n                \"kind\": \"ClusterRole\",\n                \"name\": \"testrole3\",\n            },\n            \"subjects\": [\n                {\n                    \"type\": \"User\",\n                    \"name\": \"testRoleUser4\",\n                },\n                {\n                    \"type\": \"Group\",\n                    \"name\": \"testRoleGroup4\",\n                },\n                {\n                    \"type\": \"ServiceAccount\",\n                    \"name\": \"testrolesubject3\",\n                    \"namespace\": \"testrolenamespace\",\n                },\n            ],\n        },\n        {\n            \"type\": \"RoleBinding\",\n            \"namespace\": \"test5ns\",\n            \"role\": {\n                \"kind\": \"Role\",\n                \"name\": \"testrolefromns3\",\n            },\n            \"subjects\": [\n                {\n                    \"type\": \"User\",\n                    \"name\": \"testUserRoleFromNS3\",\n                },\n                {\n                    \"type\": \"Group\",\n                    \"name\": \"testGroupFromNS3\",\n                },\n                {\n                    \"type\": \"ServiceAccount\",\n                    \"name\": \"testrolesubject3\",\n                    \"namespace\": \"testrolenamespace\",\n                },\n            ],\n        },\n    ],\n    namespaces=[{\n        \"name\": \"test5ns\",\n        \"resource_allocation\": {\n            \"cpu_cores\": \"2\",\n            \"memory_MiB\": \"2048\",\n        },\n        \"images_blacklists\": [\n            \"1\",\n            \"2\",\n            \"3\",\n        ],\n    }],\n    backup_policy={\n        \"schedule\": \"0 0 * * SUN\",\n        \"backup_location_id\": bsl.id,\n        \"prefix\": \"prod-backup\",\n        \"expiry_in_hour\": 7200,\n        \"include_disks\": False,\n        \"include_cluster_resources\": True,\n        \"include_all_clusters\": True,\n        \"cluster_uids\": [cluster1.id],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var cluster1 = Spectrocloud.GetCluster.Invoke(new()\n    {\n        Name = \"vsphere-picard-2\",\n    });\n\n    var bsl = Spectrocloud.GetBackupStorageLocation.Invoke(new()\n    {\n        Name = \"backups-nikolay\",\n    });\n\n    var workspace = new Spectrocloud.Workspace(\"workspace\", new()\n    {\n        Name = \"wsp-tf\",\n        Clusters = new[]\n        {\n            new Spectrocloud.Inputs.WorkspaceClusterArgs\n            {\n                Uid = cluster1.Apply(getClusterResult =\u003e getClusterResult.Id),\n            },\n        },\n        ClusterRbacBindings = new[]\n        {\n            new Spectrocloud.Inputs.WorkspaceClusterRbacBindingArgs\n            {\n                Type = \"ClusterRoleBinding\",\n                Role = \n                {\n                    { \"kind\", \"ClusterRole\" },\n                    { \"name\", \"testrole3\" },\n                },\n                Subjects = new[]\n                {\n                    new Spectrocloud.Inputs.WorkspaceClusterRbacBindingSubjectArgs\n                    {\n                        Type = \"User\",\n                        Name = \"testRoleUser4\",\n                    },\n                    new Spectrocloud.Inputs.WorkspaceClusterRbacBindingSubjectArgs\n                    {\n                        Type = \"Group\",\n                        Name = \"testRoleGroup4\",\n                    },\n                    new Spectrocloud.Inputs.WorkspaceClusterRbacBindingSubjectArgs\n                    {\n                        Type = \"ServiceAccount\",\n                        Name = \"testrolesubject3\",\n                        Namespace = \"testrolenamespace\",\n                    },\n                },\n            },\n            new Spectrocloud.Inputs.WorkspaceClusterRbacBindingArgs\n            {\n                Type = \"RoleBinding\",\n                Namespace = \"test5ns\",\n                Role = \n                {\n                    { \"kind\", \"Role\" },\n                    { \"name\", \"testrolefromns3\" },\n                },\n                Subjects = new[]\n                {\n                    new Spectrocloud.Inputs.WorkspaceClusterRbacBindingSubjectArgs\n                    {\n                        Type = \"User\",\n                        Name = \"testUserRoleFromNS3\",\n                    },\n                    new Spectrocloud.Inputs.WorkspaceClusterRbacBindingSubjectArgs\n                    {\n                        Type = \"Group\",\n                        Name = \"testGroupFromNS3\",\n                    },\n                    new Spectrocloud.Inputs.WorkspaceClusterRbacBindingSubjectArgs\n                    {\n                        Type = \"ServiceAccount\",\n                        Name = \"testrolesubject3\",\n                        Namespace = \"testrolenamespace\",\n                    },\n                },\n            },\n        },\n        Namespaces = new[]\n        {\n            new Spectrocloud.Inputs.WorkspaceNamespaceArgs\n            {\n                Name = \"test5ns\",\n                ResourceAllocation = \n                {\n                    { \"cpu_cores\", \"2\" },\n                    { \"memory_MiB\", \"2048\" },\n                },\n                ImagesBlacklists = new[]\n                {\n                    \"1\",\n                    \"2\",\n                    \"3\",\n                },\n            },\n        },\n        BackupPolicy = new Spectrocloud.Inputs.WorkspaceBackupPolicyArgs\n        {\n            Schedule = \"0 0 * * SUN\",\n            BackupLocationId = bsl.Apply(getBackupStorageLocationResult =\u003e getBackupStorageLocationResult.Id),\n            Prefix = \"prod-backup\",\n            ExpiryInHour = 7200,\n            IncludeDisks = false,\n            IncludeClusterResources = true,\n            IncludeAllClusters = true,\n            ClusterUids = new[]\n            {\n                cluster1.Apply(getClusterResult =\u003e getClusterResult.Id),\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcluster1, err := spectrocloud.GetCluster(ctx, \u0026spectrocloud.GetClusterArgs{\n\t\t\tName: \"vsphere-picard-2\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbsl, err := spectrocloud.LookupBackupStorageLocation(ctx, \u0026spectrocloud.LookupBackupStorageLocationArgs{\n\t\t\tName: pulumi.StringRef(\"backups-nikolay\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.NewWorkspace(ctx, \"workspace\", \u0026spectrocloud.WorkspaceArgs{\n\t\t\tName: pulumi.String(\"wsp-tf\"),\n\t\t\tClusters: spectrocloud.WorkspaceClusterArray{\n\t\t\t\t\u0026spectrocloud.WorkspaceClusterArgs{\n\t\t\t\t\tUid: pulumi.String(cluster1.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClusterRbacBindings: spectrocloud.WorkspaceClusterRbacBindingArray{\n\t\t\t\t\u0026spectrocloud.WorkspaceClusterRbacBindingArgs{\n\t\t\t\t\tType: pulumi.String(\"ClusterRoleBinding\"),\n\t\t\t\t\tRole: pulumi.StringMap{\n\t\t\t\t\t\t\"kind\": pulumi.String(\"ClusterRole\"),\n\t\t\t\t\t\t\"name\": pulumi.String(\"testrole3\"),\n\t\t\t\t\t},\n\t\t\t\t\tSubjects: spectrocloud.WorkspaceClusterRbacBindingSubjectArray{\n\t\t\t\t\t\t\u0026spectrocloud.WorkspaceClusterRbacBindingSubjectArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"User\"),\n\t\t\t\t\t\t\tName: pulumi.String(\"testRoleUser4\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026spectrocloud.WorkspaceClusterRbacBindingSubjectArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Group\"),\n\t\t\t\t\t\t\tName: pulumi.String(\"testRoleGroup4\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026spectrocloud.WorkspaceClusterRbacBindingSubjectArgs{\n\t\t\t\t\t\t\tType:      pulumi.String(\"ServiceAccount\"),\n\t\t\t\t\t\t\tName:      pulumi.String(\"testrolesubject3\"),\n\t\t\t\t\t\t\tNamespace: pulumi.String(\"testrolenamespace\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026spectrocloud.WorkspaceClusterRbacBindingArgs{\n\t\t\t\t\tType:      pulumi.String(\"RoleBinding\"),\n\t\t\t\t\tNamespace: pulumi.String(\"test5ns\"),\n\t\t\t\t\tRole: pulumi.StringMap{\n\t\t\t\t\t\t\"kind\": pulumi.String(\"Role\"),\n\t\t\t\t\t\t\"name\": pulumi.String(\"testrolefromns3\"),\n\t\t\t\t\t},\n\t\t\t\t\tSubjects: spectrocloud.WorkspaceClusterRbacBindingSubjectArray{\n\t\t\t\t\t\t\u0026spectrocloud.WorkspaceClusterRbacBindingSubjectArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"User\"),\n\t\t\t\t\t\t\tName: pulumi.String(\"testUserRoleFromNS3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026spectrocloud.WorkspaceClusterRbacBindingSubjectArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Group\"),\n\t\t\t\t\t\t\tName: pulumi.String(\"testGroupFromNS3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026spectrocloud.WorkspaceClusterRbacBindingSubjectArgs{\n\t\t\t\t\t\t\tType:      pulumi.String(\"ServiceAccount\"),\n\t\t\t\t\t\t\tName:      pulumi.String(\"testrolesubject3\"),\n\t\t\t\t\t\t\tNamespace: pulumi.String(\"testrolenamespace\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tNamespaces: spectrocloud.WorkspaceNamespaceArray{\n\t\t\t\t\u0026spectrocloud.WorkspaceNamespaceArgs{\n\t\t\t\t\tName: pulumi.String(\"test5ns\"),\n\t\t\t\t\tResourceAllocation: pulumi.StringMap{\n\t\t\t\t\t\t\"cpu_cores\":  pulumi.String(\"2\"),\n\t\t\t\t\t\t\"memory_MiB\": pulumi.String(\"2048\"),\n\t\t\t\t\t},\n\t\t\t\t\tImagesBlacklists: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\t\t\tpulumi.String(\"2\"),\n\t\t\t\t\t\tpulumi.String(\"3\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tBackupPolicy: \u0026spectrocloud.WorkspaceBackupPolicyArgs{\n\t\t\t\tSchedule:                pulumi.String(\"0 0 * * SUN\"),\n\t\t\t\tBackupLocationId:        pulumi.String(bsl.Id),\n\t\t\t\tPrefix:                  pulumi.String(\"prod-backup\"),\n\t\t\t\tExpiryInHour:            pulumi.Float64(7200),\n\t\t\t\tIncludeDisks:            pulumi.Bool(false),\n\t\t\t\tIncludeClusterResources: pulumi.Bool(true),\n\t\t\t\tIncludeAllClusters:      pulumi.Bool(true),\n\t\t\t\tClusterUids: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(cluster1.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetClusterArgs;\nimport com.pulumi.spectrocloud.inputs.GetBackupStorageLocationArgs;\nimport com.pulumi.spectrocloud.Workspace;\nimport com.pulumi.spectrocloud.WorkspaceArgs;\nimport com.pulumi.spectrocloud.inputs.WorkspaceClusterArgs;\nimport com.pulumi.spectrocloud.inputs.WorkspaceClusterRbacBindingArgs;\nimport com.pulumi.spectrocloud.inputs.WorkspaceNamespaceArgs;\nimport com.pulumi.spectrocloud.inputs.WorkspaceBackupPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var cluster1 = SpectrocloudFunctions.getCluster(GetClusterArgs.builder()\n            .name(\"vsphere-picard-2\")\n            .build());\n\n        final var bsl = SpectrocloudFunctions.getBackupStorageLocation(GetBackupStorageLocationArgs.builder()\n            .name(\"backups-nikolay\")\n            .build());\n\n        var workspace = new Workspace(\"workspace\", WorkspaceArgs.builder()\n            .name(\"wsp-tf\")\n            .clusters(WorkspaceClusterArgs.builder()\n                .uid(cluster1.id())\n                .build())\n            .clusterRbacBindings(            \n                WorkspaceClusterRbacBindingArgs.builder()\n                    .type(\"ClusterRoleBinding\")\n                    .role(Map.ofEntries(\n                        Map.entry(\"kind\", \"ClusterRole\"),\n                        Map.entry(\"name\", \"testrole3\")\n                    ))\n                    .subjects(                    \n                        WorkspaceClusterRbacBindingSubjectArgs.builder()\n                            .type(\"User\")\n                            .name(\"testRoleUser4\")\n                            .build(),\n                        WorkspaceClusterRbacBindingSubjectArgs.builder()\n                            .type(\"Group\")\n                            .name(\"testRoleGroup4\")\n                            .build(),\n                        WorkspaceClusterRbacBindingSubjectArgs.builder()\n                            .type(\"ServiceAccount\")\n                            .name(\"testrolesubject3\")\n                            .namespace(\"testrolenamespace\")\n                            .build())\n                    .build(),\n                WorkspaceClusterRbacBindingArgs.builder()\n                    .type(\"RoleBinding\")\n                    .namespace(\"test5ns\")\n                    .role(Map.ofEntries(\n                        Map.entry(\"kind\", \"Role\"),\n                        Map.entry(\"name\", \"testrolefromns3\")\n                    ))\n                    .subjects(                    \n                        WorkspaceClusterRbacBindingSubjectArgs.builder()\n                            .type(\"User\")\n                            .name(\"testUserRoleFromNS3\")\n                            .build(),\n                        WorkspaceClusterRbacBindingSubjectArgs.builder()\n                            .type(\"Group\")\n                            .name(\"testGroupFromNS3\")\n                            .build(),\n                        WorkspaceClusterRbacBindingSubjectArgs.builder()\n                            .type(\"ServiceAccount\")\n                            .name(\"testrolesubject3\")\n                            .namespace(\"testrolenamespace\")\n                            .build())\n                    .build())\n            .namespaces(WorkspaceNamespaceArgs.builder()\n                .name(\"test5ns\")\n                .resourceAllocation(Map.ofEntries(\n                    Map.entry(\"cpu_cores\", \"2\"),\n                    Map.entry(\"memory_MiB\", \"2048\")\n                ))\n                .imagesBlacklists(                \n                    \"1\",\n                    \"2\",\n                    \"3\")\n                .build())\n            .backupPolicy(WorkspaceBackupPolicyArgs.builder()\n                .schedule(\"0 0 * * SUN\")\n                .backupLocationId(bsl.id())\n                .prefix(\"prod-backup\")\n                .expiryInHour(7200.0)\n                .includeDisks(false)\n                .includeClusterResources(true)\n                .includeAllClusters(true)\n                .clusterUids(cluster1.id())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  workspace:\n    type: spectrocloud:Workspace\n    properties:\n      name: wsp-tf\n      clusters:\n        - uid: ${cluster1.id}\n      clusterRbacBindings:\n        - type: ClusterRoleBinding\n          role:\n            kind: ClusterRole\n            name: testrole3\n          subjects:\n            - type: User\n              name: testRoleUser4\n            - type: Group\n              name: testRoleGroup4\n            - type: ServiceAccount\n              name: testrolesubject3\n              namespace: testrolenamespace\n        - type: RoleBinding\n          namespace: test5ns\n          role:\n            kind: Role\n            name: testrolefromns3\n          subjects:\n            - type: User\n              name: testUserRoleFromNS3\n            - type: Group\n              name: testGroupFromNS3\n            - type: ServiceAccount\n              name: testrolesubject3\n              namespace: testrolenamespace\n      namespaces:\n        - name: test5ns\n          resourceAllocation:\n            cpu_cores: '2'\n            memory_MiB: '2048'\n          imagesBlacklists:\n            - '1'\n            - '2'\n            - '3'\n      backupPolicy:\n        schedule: 0 0 * * SUN\n        backupLocationId: ${bsl.id}\n        prefix: prod-backup\n        expiryInHour: 7200\n        includeDisks: false\n        includeClusterResources: true\n        includeAllClusters: true\n        clusterUids:\n          - ${cluster1.id}\nvariables:\n  cluster1:\n    fn::invoke:\n      function: spectrocloud:getCluster\n      arguments:\n        name: vsphere-picard-2\n  bsl:\n    fn::invoke:\n      function: spectrocloud:getBackupStorageLocation\n      arguments:\n        name: backups-nikolay\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FWorkspaceBackupPolicy:WorkspaceBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FWorkspaceClusterRbacBinding:WorkspaceClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusters":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FWorkspaceCluster:WorkspaceCluster"}},"description":{"type":"string"},"name":{"type":"string"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FWorkspaceNamespace:WorkspaceNamespace"},"description":"The namespaces for the cluster.\n"},"tags":{"type":"array","items":{"type":"string"}},"workspaceId":{"type":"string","description":"The ID of this resource.\n"},"workspaceQuota":{"$ref":"#/types/spectrocloud:index%2FWorkspaceWorkspaceQuota:WorkspaceWorkspaceQuota","description":"Workspace quota default limits assigned to the namespace.\n"}},"type":"object","required":["clusters","name","workspaceId"],"inputProperties":{"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FWorkspaceBackupPolicy:WorkspaceBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FWorkspaceClusterRbacBinding:WorkspaceClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusters":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FWorkspaceCluster:WorkspaceCluster"}},"description":{"type":"string"},"name":{"type":"string"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FWorkspaceNamespace:WorkspaceNamespace"},"description":"The namespaces for the cluster.\n"},"tags":{"type":"array","items":{"type":"string"}},"workspaceId":{"type":"string","description":"The ID of this resource.\n"},"workspaceQuota":{"$ref":"#/types/spectrocloud:index%2FWorkspaceWorkspaceQuota:WorkspaceWorkspaceQuota","description":"Workspace quota default limits assigned to the namespace.\n"}},"requiredInputs":["clusters"],"stateInputs":{"description":"Input properties used for looking up and filtering Workspace resources.\n","properties":{"backupPolicy":{"$ref":"#/types/spectrocloud:index%2FWorkspaceBackupPolicy:WorkspaceBackupPolicy","description":"The backup policy for the cluster. If not specified, no backups will be taken.\n"},"clusterRbacBindings":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FWorkspaceClusterRbacBinding:WorkspaceClusterRbacBinding"},"description":"The RBAC binding for the cluster.\n"},"clusters":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FWorkspaceCluster:WorkspaceCluster"}},"description":{"type":"string"},"name":{"type":"string"},"namespaces":{"type":"array","items":{"$ref":"#/types/spectrocloud:index%2FWorkspaceNamespace:WorkspaceNamespace"},"description":"The namespaces for the cluster.\n"},"tags":{"type":"array","items":{"type":"string"}},"workspaceId":{"type":"string","description":"The ID of this resource.\n"},"workspaceQuota":{"$ref":"#/types/spectrocloud:index%2FWorkspaceWorkspaceQuota:WorkspaceWorkspaceQuota","description":"Workspace quota default limits assigned to the namespace.\n"}},"type":"object"}}},"functions":{"pulumi:providers:spectrocloud/terraformConfig":{"description":"This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.","inputs":{"properties":{"__self__":{"$ref":"#/resources/pulumi:providers:spectrocloud"}},"type":"object","required":["__self__"]},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}},"spectrocloud:index/getAppliance:getAppliance":{"description":"Provides details about a single appliance used for Edge Native cluster provisioning.\n\n","inputs":{"description":"A collection of arguments for invoking getAppliance.\n","properties":{"id":{"type":"string","description":"ID of the appliance registered in Palette.\n"},"name":{"type":"string","description":"The name of the appliance.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getAppliance.\n","properties":{"architecture":{"description":"The architecture of the appliance. Supported values are: 'amd64', and  'arm64'.\n","type":"string"},"health":{"description":"The health of the appliance. Supported values are: 'healthy', and 'unhealthy'.\n","type":"string"},"id":{"description":"ID of the appliance registered in Palette.\n","type":"string"},"name":{"description":"The name of the appliance.\n","type":"string"},"status":{"description":"The status of the appliance. Supported values are: 'ready', 'in-use', and 'unpaired'.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"The tags of the appliance.\n","type":"object"}},"required":["architecture","health","id","status","tags"],"type":"object"}},"spectrocloud:index/getAppliances:getAppliances":{"description":"Provides details about a set of appliances used for Edge Native cluster provisioning. Various attributes could be used to search for appliances like \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`status`\" pulumi-lang-dotnet=\"`Status`\" pulumi-lang-go=\"`status`\" pulumi-lang-python=\"`status`\" pulumi-lang-yaml=\"`status`\" pulumi-lang-java=\"`status`\"\u003e`status`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`health`\" pulumi-lang-dotnet=\"`Health`\" pulumi-lang-go=\"`health`\" pulumi-lang-python=\"`health`\" pulumi-lang-yaml=\"`health`\" pulumi-lang-java=\"`health`\"\u003e`health`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`architecture`\" pulumi-lang-dotnet=\"`Architecture`\" pulumi-lang-go=\"`architecture`\" pulumi-lang-python=\"`architecture`\" pulumi-lang-yaml=\"`architecture`\" pulumi-lang-java=\"`architecture`\"\u003e`architecture`\u003c/span\u003e.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\n// Data source to retrieve details of appliances based on filters\nconst filteredAppliances = spectrocloud.getAppliances({\n    context: \"project\",\n    status: \"ready\",\n    health: \"healthy\",\n    architecture: \"amd_64\",\n    tags: {\n        environment: \"production\",\n    },\n});\nexport const applianceIds = .map(a =\u003e (a.name));\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\n# Data source to retrieve details of appliances based on filters\nfiltered_appliances = spectrocloud.get_appliances(context=\"project\",\n    status=\"ready\",\n    health=\"healthy\",\n    architecture=\"amd_64\",\n    tags={\n        \"environment\": \"production\",\n    })\npulumi.export(\"applianceIds\", [a[\"name\"] for a in filtered_appliances_spectrocloud_appliance])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Data source to retrieve details of appliances based on filters\n    var filteredAppliances = Spectrocloud.GetAppliances.Invoke(new()\n    {\n        Context = \"project\",\n        Status = \"ready\",\n        Health = \"healthy\",\n        Architecture = \"amd_64\",\n        Tags = \n        {\n            { \"environment\", \"production\" },\n        },\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"applianceIds\"] = .Select(a =\u003e \n        {\n            return a.Name;\n        }).ToList(),\n    };\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAppliances.\n","properties":{"architecture":{"type":"string","description":"The architecture of the appliance. Supported values are: 'amd64', and  'arm64'.  If not specified, all appliances are returned.\n"},"context":{"type":"string","description":"The context of the appliances. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e.If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"health":{"type":"string","description":"The health of the appliance. Supported values are: 'healthy', and 'unhealthy'.  If not specified, all appliances are returned.\n"},"id":{"type":"string","description":"The ID of this resource.\n"},"status":{"type":"string","description":"The status of the appliance. Supported values are: 'ready', 'in-use', and 'unpaired'.  If not specified, all appliances are returned.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"A list of tags to filter the appliances.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getAppliances.\n","properties":{"architecture":{"description":"The architecture of the appliance. Supported values are: 'amd64', and  'arm64'.  If not specified, all appliances are returned.\n","type":"string"},"context":{"description":"The context of the appliances. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e.If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n","type":"string"},"health":{"description":"The health of the appliance. Supported values are: 'healthy', and 'unhealthy'.  If not specified, all appliances are returned.\n","type":"string"},"id":{"description":"The ID of this resource.\n","type":"string"},"ids":{"description":"The unique ids of the appliances. This is a computed field and is not required to be set.\n","items":{"type":"string"},"type":"array"},"status":{"description":"The status of the appliance. Supported values are: 'ready', 'in-use', and 'unpaired'.  If not specified, all appliances are returned.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"A list of tags to filter the appliances.\n","type":"object"}},"required":["id","ids"],"type":"object"}},"spectrocloud:index/getApplicationProfile:getApplicationProfile":{"description":"Use this data source to get the details of an existing application profile.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\n// Retrieve details of a specific application profile\nconst exampleProfile = spectrocloud.getApplicationProfile({\n    name: \"my-app-profile\",\n});\nexport const applicationProfileVersion = exampleProfile.then(exampleProfile =\u003e exampleProfile.version);\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\n# Retrieve details of a specific application profile\nexample_profile = spectrocloud.get_application_profile(name=\"my-app-profile\")\npulumi.export(\"applicationProfileVersion\", example_profile.version)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve details of a specific application profile\n    var exampleProfile = Spectrocloud.GetApplicationProfile.Invoke(new()\n    {\n        Name = \"my-app-profile\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"applicationProfileVersion\"] = exampleProfile.Apply(getApplicationProfileResult =\u003e getApplicationProfileResult.Version),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve details of a specific application profile\n\t\texampleProfile, err := spectrocloud.LookupApplicationProfile(ctx, \u0026spectrocloud.LookupApplicationProfileArgs{\n\t\t\tName: \"my-app-profile\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"applicationProfileVersion\", exampleProfile.Version)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetApplicationProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve details of a specific application profile\n        final var exampleProfile = SpectrocloudFunctions.getApplicationProfile(GetApplicationProfileArgs.builder()\n            .name(\"my-app-profile\")\n            .build());\n\n        ctx.export(\"applicationProfileVersion\", exampleProfile.version());\n    }\n}\n```\n```yaml\nvariables:\n  # Retrieve details of a specific application profile\n  exampleProfile:\n    fn::invoke:\n      function: spectrocloud:getApplicationProfile\n      arguments:\n        name: my-app-profile\noutputs:\n  # Output the retrieved application profile details\n  applicationProfileVersion: ${exampleProfile.version}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getApplicationProfile.\n","properties":{"id":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"Name of the application profile\n"},"version":{"type":"string","description":"The version of the app profile. Default value is '1.0.0'.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getApplicationProfile.\n","properties":{"id":{"description":"The ID of this resource.\n","type":"string"},"name":{"description":"Name of the application profile\n","type":"string"},"version":{"description":"The version of the app profile. Default value is '1.0.0'.\n","type":"string"}},"required":["id","name","version"],"type":"object"}},"spectrocloud:index/getBackupStorageLocation:getBackupStorageLocation":{"inputs":{"description":"A collection of arguments for invoking getBackupStorageLocation.\n","properties":{"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.\n"},"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.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getBackupStorageLocation.\n","properties":{"id":{"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.\n","type":"string"},"name":{"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.\n","type":"string"}},"required":["id","name"],"type":"object"}},"spectrocloud:index/getCloudaccountApacheCloudstack:getCloudaccountApacheCloudstack":{"description":"## Example Usage\n\nYou can retrieve the details of an Apache CloudStack cloud account registered in Palette by specifying either the name or ID of the cloud account.\n\n### Using Retrieved Account in Cluster Creation\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\n// Retrieve Apache CloudStack account\nconst account = spectrocloud.getCloudaccountApacheCloudstack({\n    name: \"my-cloudstack-account\",\n    context: \"project\",\n});\n// Use the account to create a cluster\nconst cluster = new spectrocloud.ClusterApacheCloudstack(\"cluster\", {\n    name: \"cloudstack-cluster\",\n    cloudAccountId: account.then(account =\u003e account.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\n# Retrieve Apache CloudStack account\naccount = spectrocloud.get_cloudaccount_apache_cloudstack(name=\"my-cloudstack-account\",\n    context=\"project\")\n# Use the account to create a cluster\ncluster = spectrocloud.ClusterApacheCloudstack(\"cluster\",\n    name=\"cloudstack-cluster\",\n    cloud_account_id=account.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve Apache CloudStack account\n    var account = Spectrocloud.GetCloudaccountApacheCloudstack.Invoke(new()\n    {\n        Name = \"my-cloudstack-account\",\n        Context = \"project\",\n    });\n\n    // Use the account to create a cluster\n    var cluster = new Spectrocloud.ClusterApacheCloudstack(\"cluster\", new()\n    {\n        Name = \"cloudstack-cluster\",\n        CloudAccountId = account.Apply(getCloudaccountApacheCloudstackResult =\u003e getCloudaccountApacheCloudstackResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve Apache CloudStack account\n\t\taccount, err := spectrocloud.LookupCloudaccountApacheCloudstack(ctx, \u0026spectrocloud.LookupCloudaccountApacheCloudstackArgs{\n\t\t\tName:    pulumi.StringRef(\"my-cloudstack-account\"),\n\t\t\tContext: pulumi.StringRef(\"project\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Use the account to create a cluster\n\t\t_, err = spectrocloud.NewClusterApacheCloudstack(ctx, \"cluster\", \u0026spectrocloud.ClusterApacheCloudstackArgs{\n\t\t\tName:           pulumi.String(\"cloudstack-cluster\"),\n\t\t\tCloudAccountId: pulumi.String(account.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetCloudaccountApacheCloudstackArgs;\nimport com.pulumi.spectrocloud.ClusterApacheCloudstack;\nimport com.pulumi.spectrocloud.ClusterApacheCloudstackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve Apache CloudStack account\n        final var account = SpectrocloudFunctions.getCloudaccountApacheCloudstack(GetCloudaccountApacheCloudstackArgs.builder()\n            .name(\"my-cloudstack-account\")\n            .context(\"project\")\n            .build());\n\n        // Use the account to create a cluster\n        var cluster = new ClusterApacheCloudstack(\"cluster\", ClusterApacheCloudstackArgs.builder()\n            .name(\"cloudstack-cluster\")\n            .cloudAccountId(account.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Use the account to create a cluster\n  cluster:\n    type: spectrocloud:ClusterApacheCloudstack\n    properties:\n      name: cloudstack-cluster\n      cloudAccountId: ${account.id}\nvariables:\n  # Retrieve Apache CloudStack account\n  account:\n    fn::invoke:\n      function: spectrocloud:getCloudaccountApacheCloudstack\n      arguments:\n        name: my-cloudstack-account\n        context: project\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCloudaccountApacheCloudstack.\n","properties":{"context":{"type":"string","description":"The context of the account. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or ``.\n"},"id":{"type":"string","description":"The unique ID of the Apache CloudStack cloud account. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be provided, but not both.\n"},"name":{"type":"string","description":"The name of the Apache CloudStack cloud account. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be provided, but not both.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudaccountApacheCloudstack.\n","properties":{"context":{"description":"The context of the account. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or ``.\n","type":"string"},"id":{"description":"The unique ID of the Apache CloudStack cloud account. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be provided, but not both.\n","type":"string"},"name":{"description":"The name of the Apache CloudStack cloud account. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be provided, but not both.\n","type":"string"}},"required":["id","name"],"type":"object"}},"spectrocloud:index/getCloudaccountAws:getCloudaccountAws":{"description":"A data source for retrieving information about an AWS cloud account registered in Palette.\n\n","inputs":{"description":"A collection of arguments for invoking getCloudaccountAws.\n","properties":{"context":{"type":"string","description":"The context of the cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or ``.\n"},"depends":{"type":"string"},"id":{"type":"string","description":"ID of the AWS cloud account registered in Palette.\n"},"name":{"type":"string","description":"Name of the AWS cloud account registered in Palette.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudaccountAws.\n","properties":{"context":{"description":"The context of the cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or ``.\n","type":"string"},"depends":{"type":"string"},"id":{"description":"ID of the AWS cloud account registered in Palette.\n","type":"string"},"name":{"description":"Name of the AWS cloud account registered in Palette.\n","type":"string"}},"required":["depends","id","name"],"type":"object"}},"spectrocloud:index/getCloudaccountAzure:getCloudaccountAzure":{"description":"A data source for retrieving information about an Azure cloud account registered in Palette.\n\n","inputs":{"description":"A collection of arguments for invoking getCloudaccountAzure.\n","properties":{"context":{"type":"string","description":"The context of the cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or ``.\n"},"id":{"type":"string","description":"ID of the Azure cloud account registered in Palette.\n"},"name":{"type":"string","description":"Name of the Azure cloud account registered in Palette.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudaccountAzure.\n","properties":{"azureClientId":{"description":"The unique client ID from Azure Management Portal.\n","type":"string"},"azureTenantId":{"description":"The tenant ID of the Azure cloud account registered in Palette.\n","type":"string"},"context":{"description":"The context of the cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or ``.\n","type":"string"},"disablePropertiesRequest":{"description":"The status of the disable properties option.\n","type":"boolean"},"id":{"description":"ID of the Azure cloud account registered in Palette.\n","type":"string"},"name":{"description":"Name of the Azure cloud account registered in Palette.\n","type":"string"},"tenantName":{"description":"The name of the Azure tenant.\n","type":"string"}},"required":["azureClientId","azureTenantId","disablePropertiesRequest","id","name","tenantName"],"type":"object"}},"spectrocloud:index/getCloudaccountCustom:getCloudaccountCustom":{"inputs":{"description":"A collection of arguments for invoking getCloudaccountCustom.\n","properties":{"cloud":{"type":"string","description":"The custom cloud provider name (e.g., \u003cspan pulumi-lang-nodejs=\"`nutanix`\" pulumi-lang-dotnet=\"`Nutanix`\" pulumi-lang-go=\"`nutanix`\" pulumi-lang-python=\"`nutanix`\" pulumi-lang-yaml=\"`nutanix`\" pulumi-lang-java=\"`nutanix`\"\u003e`nutanix`\u003c/span\u003e).\n"},"context":{"type":"string","description":"The context of the cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or ``.\n"},"id":{"type":"string","description":"The unique identifier of the cloud account. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be provided.\n"},"name":{"type":"string","description":"The name of the cloud account. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be provided.\n"}},"type":"object","required":["cloud"]},"outputs":{"description":"A collection of values returned by getCloudaccountCustom.\n","properties":{"cloud":{"description":"The custom cloud provider name (e.g., \u003cspan pulumi-lang-nodejs=\"`nutanix`\" pulumi-lang-dotnet=\"`Nutanix`\" pulumi-lang-go=\"`nutanix`\" pulumi-lang-python=\"`nutanix`\" pulumi-lang-yaml=\"`nutanix`\" pulumi-lang-java=\"`nutanix`\"\u003e`nutanix`\u003c/span\u003e).\n","type":"string"},"context":{"description":"The context of the cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or ``.\n","type":"string"},"id":{"description":"The unique identifier of the cloud account. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be provided.\n","type":"string"},"name":{"description":"The name of the cloud account. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be provided.\n","type":"string"}},"required":["cloud","id","name"],"type":"object"}},"spectrocloud:index/getCloudaccountGcp:getCloudaccountGcp":{"description":"A data source for retrieving information about a GCP cloud account registered in Palette.\n\n","inputs":{"description":"A collection of arguments for invoking getCloudaccountGcp.\n","properties":{"context":{"type":"string","description":"The context of the cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or ``.\n"},"id":{"type":"string","description":"ID of the GCP cloud account registered in Palette.\n"},"name":{"type":"string","description":"Name of the GCP cloud account registered in Palette.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudaccountGcp.\n","properties":{"context":{"description":"The context of the cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or ``.\n","type":"string"},"id":{"description":"ID of the GCP cloud account registered in Palette.\n","type":"string"},"name":{"description":"Name of the GCP cloud account registered in Palette.\n","type":"string"}},"required":["id","name"],"type":"object"}},"spectrocloud:index/getCloudaccountMaas:getCloudaccountMaas":{"inputs":{"description":"A collection of arguments for invoking getCloudaccountMaas.\n","properties":{"context":{"type":"string","description":"The context of the cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or ``.\n"},"id":{"type":"string","description":"The unique ID of the cloud account. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be provided, but not both.\n"},"name":{"type":"string","description":"The name of the cloud account. This can be used instead of \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e to retrieve the account details. Only one of \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e can be specified.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudaccountMaas.\n","properties":{"context":{"description":"The context of the cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or ``.\n","type":"string"},"id":{"description":"The unique ID of the cloud account. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be provided, but not both.\n","type":"string"},"maasApiEndpoint":{"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.\n","type":"string"},"maasApiKey":{"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.\n","type":"string"},"name":{"description":"The name of the cloud account. This can be used instead of \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e to retrieve the account details. Only one of \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e can be specified.\n","type":"string"}},"required":["id","maasApiEndpoint","maasApiKey","name"],"type":"object"}},"spectrocloud:index/getCloudaccountOpenstack:getCloudaccountOpenstack":{"inputs":{"description":"A collection of arguments for invoking getCloudaccountOpenstack.\n","properties":{"context":{"type":"string","description":"The context of the cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or ``.\n"},"id":{"type":"string","description":"The unique ID of the OpenStack cloud account. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be provided, but not both.\n"},"name":{"type":"string","description":"The name of the OpenStack cloud account. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be provided, but not both.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudaccountOpenstack.\n","properties":{"context":{"description":"The context of the cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or ``.\n","type":"string"},"id":{"description":"The unique ID of the OpenStack cloud account. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be provided, but not both.\n","type":"string"},"name":{"description":"The name of the OpenStack cloud account. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be provided, but not both.\n","type":"string"}},"required":["id","name"],"type":"object"}},"spectrocloud:index/getCloudaccountVsphere:getCloudaccountVsphere":{"inputs":{"description":"A collection of arguments for invoking getCloudaccountVsphere.\n","properties":{"context":{"type":"string","description":"The context of the cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or ``.\n"},"id":{"type":"string","description":"The unique ID of the vSphere cloud account. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be provided, but not both.\n"},"name":{"type":"string","description":"The name of the vSphere cloud account. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be provided, but not both.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCloudaccountVsphere.\n","properties":{"context":{"description":"The context of the cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or ``.\n","type":"string"},"id":{"description":"The unique ID of the vSphere cloud account. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be provided, but not both.\n","type":"string"},"name":{"description":"The name of the vSphere cloud account. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be provided, but not both.\n","type":"string"}},"required":["id","name"],"type":"object"}},"spectrocloud:index/getCluster:getCluster":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as local from \"@pulumi/local\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\n// Retrieve cluster details by name\nconst exampleCluster = spectrocloud.getCluster({\n    name: \"my-cluster\",\n    context: \"project\",\n    virtual: false,\n});\nconst kubeConfig = new local.index.File(\"kube_config\", {\n    content: cluster.kubeConfig,\n    filename: \"client-101.kubeconfig\",\n    filePermission: \"0644\",\n    directoryPermission: \"0755\",\n});\nconst adminKubeConfig = new local.index.File(\"admin_kube_config\", {\n    content: cluster.adminKubeConfig,\n    filename: \"admin-client-101.kubeconfig\",\n    filePermission: \"0644\",\n    directoryPermission: \"0755\",\n});\n```\n```python\nimport pulumi\nimport pulumi_local as local\nimport pulumi_spectrocloud as spectrocloud\n\n# Retrieve cluster details by name\nexample_cluster = spectrocloud.get_cluster(name=\"my-cluster\",\n    context=\"project\",\n    virtual=False)\nkube_config = local.index.File(\"kube_config\",\n    content=cluster.kube_config,\n    filename=client-101.kubeconfig,\n    file_permission=0644,\n    directory_permission=0755)\nadmin_kube_config = local.index.File(\"admin_kube_config\",\n    content=cluster.admin_kube_config,\n    filename=admin-client-101.kubeconfig,\n    file_permission=0644,\n    directory_permission=0755)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Local = Pulumi.Local;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve cluster details by name\n    var exampleCluster = Spectrocloud.GetCluster.Invoke(new()\n    {\n        Name = \"my-cluster\",\n        Context = \"project\",\n        Virtual = false,\n    });\n\n    var kubeConfig = new Local.Index.File(\"kube_config\", new()\n    {\n        Content = cluster.KubeConfig,\n        Filename = \"client-101.kubeconfig\",\n        FilePermission = \"0644\",\n        DirectoryPermission = \"0755\",\n    });\n\n    var adminKubeConfig = new Local.Index.File(\"admin_kube_config\", new()\n    {\n        Content = cluster.AdminKubeConfig,\n        Filename = \"admin-client-101.kubeconfig\",\n        FilePermission = \"0644\",\n        DirectoryPermission = \"0755\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-local/sdk/go/local\"\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve cluster details by name\n\t\t_, err := spectrocloud.GetCluster(ctx, \u0026spectrocloud.GetClusterArgs{\n\t\t\tName:    \"my-cluster\",\n\t\t\tContext: pulumi.StringRef(\"project\"),\n\t\t\tVirtual: pulumi.BoolRef(false),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = local.NewFile(ctx, \"kube_config\", \u0026local.FileArgs{\n\t\t\tContent:             cluster.KubeConfig,\n\t\t\tFilename:            \"client-101.kubeconfig\",\n\t\t\tFilePermission:      \"0644\",\n\t\t\tDirectoryPermission: \"0755\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = local.NewFile(ctx, \"admin_kube_config\", \u0026local.FileArgs{\n\t\t\tContent:             cluster.AdminKubeConfig,\n\t\t\tFilename:            \"admin-client-101.kubeconfig\",\n\t\t\tFilePermission:      \"0644\",\n\t\t\tDirectoryPermission: \"0755\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetClusterArgs;\nimport com.pulumi.local.File;\nimport com.pulumi.local.FileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve cluster details by name\n        final var exampleCluster = SpectrocloudFunctions.getCluster(GetClusterArgs.builder()\n            .name(\"my-cluster\")\n            .context(\"project\")\n            .virtual(false)\n            .build());\n\n        var kubeConfig = new File(\"kubeConfig\", FileArgs.builder()\n            .content(cluster.kubeConfig())\n            .filename(\"client-101.kubeconfig\")\n            .filePermission(\"0644\")\n            .directoryPermission(\"0755\")\n            .build());\n\n        var adminKubeConfig = new File(\"adminKubeConfig\", FileArgs.builder()\n            .content(cluster.adminKubeConfig())\n            .filename(\"admin-client-101.kubeconfig\")\n            .filePermission(\"0644\")\n            .directoryPermission(\"0755\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  kubeConfig:\n    type: local:File\n    name: kube_config\n    properties:\n      content: ${cluster.kubeConfig}\n      filename: client-101.kubeconfig\n      filePermission: '0644'\n      directoryPermission: '0755'\n  adminKubeConfig:\n    type: local:File\n    name: admin_kube_config\n    properties:\n      content: ${cluster.adminKubeConfig}\n      filename: admin-client-101.kubeconfig\n      filePermission: '0644'\n      directoryPermission: '0755'\nvariables:\n  # Retrieve cluster details by name\n  exampleCluster:\n    fn::invoke:\n      function: spectrocloud:getCluster\n      arguments:\n        name: my-cluster\n        context: project\n        virtual: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCluster.\n","properties":{"context":{"type":"string","description":"The context of the cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e.If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"id":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"The name of the cluster.\n"},"virtual":{"type":"boolean","description":"If set to true, the cluster will treated as a virtual cluster. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getCluster.\n","properties":{"adminKubeConfig":{"description":"The admin kubeconfig file for accessing the cluster. This is computed automatically.\n","type":"string"},"clusterTimezone":{"description":"The time zone used by this cluster to interpret scheduled operations. Maintenance tasks like upgrades follow this time zone to ensure they run at the appropriate local time for the cluster. Value is in IANA timezone format (e.g., 'America/New_York', 'Asia/Kolkata').\n","type":"string"},"context":{"description":"The context of the cluster. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e.If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n","type":"string"},"health":{"description":"The current health status of the cluster. This is computed automatically.\n","type":"string"},"id":{"description":"The ID of this resource.\n","type":"string"},"kubeConfig":{"description":"The kubeconfig file for accessing the cluster as a non-admin user. This is computed automatically.\n","type":"string"},"name":{"description":"The name of the cluster.\n","type":"string"},"state":{"description":"The current state of the cluster. This is computed automatically.\n","type":"string"},"virtual":{"description":"If set to true, the cluster will treated as a virtual cluster. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","type":"boolean"}},"required":["adminKubeConfig","clusterTimezone","health","id","kubeConfig","name","state"],"type":"object"}},"spectrocloud:index/getClusterConfigPolicy:getClusterConfigPolicy":{"description":"Data source for retrieving information about a cluster config policy (maintenance policy).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst policy = spectrocloud.getClusterConfigPolicy({\n    name: \"weekly-maintenance-policy\",\n    context: \"project\",\n});\nexport const policySchedules = policy.then(policy =\u003e policy.schedules);\nexport const policyTags = policy.then(policy =\u003e policy.tags);\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\npolicy = spectrocloud.get_cluster_config_policy(name=\"weekly-maintenance-policy\",\n    context=\"project\")\npulumi.export(\"policySchedules\", policy.schedules)\npulumi.export(\"policyTags\", policy.tags)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var policy = Spectrocloud.GetClusterConfigPolicy.Invoke(new()\n    {\n        Name = \"weekly-maintenance-policy\",\n        Context = \"project\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"policySchedules\"] = policy.Apply(getClusterConfigPolicyResult =\u003e getClusterConfigPolicyResult.Schedules),\n        [\"policyTags\"] = policy.Apply(getClusterConfigPolicyResult =\u003e getClusterConfigPolicyResult.Tags),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpolicy, err := spectrocloud.LookupClusterConfigPolicy(ctx, \u0026spectrocloud.LookupClusterConfigPolicyArgs{\n\t\t\tName:    \"weekly-maintenance-policy\",\n\t\t\tContext: pulumi.StringRef(\"project\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"policySchedules\", policy.Schedules)\n\t\tctx.Export(\"policyTags\", policy.Tags)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetClusterConfigPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var policy = SpectrocloudFunctions.getClusterConfigPolicy(GetClusterConfigPolicyArgs.builder()\n            .name(\"weekly-maintenance-policy\")\n            .context(\"project\")\n            .build());\n\n        ctx.export(\"policySchedules\", policy.schedules());\n        ctx.export(\"policyTags\", policy.tags());\n    }\n}\n```\n```yaml\nvariables:\n  policy:\n    fn::invoke:\n      function: spectrocloud:getClusterConfigPolicy\n      arguments:\n        name: weekly-maintenance-policy\n        context: project\noutputs:\n  policySchedules: ${policy.schedules}\n  policyTags: ${policy.tags}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getClusterConfigPolicy.\n","properties":{"context":{"type":"string","description":"The context of the cluster config policy. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"id":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"The name of the cluster config policy.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getClusterConfigPolicy.\n","properties":{"context":{"description":"The context of the cluster config policy. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n","type":"string"},"id":{"description":"The ID of this resource.\n","type":"string"},"name":{"description":"The name of the cluster config policy.\n","type":"string"},"schedules":{"description":"List of maintenance schedules for the policy.\n","items":{"$ref":"#/types/spectrocloud:index%2FgetClusterConfigPolicySchedule:getClusterConfigPolicySchedule"},"type":"array"},"tags":{"description":"Tags assigned to the cluster config policy.\n","items":{"type":"string"},"type":"array"}},"required":["id","name","schedules","tags"],"type":"object"}},"spectrocloud:index/getClusterConfigTemplate:getClusterConfigTemplate":{"description":"Data source for retrieving information about a cluster config template. Tech Preview: This data source is in tech preview and may undergo changes.\n\n## Example Usage\n\n### Project-Level Template\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst template = spectrocloud.getClusterConfigTemplate({\n    name: templateName,\n    context: \"project\",\n});\nexport const templateCloudType = template.then(template =\u003e template.cloudType);\nexport const templateTags = template.then(template =\u003e template.tags);\nexport const templateDescription = template.then(template =\u003e template.description);\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\ntemplate = spectrocloud.get_cluster_config_template(name=template_name,\n    context=\"project\")\npulumi.export(\"templateCloudType\", template.cloud_type)\npulumi.export(\"templateTags\", template.tags)\npulumi.export(\"templateDescription\", template.description)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var template = Spectrocloud.GetClusterConfigTemplate.Invoke(new()\n    {\n        Name = templateName,\n        Context = \"project\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"templateCloudType\"] = template.Apply(getClusterConfigTemplateResult =\u003e getClusterConfigTemplateResult.CloudType),\n        [\"templateTags\"] = template.Apply(getClusterConfigTemplateResult =\u003e getClusterConfigTemplateResult.Tags),\n        [\"templateDescription\"] = template.Apply(getClusterConfigTemplateResult =\u003e getClusterConfigTemplateResult.Description),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttemplate, err := spectrocloud.LookupClusterConfigTemplate(ctx, \u0026spectrocloud.LookupClusterConfigTemplateArgs{\n\t\t\tName:    templateName,\n\t\t\tContext: pulumi.StringRef(\"project\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"templateCloudType\", template.CloudType)\n\t\tctx.Export(\"templateTags\", template.Tags)\n\t\tctx.Export(\"templateDescription\", template.Description)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetClusterConfigTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var template = SpectrocloudFunctions.getClusterConfigTemplate(GetClusterConfigTemplateArgs.builder()\n            .name(templateName)\n            .context(\"project\")\n            .build());\n\n        ctx.export(\"templateCloudType\", template.cloudType());\n        ctx.export(\"templateTags\", template.tags());\n        ctx.export(\"templateDescription\", template.description());\n    }\n}\n```\n```yaml\nvariables:\n  template:\n    fn::invoke:\n      function: spectrocloud:getClusterConfigTemplate\n      arguments:\n        name: ${templateName}\n        context: project\noutputs:\n  templateCloudType: ${template.cloudType}\n  templateTags: ${template.tags}\n  templateDescription: ${template.description}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Tenant-Level Template\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst tenantTemplate = spectrocloud.getClusterConfigTemplate({\n    name: \"organization-wide-template\",\n    context: \"tenant\",\n});\nexport const tenantTemplateClusterProfile = tenantTemplate.then(tenantTemplate =\u003e tenantTemplate.clusterProfiles);\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\ntenant_template = spectrocloud.get_cluster_config_template(name=\"organization-wide-template\",\n    context=\"tenant\")\npulumi.export(\"tenantTemplateClusterProfile\", tenant_template.cluster_profiles)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var tenantTemplate = Spectrocloud.GetClusterConfigTemplate.Invoke(new()\n    {\n        Name = \"organization-wide-template\",\n        Context = \"tenant\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"tenantTemplateClusterProfile\"] = tenantTemplate.Apply(getClusterConfigTemplateResult =\u003e getClusterConfigTemplateResult.ClusterProfiles),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttenantTemplate, err := spectrocloud.LookupClusterConfigTemplate(ctx, \u0026spectrocloud.LookupClusterConfigTemplateArgs{\n\t\t\tName:    \"organization-wide-template\",\n\t\t\tContext: pulumi.StringRef(\"tenant\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"tenantTemplateClusterProfile\", tenantTemplate.ClusterProfiles)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetClusterConfigTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var tenantTemplate = SpectrocloudFunctions.getClusterConfigTemplate(GetClusterConfigTemplateArgs.builder()\n            .name(\"organization-wide-template\")\n            .context(\"tenant\")\n            .build());\n\n        ctx.export(\"tenantTemplateClusterProfile\", tenantTemplate.clusterProfiles());\n    }\n}\n```\n```yaml\nvariables:\n  tenantTemplate:\n    fn::invoke:\n      function: spectrocloud:getClusterConfigTemplate\n      arguments:\n        name: organization-wide-template\n        context: tenant\noutputs:\n  tenantTemplateClusterProfile: ${tenantTemplate.clusterProfiles}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getClusterConfigTemplate.\n","properties":{"context":{"type":"string","description":"The context of the cluster config template. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"id":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"The name of the cluster config template.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getClusterConfigTemplate.\n","properties":{"attachedClusters":{"description":"List of clusters attached to this template.\n","items":{"$ref":"#/types/spectrocloud:index%2FgetClusterConfigTemplateAttachedCluster:getClusterConfigTemplateAttachedCluster"},"type":"array"},"cloudType":{"description":"The cloud type for the cluster template.\n","type":"string"},"clusterProfiles":{"description":"Set of cluster profile references.\n","items":{"$ref":"#/types/spectrocloud:index%2FgetClusterConfigTemplateClusterProfile:getClusterConfigTemplateClusterProfile"},"type":"array"},"context":{"description":"The context of the cluster config template. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n","type":"string"},"description":{"description":"The description of the cluster config template.\n","type":"string"},"executionState":{"description":"Current execution state of the cluster template. Possible values: `Pending`, `Applied`, `Failed`, `PartiallyApplied`.\n","type":"string"},"id":{"description":"The ID of this resource.\n","type":"string"},"name":{"description":"The name of the cluster config template.\n","type":"string"},"policies":{"description":"List of policy references.\n","items":{"$ref":"#/types/spectrocloud:index%2FgetClusterConfigTemplatePolicy:getClusterConfigTemplatePolicy"},"type":"array"},"tags":{"description":"Tags assigned to the cluster config template.\n","items":{"type":"string"},"type":"array"}},"required":["attachedClusters","cloudType","clusterProfiles","description","executionState","id","name","policies","tags"],"type":"object"}},"spectrocloud:index/getClusterGroup:getClusterGroup":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\n// Retrieve details of a specific cluster group\nconst exampleGroup = spectrocloud.getClusterGroup({\n    name: \"my-cluster-group\",\n    context: \"tenant\",\n});\nexport const clusterGroupName = exampleGroup.then(exampleGroup =\u003e exampleGroup.name);\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\n# Retrieve details of a specific cluster group\nexample_group = spectrocloud.get_cluster_group(name=\"my-cluster-group\",\n    context=\"tenant\")\npulumi.export(\"clusterGroupName\", example_group.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve details of a specific cluster group\n    var exampleGroup = Spectrocloud.GetClusterGroup.Invoke(new()\n    {\n        Name = \"my-cluster-group\",\n        Context = \"tenant\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"clusterGroupName\"] = exampleGroup.Apply(getClusterGroupResult =\u003e getClusterGroupResult.Name),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve details of a specific cluster group\n\t\texampleGroup, err := spectrocloud.LookupClusterGroup(ctx, \u0026spectrocloud.LookupClusterGroupArgs{\n\t\t\tName:    \"my-cluster-group\",\n\t\t\tContext: pulumi.StringRef(\"tenant\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"clusterGroupName\", exampleGroup.Name)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetClusterGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve details of a specific cluster group\n        final var exampleGroup = SpectrocloudFunctions.getClusterGroup(GetClusterGroupArgs.builder()\n            .name(\"my-cluster-group\")\n            .context(\"tenant\")\n            .build());\n\n        ctx.export(\"clusterGroupName\", exampleGroup.name());\n    }\n}\n```\n```yaml\nvariables:\n  # Retrieve details of a specific cluster group\n  exampleGroup:\n    fn::invoke:\n      function: spectrocloud:getClusterGroup\n      arguments:\n        name: my-cluster-group\n        context: tenant\noutputs:\n  # Output the retrieved cluster group details\n  clusterGroupName: ${exampleGroup.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getClusterGroup.\n","properties":{"context":{"type":"string","description":"The context of where the cluster group is located. Allowed values  are \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e.If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"id":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"The name of the cluster group.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getClusterGroup.\n","properties":{"context":{"description":"The context of where the cluster group is located. Allowed values  are \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e.If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n","type":"string"},"id":{"description":"The ID of this resource.\n","type":"string"},"name":{"description":"The name of the cluster group.\n","type":"string"}},"required":["id","name"],"type":"object"}},"spectrocloud:index/getClusterProfile:getClusterProfile":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\n// Retrieve details of a specific cluster profile using name\nconst example = spectrocloud.getClusterProfile({\n    name: \"example-cluster-profile\",\n    version: \"1.0.0\",\n    context: \"project\",\n});\n// Retrieve details of a cluster profile using ID\nconst byId = spectrocloud.getClusterProfile({\n    id: \"123e4567e89ba426614174000\",\n});\nexport const clusterProfileId = example.then(example =\u003e example.id);\nexport const clusterProfileVersion = example.then(example =\u003e example.version);\nexport const clusterProfilePacks = example.then(example =\u003e example.packs);\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\n# Retrieve details of a specific cluster profile using name\nexample = spectrocloud.get_cluster_profile(name=\"example-cluster-profile\",\n    version=\"1.0.0\",\n    context=\"project\")\n# Retrieve details of a cluster profile using ID\nby_id = spectrocloud.get_cluster_profile(id=\"123e4567e89ba426614174000\")\npulumi.export(\"clusterProfileId\", example.id)\npulumi.export(\"clusterProfileVersion\", example.version)\npulumi.export(\"clusterProfilePacks\", example.packs)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve details of a specific cluster profile using name\n    var example = Spectrocloud.GetClusterProfile.Invoke(new()\n    {\n        Name = \"example-cluster-profile\",\n        Version = \"1.0.0\",\n        Context = \"project\",\n    });\n\n    // Retrieve details of a cluster profile using ID\n    var byId = Spectrocloud.GetClusterProfile.Invoke(new()\n    {\n        Id = \"123e4567e89ba426614174000\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"clusterProfileId\"] = example.Apply(getClusterProfileResult =\u003e getClusterProfileResult.Id),\n        [\"clusterProfileVersion\"] = example.Apply(getClusterProfileResult =\u003e getClusterProfileResult.Version),\n        [\"clusterProfilePacks\"] = example.Apply(getClusterProfileResult =\u003e getClusterProfileResult.Packs),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve details of a specific cluster profile using name\n\t\texample, err := spectrocloud.LookupClusterProfile(ctx, \u0026spectrocloud.LookupClusterProfileArgs{\n\t\t\tName:    pulumi.StringRef(\"example-cluster-profile\"),\n\t\t\tVersion: pulumi.StringRef(\"1.0.0\"),\n\t\t\tContext: pulumi.StringRef(\"project\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve details of a cluster profile using ID\n\t\t_, err = spectrocloud.LookupClusterProfile(ctx, \u0026spectrocloud.LookupClusterProfileArgs{\n\t\t\tId: pulumi.StringRef(\"123e4567e89ba426614174000\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"clusterProfileId\", example.Id)\n\t\tctx.Export(\"clusterProfileVersion\", example.Version)\n\t\tctx.Export(\"clusterProfilePacks\", example.Packs)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetClusterProfileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve details of a specific cluster profile using name\n        final var example = SpectrocloudFunctions.getClusterProfile(GetClusterProfileArgs.builder()\n            .name(\"example-cluster-profile\")\n            .version(\"1.0.0\")\n            .context(\"project\")\n            .build());\n\n        // Retrieve details of a cluster profile using ID\n        final var byId = SpectrocloudFunctions.getClusterProfile(GetClusterProfileArgs.builder()\n            .id(\"123e4567e89ba426614174000\")\n            .build());\n\n        ctx.export(\"clusterProfileId\", example.id());\n        ctx.export(\"clusterProfileVersion\", example.version());\n        ctx.export(\"clusterProfilePacks\", example.packs());\n    }\n}\n```\n```yaml\nvariables:\n  # Retrieve details of a specific cluster profile using name\n  example:\n    fn::invoke:\n      function: spectrocloud:getClusterProfile\n      arguments:\n        name: example-cluster-profile\n        version: 1.0.0\n        context: project\n  # Retrieve details of a cluster profile using ID\n  byId:\n    fn::invoke:\n      function: spectrocloud:getClusterProfile\n      arguments:\n        id: 123e4567e89ba426614174000\noutputs:\n  # Output cluster profile details\n  clusterProfileId: ${example.id}\n  clusterProfileVersion: ${example.version}\n  # Retrieve packs associated with a cluster profile\n  clusterProfilePacks: ${example.packs}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getClusterProfile.\n","properties":{"context":{"type":"string","description":"Cluster profile context. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e.If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"id":{"type":"string","description":"The unique ID of the cluster profile. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be provided, but not both.\n"},"name":{"type":"string","description":"The name of the cluster profile. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be provided, but not both.\n"},"version":{"type":"string","description":"The version of the cluster profile.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getClusterProfile.\n","properties":{"context":{"description":"Cluster profile context. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e.If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n","type":"string"},"id":{"description":"The unique ID of the cluster profile. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be provided, but not both.\n","type":"string"},"name":{"description":"The name of the cluster profile. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be provided, but not both.\n","type":"string"},"packs":{"items":{"$ref":"#/types/spectrocloud:index%2FgetClusterProfilePack:getClusterProfilePack"},"type":"array"},"version":{"description":"The version of the cluster profile.\n","type":"string"}},"required":["id","name","packs","version"],"type":"object"}},"spectrocloud:index/getFilter:getFilter":{"description":"## Example Usage\n\n","inputs":{"description":"A collection of arguments for invoking getFilter.\n","properties":{"id":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"The name of the filter.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getFilter.\n","properties":{"id":{"description":"The ID of this resource.\n","type":"string"},"metadatas":{"items":{"$ref":"#/types/spectrocloud:index%2FgetFilterMetadata:getFilterMetadata"},"type":"array"},"name":{"description":"The name of the filter.\n","type":"string"},"specs":{"items":{"$ref":"#/types/spectrocloud:index%2FgetFilterSpec:getFilterSpec"},"type":"array"}},"required":["id","metadatas","name","specs"],"type":"object"}},"spectrocloud:index/getIppool:getIppool":{"inputs":{"description":"A collection of arguments for invoking getIppool.\n","properties":{"id":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"The name of the IP pool.\n"},"privateCloudGatewayId":{"type":"string","description":"The ID of the private cloud gateway.\n"}},"type":"object","required":["name","privateCloudGatewayId"]},"outputs":{"description":"A collection of values returned by getIppool.\n","properties":{"id":{"description":"The ID of this resource.\n","type":"string"},"name":{"description":"The name of the IP pool.\n","type":"string"},"privateCloudGatewayId":{"description":"The ID of the private cloud gateway.\n","type":"string"}},"required":["id","name","privateCloudGatewayId"],"type":"object"}},"spectrocloud:index/getMacros:getMacros":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst macros = spectrocloud.getMacros({\n    context: \"project\",\n});\nexport const macroEgName = macros.then(macros =\u003e macros.macroValue);\nexport const macrosMap = macros.then(macros =\u003e macros.macrosMap);\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nmacros = spectrocloud.get_macros(context=\"project\")\npulumi.export(\"macroEgName\", macros.macro_value)\npulumi.export(\"macrosMap\", macros.macros_map)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var macros = Spectrocloud.GetMacros.Invoke(new()\n    {\n        Context = \"project\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"macroEgName\"] = macros.Apply(getMacrosResult =\u003e getMacrosResult.MacroValue),\n        [\"macrosMap\"] = macros.Apply(getMacrosResult =\u003e getMacrosResult.MacrosMap),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmacros, err := spectrocloud.LookupMacros(ctx, \u0026spectrocloud.LookupMacrosArgs{\n\t\t\tContext: pulumi.StringRef(\"project\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"macroEgName\", macros.MacroValue)\n\t\tctx.Export(\"macrosMap\", macros.MacrosMap)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetMacrosArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var macros = SpectrocloudFunctions.getMacros(GetMacrosArgs.builder()\n            .context(\"project\")\n            .build());\n\n        ctx.export(\"macroEgName\", macros.macroValue());\n        ctx.export(\"macrosMap\", macros.macrosMap());\n    }\n}\n```\n```yaml\nvariables:\n  macros:\n    fn::invoke:\n      function: spectrocloud:getMacros\n      arguments:\n        context: project\noutputs:\n  macroEgName: ${macros.macroValue}\n  macrosMap: ${macros.macrosMap}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getMacros.\n","properties":{"context":{"type":"string","description":"The context to retrieve macros from. Valid values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e.\n"},"macroName":{"type":"string","description":"The name of the macros resource. If specified, the data source will return the macros with this name.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getMacros.\n","properties":{"context":{"description":"The context to retrieve macros from. Valid values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e.\n","type":"string"},"id":{"description":"unique identifier for the macros resource, which is the UID of the project or tenant.\n","type":"string"},"macroName":{"description":"The name of the macros resource. If specified, the data source will return the macros with this name.\n","type":"string"},"macroValue":{"description":"The value of the macros resource. This will be set if \u003cspan pulumi-lang-nodejs=\"`macroName`\" pulumi-lang-dotnet=\"`MacroName`\" pulumi-lang-go=\"`macroName`\" pulumi-lang-python=\"`macro_name`\" pulumi-lang-yaml=\"`macroName`\" pulumi-lang-java=\"`macroName`\"\u003e`macro_name`\u003c/span\u003e is specified.\n","type":"string"},"macrosMap":{"additionalProperties":{"type":"string"},"description":"Map of macros where the key is the macro name and the value is the macro value.\n","type":"object"}},"required":["id","macroValue","macrosMap"],"type":"object"}},"spectrocloud:index/getPack:getPack":{"description":"This data resource provides the ability to search for a pack in the Palette registries. It supports more advanced search criteria than the\u003cspan pulumi-lang-nodejs=\" packSimple \" pulumi-lang-dotnet=\" PackSimple \" pulumi-lang-go=\" packSimple \" pulumi-lang-python=\" pack_simple \" pulumi-lang-yaml=\" packSimple \" pulumi-lang-java=\" packSimple \"\u003e pack_simple \u003c/span\u003edata source.\n\n\n\n\u003e The existing \u003cspan pulumi-lang-nodejs=\"`filters`\" pulumi-lang-dotnet=\"`Filters`\" pulumi-lang-go=\"`filters`\" pulumi-lang-python=\"`filters`\" pulumi-lang-yaml=\"`filters`\" pulumi-lang-java=\"`filters`\"\u003e`filters`\u003c/span\u003e attribute will be deprecated, and a new \u003cspan pulumi-lang-nodejs=\"`packFilters`\" pulumi-lang-dotnet=\"`PackFilters`\" pulumi-lang-go=\"`packFilters`\" pulumi-lang-python=\"`pack_filters`\" pulumi-lang-yaml=\"`packFilters`\" pulumi-lang-java=\"`packFilters`\"\u003e`pack_filters`\u003c/span\u003e attribute will be introduced for advanced search functionality.\n\n## Example Usage\n\nAn example of how to use this data source to retrieve a specific pack from the community registry.\n\n\u003e For certain packs such as vm-migration-assistant, virtual-machine-orchestrator, vm-migration-assistant-pack, spectro-k8s-dashboard, and spectro-vm-dashboard, the \u003cspan pulumi-lang-nodejs=\"`addonType`\" pulumi-lang-dotnet=\"`AddonType`\" pulumi-lang-go=\"`addonType`\" pulumi-lang-python=\"`addon_type`\" pulumi-lang-yaml=\"`addonType`\" pulumi-lang-java=\"`addonType`\"\u003e`addon_type`\u003c/span\u003e is considered as \u003cspan pulumi-lang-nodejs=\"`integration`\" pulumi-lang-dotnet=\"`Integration`\" pulumi-lang-go=\"`integration`\" pulumi-lang-python=\"`integration`\" pulumi-lang-yaml=\"`integration`\" pulumi-lang-java=\"`integration`\"\u003e`integration`\u003c/span\u003e.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\n// Retrieve details of a specific pack using name and version\nconst example = spectrocloud.getPack({\n    name: \"nginx-pack\",\n    version: \"1.2.3\",\n});\n// Retrieve a pack using advanced filters\nconst filtered = spectrocloud.getPack({\n    name: \"k8sgpt-operator\",\n    advanceFilters: {\n        packTypes: [\"spectro\"],\n        addonTypes: [\"system app\"],\n        packLayers: [\"addon\"],\n        environments: [\"all\"],\n        isFips: false,\n        packSources: [\"community\"],\n    },\n    registryUid: \"5ee9c5adc172449eeb9c30cf\",\n});\nexport const packId = example.then(example =\u003e example.id);\nexport const packVersion = example.then(example =\u003e example.version);\nexport const packValues = example.then(example =\u003e example.values);\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\n# Retrieve details of a specific pack using name and version\nexample = spectrocloud.get_pack(name=\"nginx-pack\",\n    version=\"1.2.3\")\n# Retrieve a pack using advanced filters\nfiltered = spectrocloud.get_pack(name=\"k8sgpt-operator\",\n    advance_filters={\n        \"pack_types\": [\"spectro\"],\n        \"addon_types\": [\"system app\"],\n        \"pack_layers\": [\"addon\"],\n        \"environments\": [\"all\"],\n        \"is_fips\": False,\n        \"pack_sources\": [\"community\"],\n    },\n    registry_uid=\"5ee9c5adc172449eeb9c30cf\")\npulumi.export(\"packId\", example.id)\npulumi.export(\"packVersion\", example.version)\npulumi.export(\"packValues\", example.values)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve details of a specific pack using name and version\n    var example = Spectrocloud.GetPack.Invoke(new()\n    {\n        Name = \"nginx-pack\",\n        Version = \"1.2.3\",\n    });\n\n    // Retrieve a pack using advanced filters\n    var filtered = Spectrocloud.GetPack.Invoke(new()\n    {\n        Name = \"k8sgpt-operator\",\n        AdvanceFilters = new Spectrocloud.Inputs.GetPackAdvanceFiltersInputArgs\n        {\n            PackTypes = new[]\n            {\n                \"spectro\",\n            },\n            AddonTypes = new[]\n            {\n                \"system app\",\n            },\n            PackLayers = new[]\n            {\n                \"addon\",\n            },\n            Environments = new[]\n            {\n                \"all\",\n            },\n            IsFips = false,\n            PackSources = new[]\n            {\n                \"community\",\n            },\n        },\n        RegistryUid = \"5ee9c5adc172449eeb9c30cf\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"packId\"] = example.Apply(getPackResult =\u003e getPackResult.Id),\n        [\"packVersion\"] = example.Apply(getPackResult =\u003e getPackResult.Version),\n        [\"packValues\"] = example.Apply(getPackResult =\u003e getPackResult.Values),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve details of a specific pack using name and version\n\t\texample, err := spectrocloud.GetPack(ctx, \u0026spectrocloud.GetPackArgs{\n\t\t\tName:    pulumi.StringRef(\"nginx-pack\"),\n\t\t\tVersion: pulumi.StringRef(\"1.2.3\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Retrieve a pack using advanced filters\n\t\t_, err = spectrocloud.GetPack(ctx, \u0026spectrocloud.GetPackArgs{\n\t\t\tName: pulumi.StringRef(\"k8sgpt-operator\"),\n\t\t\tAdvanceFilters: spectrocloud.GetPackAdvanceFilters{\n\t\t\t\tPackTypes: []string{\n\t\t\t\t\t\"spectro\",\n\t\t\t\t},\n\t\t\t\tAddonTypes: []string{\n\t\t\t\t\t\"system app\",\n\t\t\t\t},\n\t\t\t\tPackLayers: []string{\n\t\t\t\t\t\"addon\",\n\t\t\t\t},\n\t\t\t\tEnvironments: []string{\n\t\t\t\t\t\"all\",\n\t\t\t\t},\n\t\t\t\tIsFips: pulumi.BoolRef(false),\n\t\t\t\tPackSources: []string{\n\t\t\t\t\t\"community\",\n\t\t\t\t},\n\t\t\t},\n\t\t\tRegistryUid: pulumi.StringRef(\"5ee9c5adc172449eeb9c30cf\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"packId\", example.Id)\n\t\tctx.Export(\"packVersion\", example.Version)\n\t\tctx.Export(\"packValues\", example.Values)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetPackArgs;\nimport com.pulumi.spectrocloud.inputs.GetPackAdvanceFiltersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve details of a specific pack using name and version\n        final var example = SpectrocloudFunctions.getPack(GetPackArgs.builder()\n            .name(\"nginx-pack\")\n            .version(\"1.2.3\")\n            .build());\n\n        // Retrieve a pack using advanced filters\n        final var filtered = SpectrocloudFunctions.getPack(GetPackArgs.builder()\n            .name(\"k8sgpt-operator\")\n            .advanceFilters(GetPackAdvanceFiltersArgs.builder()\n                .packTypes(\"spectro\")\n                .addonTypes(\"system app\")\n                .packLayers(\"addon\")\n                .environments(\"all\")\n                .isFips(false)\n                .packSources(\"community\")\n                .build())\n            .registryUid(\"5ee9c5adc172449eeb9c30cf\")\n            .build());\n\n        ctx.export(\"packId\", example.id());\n        ctx.export(\"packVersion\", example.version());\n        ctx.export(\"packValues\", example.values());\n    }\n}\n```\n```yaml\nvariables:\n  # Retrieve details of a specific pack using name and version\n  example:\n    fn::invoke:\n      function: spectrocloud:getPack\n      arguments:\n        name: nginx-pack\n        version: 1.2.3\n  # Retrieve a pack using advanced filters\n  filtered:\n    fn::invoke:\n      function: spectrocloud:getPack\n      arguments:\n        name: k8sgpt-operator\n        advanceFilters:\n          packTypes:\n            - spectro\n          addonTypes:\n            - system app\n          packLayers:\n            - addon\n          environments:\n            - all\n          isFips: false\n          packSources:\n            - community\n        registryUid: 5ee9c5adc172449eeb9c30cf\noutputs:\n  # Output pack details\n  packId: ${example.id}\n  packVersion: ${example.version}\n  packValues: ${example.values}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\nIn this example, a filter is applied to retrieve a Calico CNI pack from the Palette OCI registry that is compatible with Edge clusters and has a version greater than 3.26.9.\n\n\u003e The filter attribute is a string that can contain multiple filters separated by the `AND`, `OR` operator. You can filter for a pack by using the attributes retured in the \u003cspan pulumi-lang-nodejs=\"`spec`\" pulumi-lang-dotnet=\"`Spec`\" pulumi-lang-go=\"`spec`\" pulumi-lang-python=\"`spec`\" pulumi-lang-yaml=\"`spec`\" pulumi-lang-java=\"`spec`\"\u003e`spec`\u003c/span\u003e object of the payload provided by the `v1/packs/search` endpoint.\nRefer to the Palette Pack Search API endpoint [documentation](https://docs.spectrocloud.com/api/v1/v-1-packs-search/) for more information on the available filters.\n\n\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst paletteRegistryOci = spectrocloud.getRegistry({\n    name: \"Palette Registry\",\n});\nconst cni = paletteRegistryOci.then(paletteRegistryOci =\u003e spectrocloud.getPack({\n    filters: `spec.cloudTypes=edge-nativeANDspec.layer=cniANDspec.displayName=CalicoANDspec.version\u003e3.26.9ANDspec.registryUid=${paletteRegistryOci.id}`,\n}));\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\npalette_registry_oci = spectrocloud.get_registry(name=\"Palette Registry\")\ncni = spectrocloud.get_pack(filters=f\"spec.cloudTypes=edge-nativeANDspec.layer=cniANDspec.displayName=CalicoANDspec.version\u003e3.26.9ANDspec.registryUid={palette_registry_oci.id}\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var paletteRegistryOci = Spectrocloud.GetRegistry.Invoke(new()\n    {\n        Name = \"Palette Registry\",\n    });\n\n    var cni = Spectrocloud.GetPack.Invoke(new()\n    {\n        Filters = $\"spec.cloudTypes=edge-nativeANDspec.layer=cniANDspec.displayName=CalicoANDspec.version\u003e3.26.9ANDspec.registryUid={paletteRegistryOci.Apply(getRegistryResult =\u003e getRegistryResult.Id)}\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tpaletteRegistryOci, err := spectrocloud.GetRegistry(ctx, \u0026spectrocloud.GetRegistryArgs{\n\t\t\tName: \"Palette Registry\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = spectrocloud.GetPack(ctx, \u0026spectrocloud.GetPackArgs{\n\t\t\tFilters: pulumi.StringRef(fmt.Sprintf(\"spec.cloudTypes=edge-nativeANDspec.layer=cniANDspec.displayName=CalicoANDspec.version\u003e3.26.9ANDspec.registryUid=%v\", paletteRegistryOci.Id)),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetRegistryArgs;\nimport com.pulumi.spectrocloud.inputs.GetPackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var paletteRegistryOci = SpectrocloudFunctions.getRegistry(GetRegistryArgs.builder()\n            .name(\"Palette Registry\")\n            .build());\n\n        final var cni = SpectrocloudFunctions.getPack(GetPackArgs.builder()\n            .filters(String.format(\"spec.cloudTypes=edge-nativeANDspec.layer=cniANDspec.displayName=CalicoANDspec.version\u003e3.26.9ANDspec.registryUid=%s\", paletteRegistryOci.id()))\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  paletteRegistryOci:\n    fn::invoke:\n      function: spectrocloud:getRegistry\n      arguments:\n        name: Palette Registry\n  cni:\n    fn::invoke:\n      function: spectrocloud:getPack\n      arguments:\n        filters: spec.cloudTypes=edge-nativeANDspec.layer=cniANDspec.displayName=CalicoANDspec.version\u003e3.26.9ANDspec.registryUid=${paletteRegistryOci.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPack.\n","properties":{"advanceFilters":{"$ref":"#/types/spectrocloud:index%2FgetPackAdvanceFilters:getPackAdvanceFilters","description":"A set of advanced filters to refine the selection of packs. These filters allow users to specify criteria such as pack type, add-on type, pack layer, and environment.\n"},"clouds":{"type":"array","items":{"type":"string"},"description":"Filter results by cloud type. If not provided, all cloud types are returned.\n"},"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. The filter attribute will be deprecated soon; use\u003cspan pulumi-lang-nodejs=\"`advanceFilter`\" pulumi-lang-dotnet=\"`AdvanceFilter`\" pulumi-lang-go=\"`advanceFilter`\" pulumi-lang-python=\"`advance_filter`\" pulumi-lang-yaml=\"`advanceFilter`\" pulumi-lang-java=\"`advanceFilter`\"\u003e`advance_filter`\u003c/span\u003e instead.\n"},"id":{"type":"string","description":"The UID of the pack returned.\n"},"name":{"type":"string","description":"The name of the pack to search for.\n"},"registryUid":{"type":"string","description":"The unique identifier (UID) of the registry where the pack is located. Specify \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e to search within a specific registry.\n"},"type":{"type":"string","description":"The type of pack to search for. Supported values are \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e, `operator-instance`.\n"},"version":{"type":"string","description":"Specify the version of the pack to search for. If not set, the latest available version from the specified registry will be used.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPack.\n","properties":{"advanceFilters":{"$ref":"#/types/spectrocloud:index%2FgetPackAdvanceFilters:getPackAdvanceFilters","description":"A set of advanced filters to refine the selection of packs. These filters allow users to specify criteria such as pack type, add-on type, pack layer, and environment.\n"},"clouds":{"description":"Filter results by cloud type. If not provided, all cloud types are returned.\n","items":{"type":"string"},"type":"array"},"filters":{"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. The filter attribute will be deprecated soon; use\u003cspan pulumi-lang-nodejs=\"`advanceFilter`\" pulumi-lang-dotnet=\"`AdvanceFilter`\" pulumi-lang-go=\"`advanceFilter`\" pulumi-lang-python=\"`advance_filter`\" pulumi-lang-yaml=\"`advanceFilter`\" pulumi-lang-java=\"`advanceFilter`\"\u003e`advance_filter`\u003c/span\u003e instead.\n","type":"string"},"id":{"description":"The UID of the pack returned.\n","type":"string"},"name":{"description":"The name of the pack to search for.\n","type":"string"},"registryUid":{"description":"The unique identifier (UID) of the registry where the pack is located. Specify \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e to search within a specific registry.\n","type":"string"},"type":{"description":"The type of pack to search for. Supported values are \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e, `operator-instance`.\n","type":"string"},"values":{"description":"The YAML values of the pack returned as string.\n","type":"string"},"version":{"description":"Specify the version of the pack to search for. If not set, the latest available version from the specified registry will be used.\n","type":"string"}},"required":["clouds","id","name","registryUid","type","values","version"],"type":"object"}},"spectrocloud:index/getPackSimple:getPackSimple":{"description":"This data resource provides a simpler user experience for searching for a pack in Palette registries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\n// Retrieve details of a specific pack\nconst example = spectrocloud.getPackSimple({\n    name: \"nginx-pack\",\n    version: \"1.2.3\",\n    context: \"project\",\n    registryUid: \"5ee9c5adc172449eeb9c30cf\",\n    type: \"helm\",\n});\nexport const packId = example.then(example =\u003e example.id);\nexport const packVersion = example.then(example =\u003e example.version);\nexport const packValues = example.then(example =\u003e example.values);\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\n# Retrieve details of a specific pack\nexample = spectrocloud.get_pack_simple(name=\"nginx-pack\",\n    version=\"1.2.3\",\n    context=\"project\",\n    registry_uid=\"5ee9c5adc172449eeb9c30cf\",\n    type=\"helm\")\npulumi.export(\"packId\", example.id)\npulumi.export(\"packVersion\", example.version)\npulumi.export(\"packValues\", example.values)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve details of a specific pack\n    var example = Spectrocloud.GetPackSimple.Invoke(new()\n    {\n        Name = \"nginx-pack\",\n        Version = \"1.2.3\",\n        Context = \"project\",\n        RegistryUid = \"5ee9c5adc172449eeb9c30cf\",\n        Type = \"helm\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"packId\"] = example.Apply(getPackSimpleResult =\u003e getPackSimpleResult.Id),\n        [\"packVersion\"] = example.Apply(getPackSimpleResult =\u003e getPackSimpleResult.Version),\n        [\"packValues\"] = example.Apply(getPackSimpleResult =\u003e getPackSimpleResult.Values),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve details of a specific pack\n\t\texample, err := spectrocloud.GetPackSimple(ctx, \u0026spectrocloud.GetPackSimpleArgs{\n\t\t\tName:        \"nginx-pack\",\n\t\t\tVersion:     pulumi.StringRef(\"1.2.3\"),\n\t\t\tContext:     pulumi.StringRef(\"project\"),\n\t\t\tRegistryUid: pulumi.StringRef(\"5ee9c5adc172449eeb9c30cf\"),\n\t\t\tType:        \"helm\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"packId\", example.Id)\n\t\tctx.Export(\"packVersion\", example.Version)\n\t\tctx.Export(\"packValues\", example.Values)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetPackSimpleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve details of a specific pack\n        final var example = SpectrocloudFunctions.getPackSimple(GetPackSimpleArgs.builder()\n            .name(\"nginx-pack\")\n            .version(\"1.2.3\")\n            .context(\"project\")\n            .registryUid(\"5ee9c5adc172449eeb9c30cf\")\n            .type(\"helm\")\n            .build());\n\n        ctx.export(\"packId\", example.id());\n        ctx.export(\"packVersion\", example.version());\n        ctx.export(\"packValues\", example.values());\n    }\n}\n```\n```yaml\nvariables:\n  # Retrieve details of a specific pack\n  example:\n    fn::invoke:\n      function: spectrocloud:getPackSimple\n      arguments:\n        name: nginx-pack\n        version: 1.2.3\n        context: project\n        registryUid: 5ee9c5adc172449eeb9c30cf\n        type: helm\noutputs:\n  # Output pack details\n  packId: ${example.id}\n  packVersion: ${example.version}\n  packValues: ${example.values}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPackSimple.\n","properties":{"context":{"type":"string","description":"Indicates in which context registry should be searched for the pack values. Allowed values are \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e.If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"id":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"The name of the pack.\n"},"registryUid":{"type":"string","description":"The unique identifier (UID) of the registry where the pack is located. Specify \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e to search within a specific registry.\n"},"type":{"type":"string","description":"The type of Pack. Allowed values are \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e or `operator-instance`.\n"},"version":{"type":"string","description":"The version of the pack.\n"}},"type":"object","required":["name","type"]},"outputs":{"description":"A collection of values returned by getPackSimple.\n","properties":{"context":{"description":"Indicates in which context registry should be searched for the pack values. Allowed values are \u003cspan pulumi-lang-nodejs=\"`system`\" pulumi-lang-dotnet=\"`System`\" pulumi-lang-go=\"`system`\" pulumi-lang-python=\"`system`\" pulumi-lang-yaml=\"`system`\" pulumi-lang-java=\"`system`\"\u003e`system`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e.If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n","type":"string"},"id":{"description":"The ID of this resource.\n","type":"string"},"name":{"description":"The name of the pack.\n","type":"string"},"registryUid":{"description":"The unique identifier (UID) of the registry where the pack is located. Specify \u003cspan pulumi-lang-nodejs=\"`registryUid`\" pulumi-lang-dotnet=\"`RegistryUid`\" pulumi-lang-go=\"`registryUid`\" pulumi-lang-python=\"`registry_uid`\" pulumi-lang-yaml=\"`registryUid`\" pulumi-lang-java=\"`registryUid`\"\u003e`registry_uid`\u003c/span\u003e to search within a specific registry.\n","type":"string"},"type":{"description":"The type of Pack. Allowed values are \u003cspan pulumi-lang-nodejs=\"`helm`\" pulumi-lang-dotnet=\"`Helm`\" pulumi-lang-go=\"`helm`\" pulumi-lang-python=\"`helm`\" pulumi-lang-yaml=\"`helm`\" pulumi-lang-java=\"`helm`\"\u003e`helm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`manifest`\" pulumi-lang-dotnet=\"`Manifest`\" pulumi-lang-go=\"`manifest`\" pulumi-lang-python=\"`manifest`\" pulumi-lang-yaml=\"`manifest`\" pulumi-lang-java=\"`manifest`\"\u003e`manifest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\"\u003e`container`\u003c/span\u003e or `operator-instance`.\n","type":"string"},"values":{"description":"This is a stringified YAML object containing the pack configuration details.\n","type":"string"},"version":{"description":"The version of the pack.\n","type":"string"}},"required":["id","name","type","values"],"type":"object"}},"spectrocloud:index/getPermission:getPermission":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\n// Fetches details of a specific permission in SpectroCloud\nconst example = spectrocloud.getPermission({\n    name: \"App Deployment\",\n    scope: \"project\",\n});\nexport const permissionDetails = example;\nexport const permissionId = example.then(example =\u003e example.id);\nexport const permissionList = example.then(example =\u003e example.permissions);\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\n# Fetches details of a specific permission in SpectroCloud\nexample = spectrocloud.get_permission(name=\"App Deployment\",\n    scope=\"project\")\npulumi.export(\"permissionDetails\", example)\npulumi.export(\"permissionId\", example.id)\npulumi.export(\"permissionList\", example.permissions)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Fetches details of a specific permission in SpectroCloud\n    var example = Spectrocloud.GetPermission.Invoke(new()\n    {\n        Name = \"App Deployment\",\n        Scope = \"project\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"permissionDetails\"] = example,\n        [\"permissionId\"] = example.Apply(getPermissionResult =\u003e getPermissionResult.Id),\n        [\"permissionList\"] = example.Apply(getPermissionResult =\u003e getPermissionResult.Permissions),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Fetches details of a specific permission in SpectroCloud\n\t\texample, err := spectrocloud.GetPermission(ctx, \u0026spectrocloud.GetPermissionArgs{\n\t\t\tName:  \"App Deployment\",\n\t\t\tScope: pulumi.StringRef(\"project\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"permissionDetails\", example)\n\t\tctx.Export(\"permissionId\", example.Id)\n\t\tctx.Export(\"permissionList\", example.Permissions)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Fetches details of a specific permission in SpectroCloud\n        final var example = SpectrocloudFunctions.getPermission(GetPermissionArgs.builder()\n            .name(\"App Deployment\")\n            .scope(\"project\")\n            .build());\n\n        ctx.export(\"permissionDetails\", example);\n        ctx.export(\"permissionId\", example.id());\n        ctx.export(\"permissionList\", example.permissions());\n    }\n}\n```\n```yaml\nvariables:\n  # Fetches details of a specific permission in SpectroCloud\n  example:\n    fn::invoke:\n      function: spectrocloud:getPermission\n      arguments:\n        name: App Deployment\n        scope: project\noutputs:\n  # Output the retrieved permission details\n  permissionDetails: ${example}\n  # Individual outputs for better clarity (optional)\n  permissionId: ${example.id}\n  permissionList: ${example.permissions}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPermission.\n","properties":{"name":{"type":"string","description":"Name of the permissions. eg: `App Deployment`.\n"},"scope":{"type":"string","description":"Permission scope. Allowed permission levels are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`resource`\" pulumi-lang-dotnet=\"`Resource`\" pulumi-lang-go=\"`resource`\" pulumi-lang-python=\"`resource`\" pulumi-lang-yaml=\"`resource`\" pulumi-lang-java=\"`resource`\"\u003e`resource`\u003c/span\u003e . Defaults to \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getPermission.\n","properties":{"id":{"description":"The ID of this resource.\n","type":"string"},"name":{"description":"Name of the permissions. eg: `App Deployment`.\n","type":"string"},"permissions":{"description":"List of permissions associated with the permission name.\n","items":{"type":"string"},"type":"array"},"scope":{"description":"Permission scope. Allowed permission levels are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`resource`\" pulumi-lang-dotnet=\"`Resource`\" pulumi-lang-go=\"`resource`\" pulumi-lang-python=\"`resource`\" pulumi-lang-yaml=\"`resource`\" pulumi-lang-java=\"`resource`\"\u003e`resource`\u003c/span\u003e . Defaults to \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e.\n","type":"string"}},"required":["id","name","permissions"],"type":"object"}},"spectrocloud:index/getPrivateCloudGateway:getPrivateCloudGateway":{"description":"A data resource to get the ID or name of Private Cloud Gateway.\n\nTo learn more about Private Cloud Gateways, review the [Private Cloud Gateway](https://docs.spectrocloud.com/clusters/pcg/) documentation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\n// Retrieve details of a specific Private Cloud Gateway (PCG) by name\nconst examplePcg = spectrocloud.getPrivateCloudGateway({\n    name: \"my-private-cloud-gateway\",\n});\nexport const pcgId = examplePcg.then(examplePcg =\u003e examplePcg.id);\nexport const pcgName = examplePcg.then(examplePcg =\u003e examplePcg.name);\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\n# Retrieve details of a specific Private Cloud Gateway (PCG) by name\nexample_pcg = spectrocloud.get_private_cloud_gateway(name=\"my-private-cloud-gateway\")\npulumi.export(\"pcgId\", example_pcg.id)\npulumi.export(\"pcgName\", example_pcg.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve details of a specific Private Cloud Gateway (PCG) by name\n    var examplePcg = Spectrocloud.GetPrivateCloudGateway.Invoke(new()\n    {\n        Name = \"my-private-cloud-gateway\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"pcgId\"] = examplePcg.Apply(getPrivateCloudGatewayResult =\u003e getPrivateCloudGatewayResult.Id),\n        [\"pcgName\"] = examplePcg.Apply(getPrivateCloudGatewayResult =\u003e getPrivateCloudGatewayResult.Name),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve details of a specific Private Cloud Gateway (PCG) by name\n\t\texamplePcg, err := spectrocloud.GetPrivateCloudGateway(ctx, \u0026spectrocloud.GetPrivateCloudGatewayArgs{\n\t\t\tName: pulumi.StringRef(\"my-private-cloud-gateway\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"pcgId\", examplePcg.Id)\n\t\tctx.Export(\"pcgName\", examplePcg.Name)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetPrivateCloudGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve details of a specific Private Cloud Gateway (PCG) by name\n        final var examplePcg = SpectrocloudFunctions.getPrivateCloudGateway(GetPrivateCloudGatewayArgs.builder()\n            .name(\"my-private-cloud-gateway\")\n            .build());\n\n        ctx.export(\"pcgId\", examplePcg.id());\n        ctx.export(\"pcgName\", examplePcg.name());\n    }\n}\n```\n```yaml\nvariables:\n  # Retrieve details of a specific Private Cloud Gateway (PCG) by name\n  examplePcg:\n    fn::invoke:\n      function: spectrocloud:getPrivateCloudGateway\n      arguments:\n        name: my-private-cloud-gateway\noutputs:\n  # Output the retrieved PCG ID\n  pcgId: ${examplePcg.id}\n  # Output the retrieved PCG name\n  pcgName: ${examplePcg.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPrivateCloudGateway.\n","properties":{"id":{"type":"string","description":"The ID of Private Cloud Gateway.\n"},"name":{"type":"string","description":"The name of Private Cloud Gateway.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPrivateCloudGateway.\n","properties":{"id":{"description":"The ID of Private Cloud Gateway.\n","type":"string"},"name":{"description":"The name of Private Cloud Gateway.\n","type":"string"}},"required":["id","name"],"type":"object"}},"spectrocloud:index/getPrivatecloudgatewayDnsMap:getPrivatecloudgatewayDnsMap":{"inputs":{"description":"A collection of arguments for invoking getPrivatecloudgatewayDnsMap.\n","properties":{"id":{"type":"string","description":"The ID of this resource.\n"},"network":{"type":"string","description":"The network to which the private cloud gateway is mapped.\n"},"privateCloudGatewayId":{"type":"string","description":"The ID of the private cloud gateway.\n"},"searchDomainName":{"type":"string","description":"The domain name used for DNS search queries within the private cloud.\n"}},"type":"object","required":["privateCloudGatewayId","searchDomainName"]},"outputs":{"description":"A collection of values returned by getPrivatecloudgatewayDnsMap.\n","properties":{"dataCenter":{"description":"The data center in which the private cloud resides.\n","type":"string"},"id":{"description":"The ID of this resource.\n","type":"string"},"network":{"description":"The network to which the private cloud gateway is mapped.\n","type":"string"},"privateCloudGatewayId":{"description":"The ID of the private cloud gateway.\n","type":"string"},"searchDomainName":{"description":"The domain name used for DNS search queries within the private cloud.\n","type":"string"}},"required":["dataCenter","id","network","privateCloudGatewayId","searchDomainName"],"type":"object"}},"spectrocloud:index/getProject:getProject":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\n// Fetch details of a specific project in SpectroCloud\nconst example = spectrocloud.getProject({\n    id: \"project-12345\",\n});\nexport const projectInfo = {\n    id: example.then(example =\u003e example.id),\n    name: example.then(example =\u003e example.name),\n};\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\n# Fetch details of a specific project in SpectroCloud\nexample = spectrocloud.get_project(id=\"project-12345\")\npulumi.export(\"projectInfo\", {\n    \"id\": example.id,\n    \"name\": example.name,\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Fetch details of a specific project in SpectroCloud\n    var example = Spectrocloud.GetProject.Invoke(new()\n    {\n        Id = \"project-12345\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"projectInfo\"] = \n        {\n            { \"id\", example.Apply(getProjectResult =\u003e getProjectResult.Id) },\n            { \"name\", example.Apply(getProjectResult =\u003e getProjectResult.Name) },\n        },\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Fetch details of a specific project in SpectroCloud\n\t\texample, err := spectrocloud.LookupProject(ctx, \u0026spectrocloud.LookupProjectArgs{\n\t\t\tId: pulumi.StringRef(\"project-12345\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"projectInfo\", pulumi.StringMap{\n\t\t\t\"id\":   example.Id,\n\t\t\t\"name\": example.Name,\n\t\t})\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Fetch details of a specific project in SpectroCloud\n        final var example = SpectrocloudFunctions.getProject(GetProjectArgs.builder()\n            .id(\"project-12345\")\n            .build());\n\n        ctx.export(\"projectInfo\", Map.ofEntries(\n            Map.entry(\"id\", example.id()),\n            Map.entry(\"name\", example.name())\n        ));\n    }\n}\n```\n```yaml\nvariables:\n  # Fetch details of a specific project in SpectroCloud\n  example:\n    fn::invoke:\n      function: spectrocloud:getProject\n      arguments:\n        id: project-12345\noutputs:\n  # Output project details for reference\n  projectInfo:\n    id: ${example.id}\n    name: ${example.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getProject.\n","properties":{"id":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getProject.\n","properties":{"id":{"description":"The ID of this resource.\n","type":"string"},"name":{"type":"string"}},"required":["id","name"],"type":"object"}},"spectrocloud:index/getRegistrationToken:getRegistrationToken":{"description":"\u003e A data source for retrieving information about an registration token registered in Palette.\n\n## Example Usage\n\nAn example of how to use this data source to retrieve a specific registration token in Palette.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst tf = spectrocloud.getRegistrationToken({\n    name: \"ran-dev-test\",\n});\nexport const token = tf.then(tf =\u003e tf.token);\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\ntf = spectrocloud.get_registration_token(name=\"ran-dev-test\")\npulumi.export(\"token\", tf.token)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var tf = Spectrocloud.GetRegistrationToken.Invoke(new()\n    {\n        Name = \"ran-dev-test\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"token\"] = tf.Apply(getRegistrationTokenResult =\u003e getRegistrationTokenResult.Token),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttf, err := spectrocloud.LookupRegistrationToken(ctx, \u0026spectrocloud.LookupRegistrationTokenArgs{\n\t\t\tName: pulumi.StringRef(\"ran-dev-test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"token\", tf.Token)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetRegistrationTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var tf = SpectrocloudFunctions.getRegistrationToken(GetRegistrationTokenArgs.builder()\n            .name(\"ran-dev-test\")\n            .build());\n\n        ctx.export(\"token\", tf.token());\n    }\n}\n```\n```yaml\nvariables:\n  tf:\n    fn::invoke:\n      function: spectrocloud:getRegistrationToken\n      arguments:\n        name: ran-dev-test\noutputs:\n  token: ${tf.token}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRegistrationToken.\n","properties":{"id":{"type":"string","description":"The UID of the registration token.\n"},"name":{"type":"string","description":"The name of the registration token.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRegistrationToken.\n","properties":{"expiryDate":{"description":"The expiration date of the registration token in `YYYY-MM-DD` format.\n","type":"string"},"id":{"description":"The UID of the registration token.\n","type":"string"},"name":{"description":"The name of the registration token.\n","type":"string"},"projectUid":{"description":"The unique identifier of the project associated with the registration token.\n","type":"string"},"status":{"description":"The status of the registration token. Allowed values are \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`inactive`\" pulumi-lang-dotnet=\"`Inactive`\" pulumi-lang-go=\"`inactive`\" pulumi-lang-python=\"`inactive`\" pulumi-lang-yaml=\"`inactive`\" pulumi-lang-java=\"`inactive`\"\u003e`inactive`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e.\n","type":"string"},"token":{"description":"The registration token\n","type":"string"}},"required":["expiryDate","id","projectUid","status","token"],"type":"object"}},"spectrocloud:index/getRegistry:getRegistry":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\n// Data source to retrieve details of a specific SpectroCloud registry by name\nconst myRegistry = spectrocloud.getRegistry({\n    name: \"my-registry\",\n});\nexport const registryId = myRegistry.then(myRegistry =\u003e myRegistry.id);\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\n# Data source to retrieve details of a specific SpectroCloud registry by name\nmy_registry = spectrocloud.get_registry(name=\"my-registry\")\npulumi.export(\"registryId\", my_registry.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Data source to retrieve details of a specific SpectroCloud registry by name\n    var myRegistry = Spectrocloud.GetRegistry.Invoke(new()\n    {\n        Name = \"my-registry\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"registryId\"] = myRegistry.Apply(getRegistryResult =\u003e getRegistryResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Data source to retrieve details of a specific SpectroCloud registry by name\n\t\tmyRegistry, err := spectrocloud.GetRegistry(ctx, \u0026spectrocloud.GetRegistryArgs{\n\t\t\tName: \"my-registry\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"registryId\", myRegistry.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetRegistryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Data source to retrieve details of a specific SpectroCloud registry by name\n        final var myRegistry = SpectrocloudFunctions.getRegistry(GetRegistryArgs.builder()\n            .name(\"my-registry\")\n            .build());\n\n        ctx.export(\"registryId\", myRegistry.id());\n    }\n}\n```\n```yaml\nvariables:\n  # Data source to retrieve details of a specific SpectroCloud registry by name\n  myRegistry:\n    fn::invoke:\n      function: spectrocloud:getRegistry\n      arguments:\n        name: my-registry\noutputs:\n  # Output the ID of the retrieved registry\n  registryId: ${myRegistry.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRegistry.\n","properties":{"id":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string"},"type":{"type":"string","description":"The type of the registry. Possible values are 'oci', 'helm', or 'spectro'. If not provided, the registry type will be inferred from the registry name.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getRegistry.\n","properties":{"id":{"description":"The ID of this resource.\n","type":"string"},"name":{"type":"string"},"syncStatus":{"description":"The synchronization status of the registry. Possible values: 'Completed', 'InProgress', 'Failed', 'Error', etc. Available for Helm registries only.\n","type":"string"},"type":{"description":"The type of the registry. Possible values are 'oci', 'helm', or 'spectro'. If not provided, the registry type will be inferred from the registry name.\n","type":"string"}},"required":["id","name","syncStatus"],"type":"object"}},"spectrocloud:index/getRegistryHelm:getRegistryHelm":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\n// Data source to retrieve details of a specific SpectroCloud Helm registry by name\nconst myHelmRegistry = spectrocloud.getRegistryHelm({\n    name: \"my-helm-registry\",\n});\nexport const helmRegistryId = myHelmRegistry.then(myHelmRegistry =\u003e myHelmRegistry.id);\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\n# Data source to retrieve details of a specific SpectroCloud Helm registry by name\nmy_helm_registry = spectrocloud.get_registry_helm(name=\"my-helm-registry\")\npulumi.export(\"helmRegistryId\", my_helm_registry.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Data source to retrieve details of a specific SpectroCloud Helm registry by name\n    var myHelmRegistry = Spectrocloud.GetRegistryHelm.Invoke(new()\n    {\n        Name = \"my-helm-registry\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"helmRegistryId\"] = myHelmRegistry.Apply(getRegistryHelmResult =\u003e getRegistryHelmResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Data source to retrieve details of a specific SpectroCloud Helm registry by name\n\t\tmyHelmRegistry, err := spectrocloud.LookupRegistryHelm(ctx, \u0026spectrocloud.LookupRegistryHelmArgs{\n\t\t\tName: \"my-helm-registry\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"helmRegistryId\", myHelmRegistry.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetRegistryHelmArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Data source to retrieve details of a specific SpectroCloud Helm registry by name\n        final var myHelmRegistry = SpectrocloudFunctions.getRegistryHelm(GetRegistryHelmArgs.builder()\n            .name(\"my-helm-registry\")\n            .build());\n\n        ctx.export(\"helmRegistryId\", myHelmRegistry.id());\n    }\n}\n```\n```yaml\nvariables:\n  # Data source to retrieve details of a specific SpectroCloud Helm registry by name\n  myHelmRegistry:\n    fn::invoke:\n      function: spectrocloud:getRegistryHelm\n      arguments:\n        name: my-helm-registry\noutputs:\n  # Output the ID of the retrieved Helm registry\n  helmRegistryId: ${myHelmRegistry.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRegistryHelm.\n","properties":{"id":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getRegistryHelm.\n","properties":{"id":{"description":"The ID of this resource.\n","type":"string"},"name":{"type":"string"}},"required":["id","name"],"type":"object"}},"spectrocloud:index/getRegistryOci:getRegistryOci":{"inputs":{"description":"A collection of arguments for invoking getRegistryOci.\n","properties":{"id":{"type":"string","description":"The unique identifier of the OCI registry.\n"},"name":{"type":"string","description":"The name of the OCI registry.\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getRegistryOci.\n","properties":{"id":{"description":"The unique identifier of the OCI registry.\n","type":"string"},"name":{"description":"The name of the OCI registry.\n","type":"string"}},"required":["id","name"],"type":"object"}},"spectrocloud:index/getRegistryPack:getRegistryPack":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\n// Data source to retrieve details of a specific SpectroCloud registry pack by name\nconst myPack = spectrocloud.getRegistryPack({\n    name: \"my-pack\",\n});\nexport const registryPackId = myPack.then(myPack =\u003e myPack.id);\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\n# Data source to retrieve details of a specific SpectroCloud registry pack by name\nmy_pack = spectrocloud.get_registry_pack(name=\"my-pack\")\npulumi.export(\"registryPackId\", my_pack.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Data source to retrieve details of a specific SpectroCloud registry pack by name\n    var myPack = Spectrocloud.GetRegistryPack.Invoke(new()\n    {\n        Name = \"my-pack\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"registryPackId\"] = myPack.Apply(getRegistryPackResult =\u003e getRegistryPackResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Data source to retrieve details of a specific SpectroCloud registry pack by name\n\t\tmyPack, err := spectrocloud.GetRegistryPack(ctx, \u0026spectrocloud.GetRegistryPackArgs{\n\t\t\tName: \"my-pack\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"registryPackId\", myPack.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetRegistryPackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Data source to retrieve details of a specific SpectroCloud registry pack by name\n        final var myPack = SpectrocloudFunctions.getRegistryPack(GetRegistryPackArgs.builder()\n            .name(\"my-pack\")\n            .build());\n\n        ctx.export(\"registryPackId\", myPack.id());\n    }\n}\n```\n```yaml\nvariables:\n  # Data source to retrieve details of a specific SpectroCloud registry pack by name\n  myPack:\n    fn::invoke:\n      function: spectrocloud:getRegistryPack\n      arguments:\n        name: my-pack\noutputs:\n  # Output the ID of the retrieved registry pack\n  registryPackId: ${myPack.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRegistryPack.\n","properties":{"id":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getRegistryPack.\n","properties":{"id":{"description":"The ID of this resource.\n","type":"string"},"name":{"type":"string"}},"required":["id","name"],"type":"object"}},"spectrocloud:index/getRole:getRole":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\n// Retrieve details of a specific role by name\nconst example = spectrocloud.getRole({\n    name: \"admin-role\",\n});\nexport const roleId = example.then(example =\u003e example.id);\nexport const rolePermissions = example.then(example =\u003e example.permissions);\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\n# Retrieve details of a specific role by name\nexample = spectrocloud.get_role(name=\"admin-role\")\npulumi.export(\"roleId\", example.id)\npulumi.export(\"rolePermissions\", example.permissions)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve details of a specific role by name\n    var example = Spectrocloud.GetRole.Invoke(new()\n    {\n        Name = \"admin-role\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"roleId\"] = example.Apply(getRoleResult =\u003e getRoleResult.Id),\n        [\"rolePermissions\"] = example.Apply(getRoleResult =\u003e getRoleResult.Permissions),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve details of a specific role by name\n\t\texample, err := spectrocloud.LookupRole(ctx, \u0026spectrocloud.LookupRoleArgs{\n\t\t\tName: pulumi.StringRef(\"admin-role\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"roleId\", example.Id)\n\t\tctx.Export(\"rolePermissions\", example.Permissions)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve details of a specific role by name\n        final var example = SpectrocloudFunctions.getRole(GetRoleArgs.builder()\n            .name(\"admin-role\")\n            .build());\n\n        ctx.export(\"roleId\", example.id());\n        ctx.export(\"rolePermissions\", example.permissions());\n    }\n}\n```\n```yaml\nvariables:\n  # Retrieve details of a specific role by name\n  example:\n    fn::invoke:\n      function: spectrocloud:getRole\n      arguments:\n        name: admin-role\noutputs:\n  # Output role ID\n  roleId: ${example.id}\n  # Output permissions associated with the role\n  rolePermissions: ${example.permissions}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRole.\n","properties":{"id":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string"}},"type":"object"},"outputs":{"description":"A collection of values returned by getRole.\n","properties":{"id":{"description":"The ID of this resource.\n","type":"string"},"name":{"type":"string"},"permissions":{"description":"List of permissions associated with the role.\n","items":{"type":"string"},"type":"array"}},"required":["id","name","permissions"],"type":"object"}},"spectrocloud:index/getSshKey:getSshKey":{"description":"The SSH key data source allows you to retrieve information about SSH keys in Palette.\n\nTo learn more about SSH Keys in Palette, review the [SSH Keys](https://docs.spectrocloud.com/clusters/cluster-management/ssh-keys/) section of the documentation.\n\n## Example Usage\n\nYou can specify the context as \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e to get the SSH key from the respective context.\n\n\nExample with context as \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst sshProject = spectrocloud.getSshKey({\n    name: \"test-tf-ssh\",\n    context: \"project\",\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nssh_project = spectrocloud.get_ssh_key(name=\"test-tf-ssh\",\n    context=\"project\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sshProject = Spectrocloud.GetSshKey.Invoke(new()\n    {\n        Name = \"test-tf-ssh\",\n        Context = \"project\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.LookupSshKey(ctx, \u0026spectrocloud.LookupSshKeyArgs{\n\t\t\tName:    pulumi.StringRef(\"test-tf-ssh\"),\n\t\t\tContext: pulumi.StringRef(\"project\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetSshKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var sshProject = SpectrocloudFunctions.getSshKey(GetSshKeyArgs.builder()\n            .name(\"test-tf-ssh\")\n            .context(\"project\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  sshProject:\n    fn::invoke:\n      function: spectrocloud:getSshKey\n      arguments:\n        name: test-tf-ssh\n        context: project\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nExample with context as \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\nconst sshProject = spectrocloud.getSshKey({\n    name: \"global-tf-ssh\",\n    context: \"tenant\",\n});\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\nssh_project = spectrocloud.get_ssh_key(name=\"global-tf-ssh\",\n    context=\"tenant\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sshProject = Spectrocloud.GetSshKey.Invoke(new()\n    {\n        Name = \"global-tf-ssh\",\n        Context = \"tenant\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := spectrocloud.LookupSshKey(ctx, \u0026spectrocloud.LookupSshKeyArgs{\n\t\t\tName:    pulumi.StringRef(\"global-tf-ssh\"),\n\t\t\tContext: pulumi.StringRef(\"tenant\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetSshKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var sshProject = SpectrocloudFunctions.getSshKey(GetSshKeyArgs.builder()\n            .name(\"global-tf-ssh\")\n            .context(\"tenant\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  sshProject:\n    fn::invoke:\n      function: spectrocloud:getSshKey\n      arguments:\n        name: global-tf-ssh\n        context: tenant\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSshKey.\n","properties":{"context":{"type":"string","description":"The context of the cluster profile. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n"},"id":{"type":"string","description":"The Id of the SSH key resource.\n"},"name":{"type":"string","description":"The name of the SSH key resource.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSshKey.\n","properties":{"context":{"description":"The context of the cluster profile. Allowed values are \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tenant`\" pulumi-lang-dotnet=\"`Tenant`\" pulumi-lang-go=\"`tenant`\" pulumi-lang-python=\"`tenant`\" pulumi-lang-yaml=\"`tenant`\" pulumi-lang-java=\"`tenant`\"\u003e`tenant`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. If  the \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e context is specified, the project name will sourced from the provider configuration parameter \u003cspan pulumi-lang-nodejs=\"`projectName`\" pulumi-lang-dotnet=\"`ProjectName`\" pulumi-lang-go=\"`projectName`\" pulumi-lang-python=\"`project_name`\" pulumi-lang-yaml=\"`projectName`\" pulumi-lang-java=\"`projectName`\"\u003e`project_name`\u003c/span\u003e.\n","type":"string"},"id":{"description":"The Id of the SSH key resource.\n","type":"string"},"name":{"description":"The name of the SSH key resource.\n","type":"string"},"sshKey":{"description":"The SSH key value. This is the public key that was uploaded to Palette.\n","secret":true,"type":"string"}},"required":["id","name","sshKey"],"type":"object"}},"spectrocloud:index/getTeam:getTeam":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\n// Fetch details of a specific team in SpectroCloud\nconst example = spectrocloud.getTeam({\n    id: \"team-12345\",\n});\nexport const teamInfo = {\n    id: example.then(example =\u003e example.id),\n    name: example.then(example =\u003e example.name),\n    roleIds: example.then(example =\u003e example.roleIds),\n};\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\n# Fetch details of a specific team in SpectroCloud\nexample = spectrocloud.get_team(id=\"team-12345\")\npulumi.export(\"teamInfo\", {\n    \"id\": example.id,\n    \"name\": example.name,\n    \"roleIds\": example.role_ids,\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Fetch details of a specific team in SpectroCloud\n    var example = Spectrocloud.GetTeam.Invoke(new()\n    {\n        Id = \"team-12345\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"teamInfo\"] = \n        {\n            { \"id\", example.Apply(getTeamResult =\u003e getTeamResult.Id) },\n            { \"name\", example.Apply(getTeamResult =\u003e getTeamResult.Name) },\n            { \"roleIds\", example.Apply(getTeamResult =\u003e getTeamResult.RoleIds) },\n        },\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Fetch details of a specific team in SpectroCloud\n\t\texample, err := spectrocloud.LookupTeam(ctx, \u0026spectrocloud.LookupTeamArgs{\n\t\t\tId: pulumi.StringRef(\"team-12345\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"teamInfo\", pulumi.Map{\n\t\t\t\"id\":      example.Id,\n\t\t\t\"name\":    example.Name,\n\t\t\t\"roleIds\": example.RoleIds,\n\t\t})\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetTeamArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Fetch details of a specific team in SpectroCloud\n        final var example = SpectrocloudFunctions.getTeam(GetTeamArgs.builder()\n            .id(\"team-12345\")\n            .build());\n\n        ctx.export(\"teamInfo\", Map.ofEntries(\n            Map.entry(\"id\", example.id()),\n            Map.entry(\"name\", example.name()),\n            Map.entry(\"roleIds\", example.roleIds())\n        ));\n    }\n}\n```\n```yaml\nvariables:\n  # Fetch details of a specific team in SpectroCloud\n  example:\n    fn::invoke:\n      function: spectrocloud:getTeam\n      arguments:\n        id: team-12345\noutputs:\n  teamInfo:\n    id: ${example.id}\n    name: ${example.name}\n    roleIds: ${example.roleIds}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTeam.\n","properties":{"id":{"type":"string","description":"The unique ID of the team. If provided, \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e cannot be used.\n"},"name":{"type":"string","description":"The name of the team. If provided, \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e cannot be used.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getTeam.\n","properties":{"id":{"description":"The unique ID of the team. If provided, \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e cannot be used.\n","type":"string"},"name":{"description":"The name of the team. If provided, \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e cannot be used.\n","type":"string"},"roleIds":{"description":"The roles id's assigned to the team.\n","items":{"type":"string"},"type":"array"}},"required":["id","roleIds"],"type":"object"}},"spectrocloud:index/getUser:getUser":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\n// Fetch details of a specific user in SpectroCloud\nconst example = spectrocloud.getUser({\n    id: \"user-12345\",\n});\nexport const userInfo = {\n    id: example.then(example =\u003e example.id),\n    email: example.then(example =\u003e example.email),\n};\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\n# Fetch details of a specific user in SpectroCloud\nexample = spectrocloud.get_user(id=\"user-12345\")\npulumi.export(\"userInfo\", {\n    \"id\": example.id,\n    \"email\": example.email,\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Fetch details of a specific user in SpectroCloud\n    var example = Spectrocloud.GetUser.Invoke(new()\n    {\n        Id = \"user-12345\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"userInfo\"] = \n        {\n            { \"id\", example.Apply(getUserResult =\u003e getUserResult.Id) },\n            { \"email\", example.Apply(getUserResult =\u003e getUserResult.Email) },\n        },\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Fetch details of a specific user in SpectroCloud\n\t\texample, err := spectrocloud.LookupUser(ctx, \u0026spectrocloud.LookupUserArgs{\n\t\t\tId: pulumi.StringRef(\"user-12345\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"userInfo\", pulumi.StringMap{\n\t\t\t\"id\":    example.Id,\n\t\t\t\"email\": example.Email,\n\t\t})\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Fetch details of a specific user in SpectroCloud\n        final var example = SpectrocloudFunctions.getUser(GetUserArgs.builder()\n            .id(\"user-12345\")\n            .build());\n\n        ctx.export(\"userInfo\", Map.ofEntries(\n            Map.entry(\"id\", example.id()),\n            Map.entry(\"email\", example.email())\n        ));\n    }\n}\n```\n```yaml\nvariables:\n  # Fetch details of a specific user in SpectroCloud\n  example:\n    fn::invoke:\n      function: spectrocloud:getUser\n      arguments:\n        id: user-12345\noutputs:\n  # Output user details for reference\n  userInfo:\n    id: ${example.id}\n    email: ${example.email}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getUser.\n","properties":{"email":{"type":"string","description":"The email address of the user. If provided, \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e cannot be used.\n"},"id":{"type":"string","description":"The unique ID of the user. If provided, \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e cannot be used.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getUser.\n","properties":{"email":{"description":"The email address of the user. If provided, \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e cannot be used.\n","type":"string"},"id":{"description":"The unique ID of the user. If provided, \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e cannot be used.\n","type":"string"}},"required":["id"],"type":"object"}},"spectrocloud:index/getWorkspace:getWorkspace":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as spectrocloud from \"@pulumi/spectrocloud\";\n\n// Retrieve details of a specific workspace\nconst exampleWorkspace = spectrocloud.getWorkspace({\n    name: \"my-workspace\",\n});\nexport const workspaceName = exampleWorkspace.then(exampleWorkspace =\u003e exampleWorkspace.id);\n```\n```python\nimport pulumi\nimport pulumi_spectrocloud as spectrocloud\n\n# Retrieve details of a specific workspace\nexample_workspace = spectrocloud.get_workspace(name=\"my-workspace\")\npulumi.export(\"workspaceName\", example_workspace.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Spectrocloud = Pulumi.Spectrocloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Retrieve details of a specific workspace\n    var exampleWorkspace = Spectrocloud.GetWorkspace.Invoke(new()\n    {\n        Name = \"my-workspace\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"workspaceName\"] = exampleWorkspace.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/spectrocloud/spectrocloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Retrieve details of a specific workspace\n\t\texampleWorkspace, err := spectrocloud.LookupWorkspace(ctx, \u0026spectrocloud.LookupWorkspaceArgs{\n\t\t\tName: \"my-workspace\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"workspaceName\", exampleWorkspace.Id)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.spectrocloud.SpectrocloudFunctions;\nimport com.pulumi.spectrocloud.inputs.GetWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Retrieve details of a specific workspace\n        final var exampleWorkspace = SpectrocloudFunctions.getWorkspace(GetWorkspaceArgs.builder()\n            .name(\"my-workspace\")\n            .build());\n\n        ctx.export(\"workspaceName\", exampleWorkspace.id());\n    }\n}\n```\n```yaml\nvariables:\n  # Retrieve details of a specific workspace\n  exampleWorkspace:\n    fn::invoke:\n      function: spectrocloud:getWorkspace\n      arguments:\n        name: my-workspace\noutputs:\n  # Output the retrieved workspace id\n  workspaceName: ${exampleWorkspace.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getWorkspace.\n","properties":{"id":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getWorkspace.\n","properties":{"id":{"description":"The ID of this resource.\n","type":"string"},"name":{"type":"string"}},"required":["id","name"],"type":"object"}}},"parameterization":{"baseProvider":{"name":"terraform-provider","version":"1.0.1"},"parameter":"eyJyZW1vdGUiOnsidXJsIjoicmVnaXN0cnkub3BlbnRvZnUub3JnL3NwZWN0cm9jbG91ZC9zcGVjdHJvY2xvdWQiLCJ2ZXJzaW9uIjoiMC4yOC4xIn19"}}