diff --git a/provider/cmd/pulumi-resource-cockroach/schema.json b/provider/cmd/pulumi-resource-cockroach/schema.json
index d5447d3..c2374fa 100644
--- a/provider/cmd/pulumi-resource-cockroach/schema.json
+++ b/provider/cmd/pulumi-resource-cockroach/schema.json
@@ -64,16 +64,51 @@
},
"config": {
"variables": {
+ "apijwt": {
+ "type": "string",
+ "description": "The JWT from a JWT Issuer configured for the CockroachDB Cloud Organization. In this case, the vanity name of the\norganization is required and can be provided using the `COCKROACH_VANITY_NAME` environment variable. If the JWT is\nmapped to multiple identities, the identity to impersonate should be provided using the `COCKROACH_USERNAME` environment\nvariable, and should contain either a user email address or a service account ID.\n",
+ "secret": true
+ },
"apikey": {
"type": "string",
- "description": "apikey to access cockroach cloud\n",
+ "description": "The API key to access CockroachDB Cloud. If this field is provided, it is used and `apijwt` is ignored.\n",
"secret": true
}
}
},
"types": {
+ "cockroach:index/ClusterBackupConfig:ClusterBackupConfig": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Indicates whether backups are enabled. If set to false, no backups will be created.\n"
+ },
+ "frequencyMinutes": {
+ "type": "integer",
+ "description": "The frequency of backups in minutes. Valid values are [5, 10, 15, 30, 60, 240, 1440]\n"
+ },
+ "retentionDays": {
+ "type": "integer",
+ "description": "The number of days to retain backups for. Valid values are [2, 7, 30, 90, 365]. Can only be set once, further changes require opening a support ticket. See Updating backup retention for more information.\n"
+ }
+ },
+ "type": "object",
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "enabled",
+ "frequencyMinutes",
+ "retentionDays"
+ ]
+ }
+ }
+ },
"cockroach:index/ClusterDedicated:ClusterDedicated": {
"properties": {
+ "cidrRange": {
+ "type": "string",
+ "description": "The IPv4 range in CIDR format that will be used by the cluster. This is supported only on GCP, and must have a subnet mask no larger than /19. Defaults to \"172.28.0.0/14\". This cannot be changed after cluster creation.\n"
+ },
"diskIops": {
"type": "integer",
"description": "Number of disk I/O operations per second that are permitted on each node in the cluster. Zero indicates the cloud provider-specific default.\n"
@@ -103,6 +138,7 @@
"language": {
"nodejs": {
"requiredOutputs": [
+ "cidrRange",
"diskIops",
"machineType",
"memoryGib",
@@ -570,8 +606,39 @@
"roleName"
]
},
+ "cockroach:index/getCockroachClusterBackupConfig:getCockroachClusterBackupConfig": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Indicates whether backups are enabled.\n"
+ },
+ "frequencyMinutes": {
+ "type": "integer",
+ "description": "The frequency of backups in minutes.\n"
+ },
+ "retentionDays": {
+ "type": "integer",
+ "description": "The number of days to retain backups for.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "enabled",
+ "frequencyMinutes",
+ "retentionDays"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
"cockroach:index/getCockroachClusterDedicated:getCockroachClusterDedicated": {
"properties": {
+ "cidrRange": {
+ "type": "string",
+ "description": "The IPv4 range in CIDR format that is in use by the cluster. It is only set on GCP clusters and is otherwise empty.\n"
+ },
"diskIops": {
"type": "integer",
"description": "Number of disk I/O operations per second that are permitted on each node in the cluster. Zero indicates the cloud provider-specific default.\n"
@@ -599,6 +666,7 @@
},
"type": "object",
"required": [
+ "cidrRange",
"diskIops",
"machineType",
"memoryGib",
@@ -755,16 +823,26 @@
"provider": {
"description": "The provider type for the cockroach 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": {
+ "apijwt": {
+ "type": "string",
+ "description": "The JWT from a JWT Issuer configured for the CockroachDB Cloud Organization. In this case, the vanity name of the\norganization is required and can be provided using the `COCKROACH_VANITY_NAME` environment variable. If the JWT is\nmapped to multiple identities, the identity to impersonate should be provided using the `COCKROACH_USERNAME` environment\nvariable, and should contain either a user email address or a service account ID.\n",
+ "secret": true
+ },
"apikey": {
"type": "string",
- "description": "apikey to access cockroach cloud\n",
+ "description": "The API key to access CockroachDB Cloud. If this field is provided, it is used and `apijwt` is ignored.\n",
"secret": true
}
},
"inputProperties": {
+ "apijwt": {
+ "type": "string",
+ "description": "The JWT from a JWT Issuer configured for the CockroachDB Cloud Organization. In this case, the vanity name of the\norganization is required and can be provided using the `COCKROACH_VANITY_NAME` environment variable. If the JWT is\nmapped to multiple identities, the identity to impersonate should be provided using the `COCKROACH_USERNAME` environment\nvariable, and should contain either a user email address or a service account ID.\n",
+ "secret": true
+ },
"apikey": {
"type": "string",
- "description": "apikey to access cockroach cloud\n",
+ "description": "The API key to access CockroachDB Cloud. If this field is provided, it is used and `apijwt` is ignored.\n",
"secret": true
}
}
@@ -927,7 +1005,7 @@
}
},
"cockroach:index/caCert:CaCert": {
- "description": "Manages client CA certs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cockroach from \"@pulumiverse/cockroach\";\n\nconst config = new pulumi.Config();\n// The X509 certificate in PEM format.\nconst clientCertificate = config.require(\"clientCertificate\");\nconst prod = new cockroach.CaCert(\"prod\", {\n clusterId: prodCockroachCluster.id,\n x509PemCert: clientCertificate,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_cockroach as cockroach\n\nconfig = pulumi.Config()\n# The X509 certificate in PEM format.\nclient_certificate = config.require(\"clientCertificate\")\nprod = cockroach.CaCert(\"prod\",\n cluster_id=prod_cockroach_cluster[\"id\"],\n x509_pem_cert=client_certificate)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cockroach = Pulumiverse.Cockroach;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n // The X509 certificate in PEM format.\n var clientCertificate = config.Require(\"clientCertificate\");\n var prod = new Cockroach.CaCert(\"prod\", new()\n {\n ClusterId = prodCockroachCluster.Id,\n X509PemCert = clientCertificate,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/pulumiverse/pulumi-cockroach/sdk/go/cockroach\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\t// The X509 certificate in PEM format.\n\t\tclientCertificate := cfg.Require(\"clientCertificate\")\n\t\t_, err := cockroach.NewCaCert(ctx, \"prod\", \u0026cockroach.CaCertArgs{\n\t\t\tClusterId: pulumi.Any(prodCockroachCluster.Id),\n\t\t\tX509PemCert: pulumi.String(clientCertificate),\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.cockroach.CaCert;\nimport com.pulumi.cockroach.CaCertArgs;\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 clientCertificate = config.get(\"clientCertificate\");\n var prod = new CaCert(\"prod\", CaCertArgs.builder()\n .clusterId(prodCockroachCluster.id())\n .x509PemCert(clientCertificate)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n clientCertificate:\n type: string\nresources:\n prod:\n type: cockroach:CaCert\n properties:\n clusterId: ${prodCockroachCluster.id}\n x509PemCert: ${clientCertificate}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
+ "description": "Manages client CA certs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cockroach from \"@pulumiverse/cockroach\";\n\nconst config = new pulumi.Config();\n// The X509 certificate in PEM format.\nconst clientCertificate = config.require(\"clientCertificate\");\nconst prod = new cockroach.CaCert(\"prod\", {\n clusterId: prodCockroachCluster.id,\n x509PemCert: clientCertificate,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_cockroach as cockroach\n\nconfig = pulumi.Config()\n# The X509 certificate in PEM format.\nclient_certificate = config.require(\"clientCertificate\")\nprod = cockroach.CaCert(\"prod\",\n cluster_id=prod_cockroach_cluster[\"id\"],\n x509_pem_cert=client_certificate)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cockroach = Pulumiverse.Cockroach;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n // The X509 certificate in PEM format.\n var clientCertificate = config.Require(\"clientCertificate\");\n var prod = new Cockroach.CaCert(\"prod\", new()\n {\n ClusterId = prodCockroachCluster.Id,\n X509PemCert = clientCertificate,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/pulumiverse/pulumi-cockroach/sdk/go/cockroach\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\t// The X509 certificate in PEM format.\n\t\tclientCertificate := cfg.Require(\"clientCertificate\")\n\t\t_, err := cockroach.NewCaCert(ctx, \"prod\", \u0026cockroach.CaCertArgs{\n\t\t\tClusterId: pulumi.Any(prodCockroachCluster.Id),\n\t\t\tX509PemCert: pulumi.String(clientCertificate),\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.cockroach.CaCert;\nimport com.pulumi.cockroach.CaCertArgs;\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 clientCertificate = config.get(\"clientCertificate\");\n var prod = new CaCert(\"prod\", CaCertArgs.builder()\n .clusterId(prodCockroachCluster.id())\n .x509PemCert(clientCertificate)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n clientCertificate:\n type: string\nresources:\n prod:\n type: cockroach:CaCert\n properties:\n clusterId: ${prodCockroachCluster.id}\n x509PemCert: ${clientCertificate}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nformat: \u003ccluster id\u003e\n\n```sh\n$ pulumi import cockroach:index/caCert:CaCert prod 1f69fdd2-600a-4cfc-a9ba-16995df0d77d\n```\n\n",
"properties": {
"clusterId": {
"type": "string",
@@ -981,12 +1059,16 @@
}
},
"cockroach:index/cluster:Cluster": {
- "description": "CockroachDB Cloud cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cockroach.Cluster;\nimport com.pulumi.cockroach.ClusterArgs;\nimport com.pulumi.cockroach.inputs.ClusterDedicatedArgs;\nimport com.pulumi.cockroach.inputs.ClusterRegionArgs;\nimport com.pulumi.cockroach.inputs.ClusterServerlessArgs;\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 advanced = new Cluster(\"advanced\", ClusterArgs.builder()\n .name(\"cockroach-advanced\")\n .cloudProvider(\"GCP\")\n .plan(\"ADVANCED\")\n .dedicated(ClusterDedicatedArgs.builder()\n .storage_gib(15)\n .machine_type(\"n2-standard-4\")\n .build())\n .regions(ClusterRegionArgs.builder()\n .name(\"us-central1\")\n .node_count(1)\n .build())\n .deleteProtection(true)\n .build());\n\n var standard = new Cluster(\"standard\", ClusterArgs.builder()\n .name(\"cockroach-standard\")\n .cloudProvider(\"GCP\")\n .plan(\"STANDARD\")\n .serverless(ClusterServerlessArgs.builder()\n .usage_limits(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .upgrade_type(\"AUTOMATIC\")\n .build())\n .regions(ClusterRegionArgs.builder()\n .name(\"us-east1\")\n .build())\n .deleteProtection(false)\n .build());\n\n var basic = new Cluster(\"basic\", ClusterArgs.builder()\n .name(\"cockroach-basic\")\n .cloudProvider(\"GCP\")\n .plan(\"BASIC\")\n .serverless()\n .regions(ClusterRegionArgs.builder()\n .name(\"us-east1\")\n .build())\n .deleteProtection(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n advanced:\n type: cockroach:Cluster\n properties:\n name: cockroach-advanced\n cloudProvider: GCP\n plan: ADVANCED\n dedicated:\n storage_gib: 15\n machine_type: n2-standard-4\n regions:\n - name: us-central1\n node_count: 1\n deleteProtection: true\n standard:\n type: cockroach:Cluster\n properties:\n name: cockroach-standard\n cloudProvider: GCP\n plan: STANDARD\n serverless:\n usage_limits:\n provisionedVirtualCpus: 2\n upgrade_type: AUTOMATIC\n regions:\n - name: us-east1\n deleteProtection: false\n basic:\n type: cockroach:Cluster\n properties:\n name: cockroach-basic\n cloudProvider: GCP\n plan: BASIC\n serverless: {}\n regions:\n - name: us-east1\n deleteProtection: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
+ "description": "CockroachDB Cloud cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cockroach.Cluster;\nimport com.pulumi.cockroach.ClusterArgs;\nimport com.pulumi.cockroach.inputs.ClusterDedicatedArgs;\nimport com.pulumi.cockroach.inputs.ClusterRegionArgs;\nimport com.pulumi.cockroach.inputs.ClusterBackupConfigArgs;\nimport com.pulumi.cockroach.inputs.ClusterServerlessArgs;\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 advanced = new Cluster(\"advanced\", ClusterArgs.builder()\n .name(\"cockroach-advanced\")\n .cloudProvider(\"GCP\")\n .plan(\"ADVANCED\")\n .dedicated(ClusterDedicatedArgs.builder()\n .storage_gib(15)\n .machine_type(\"n2-standard-4\")\n .build())\n .regions(ClusterRegionArgs.builder()\n .name(\"us-central1\")\n .node_count(1)\n .build())\n .deleteProtection(true)\n .backupConfig(ClusterBackupConfigArgs.builder()\n .enabled(true)\n .frequency_minutes(60)\n .retention_days(30)\n .build())\n .build());\n\n var standard = new Cluster(\"standard\", ClusterArgs.builder()\n .name(\"cockroach-standard\")\n .cloudProvider(\"GCP\")\n .plan(\"STANDARD\")\n .serverless(ClusterServerlessArgs.builder()\n .usage_limits(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .upgrade_type(\"AUTOMATIC\")\n .build())\n .regions(ClusterRegionArgs.builder()\n .name(\"us-east1\")\n .build())\n .deleteProtection(false)\n .backupConfig(ClusterBackupConfigArgs.builder()\n .enabled(true)\n .frequency_minutes(60)\n .retention_days(30)\n .build())\n .build());\n\n var basic = new Cluster(\"basic\", ClusterArgs.builder()\n .name(\"cockroach-basic\")\n .cloudProvider(\"GCP\")\n .plan(\"BASIC\")\n .serverless()\n .regions(ClusterRegionArgs.builder()\n .name(\"us-east1\")\n .build())\n .deleteProtection(false)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n advanced:\n type: cockroach:Cluster\n properties:\n name: cockroach-advanced\n cloudProvider: GCP\n plan: ADVANCED\n dedicated:\n storage_gib: 15\n machine_type: n2-standard-4\n regions:\n - name: us-central1\n node_count: 1\n deleteProtection: true\n backupConfig:\n enabled: true\n frequency_minutes: 60\n retention_days: 30\n standard:\n type: cockroach:Cluster\n properties:\n name: cockroach-standard\n cloudProvider: GCP\n plan: STANDARD\n serverless:\n usage_limits:\n provisionedVirtualCpus: 2\n upgrade_type: AUTOMATIC\n regions:\n - name: us-east1\n deleteProtection: false\n backupConfig:\n enabled: true\n frequency_minutes: 60\n retention_days: 30\n basic:\n type: cockroach:Cluster\n properties:\n name: cockroach-basic\n cloudProvider: GCP\n plan: BASIC\n serverless: {}\n regions:\n - name: us-east1\n deleteProtection: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nformat: \u003ccluster id\u003e\n\n```sh\n$ pulumi import cockroach:index/cluster:Cluster my_cluster 1f69fdd2-600a-4cfc-a9ba-16995df0d77d\n```\n\n",
"properties": {
"accountId": {
"type": "string",
"description": "The cloud provider account ID that hosts the cluster. Needed for CMEK and other advanced features.\n"
},
+ "backupConfig": {
+ "$ref": "#/types/cockroach:index/ClusterBackupConfig:ClusterBackupConfig",
+ "description": "The backup settings for a cluster. Each cluster has backup settings that determine if backups are enabled, how\nfrequently they are taken, and how long they are retained for. Use this attribute to manage those settings.\n"
+ },
"cloudProvider": {
"type": "string",
"description": "Cloud provider used to host the cluster. Allowed values are: * GCP * AWS * AZURE\n"
@@ -1042,6 +1124,7 @@
},
"required": [
"accountId",
+ "backupConfig",
"cloudProvider",
"cockroachVersion",
"creatorId",
@@ -1055,6 +1138,10 @@
"upgradeStatus"
],
"inputProperties": {
+ "backupConfig": {
+ "$ref": "#/types/cockroach:index/ClusterBackupConfig:ClusterBackupConfig",
+ "description": "The backup settings for a cluster. Each cluster has backup settings that determine if backups are enabled, how\nfrequently they are taken, and how long they are retained for. Use this attribute to manage those settings.\n"
+ },
"cloudProvider": {
"type": "string",
"description": "Cloud provider used to host the cluster. Allowed values are: * GCP * AWS * AZURE\n"
@@ -1103,6 +1190,10 @@
"type": "string",
"description": "The cloud provider account ID that hosts the cluster. Needed for CMEK and other advanced features.\n"
},
+ "backupConfig": {
+ "$ref": "#/types/cockroach:index/ClusterBackupConfig:ClusterBackupConfig",
+ "description": "The backup settings for a cluster. Each cluster has backup settings that determine if backups are enabled, how\nfrequently they are taken, and how long they are retained for. Use this attribute to manage those settings.\n"
+ },
"cloudProvider": {
"type": "string",
"description": "Cloud provider used to host the cluster. Allowed values are: * GCP * AWS * AZURE\n"
@@ -1160,7 +1251,7 @@
}
},
"cockroach:index/cmek:Cmek": {
- "description": "Customer-managed encryption keys (CMEK) resource for a single cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cockroach from \"@pulumiverse/cockroach\";\n\nconst dedicated = new cockroach.Cmek(\"dedicated\", {\n clusterId: dedicatedCockroachCluster.id,\n regions: [{\n region: \"us-central-1\",\n key: {\n authPrincipal: \"arn:aws:iam::account:role/role-name-with-path\",\n type: \"AWS_KMS\",\n uri: \"arn:aws:kms:us-west-2:111122223333:key/id-of-kms-key\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_cockroach as cockroach\n\ndedicated = cockroach.Cmek(\"dedicated\",\n cluster_id=dedicated_cockroach_cluster[\"id\"],\n regions=[{\n \"region\": \"us-central-1\",\n \"key\": {\n \"auth_principal\": \"arn:aws:iam::account:role/role-name-with-path\",\n \"type\": \"AWS_KMS\",\n \"uri\": \"arn:aws:kms:us-west-2:111122223333:key/id-of-kms-key\",\n },\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cockroach = Pulumiverse.Cockroach;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dedicated = new Cockroach.Cmek(\"dedicated\", new()\n {\n ClusterId = dedicatedCockroachCluster.Id,\n Regions = new[]\n {\n new Cockroach.Inputs.CmekRegionArgs\n {\n Region = \"us-central-1\",\n Key = new Cockroach.Inputs.CmekRegionKeyArgs\n {\n AuthPrincipal = \"arn:aws:iam::account:role/role-name-with-path\",\n Type = \"AWS_KMS\",\n Uri = \"arn:aws:kms:us-west-2:111122223333:key/id-of-kms-key\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-cockroach/sdk/go/cockroach\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cockroach.NewCmek(ctx, \"dedicated\", \u0026cockroach.CmekArgs{\n\t\t\tClusterId: pulumi.Any(dedicatedCockroachCluster.Id),\n\t\t\tRegions: cockroach.CmekRegionArray{\n\t\t\t\t\u0026cockroach.CmekRegionArgs{\n\t\t\t\t\tRegion: pulumi.String(\"us-central-1\"),\n\t\t\t\t\tKey: \u0026cockroach.CmekRegionKeyArgs{\n\t\t\t\t\t\tAuthPrincipal: pulumi.String(\"arn:aws:iam::account:role/role-name-with-path\"),\n\t\t\t\t\t\tType: pulumi.String(\"AWS_KMS\"),\n\t\t\t\t\t\tUri: pulumi.String(\"arn:aws:kms:us-west-2:111122223333:key/id-of-kms-key\"),\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.cockroach.Cmek;\nimport com.pulumi.cockroach.CmekArgs;\nimport com.pulumi.cockroach.inputs.CmekRegionArgs;\nimport com.pulumi.cockroach.inputs.CmekRegionKeyArgs;\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 dedicated = new Cmek(\"dedicated\", CmekArgs.builder()\n .clusterId(dedicatedCockroachCluster.id())\n .regions(CmekRegionArgs.builder()\n .region(\"us-central-1\")\n .key(CmekRegionKeyArgs.builder()\n .authPrincipal(\"arn:aws:iam::account:role/role-name-with-path\")\n .type(\"AWS_KMS\")\n .uri(\"arn:aws:kms:us-west-2:111122223333:key/id-of-kms-key\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dedicated:\n type: cockroach:Cmek\n properties:\n clusterId: ${dedicatedCockroachCluster.id}\n regions:\n - region: us-central-1\n key:\n authPrincipal: arn:aws:iam::account:role/role-name-with-path\n type: AWS_KMS\n uri: arn:aws:kms:us-west-2:111122223333:key/id-of-kms-key\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
+ "description": "Customer-managed encryption keys (CMEK) resource for a single cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cockroach from \"@pulumiverse/cockroach\";\n\nconst advanced = new cockroach.Cmek(\"advanced\", {\n clusterId: advancedCockroachCluster.id,\n regions: [{\n region: \"us-central-1\",\n key: {\n authPrincipal: \"arn:aws:iam::account:role/role-name-with-path\",\n type: \"AWS_KMS\",\n uri: \"arn:aws:kms:us-west-2:111122223333:key/id-of-kms-key\",\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_cockroach as cockroach\n\nadvanced = cockroach.Cmek(\"advanced\",\n cluster_id=advanced_cockroach_cluster[\"id\"],\n regions=[{\n \"region\": \"us-central-1\",\n \"key\": {\n \"auth_principal\": \"arn:aws:iam::account:role/role-name-with-path\",\n \"type\": \"AWS_KMS\",\n \"uri\": \"arn:aws:kms:us-west-2:111122223333:key/id-of-kms-key\",\n },\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cockroach = Pulumiverse.Cockroach;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var advanced = new Cockroach.Cmek(\"advanced\", new()\n {\n ClusterId = advancedCockroachCluster.Id,\n Regions = new[]\n {\n new Cockroach.Inputs.CmekRegionArgs\n {\n Region = \"us-central-1\",\n Key = new Cockroach.Inputs.CmekRegionKeyArgs\n {\n AuthPrincipal = \"arn:aws:iam::account:role/role-name-with-path\",\n Type = \"AWS_KMS\",\n Uri = \"arn:aws:kms:us-west-2:111122223333:key/id-of-kms-key\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-cockroach/sdk/go/cockroach\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cockroach.NewCmek(ctx, \"advanced\", \u0026cockroach.CmekArgs{\n\t\t\tClusterId: pulumi.Any(advancedCockroachCluster.Id),\n\t\t\tRegions: cockroach.CmekRegionArray{\n\t\t\t\t\u0026cockroach.CmekRegionArgs{\n\t\t\t\t\tRegion: pulumi.String(\"us-central-1\"),\n\t\t\t\t\tKey: \u0026cockroach.CmekRegionKeyArgs{\n\t\t\t\t\t\tAuthPrincipal: pulumi.String(\"arn:aws:iam::account:role/role-name-with-path\"),\n\t\t\t\t\t\tType: pulumi.String(\"AWS_KMS\"),\n\t\t\t\t\t\tUri: pulumi.String(\"arn:aws:kms:us-west-2:111122223333:key/id-of-kms-key\"),\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.cockroach.Cmek;\nimport com.pulumi.cockroach.CmekArgs;\nimport com.pulumi.cockroach.inputs.CmekRegionArgs;\nimport com.pulumi.cockroach.inputs.CmekRegionKeyArgs;\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 advanced = new Cmek(\"advanced\", CmekArgs.builder()\n .clusterId(advancedCockroachCluster.id())\n .regions(CmekRegionArgs.builder()\n .region(\"us-central-1\")\n .key(CmekRegionKeyArgs.builder()\n .authPrincipal(\"arn:aws:iam::account:role/role-name-with-path\")\n .type(\"AWS_KMS\")\n .uri(\"arn:aws:kms:us-west-2:111122223333:key/id-of-kms-key\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n advanced:\n type: cockroach:Cmek\n properties:\n clusterId: ${advancedCockroachCluster.id}\n regions:\n - region: us-central-1\n key:\n authPrincipal: arn:aws:iam::account:role/role-name-with-path\n type: AWS_KMS\n uri: arn:aws:kms:us-west-2:111122223333:key/id-of-kms-key\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nformat: \u003ccluster id\u003e\n\n```sh\n$ pulumi import cockroach:index/cmek:Cmek advanced 1f69fdd2-600a-4cfc-a9ba-16995df0d77d\n```\n\n",
"properties": {
"additionalRegions": {
"type": "array",
@@ -1343,7 +1434,7 @@
}
},
"cockroach:index/folder:Folder": {
- "description": "CockroachDB Cloud folder.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cockroach from \"@pulumiverse/cockroach\";\n\nconst aTeam = new cockroach.Folder(\"a_team\", {\n name: \"a-team\",\n parentId: \"root\",\n});\nconst aTeamDev = new cockroach.Folder(\"a_team_dev\", {\n name: \"dev\",\n parentId: aTeam.id,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_cockroach as cockroach\n\na_team = cockroach.Folder(\"a_team\",\n name=\"a-team\",\n parent_id=\"root\")\na_team_dev = cockroach.Folder(\"a_team_dev\",\n name=\"dev\",\n parent_id=a_team.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cockroach = Pulumiverse.Cockroach;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var aTeam = new Cockroach.Folder(\"a_team\", new()\n {\n Name = \"a-team\",\n ParentId = \"root\",\n });\n\n var aTeamDev = new Cockroach.Folder(\"a_team_dev\", new()\n {\n Name = \"dev\",\n ParentId = aTeam.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-cockroach/sdk/go/cockroach\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taTeam, err := cockroach.NewFolder(ctx, \"a_team\", \u0026cockroach.FolderArgs{\n\t\t\tName: pulumi.String(\"a-team\"),\n\t\t\tParentId: pulumi.String(\"root\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cockroach.NewFolder(ctx, \"a_team_dev\", \u0026cockroach.FolderArgs{\n\t\t\tName: pulumi.String(\"dev\"),\n\t\t\tParentId: aTeam.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.cockroach.Folder;\nimport com.pulumi.cockroach.FolderArgs;\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 aTeam = new Folder(\"aTeam\", FolderArgs.builder()\n .name(\"a-team\")\n .parentId(\"root\")\n .build());\n\n var aTeamDev = new Folder(\"aTeamDev\", FolderArgs.builder()\n .name(\"dev\")\n .parentId(aTeam.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n aTeam:\n type: cockroach:Folder\n name: a_team\n properties:\n name: a-team\n parentId: root\n aTeamDev:\n type: cockroach:Folder\n name: a_team_dev\n properties:\n name: dev\n parentId: ${aTeam.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
+ "description": "CockroachDB Cloud folder.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cockroach from \"@pulumiverse/cockroach\";\n\nconst aTeam = new cockroach.Folder(\"a_team\", {\n name: \"a-team\",\n parentId: \"root\",\n});\nconst aTeamDev = new cockroach.Folder(\"a_team_dev\", {\n name: \"dev\",\n parentId: aTeam.id,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_cockroach as cockroach\n\na_team = cockroach.Folder(\"a_team\",\n name=\"a-team\",\n parent_id=\"root\")\na_team_dev = cockroach.Folder(\"a_team_dev\",\n name=\"dev\",\n parent_id=a_team.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cockroach = Pulumiverse.Cockroach;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var aTeam = new Cockroach.Folder(\"a_team\", new()\n {\n Name = \"a-team\",\n ParentId = \"root\",\n });\n\n var aTeamDev = new Cockroach.Folder(\"a_team_dev\", new()\n {\n Name = \"dev\",\n ParentId = aTeam.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-cockroach/sdk/go/cockroach\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taTeam, err := cockroach.NewFolder(ctx, \"a_team\", \u0026cockroach.FolderArgs{\n\t\t\tName: pulumi.String(\"a-team\"),\n\t\t\tParentId: pulumi.String(\"root\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cockroach.NewFolder(ctx, \"a_team_dev\", \u0026cockroach.FolderArgs{\n\t\t\tName: pulumi.String(\"dev\"),\n\t\t\tParentId: aTeam.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.cockroach.Folder;\nimport com.pulumi.cockroach.FolderArgs;\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 aTeam = new Folder(\"aTeam\", FolderArgs.builder()\n .name(\"a-team\")\n .parentId(\"root\")\n .build());\n\n var aTeamDev = new Folder(\"aTeamDev\", FolderArgs.builder()\n .name(\"dev\")\n .parentId(aTeam.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n aTeam:\n type: cockroach:Folder\n name: a_team\n properties:\n name: a-team\n parentId: root\n aTeamDev:\n type: cockroach:Folder\n name: a_team_dev\n properties:\n name: dev\n parentId: ${aTeam.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nformat: \u003cfolder id\u003e\n\n```sh\n$ pulumi import cockroach:index/folder:Folder my_folder 1f69fdd2-600a-4cfc-a9ba-16995df0d77d\n```\n\n",
"properties": {
"name": {
"type": "string",
@@ -1387,7 +1478,7 @@
}
},
"cockroach:index/jwtIssuer:JwtIssuer": {
- "description": "Configuration to manage external JSON Web Token (JWT) Issuers for authentication to the CockroachDB Cloud API.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cockroach.JwtIssuer;\nimport com.pulumi.cockroach.JwtIssuerArgs;\nimport com.pulumi.cockroach.inputs.JwtIssuerIdentityMapArgs;\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 JwtIssuer(\"example\", JwtIssuerArgs.builder()\n .issuerUrl(\"https://accounts.google.com\")\n .audience(\"test_audience\")\n .jwks(\"{\\\"keys\\\":[{\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"kid\\\":\\\"test_kid1\\\",\\\"kty\\\":\\\"RSA\\\",\\\"n\\\":\\\"09lq1lCEuteonwDJOhGTDak11ThplZuC9JEWQNdBnBSQwlkJQIE7A7nTBO0xTibcsh2HwYkC-N_Gs1jP4iwN3dRqnu5FwG2ct5mY8KLwJiHzToFC0MKenSFQCy0FviNtOnpiObcUlDvR2NDeNtMl_6SPzcQEt7GUTBBYZgoAxPmOgevki6ZNO6Y86xFqx3y6v8EPwW010AiC60r4AHGCTBhYF4uqmq5JH2UU4dDh9Udc-9LZxlSqPwJvnKDG2GjcnD8TsU3wjfEM_nRmx3dnXsrZUXYfNGtdv5dlHywf5AhkJmTavqcsJkgrNA-PNBghFMcCR816_kCIkCYWLWC5vQ\\\"}]}\")\n .claim(\"email\")\n .identityMaps( \n JwtIssuerIdentityMapArgs.builder()\n .token_identity(\"test_user\")\n .cc_identity(\"abc@example.com\")\n .build(),\n JwtIssuerIdentityMapArgs.builder()\n .token_identity(\"/^sso_(.*)$\")\n .cc_identity(\"\\\\1@example.com\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: cockroach:JwtIssuer\n properties:\n issuerUrl: https://accounts.google.com\n audience: test_audience\n jwks: '{\"keys\":[{\"alg\":\"RS256\",\"e\":\"AQAB\",\"kid\":\"test_kid1\",\"kty\":\"RSA\",\"n\":\"09lq1lCEuteonwDJOhGTDak11ThplZuC9JEWQNdBnBSQwlkJQIE7A7nTBO0xTibcsh2HwYkC-N_Gs1jP4iwN3dRqnu5FwG2ct5mY8KLwJiHzToFC0MKenSFQCy0FviNtOnpiObcUlDvR2NDeNtMl_6SPzcQEt7GUTBBYZgoAxPmOgevki6ZNO6Y86xFqx3y6v8EPwW010AiC60r4AHGCTBhYF4uqmq5JH2UU4dDh9Udc-9LZxlSqPwJvnKDG2GjcnD8TsU3wjfEM_nRmx3dnXsrZUXYfNGtdv5dlHywf5AhkJmTavqcsJkgrNA-PNBghFMcCR816_kCIkCYWLWC5vQ\"}]}'\n claim: email\n identityMaps:\n - token_identity: test_user\n cc_identity: abc@example.com\n - token_identity: /^sso_(.*)$\n cc_identity: \\1@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
+ "description": "Configuration to manage external JSON Web Token (JWT) Issuers for authentication to the CockroachDB Cloud API.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cockroach.JwtIssuer;\nimport com.pulumi.cockroach.JwtIssuerArgs;\nimport com.pulumi.cockroach.inputs.JwtIssuerIdentityMapArgs;\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 JwtIssuer(\"example\", JwtIssuerArgs.builder()\n .issuerUrl(\"https://accounts.google.com\")\n .audience(\"test_audience\")\n .jwks(\"{\\\"keys\\\":[{\\\"alg\\\":\\\"RS256\\\",\\\"e\\\":\\\"AQAB\\\",\\\"kid\\\":\\\"test_kid1\\\",\\\"kty\\\":\\\"RSA\\\",\\\"n\\\":\\\"09lq1lCEuteonwDJOhGTDak11ThplZuC9JEWQNdBnBSQwlkJQIE7A7nTBO0xTibcsh2HwYkC-N_Gs1jP4iwN3dRqnu5FwG2ct5mY8KLwJiHzToFC0MKenSFQCy0FviNtOnpiObcUlDvR2NDeNtMl_6SPzcQEt7GUTBBYZgoAxPmOgevki6ZNO6Y86xFqx3y6v8EPwW010AiC60r4AHGCTBhYF4uqmq5JH2UU4dDh9Udc-9LZxlSqPwJvnKDG2GjcnD8TsU3wjfEM_nRmx3dnXsrZUXYfNGtdv5dlHywf5AhkJmTavqcsJkgrNA-PNBghFMcCR816_kCIkCYWLWC5vQ\\\"}]}\")\n .claim(\"email\")\n .identityMaps( \n JwtIssuerIdentityMapArgs.builder()\n .token_identity(\"test_user\")\n .cc_identity(\"abc@example.com\")\n .build(),\n JwtIssuerIdentityMapArgs.builder()\n .token_identity(\"/^sso_(.*)$\")\n .cc_identity(\"\\\\1@example.com\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: cockroach:JwtIssuer\n properties:\n issuerUrl: https://accounts.google.com\n audience: test_audience\n jwks: '{\"keys\":[{\"alg\":\"RS256\",\"e\":\"AQAB\",\"kid\":\"test_kid1\",\"kty\":\"RSA\",\"n\":\"09lq1lCEuteonwDJOhGTDak11ThplZuC9JEWQNdBnBSQwlkJQIE7A7nTBO0xTibcsh2HwYkC-N_Gs1jP4iwN3dRqnu5FwG2ct5mY8KLwJiHzToFC0MKenSFQCy0FviNtOnpiObcUlDvR2NDeNtMl_6SPzcQEt7GUTBBYZgoAxPmOgevki6ZNO6Y86xFqx3y6v8EPwW010AiC60r4AHGCTBhYF4uqmq5JH2UU4dDh9Udc-9LZxlSqPwJvnKDG2GjcnD8TsU3wjfEM_nRmx3dnXsrZUXYfNGtdv5dlHywf5AhkJmTavqcsJkgrNA-PNBghFMcCR816_kCIkCYWLWC5vQ\"}]}'\n claim: email\n identityMaps:\n - token_identity: test_user\n cc_identity: abc@example.com\n - token_identity: /^sso_(.*)$\n cc_identity: \\1@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nJWT Issuer ID can be found by running a GET against the Cockroach Cloud API to\n\nlist all existing JWT issuers.\n\nhttps://www.cockroachlabs.com/docs/api/cloud/v1#get-/api/v1/jwt-issuers\n\nformat: \u003cjwt issuer id\u003e\n\n```sh\n$ pulumi import cockroach:index/jwtIssuer:JwtIssuer my_issuer 1f69fdd2-600a-4cfc-a9ba-16995df0d77d\n```\n\n",
"properties": {
"audience": {
"type": "string",
@@ -1477,7 +1568,7 @@
}
},
"cockroach:index/logExportConfig:LogExportConfig": {
- "description": "Log Export configuration for a cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cockroach.LogExportConfig;\nimport com.pulumi.cockroach.LogExportConfigArgs;\nimport com.pulumi.cockroach.inputs.LogExportConfigGroupArgs;\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 clusterId = config.get(\"clusterId\");\n final var authPrincipal = config.get(\"authPrincipal\");\n var example = new LogExportConfig(\"example\", LogExportConfigArgs.builder()\n .clusterId(clusterId)\n .authPrincipal(authPrincipal)\n .logName(\"example\")\n .type(\"GCP_CLOUD_LOGGING\")\n .redact(true)\n .groups( \n LogExportConfigGroupArgs.builder()\n .log_name(\"sql\")\n .channels( \n \"SQL_SCHEMA\",\n \"SQL_EXEC\")\n .redact(false)\n .build(),\n LogExportConfigGroupArgs.builder()\n .log_name(\"devops\")\n .channels( \n \"OPS\",\n \"HEALTH\",\n \"STORAGE\")\n .min_level(\"WARNING\")\n .build())\n .omittedChannels(\"SQL_PERF\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n clusterId:\n type: string\n authPrincipal:\n type: string\nresources:\n example:\n type: cockroach:LogExportConfig\n properties:\n clusterId: ${clusterId}\n authPrincipal: ${authPrincipal}\n logName: example\n type: GCP_CLOUD_LOGGING\n redact: true\n groups:\n - log_name: sql\n channels:\n - SQL_SCHEMA\n - SQL_EXEC\n redact: false\n - log_name: devops\n channels:\n - OPS\n - HEALTH\n - STORAGE\n min_level: WARNING\n omittedChannels:\n - SQL_PERF\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
+ "description": "Log Export configuration for a cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.cockroach.LogExportConfig;\nimport com.pulumi.cockroach.LogExportConfigArgs;\nimport com.pulumi.cockroach.inputs.LogExportConfigGroupArgs;\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 clusterId = config.get(\"clusterId\");\n final var authPrincipal = config.get(\"authPrincipal\");\n var example = new LogExportConfig(\"example\", LogExportConfigArgs.builder()\n .clusterId(clusterId)\n .authPrincipal(authPrincipal)\n .logName(\"example\")\n .type(\"GCP_CLOUD_LOGGING\")\n .redact(true)\n .groups( \n LogExportConfigGroupArgs.builder()\n .log_name(\"sql\")\n .channels( \n \"SQL_SCHEMA\",\n \"SQL_EXEC\")\n .redact(false)\n .build(),\n LogExportConfigGroupArgs.builder()\n .log_name(\"devops\")\n .channels( \n \"OPS\",\n \"HEALTH\",\n \"STORAGE\")\n .min_level(\"WARNING\")\n .build())\n .omittedChannels(\"SQL_PERF\")\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n clusterId:\n type: string\n authPrincipal:\n type: string\nresources:\n example:\n type: cockroach:LogExportConfig\n properties:\n clusterId: ${clusterId}\n authPrincipal: ${authPrincipal}\n logName: example\n type: GCP_CLOUD_LOGGING\n redact: true\n groups:\n - log_name: sql\n channels:\n - SQL_SCHEMA\n - SQL_EXEC\n redact: false\n - log_name: devops\n channels:\n - OPS\n - HEALTH\n - STORAGE\n min_level: WARNING\n omittedChannels:\n - SQL_PERF\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nformat: \u003ccluster id\u003e\n\n```sh\n$ pulumi import cockroach:index/logExportConfig:LogExportConfig example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d\n```\n\n",
"properties": {
"authPrincipal": {
"type": "string",
@@ -1650,7 +1741,7 @@
}
},
"cockroach:index/maintenanceWindow:MaintenanceWindow": {
- "description": "Maintenance window configuration for a cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cockroach from \"@pulumiverse/cockroach\";\n\nconst config = new pulumi.Config();\nconst clusterId = config.require(\"clusterId\");\nconst offsetDuration = config.getNumber(\"offsetDuration\") || 172800;\nconst windowDuration = config.getNumber(\"windowDuration\") || 21600;\nconst example = new cockroach.MaintenanceWindow(\"example\", {\n clusterId: clusterId,\n offsetDuration: offsetDuration,\n windowDuration: windowDuration,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_cockroach as cockroach\n\nconfig = pulumi.Config()\ncluster_id = config.require(\"clusterId\")\noffset_duration = config.get_float(\"offsetDuration\")\nif offset_duration is None:\n offset_duration = 172800\nwindow_duration = config.get_float(\"windowDuration\")\nif window_duration is None:\n window_duration = 21600\nexample = cockroach.MaintenanceWindow(\"example\",\n cluster_id=cluster_id,\n offset_duration=offset_duration,\n window_duration=window_duration)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cockroach = Pulumiverse.Cockroach;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var clusterId = config.Require(\"clusterId\");\n var offsetDuration = config.GetDouble(\"offsetDuration\") ?? 172800;\n var windowDuration = config.GetDouble(\"windowDuration\") ?? 21600;\n var example = new Cockroach.MaintenanceWindow(\"example\", new()\n {\n ClusterId = clusterId,\n OffsetDuration = offsetDuration,\n WindowDuration = windowDuration,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/pulumiverse/pulumi-cockroach/sdk/go/cockroach\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterId := cfg.Require(\"clusterId\")\n\t\toffsetDuration := float64(172800)\n\t\tif param := cfg.GetFloat64(\"offsetDuration\"); param != 0 {\n\t\t\toffsetDuration = param\n\t\t}\n\t\twindowDuration := float64(21600)\n\t\tif param := cfg.GetFloat64(\"windowDuration\"); param != 0 {\n\t\t\twindowDuration = param\n\t\t}\n\t\t_, err := cockroach.NewMaintenanceWindow(ctx, \"example\", \u0026cockroach.MaintenanceWindowArgs{\n\t\t\tClusterId: pulumi.String(clusterId),\n\t\t\tOffsetDuration: pulumi.Float64(offsetDuration),\n\t\t\tWindowDuration: pulumi.Float64(windowDuration),\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.cockroach.MaintenanceWindow;\nimport com.pulumi.cockroach.MaintenanceWindowArgs;\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 clusterId = config.get(\"clusterId\");\n final var offsetDuration = config.get(\"offsetDuration\").orElse(172800);\n final var windowDuration = config.get(\"windowDuration\").orElse(21600);\n var example = new MaintenanceWindow(\"example\", MaintenanceWindowArgs.builder()\n .clusterId(clusterId)\n .offsetDuration(offsetDuration)\n .windowDuration(windowDuration)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n clusterId:\n type: string\n offsetDuration:\n type: number\n default: 172800\n windowDuration:\n type: number\n default: 21600\nresources:\n example:\n type: cockroach:MaintenanceWindow\n properties:\n clusterId: ${clusterId}\n offsetDuration: ${offsetDuration}\n windowDuration: ${windowDuration}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
+ "description": "Maintenance window configuration for a cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cockroach from \"@pulumiverse/cockroach\";\n\nconst config = new pulumi.Config();\nconst clusterId = config.require(\"clusterId\");\nconst offsetDuration = config.getNumber(\"offsetDuration\") || 172800;\nconst windowDuration = config.getNumber(\"windowDuration\") || 21600;\nconst example = new cockroach.MaintenanceWindow(\"example\", {\n clusterId: clusterId,\n offsetDuration: offsetDuration,\n windowDuration: windowDuration,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_cockroach as cockroach\n\nconfig = pulumi.Config()\ncluster_id = config.require(\"clusterId\")\noffset_duration = config.get_float(\"offsetDuration\")\nif offset_duration is None:\n offset_duration = 172800\nwindow_duration = config.get_float(\"windowDuration\")\nif window_duration is None:\n window_duration = 21600\nexample = cockroach.MaintenanceWindow(\"example\",\n cluster_id=cluster_id,\n offset_duration=offset_duration,\n window_duration=window_duration)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cockroach = Pulumiverse.Cockroach;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var clusterId = config.Require(\"clusterId\");\n var offsetDuration = config.GetDouble(\"offsetDuration\") ?? 172800;\n var windowDuration = config.GetDouble(\"windowDuration\") ?? 21600;\n var example = new Cockroach.MaintenanceWindow(\"example\", new()\n {\n ClusterId = clusterId,\n OffsetDuration = offsetDuration,\n WindowDuration = windowDuration,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/pulumiverse/pulumi-cockroach/sdk/go/cockroach\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterId := cfg.Require(\"clusterId\")\n\t\toffsetDuration := float64(172800)\n\t\tif param := cfg.GetFloat64(\"offsetDuration\"); param != 0 {\n\t\t\toffsetDuration = param\n\t\t}\n\t\twindowDuration := float64(21600)\n\t\tif param := cfg.GetFloat64(\"windowDuration\"); param != 0 {\n\t\t\twindowDuration = param\n\t\t}\n\t\t_, err := cockroach.NewMaintenanceWindow(ctx, \"example\", \u0026cockroach.MaintenanceWindowArgs{\n\t\t\tClusterId: pulumi.String(clusterId),\n\t\t\tOffsetDuration: pulumi.Float64(offsetDuration),\n\t\t\tWindowDuration: pulumi.Float64(windowDuration),\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.cockroach.MaintenanceWindow;\nimport com.pulumi.cockroach.MaintenanceWindowArgs;\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 clusterId = config.get(\"clusterId\");\n final var offsetDuration = config.get(\"offsetDuration\").orElse(172800);\n final var windowDuration = config.get(\"windowDuration\").orElse(21600);\n var example = new MaintenanceWindow(\"example\", MaintenanceWindowArgs.builder()\n .clusterId(clusterId)\n .offsetDuration(offsetDuration)\n .windowDuration(windowDuration)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n clusterId:\n type: string\n offsetDuration:\n type: number\n default: 172800\n windowDuration:\n type: number\n default: 21600\nresources:\n example:\n type: cockroach:MaintenanceWindow\n properties:\n clusterId: ${clusterId}\n offsetDuration: ${offsetDuration}\n windowDuration: ${windowDuration}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nformat: \u003ccluster id\u003e\n\n```sh\n$ pulumi import cockroach:index/maintenanceWindow:MaintenanceWindow example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d\n```\n\n",
"properties": {
"clusterId": {
"type": "string",
@@ -1709,7 +1800,7 @@
}
},
"cockroach:index/metricExportCloudwatchConfig:MetricExportCloudwatchConfig": {
- "description": "Amazon CloudWatch metric export configuration for a cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cockroach from \"@pulumiverse/cockroach\";\n\nconst config = new pulumi.Config();\nconst clusterId = config.require(\"clusterId\");\nconst roleArn = config.require(\"roleArn\");\nconst logGroupName = config.require(\"logGroupName\");\nconst awsRegion = config.require(\"awsRegion\");\nconst example = new cockroach.MetricExportCloudwatchConfig(\"example\", {\n clusterId: clusterId,\n roleArn: roleArn,\n logGroupName: logGroupName,\n targetRegion: awsRegion,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_cockroach as cockroach\n\nconfig = pulumi.Config()\ncluster_id = config.require(\"clusterId\")\nrole_arn = config.require(\"roleArn\")\nlog_group_name = config.require(\"logGroupName\")\naws_region = config.require(\"awsRegion\")\nexample = cockroach.MetricExportCloudwatchConfig(\"example\",\n cluster_id=cluster_id,\n role_arn=role_arn,\n log_group_name=log_group_name,\n target_region=aws_region)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cockroach = Pulumiverse.Cockroach;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var clusterId = config.Require(\"clusterId\");\n var roleArn = config.Require(\"roleArn\");\n var logGroupName = config.Require(\"logGroupName\");\n var awsRegion = config.Require(\"awsRegion\");\n var example = new Cockroach.MetricExportCloudwatchConfig(\"example\", new()\n {\n ClusterId = clusterId,\n RoleArn = roleArn,\n LogGroupName = logGroupName,\n TargetRegion = awsRegion,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/pulumiverse/pulumi-cockroach/sdk/go/cockroach\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterId := cfg.Require(\"clusterId\")\n\t\troleArn := cfg.Require(\"roleArn\")\n\t\tlogGroupName := cfg.Require(\"logGroupName\")\n\t\tawsRegion := cfg.Require(\"awsRegion\")\n\t\t_, err := cockroach.NewMetricExportCloudwatchConfig(ctx, \"example\", \u0026cockroach.MetricExportCloudwatchConfigArgs{\n\t\t\tClusterId: pulumi.String(clusterId),\n\t\t\tRoleArn: pulumi.String(roleArn),\n\t\t\tLogGroupName: pulumi.String(logGroupName),\n\t\t\tTargetRegion: pulumi.String(awsRegion),\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.cockroach.MetricExportCloudwatchConfig;\nimport com.pulumi.cockroach.MetricExportCloudwatchConfigArgs;\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 clusterId = config.get(\"clusterId\");\n final var roleArn = config.get(\"roleArn\");\n final var logGroupName = config.get(\"logGroupName\");\n final var awsRegion = config.get(\"awsRegion\");\n var example = new MetricExportCloudwatchConfig(\"example\", MetricExportCloudwatchConfigArgs.builder()\n .clusterId(clusterId)\n .roleArn(roleArn)\n .logGroupName(logGroupName)\n .targetRegion(awsRegion)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n clusterId:\n type: string\n roleArn:\n type: string\n logGroupName:\n type: string\n awsRegion:\n type: string\nresources:\n example:\n type: cockroach:MetricExportCloudwatchConfig\n properties:\n clusterId: ${clusterId}\n roleArn: ${roleArn}\n logGroupName: ${logGroupName}\n targetRegion: ${awsRegion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
+ "description": "Amazon CloudWatch metric export configuration for a cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cockroach from \"@pulumiverse/cockroach\";\n\nconst config = new pulumi.Config();\nconst clusterId = config.require(\"clusterId\");\nconst roleArn = config.require(\"roleArn\");\nconst logGroupName = config.require(\"logGroupName\");\nconst awsRegion = config.require(\"awsRegion\");\nconst example = new cockroach.MetricExportCloudwatchConfig(\"example\", {\n clusterId: clusterId,\n roleArn: roleArn,\n logGroupName: logGroupName,\n targetRegion: awsRegion,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_cockroach as cockroach\n\nconfig = pulumi.Config()\ncluster_id = config.require(\"clusterId\")\nrole_arn = config.require(\"roleArn\")\nlog_group_name = config.require(\"logGroupName\")\naws_region = config.require(\"awsRegion\")\nexample = cockroach.MetricExportCloudwatchConfig(\"example\",\n cluster_id=cluster_id,\n role_arn=role_arn,\n log_group_name=log_group_name,\n target_region=aws_region)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cockroach = Pulumiverse.Cockroach;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var clusterId = config.Require(\"clusterId\");\n var roleArn = config.Require(\"roleArn\");\n var logGroupName = config.Require(\"logGroupName\");\n var awsRegion = config.Require(\"awsRegion\");\n var example = new Cockroach.MetricExportCloudwatchConfig(\"example\", new()\n {\n ClusterId = clusterId,\n RoleArn = roleArn,\n LogGroupName = logGroupName,\n TargetRegion = awsRegion,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/pulumiverse/pulumi-cockroach/sdk/go/cockroach\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterId := cfg.Require(\"clusterId\")\n\t\troleArn := cfg.Require(\"roleArn\")\n\t\tlogGroupName := cfg.Require(\"logGroupName\")\n\t\tawsRegion := cfg.Require(\"awsRegion\")\n\t\t_, err := cockroach.NewMetricExportCloudwatchConfig(ctx, \"example\", \u0026cockroach.MetricExportCloudwatchConfigArgs{\n\t\t\tClusterId: pulumi.String(clusterId),\n\t\t\tRoleArn: pulumi.String(roleArn),\n\t\t\tLogGroupName: pulumi.String(logGroupName),\n\t\t\tTargetRegion: pulumi.String(awsRegion),\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.cockroach.MetricExportCloudwatchConfig;\nimport com.pulumi.cockroach.MetricExportCloudwatchConfigArgs;\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 clusterId = config.get(\"clusterId\");\n final var roleArn = config.get(\"roleArn\");\n final var logGroupName = config.get(\"logGroupName\");\n final var awsRegion = config.get(\"awsRegion\");\n var example = new MetricExportCloudwatchConfig(\"example\", MetricExportCloudwatchConfigArgs.builder()\n .clusterId(clusterId)\n .roleArn(roleArn)\n .logGroupName(logGroupName)\n .targetRegion(awsRegion)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n clusterId:\n type: string\n roleArn:\n type: string\n logGroupName:\n type: string\n awsRegion:\n type: string\nresources:\n example:\n type: cockroach:MetricExportCloudwatchConfig\n properties:\n clusterId: ${clusterId}\n roleArn: ${roleArn}\n logGroupName: ${logGroupName}\n targetRegion: ${awsRegion}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nformat: \u003ccluster id\u003e\n\n```sh\n$ pulumi import cockroach:index/metricExportCloudwatchConfig:MetricExportCloudwatchConfig example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d\n```\n\n",
"properties": {
"clusterId": {
"type": "string",
@@ -1798,7 +1889,7 @@
}
},
"cockroach:index/metricExportDatadogConfig:MetricExportDatadogConfig": {
- "description": "DataDog metric export configuration for a cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cockroach from \"@pulumiverse/cockroach\";\n\nconst config = new pulumi.Config();\nconst clusterId = config.require(\"clusterId\");\nconst datadogSite = config.require(\"datadogSite\");\nconst datadogApiKey = config.require(\"datadogApiKey\");\nconst example = new cockroach.MetricExportDatadogConfig(\"example\", {\n clusterId: clusterId,\n site: datadogSite,\n apiKey: datadogApiKey,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_cockroach as cockroach\n\nconfig = pulumi.Config()\ncluster_id = config.require(\"clusterId\")\ndatadog_site = config.require(\"datadogSite\")\ndatadog_api_key = config.require(\"datadogApiKey\")\nexample = cockroach.MetricExportDatadogConfig(\"example\",\n cluster_id=cluster_id,\n site=datadog_site,\n api_key=datadog_api_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cockroach = Pulumiverse.Cockroach;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var clusterId = config.Require(\"clusterId\");\n var datadogSite = config.Require(\"datadogSite\");\n var datadogApiKey = config.Require(\"datadogApiKey\");\n var example = new Cockroach.MetricExportDatadogConfig(\"example\", new()\n {\n ClusterId = clusterId,\n Site = datadogSite,\n ApiKey = datadogApiKey,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/pulumiverse/pulumi-cockroach/sdk/go/cockroach\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterId := cfg.Require(\"clusterId\")\n\t\tdatadogSite := cfg.Require(\"datadogSite\")\n\t\tdatadogApiKey := cfg.Require(\"datadogApiKey\")\n\t\t_, err := cockroach.NewMetricExportDatadogConfig(ctx, \"example\", \u0026cockroach.MetricExportDatadogConfigArgs{\n\t\t\tClusterId: pulumi.String(clusterId),\n\t\t\tSite: pulumi.String(datadogSite),\n\t\t\tApiKey: pulumi.String(datadogApiKey),\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.cockroach.MetricExportDatadogConfig;\nimport com.pulumi.cockroach.MetricExportDatadogConfigArgs;\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 clusterId = config.get(\"clusterId\");\n final var datadogSite = config.get(\"datadogSite\");\n final var datadogApiKey = config.get(\"datadogApiKey\");\n var example = new MetricExportDatadogConfig(\"example\", MetricExportDatadogConfigArgs.builder()\n .clusterId(clusterId)\n .site(datadogSite)\n .apiKey(datadogApiKey)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n clusterId:\n type: string\n datadogSite:\n type: string\n datadogApiKey:\n type: string\nresources:\n example:\n type: cockroach:MetricExportDatadogConfig\n properties:\n clusterId: ${clusterId}\n site: ${datadogSite}\n apiKey: ${datadogApiKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
+ "description": "DataDog metric export configuration for a cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cockroach from \"@pulumiverse/cockroach\";\n\nconst config = new pulumi.Config();\nconst clusterId = config.require(\"clusterId\");\nconst datadogSite = config.require(\"datadogSite\");\nconst datadogApiKey = config.require(\"datadogApiKey\");\nconst example = new cockroach.MetricExportDatadogConfig(\"example\", {\n clusterId: clusterId,\n site: datadogSite,\n apiKey: datadogApiKey,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_cockroach as cockroach\n\nconfig = pulumi.Config()\ncluster_id = config.require(\"clusterId\")\ndatadog_site = config.require(\"datadogSite\")\ndatadog_api_key = config.require(\"datadogApiKey\")\nexample = cockroach.MetricExportDatadogConfig(\"example\",\n cluster_id=cluster_id,\n site=datadog_site,\n api_key=datadog_api_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cockroach = Pulumiverse.Cockroach;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var clusterId = config.Require(\"clusterId\");\n var datadogSite = config.Require(\"datadogSite\");\n var datadogApiKey = config.Require(\"datadogApiKey\");\n var example = new Cockroach.MetricExportDatadogConfig(\"example\", new()\n {\n ClusterId = clusterId,\n Site = datadogSite,\n ApiKey = datadogApiKey,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/pulumiverse/pulumi-cockroach/sdk/go/cockroach\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterId := cfg.Require(\"clusterId\")\n\t\tdatadogSite := cfg.Require(\"datadogSite\")\n\t\tdatadogApiKey := cfg.Require(\"datadogApiKey\")\n\t\t_, err := cockroach.NewMetricExportDatadogConfig(ctx, \"example\", \u0026cockroach.MetricExportDatadogConfigArgs{\n\t\t\tClusterId: pulumi.String(clusterId),\n\t\t\tSite: pulumi.String(datadogSite),\n\t\t\tApiKey: pulumi.String(datadogApiKey),\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.cockroach.MetricExportDatadogConfig;\nimport com.pulumi.cockroach.MetricExportDatadogConfigArgs;\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 clusterId = config.get(\"clusterId\");\n final var datadogSite = config.get(\"datadogSite\");\n final var datadogApiKey = config.get(\"datadogApiKey\");\n var example = new MetricExportDatadogConfig(\"example\", MetricExportDatadogConfigArgs.builder()\n .clusterId(clusterId)\n .site(datadogSite)\n .apiKey(datadogApiKey)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n clusterId:\n type: string\n datadogSite:\n type: string\n datadogApiKey:\n type: string\nresources:\n example:\n type: cockroach:MetricExportDatadogConfig\n properties:\n clusterId: ${clusterId}\n site: ${datadogSite}\n apiKey: ${datadogApiKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nformat: \u003ccluster id\u003e\n\n```sh\n$ pulumi import cockroach:index/metricExportDatadogConfig:MetricExportDatadogConfig example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d\n```\n\n",
"properties": {
"apiKey": {
"type": "string",
@@ -1878,7 +1969,7 @@
}
},
"cockroach:index/metricExportPrometheusConfig:MetricExportPrometheusConfig": {
- "description": "Prometheus metric export configuration for a cluster. This is only available for dedicated clusters with AWS and GCP cloud providers.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cockroach from \"@pulumiverse/cockroach\";\n\nconst config = new pulumi.Config();\nconst clusterId = config.require(\"clusterId\");\nconst example = new cockroach.MetricExportPrometheusConfig(\"example\", {clusterId: clusterId});\n```\n```python\nimport pulumi\nimport pulumiverse_cockroach as cockroach\n\nconfig = pulumi.Config()\ncluster_id = config.require(\"clusterId\")\nexample = cockroach.MetricExportPrometheusConfig(\"example\", cluster_id=cluster_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cockroach = Pulumiverse.Cockroach;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var clusterId = config.Require(\"clusterId\");\n var example = new Cockroach.MetricExportPrometheusConfig(\"example\", new()\n {\n ClusterId = clusterId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/pulumiverse/pulumi-cockroach/sdk/go/cockroach\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterId := cfg.Require(\"clusterId\")\n\t\t_, err := cockroach.NewMetricExportPrometheusConfig(ctx, \"example\", \u0026cockroach.MetricExportPrometheusConfigArgs{\n\t\t\tClusterId: pulumi.String(clusterId),\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.cockroach.MetricExportPrometheusConfig;\nimport com.pulumi.cockroach.MetricExportPrometheusConfigArgs;\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 clusterId = config.get(\"clusterId\");\n var example = new MetricExportPrometheusConfig(\"example\", MetricExportPrometheusConfigArgs.builder()\n .clusterId(clusterId)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n clusterId:\n type: string\nresources:\n example:\n type: cockroach:MetricExportPrometheusConfig\n properties:\n clusterId: ${clusterId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
+ "description": "Prometheus metric export configuration for a cluster. This is only available for dedicated clusters with AWS and GCP cloud providers.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cockroach from \"@pulumiverse/cockroach\";\n\nconst config = new pulumi.Config();\nconst clusterId = config.require(\"clusterId\");\nconst example = new cockroach.MetricExportPrometheusConfig(\"example\", {clusterId: clusterId});\n```\n```python\nimport pulumi\nimport pulumiverse_cockroach as cockroach\n\nconfig = pulumi.Config()\ncluster_id = config.require(\"clusterId\")\nexample = cockroach.MetricExportPrometheusConfig(\"example\", cluster_id=cluster_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cockroach = Pulumiverse.Cockroach;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var clusterId = config.Require(\"clusterId\");\n var example = new Cockroach.MetricExportPrometheusConfig(\"example\", new()\n {\n ClusterId = clusterId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/pulumiverse/pulumi-cockroach/sdk/go/cockroach\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterId := cfg.Require(\"clusterId\")\n\t\t_, err := cockroach.NewMetricExportPrometheusConfig(ctx, \"example\", \u0026cockroach.MetricExportPrometheusConfigArgs{\n\t\t\tClusterId: pulumi.String(clusterId),\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.cockroach.MetricExportPrometheusConfig;\nimport com.pulumi.cockroach.MetricExportPrometheusConfigArgs;\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 clusterId = config.get(\"clusterId\");\n var example = new MetricExportPrometheusConfig(\"example\", MetricExportPrometheusConfigArgs.builder()\n .clusterId(clusterId)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n clusterId:\n type: string\nresources:\n example:\n type: cockroach:MetricExportPrometheusConfig\n properties:\n clusterId: ${clusterId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nformat: \u003ccluster id\u003e\n\n```sh\n$ pulumi import cockroach:index/metricExportPrometheusConfig:MetricExportPrometheusConfig example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d\n```\n\n",
"properties": {
"clusterId": {
"type": "string",
@@ -2332,7 +2423,7 @@
}
},
"cockroach:index/versionDeferral:VersionDeferral": {
- "description": "Configure minor version upgrade deferral for a cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cockroach from \"@pulumiverse/cockroach\";\n\nconst config = new pulumi.Config();\nconst clusterId = config.require(\"clusterId\");\nconst offsetDuration = config.get(\"offsetDuration\") || \"FIXED_DEFERRAL\";\nconst example = new cockroach.VersionDeferral(\"example\", {\n clusterId: clusterId,\n deferralPolicy: offsetDuration,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_cockroach as cockroach\n\nconfig = pulumi.Config()\ncluster_id = config.require(\"clusterId\")\noffset_duration = config.get(\"offsetDuration\")\nif offset_duration is None:\n offset_duration = \"FIXED_DEFERRAL\"\nexample = cockroach.VersionDeferral(\"example\",\n cluster_id=cluster_id,\n deferral_policy=offset_duration)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cockroach = Pulumiverse.Cockroach;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var clusterId = config.Require(\"clusterId\");\n var offsetDuration = config.Get(\"offsetDuration\") ?? \"FIXED_DEFERRAL\";\n var example = new Cockroach.VersionDeferral(\"example\", new()\n {\n ClusterId = clusterId,\n DeferralPolicy = offsetDuration,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/pulumiverse/pulumi-cockroach/sdk/go/cockroach\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterId := cfg.Require(\"clusterId\")\n\t\toffsetDuration := \"FIXED_DEFERRAL\"\n\t\tif param := cfg.Get(\"offsetDuration\"); param != \"\" {\n\t\t\toffsetDuration = param\n\t\t}\n\t\t_, err := cockroach.NewVersionDeferral(ctx, \"example\", \u0026cockroach.VersionDeferralArgs{\n\t\t\tClusterId: pulumi.String(clusterId),\n\t\t\tDeferralPolicy: pulumi.String(offsetDuration),\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.cockroach.VersionDeferral;\nimport com.pulumi.cockroach.VersionDeferralArgs;\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 clusterId = config.get(\"clusterId\");\n final var offsetDuration = config.get(\"offsetDuration\").orElse(\"FIXED_DEFERRAL\");\n var example = new VersionDeferral(\"example\", VersionDeferralArgs.builder()\n .clusterId(clusterId)\n .deferralPolicy(offsetDuration)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n clusterId:\n type: string\n offsetDuration:\n type: string\n default: FIXED_DEFERRAL\nresources:\n example:\n type: cockroach:VersionDeferral\n properties:\n clusterId: ${clusterId}\n deferralPolicy: ${offsetDuration}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
+ "description": "Configure minor version upgrade deferral for a cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as cockroach from \"@pulumiverse/cockroach\";\n\nconst config = new pulumi.Config();\nconst clusterId = config.require(\"clusterId\");\nconst offsetDuration = config.get(\"offsetDuration\") || \"FIXED_DEFERRAL\";\nconst example = new cockroach.VersionDeferral(\"example\", {\n clusterId: clusterId,\n deferralPolicy: offsetDuration,\n});\n```\n```python\nimport pulumi\nimport pulumiverse_cockroach as cockroach\n\nconfig = pulumi.Config()\ncluster_id = config.require(\"clusterId\")\noffset_duration = config.get(\"offsetDuration\")\nif offset_duration is None:\n offset_duration = \"FIXED_DEFERRAL\"\nexample = cockroach.VersionDeferral(\"example\",\n cluster_id=cluster_id,\n deferral_policy=offset_duration)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Cockroach = Pulumiverse.Cockroach;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Config();\n var clusterId = config.Require(\"clusterId\");\n var offsetDuration = config.Get(\"offsetDuration\") ?? \"FIXED_DEFERRAL\";\n var example = new Cockroach.VersionDeferral(\"example\", new()\n {\n ClusterId = clusterId,\n DeferralPolicy = offsetDuration,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n\t\"github.com/pulumiverse/pulumi-cockroach/sdk/go/cockroach\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tclusterId := cfg.Require(\"clusterId\")\n\t\toffsetDuration := \"FIXED_DEFERRAL\"\n\t\tif param := cfg.Get(\"offsetDuration\"); param != \"\" {\n\t\t\toffsetDuration = param\n\t\t}\n\t\t_, err := cockroach.NewVersionDeferral(ctx, \"example\", \u0026cockroach.VersionDeferralArgs{\n\t\t\tClusterId: pulumi.String(clusterId),\n\t\t\tDeferralPolicy: pulumi.String(offsetDuration),\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.cockroach.VersionDeferral;\nimport com.pulumi.cockroach.VersionDeferralArgs;\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 clusterId = config.get(\"clusterId\");\n final var offsetDuration = config.get(\"offsetDuration\").orElse(\"FIXED_DEFERRAL\");\n var example = new VersionDeferral(\"example\", VersionDeferralArgs.builder()\n .clusterId(clusterId)\n .deferralPolicy(offsetDuration)\n .build());\n\n }\n}\n```\n```yaml\nconfiguration:\n clusterId:\n type: string\n offsetDuration:\n type: string\n default: FIXED_DEFERRAL\nresources:\n example:\n type: cockroach:VersionDeferral\n properties:\n clusterId: ${clusterId}\n deferralPolicy: ${offsetDuration}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nformat: \u003ccluster id\u003e\n\n```sh\n$ pulumi import cockroach:index/versionDeferral:VersionDeferral example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d\n```\n\n",
"properties": {
"clusterId": {
"type": "string",
@@ -2432,6 +2523,9 @@
"accountId": {
"type": "string"
},
+ "backupConfig": {
+ "$ref": "#/types/cockroach:index/getCockroachClusterBackupConfig:getCockroachClusterBackupConfig"
+ },
"cloudProvider": {
"type": "string"
},
@@ -2480,6 +2574,7 @@
},
"required": [
"accountId",
+ "backupConfig",
"cloudProvider",
"cockroachVersion",
"creatorId",
diff --git a/provider/go.mod b/provider/go.mod
index 8e73b5c..de4069c 100644
--- a/provider/go.mod
+++ b/provider/go.mod
@@ -6,7 +6,6 @@ toolchain go1.23.2
require (
github.com/cockroachdb/terraform-provider-cockroach/shim v0.0.0
- github.com/pulumi/pulumi-terraform-bridge/pf v0.49.0
github.com/pulumi/pulumi-terraform-bridge/v3 v3.96.0
github.com/pulumi/pulumi/sdk/v3 v3.140.0
)
@@ -45,8 +44,8 @@ require (
github.com/charmbracelet/lipgloss v0.7.1 // indirect
github.com/cheggaaa/pb v1.0.29 // indirect
github.com/cloudflare/circl v1.3.7 // indirect
- github.com/cockroachdb/cockroach-cloud-sdk-go/v4 v4.0.0 // indirect
- github.com/cockroachdb/terraform-provider-cockroach v1.9.0 // indirect
+ github.com/cockroachdb/cockroach-cloud-sdk-go/v5 v5.0.0 // indirect
+ github.com/cockroachdb/terraform-provider-cockroach v1.10.0 // indirect
github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 // indirect
github.com/cyphar/filepath-securejoin v0.2.4 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
@@ -57,6 +56,7 @@ require (
github.com/ettle/strcase v0.1.1 // indirect
github.com/fatih/color v1.16.0 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
+ github.com/frankban/quicktest v1.14.4 // indirect
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
github.com/go-git/go-billy/v5 v5.5.0 // indirect
github.com/go-git/go-git/v5 v5.12.0 // indirect
@@ -66,6 +66,7 @@ require (
github.com/golang/glog v1.2.2 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/protobuf v1.5.4 // indirect
+ github.com/google/go-cmp v0.6.0 // indirect
github.com/google/s2a-go v0.1.7 // indirect
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
github.com/google/uuid v1.6.0 // indirect
@@ -73,6 +74,7 @@ require (
github.com/googleapis/gax-go/v2 v2.12.2 // indirect
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
+ github.com/hashicorp/go-checkpoint v0.5.0 // indirect
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 // indirect
github.com/hashicorp/go-getter v1.7.5 // indirect
@@ -83,14 +85,19 @@ require (
github.com/hashicorp/go-safetemp v1.0.0 // indirect
github.com/hashicorp/go-uuid v1.0.3 // indirect
github.com/hashicorp/go-version v1.6.0 // indirect
+ github.com/hashicorp/hc-install v0.6.3 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/hashicorp/hcl/v2 v2.22.0 // indirect
github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93 // indirect
+ github.com/hashicorp/logutils v1.0.0 // indirect
+ github.com/hashicorp/terraform-exec v0.20.0 // indirect
+ github.com/hashicorp/terraform-json v0.21.0 // indirect
github.com/hashicorp/terraform-plugin-framework v1.13.0 // indirect
github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 // indirect
github.com/hashicorp/terraform-plugin-go v0.25.0 // indirect
github.com/hashicorp/terraform-plugin-log v0.9.0 // indirect
github.com/hashicorp/terraform-plugin-sdk/v2 v2.33.0 // indirect
+ github.com/hashicorp/terraform-plugin-testing v1.7.0 // indirect
github.com/hashicorp/terraform-registry-address v0.2.3 // indirect
github.com/hashicorp/terraform-svchost v0.1.1 // indirect
github.com/hashicorp/yamux v0.1.1 // indirect
@@ -162,6 +169,7 @@ require (
github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
github.com/ulikunitz/xz v0.5.10 // indirect
+ github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect
github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
github.com/xanzy/ssh-agent v0.3.3 // indirect
@@ -186,6 +194,7 @@ require (
golang.org/x/time v0.5.0 // indirect
golang.org/x/tools v0.22.0 // indirect
google.golang.org/api v0.169.0 // indirect
+ google.golang.org/appengine v1.6.8 // indirect
google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect
diff --git a/provider/go.sum b/provider/go.sum
index 38532f4..98f1770 100644
--- a/provider/go.sum
+++ b/provider/go.sum
@@ -317,13 +317,14 @@ github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWH
github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
-github.com/cockroachdb/cockroach-cloud-sdk-go/v4 v4.0.0 h1:JqxUX9KlqEsN0Mai9V5Ys2B5b2ZUZn+HN+D9braEDlw=
-github.com/cockroachdb/cockroach-cloud-sdk-go/v4 v4.0.0/go.mod h1:4JTUGoynY3kMmUE28O20NTvUp39WSUqhIjOWg1MBshI=
-github.com/cockroachdb/terraform-provider-cockroach v1.9.0 h1:VqhTAgmfq5D+jn6KZcsmh0d58n3BI+Bn9r4YRqobFJE=
-github.com/cockroachdb/terraform-provider-cockroach v1.9.0/go.mod h1:6PSC1rhQpwALIMIJjN9/+6Gz8hLyrnC/Vberw3XbRBU=
+github.com/cockroachdb/cockroach-cloud-sdk-go/v5 v5.0.0 h1:8O3DyFBe7h95LoWdRHBahEtuk4jEOjAQsbm0Ah0TNWM=
+github.com/cockroachdb/cockroach-cloud-sdk-go/v5 v5.0.0/go.mod h1:a3jsLQtOmOKWMbXQg4Qb6Dpl/fAVETq1p8XAhZXbmsM=
+github.com/cockroachdb/terraform-provider-cockroach v1.10.0 h1:/tl+6zSneyE6j9XjnIvJI0g2IyYn17dc0sLf9kgnw00=
+github.com/cockroachdb/terraform-provider-cockroach v1.10.0/go.mod h1:BmuH7GBMNPZid+cTkq/HvhQXFoVql4tBhps2wXL25eI=
github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 h1:q2hJAaP1k2wIvVRd/hEHD7lacgqrCPS+k8g1MndzfWY=
github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk=
github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
+github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg=
github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -513,6 +514,7 @@ github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-checkpoint v0.5.0 h1:MFYpPZCnQqQTE18jFwSII6eUQrD/oxMFp3mlgcqk5mU=
github.com/hashicorp/go-checkpoint v0.5.0/go.mod h1:7nfLNL10NsxqO4iWuW6tWW0HjZuDrwkBuEQsVcpCOgg=
+github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ=
github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48=
github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 h1:1/D3zfFHttUKaCaGKZ/dR2roBXv0vKbSCnssIldfQdI=
@@ -538,6 +540,7 @@ github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 h1:kes8mmyCpxJsI7FTwtzRqEy9
github.com/hashicorp/go-secure-stdlib/strutil v0.1.2/go.mod h1:Gou2R9+il93BqX25LAKCLuM+y9U2T4hlwvT1yprcna4=
github.com/hashicorp/go-sockaddr v1.0.6 h1:RSG8rKU28VTUTvEKghe5gIhIQpv8evvNpnDEyqO4u9I=
github.com/hashicorp/go-sockaddr v1.0.6/go.mod h1:uoUUmtwU7n9Dv3O4SNLeFvg0SxQ3lyjsj6+CCykpaxI=
+github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8=
github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek=
@@ -709,6 +712,7 @@ github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4=
github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI=
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ=
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU=
+github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg=
@@ -730,8 +734,6 @@ github.com/pulumi/providertest v0.1.3 h1:GpNKRy/haNjRHiUA9bi4diU4Op2zf3axYXbga5A
github.com/pulumi/providertest v0.1.3/go.mod h1:GcsqEGgSngwaNOD+kICJPIUQlnA911fGBU8HDlJvVL0=
github.com/pulumi/pulumi-java/pkg v0.17.0 h1:KmaVLrVmlkzShOfaJNJDlckorbFm8dM/C7L4hj6LX8U=
github.com/pulumi/pulumi-java/pkg v0.17.0/go.mod h1:ji4U4H7t81X4aaE88D9+z5CmKH/QoLwQi9N1iGl+2KQ=
-github.com/pulumi/pulumi-terraform-bridge/pf v0.49.0 h1:GJ20wQxz5dYbOWdDyDp1E3SuuTuLVdBpnp70FJ+VVpQ=
-github.com/pulumi/pulumi-terraform-bridge/pf v0.49.0/go.mod h1:zDdNBSsrNhUxyeX1MrXr/O71DBpWMFZ8dGIGV0Pbj0c=
github.com/pulumi/pulumi-terraform-bridge/v3 v3.96.0 h1:uJB3tM1j+9SKeXLCAx3DBVHsYk4ddXNrVoiqpgXal2Q=
github.com/pulumi/pulumi-terraform-bridge/v3 v3.96.0/go.mod h1:WnOTAfdtm5+kW3rIU0rLhxFSEHtJIMf19FdOU6NFXG0=
github.com/pulumi/pulumi-yaml v1.11.2 h1:MU7TTNbruGCSgNHhaBygjIbLWm3WSbd1q98GpMIgQzE=
@@ -754,6 +756,7 @@ github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
+github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
@@ -1114,6 +1117,7 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
+golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc=
golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
diff --git a/provider/shim/go.mod b/provider/shim/go.mod
index 2c2757c..1b94a5e 100644
--- a/provider/shim/go.mod
+++ b/provider/shim/go.mod
@@ -3,33 +3,67 @@ module github.com/cockroachdb/terraform-provider-cockroach/shim
go 1.22
require (
- github.com/cockroachdb/terraform-provider-cockroach v1.9.0
+ github.com/cockroachdb/terraform-provider-cockroach v1.10.0
github.com/hashicorp/terraform-plugin-framework v1.6.1
)
require (
+ github.com/ProtonMail/go-crypto v1.1.0-alpha.0 // indirect
github.com/agext/levenshtein v1.2.3 // indirect
- github.com/cockroachdb/cockroach-cloud-sdk-go/v4 v4.0.0 // indirect
+ github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
+ github.com/cloudflare/circl v1.3.7 // indirect
+ github.com/cockroachdb/cockroach-cloud-sdk-go/v5 v5.0.0 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/fatih/color v1.16.0 // indirect
+ github.com/golang/protobuf v1.5.3 // indirect
+ github.com/google/go-cmp v0.6.0 // indirect
github.com/google/uuid v1.4.0 // indirect
+ github.com/hashicorp/errwrap v1.1.0 // indirect
+ github.com/hashicorp/go-checkpoint v0.5.0 // indirect
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
+ github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 // indirect
github.com/hashicorp/go-hclog v1.6.2 // indirect
+ github.com/hashicorp/go-multierror v1.1.1 // indirect
+ github.com/hashicorp/go-plugin v1.6.0 // indirect
github.com/hashicorp/go-retryablehttp v0.7.4 // indirect
+ github.com/hashicorp/go-uuid v1.0.3 // indirect
+ github.com/hashicorp/go-version v1.6.0 // indirect
+ github.com/hashicorp/hc-install v0.6.3 // indirect
+ github.com/hashicorp/hcl/v2 v2.20.0 // indirect
+ github.com/hashicorp/logutils v1.0.0 // indirect
+ github.com/hashicorp/terraform-exec v0.20.0 // indirect
+ github.com/hashicorp/terraform-json v0.21.0 // indirect
github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 // indirect
github.com/hashicorp/terraform-plugin-go v0.22.0 // indirect
github.com/hashicorp/terraform-plugin-log v0.9.0 // indirect
github.com/hashicorp/terraform-plugin-sdk/v2 v2.33.0 // indirect
- github.com/kr/pretty v0.1.0 // indirect
+ github.com/hashicorp/terraform-plugin-testing v1.7.0 // indirect
+ github.com/hashicorp/terraform-registry-address v0.2.3 // indirect
+ github.com/hashicorp/terraform-svchost v0.1.1 // indirect
+ github.com/hashicorp/yamux v0.1.1 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
+ github.com/mitchellh/copystructure v1.2.0 // indirect
github.com/mitchellh/go-testing-interface v1.14.1 // indirect
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
+ github.com/mitchellh/mapstructure v1.5.0 // indirect
+ github.com/mitchellh/reflectwalk v1.0.2 // indirect
github.com/oklog/run v1.1.0 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/stretchr/testify v1.8.3 // indirect
+ github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect
github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
+ github.com/zclconf/go-cty v1.14.3 // indirect
+ golang.org/x/crypto v0.21.0 // indirect
+ golang.org/x/mod v0.15.0 // indirect
+ golang.org/x/net v0.21.0 // indirect
golang.org/x/sys v0.18.0 // indirect
+ golang.org/x/text v0.14.0 // indirect
+ golang.org/x/tools v0.13.0 // indirect
+ google.golang.org/appengine v1.6.8 // indirect
+ google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 // indirect
+ google.golang.org/grpc v1.61.1 // indirect
+ google.golang.org/protobuf v1.32.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
diff --git a/provider/shim/go.sum b/provider/shim/go.sum
index 33301eb..cc63f0b 100644
--- a/provider/shim/go.sum
+++ b/provider/shim/go.sum
@@ -1,33 +1,61 @@
+dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk=
+dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
+github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
+github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
github.com/ProtonMail/go-crypto v1.1.0-alpha.0 h1:nHGfwXmFvJrSR9xu8qL7BkO4DqTHXE9N5vPhgY2I+j0=
github.com/ProtonMail/go-crypto v1.1.0-alpha.0/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE=
github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo=
github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558=
+github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec=
github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY=
github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4=
+github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA=
+github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8=
github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU=
github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA=
-github.com/cockroachdb/cockroach-cloud-sdk-go/v4 v4.0.0 h1:JqxUX9KlqEsN0Mai9V5Ys2B5b2ZUZn+HN+D9braEDlw=
-github.com/cockroachdb/cockroach-cloud-sdk-go/v4 v4.0.0/go.mod h1:4JTUGoynY3kMmUE28O20NTvUp39WSUqhIjOWg1MBshI=
-github.com/cockroachdb/terraform-provider-cockroach v1.9.0 h1:VqhTAgmfq5D+jn6KZcsmh0d58n3BI+Bn9r4YRqobFJE=
-github.com/cockroachdb/terraform-provider-cockroach v1.9.0/go.mod h1:6PSC1rhQpwALIMIJjN9/+6Gz8hLyrnC/Vberw3XbRBU=
+github.com/cockroachdb/cockroach-cloud-sdk-go/v5 v5.0.0 h1:8O3DyFBe7h95LoWdRHBahEtuk4jEOjAQsbm0Ah0TNWM=
+github.com/cockroachdb/cockroach-cloud-sdk-go/v5 v5.0.0/go.mod h1:a3jsLQtOmOKWMbXQg4Qb6Dpl/fAVETq1p8XAhZXbmsM=
+github.com/cockroachdb/terraform-provider-cockroach v1.10.0 h1:/tl+6zSneyE6j9XjnIvJI0g2IyYn17dc0sLf9kgnw00=
+github.com/cockroachdb/terraform-provider-cockroach v1.10.0/go.mod h1:BmuH7GBMNPZid+cTkq/HvhQXFoVql4tBhps2wXL25eI=
+github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg=
+github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
+github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM=
github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE=
+github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
+github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
+github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU=
+github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow=
+github.com/go-git/go-git/v5 v5.11.0 h1:XIZc1p+8YzypNr34itUfSvYJcv+eYdTnTvOZ2vD3cA4=
+github.com/go-git/go-git/v5 v5.11.0/go.mod h1:6GFcX2P3NM7FPBfpePbpLd21XxsgdAt+lKqXmCUiUCY=
+github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68=
+github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA=
+github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
+github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
+github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
+github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
+github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
+github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4=
github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-checkpoint v0.5.0 h1:MFYpPZCnQqQTE18jFwSII6eUQrD/oxMFp3mlgcqk5mU=
github.com/hashicorp/go-checkpoint v0.5.0/go.mod h1:7nfLNL10NsxqO4iWuW6tWW0HjZuDrwkBuEQsVcpCOgg=
+github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ=
github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48=
github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 h1:1/D3zfFHttUKaCaGKZ/dR2roBXv0vKbSCnssIldfQdI=
@@ -41,6 +69,7 @@ github.com/hashicorp/go-plugin v1.6.0 h1:wgd4KxHJTVGGqWBq4QPB1i5BZNEx9BR8+OFmHDm
github.com/hashicorp/go-plugin v1.6.0/go.mod h1:lBS5MtSSBZk0SHc66KACcjjlU6WzEVP/8pwz68aMkCI=
github.com/hashicorp/go-retryablehttp v0.7.4 h1:ZQgVdpTdAL7WpMIwLzCfbalOcSUdkDZnpUv3/+BxzFA=
github.com/hashicorp/go-retryablehttp v0.7.4/go.mod h1:Jy/gPYAdjqffZ/yFGCFV2doI5wjtH1ewM9u8iYVjtX8=
+github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8=
github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek=
@@ -73,11 +102,19 @@ github.com/hashicorp/terraform-svchost v0.1.1 h1:EZZimZ1GxdqFRinZ1tpJwVxxt49xc/S
github.com/hashicorp/terraform-svchost v0.1.1/go.mod h1:mNsjQfZyf/Jhz35v6/0LWcv26+X7JPS+buii2c9/ctc=
github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE=
github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ=
+github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
+github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
+github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c=
+github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo=
+github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4=
+github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
+github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
+github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
@@ -99,50 +136,95 @@ github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zx
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA=
github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU=
+github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4=
+github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ=
+github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
+github.com/skeema/knownhosts v1.2.1 h1:SHWdIUa82uGZz+F+47k8SY4QhhI291cXCpopT1lK2AQ=
+github.com/skeema/knownhosts v1.2.1/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY=
github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
+github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI=
github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
github.com/vmihailenco/msgpack/v5 v5.4.1 h1:cQriyiUvjTwOHg8QZaPihLWeRAAVoCpE00IUPn0Bjt8=
github.com/vmihailenco/msgpack/v5 v5.4.1/go.mod h1:GaZTsDaehaPpQVyxrf5mtQlH+pc21PIudVV/E3rRQok=
github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g=
github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds=
+github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM=
+github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw=
+github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
github.com/zclconf/go-cty v1.14.3 h1:1JXy1XroaGrzZuG6X9dt7HL6s9AwbY+l4UNL8o5B6ho=
github.com/zclconf/go-cty v1.14.3/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE=
+golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
+golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8=
golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
+golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4=
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
+golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE=
+golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
+golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
+golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
+golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
+golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ=
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
+golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=
google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 h1:Jyp0Hsi0bmHXG6k9eATXoYtjd6e2UzZ1SCn/wIupY14=
google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:oQ5rr10WTTMvP4A36n8JpR1OrO1BEiV4f78CneXZxkA=
google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY=
google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs=
+google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
+google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I=
google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
+gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME=
+gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/sdk/dotnet/CaCert.cs b/sdk/dotnet/CaCert.cs
index 3cb87d9..c4415c8 100644
--- a/sdk/dotnet/CaCert.cs
+++ b/sdk/dotnet/CaCert.cs
@@ -34,6 +34,14 @@ namespace Pulumiverse.Cockroach
///
/// });
/// ```
+ ///
+ /// ## Import
+ ///
+ /// format: <cluster id>
+ ///
+ /// ```sh
+ /// $ pulumi import cockroach:index/caCert:CaCert prod 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ /// ```
///
[CockroachResourceType("cockroach:index/caCert:CaCert")]
public partial class CaCert : global::Pulumi.CustomResource
diff --git a/sdk/dotnet/Cluster.cs b/sdk/dotnet/Cluster.cs
index 8f96ba7..12132c1 100644
--- a/sdk/dotnet/Cluster.cs
+++ b/sdk/dotnet/Cluster.cs
@@ -12,6 +12,14 @@ namespace Pulumiverse.Cockroach
{
///
/// CockroachDB Cloud cluster.
+ ///
+ /// ## Import
+ ///
+ /// format: <cluster id>
+ ///
+ /// ```sh
+ /// $ pulumi import cockroach:index/cluster:Cluster my_cluster 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ /// ```
///
[CockroachResourceType("cockroach:index/cluster:Cluster")]
public partial class Cluster : global::Pulumi.CustomResource
@@ -22,6 +30,13 @@ public partial class Cluster : global::Pulumi.CustomResource
[Output("accountId")]
public Output AccountId { get; private set; } = null!;
+ ///
+ /// The backup settings for a cluster. Each cluster has backup settings that determine if backups are enabled, how
+ /// frequently they are taken, and how long they are retained for. Use this attribute to manage those settings.
+ ///
+ [Output("backupConfig")]
+ public Output BackupConfig { get; private set; } = null!;
+
///
/// Cloud provider used to host the cluster. Allowed values are: * GCP * AWS * AZURE
///
@@ -139,6 +154,13 @@ public static Cluster Get(string name, Input id, ClusterState? state = n
public sealed class ClusterArgs : global::Pulumi.ResourceArgs
{
+ ///
+ /// The backup settings for a cluster. Each cluster has backup settings that determine if backups are enabled, how
+ /// frequently they are taken, and how long they are retained for. Use this attribute to manage those settings.
+ ///
+ [Input("backupConfig")]
+ public Input? BackupConfig { get; set; }
+
///
/// Cloud provider used to host the cluster. Allowed values are: * GCP * AWS * AZURE
///
@@ -204,6 +226,13 @@ public sealed class ClusterState : global::Pulumi.ResourceArgs
[Input("accountId")]
public Input? AccountId { get; set; }
+ ///
+ /// The backup settings for a cluster. Each cluster has backup settings that determine if backups are enabled, how
+ /// frequently they are taken, and how long they are retained for. Use this attribute to manage those settings.
+ ///
+ [Input("backupConfig")]
+ public Input? BackupConfig { get; set; }
+
///
/// Cloud provider used to host the cluster. Allowed values are: * GCP * AWS * AZURE
///
diff --git a/sdk/dotnet/Cmek.cs b/sdk/dotnet/Cmek.cs
index ef12aad..624f937 100644
--- a/sdk/dotnet/Cmek.cs
+++ b/sdk/dotnet/Cmek.cs
@@ -23,9 +23,9 @@ namespace Pulumiverse.Cockroach
///
/// return await Deployment.RunAsync(() =>
/// {
- /// var dedicated = new Cockroach.Cmek("dedicated", new()
+ /// var advanced = new Cockroach.Cmek("advanced", new()
/// {
- /// ClusterId = dedicatedCockroachCluster.Id,
+ /// ClusterId = advancedCockroachCluster.Id,
/// Regions = new[]
/// {
/// new Cockroach.Inputs.CmekRegionArgs
@@ -43,6 +43,14 @@ namespace Pulumiverse.Cockroach
///
/// });
/// ```
+ ///
+ /// ## Import
+ ///
+ /// format: <cluster id>
+ ///
+ /// ```sh
+ /// $ pulumi import cockroach:index/cmek:Cmek advanced 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ /// ```
///
[CockroachResourceType("cockroach:index/cmek:Cmek")]
public partial class Cmek : global::Pulumi.CustomResource
diff --git a/sdk/dotnet/Config/Config.cs b/sdk/dotnet/Config/Config.cs
index ab183cb..125dc68 100644
--- a/sdk/dotnet/Config/Config.cs
+++ b/sdk/dotnet/Config/Config.cs
@@ -32,9 +32,22 @@ public void Set(T value)
private static readonly global::Pulumi.Config __config = new global::Pulumi.Config("cockroach");
+ private static readonly __Value _apijwt = new __Value(() => __config.Get("apijwt"));
+ ///
+ /// The JWT from a JWT Issuer configured for the CockroachDB Cloud Organization. In this case, the vanity name of the
+ /// organization is required and can be provided using the `COCKROACH_VANITY_NAME` environment variable. If the JWT is
+ /// mapped to multiple identities, the identity to impersonate should be provided using the `COCKROACH_USERNAME` environment
+ /// variable, and should contain either a user email address or a service account ID.
+ ///
+ public static string? Apijwt
+ {
+ get => _apijwt.Get();
+ set => _apijwt.Set(value);
+ }
+
private static readonly __Value _apikey = new __Value(() => __config.Get("apikey"));
///
- /// apikey to access cockroach cloud
+ /// The API key to access CockroachDB Cloud. If this field is provided, it is used and `apijwt` is ignored.
///
public static string? Apikey
{
diff --git a/sdk/dotnet/Folder.cs b/sdk/dotnet/Folder.cs
index df13e6d..f81490b 100644
--- a/sdk/dotnet/Folder.cs
+++ b/sdk/dotnet/Folder.cs
@@ -37,6 +37,14 @@ namespace Pulumiverse.Cockroach
///
/// });
/// ```
+ ///
+ /// ## Import
+ ///
+ /// format: <folder id>
+ ///
+ /// ```sh
+ /// $ pulumi import cockroach:index/folder:Folder my_folder 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ /// ```
///
[CockroachResourceType("cockroach:index/folder:Folder")]
public partial class Folder : global::Pulumi.CustomResource
diff --git a/sdk/dotnet/GetCockroachCluster.cs b/sdk/dotnet/GetCockroachCluster.cs
index 2315be4..261aa6d 100644
--- a/sdk/dotnet/GetCockroachCluster.cs
+++ b/sdk/dotnet/GetCockroachCluster.cs
@@ -93,6 +93,7 @@ public GetCockroachClusterInvokeArgs()
public sealed class GetCockroachClusterResult
{
public readonly string AccountId;
+ public readonly Outputs.GetCockroachClusterBackupConfigResult BackupConfig;
public readonly string CloudProvider;
public readonly string CockroachVersion;
public readonly string CreatorId;
@@ -112,6 +113,8 @@ public sealed class GetCockroachClusterResult
private GetCockroachClusterResult(
string accountId,
+ Outputs.GetCockroachClusterBackupConfigResult backupConfig,
+
string cloudProvider,
string cockroachVersion,
@@ -141,6 +144,7 @@ private GetCockroachClusterResult(
string upgradeStatus)
{
AccountId = accountId;
+ BackupConfig = backupConfig;
CloudProvider = cloudProvider;
CockroachVersion = cockroachVersion;
CreatorId = creatorId;
diff --git a/sdk/dotnet/Inputs/ClusterBackupConfigArgs.cs b/sdk/dotnet/Inputs/ClusterBackupConfigArgs.cs
new file mode 100644
index 0000000..28bb50f
--- /dev/null
+++ b/sdk/dotnet/Inputs/ClusterBackupConfigArgs.cs
@@ -0,0 +1,39 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+using Pulumi;
+
+namespace Pulumiverse.Cockroach.Inputs
+{
+
+ public sealed class ClusterBackupConfigArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Indicates whether backups are enabled. If set to false, no backups will be created.
+ ///
+ [Input("enabled")]
+ public Input? Enabled { get; set; }
+
+ ///
+ /// The frequency of backups in minutes. Valid values are [5, 10, 15, 30, 60, 240, 1440]
+ ///
+ [Input("frequencyMinutes")]
+ public Input? FrequencyMinutes { get; set; }
+
+ ///
+ /// The number of days to retain backups for. Valid values are [2, 7, 30, 90, 365]. Can only be set once, further changes require opening a support ticket. See Updating backup retention for more information.
+ ///
+ [Input("retentionDays")]
+ public Input? RetentionDays { get; set; }
+
+ public ClusterBackupConfigArgs()
+ {
+ }
+ public static new ClusterBackupConfigArgs Empty => new ClusterBackupConfigArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/ClusterBackupConfigGetArgs.cs b/sdk/dotnet/Inputs/ClusterBackupConfigGetArgs.cs
new file mode 100644
index 0000000..0bd24d1
--- /dev/null
+++ b/sdk/dotnet/Inputs/ClusterBackupConfigGetArgs.cs
@@ -0,0 +1,39 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+using Pulumi;
+
+namespace Pulumiverse.Cockroach.Inputs
+{
+
+ public sealed class ClusterBackupConfigGetArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Indicates whether backups are enabled. If set to false, no backups will be created.
+ ///
+ [Input("enabled")]
+ public Input? Enabled { get; set; }
+
+ ///
+ /// The frequency of backups in minutes. Valid values are [5, 10, 15, 30, 60, 240, 1440]
+ ///
+ [Input("frequencyMinutes")]
+ public Input? FrequencyMinutes { get; set; }
+
+ ///
+ /// The number of days to retain backups for. Valid values are [2, 7, 30, 90, 365]. Can only be set once, further changes require opening a support ticket. See Updating backup retention for more information.
+ ///
+ [Input("retentionDays")]
+ public Input? RetentionDays { get; set; }
+
+ public ClusterBackupConfigGetArgs()
+ {
+ }
+ public static new ClusterBackupConfigGetArgs Empty => new ClusterBackupConfigGetArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/ClusterDedicatedArgs.cs b/sdk/dotnet/Inputs/ClusterDedicatedArgs.cs
index ede4d7e..86246f0 100644
--- a/sdk/dotnet/Inputs/ClusterDedicatedArgs.cs
+++ b/sdk/dotnet/Inputs/ClusterDedicatedArgs.cs
@@ -13,6 +13,12 @@ namespace Pulumiverse.Cockroach.Inputs
public sealed class ClusterDedicatedArgs : global::Pulumi.ResourceArgs
{
+ ///
+ /// The IPv4 range in CIDR format that will be used by the cluster. This is supported only on GCP, and must have a subnet mask no larger than /19. Defaults to "172.28.0.0/14". This cannot be changed after cluster creation.
+ ///
+ [Input("cidrRange")]
+ public Input? CidrRange { get; set; }
+
///
/// Number of disk I/O operations per second that are permitted on each node in the cluster. Zero indicates the cloud provider-specific default.
///
diff --git a/sdk/dotnet/Inputs/ClusterDedicatedGetArgs.cs b/sdk/dotnet/Inputs/ClusterDedicatedGetArgs.cs
index fb92fc2..a697992 100644
--- a/sdk/dotnet/Inputs/ClusterDedicatedGetArgs.cs
+++ b/sdk/dotnet/Inputs/ClusterDedicatedGetArgs.cs
@@ -13,6 +13,12 @@ namespace Pulumiverse.Cockroach.Inputs
public sealed class ClusterDedicatedGetArgs : global::Pulumi.ResourceArgs
{
+ ///
+ /// The IPv4 range in CIDR format that will be used by the cluster. This is supported only on GCP, and must have a subnet mask no larger than /19. Defaults to "172.28.0.0/14". This cannot be changed after cluster creation.
+ ///
+ [Input("cidrRange")]
+ public Input? CidrRange { get; set; }
+
///
/// Number of disk I/O operations per second that are permitted on each node in the cluster. Zero indicates the cloud provider-specific default.
///
diff --git a/sdk/dotnet/JwtIssuer.cs b/sdk/dotnet/JwtIssuer.cs
index 28b568f..970efac 100644
--- a/sdk/dotnet/JwtIssuer.cs
+++ b/sdk/dotnet/JwtIssuer.cs
@@ -12,6 +12,20 @@ namespace Pulumiverse.Cockroach
{
///
/// Configuration to manage external JSON Web Token (JWT) Issuers for authentication to the CockroachDB Cloud API.
+ ///
+ /// ## Import
+ ///
+ /// JWT Issuer ID can be found by running a GET against the Cockroach Cloud API to
+ ///
+ /// list all existing JWT issuers.
+ ///
+ /// https://www.cockroachlabs.com/docs/api/cloud/v1#get-/api/v1/jwt-issuers
+ ///
+ /// format: <jwt issuer id>
+ ///
+ /// ```sh
+ /// $ pulumi import cockroach:index/jwtIssuer:JwtIssuer my_issuer 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ /// ```
///
[CockroachResourceType("cockroach:index/jwtIssuer:JwtIssuer")]
public partial class JwtIssuer : global::Pulumi.CustomResource
diff --git a/sdk/dotnet/LogExportConfig.cs b/sdk/dotnet/LogExportConfig.cs
index f2e99b6..8249811 100644
--- a/sdk/dotnet/LogExportConfig.cs
+++ b/sdk/dotnet/LogExportConfig.cs
@@ -12,6 +12,14 @@ namespace Pulumiverse.Cockroach
{
///
/// Log Export configuration for a cluster.
+ ///
+ /// ## Import
+ ///
+ /// format: <cluster id>
+ ///
+ /// ```sh
+ /// $ pulumi import cockroach:index/logExportConfig:LogExportConfig example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ /// ```
///
[CockroachResourceType("cockroach:index/logExportConfig:LogExportConfig")]
public partial class LogExportConfig : global::Pulumi.CustomResource
diff --git a/sdk/dotnet/MaintenanceWindow.cs b/sdk/dotnet/MaintenanceWindow.cs
index 390ab50..a4e18dd 100644
--- a/sdk/dotnet/MaintenanceWindow.cs
+++ b/sdk/dotnet/MaintenanceWindow.cs
@@ -36,6 +36,14 @@ namespace Pulumiverse.Cockroach
///
/// });
/// ```
+ ///
+ /// ## Import
+ ///
+ /// format: <cluster id>
+ ///
+ /// ```sh
+ /// $ pulumi import cockroach:index/maintenanceWindow:MaintenanceWindow example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ /// ```
///
[CockroachResourceType("cockroach:index/maintenanceWindow:MaintenanceWindow")]
public partial class MaintenanceWindow : global::Pulumi.CustomResource
diff --git a/sdk/dotnet/MetricExportCloudwatchConfig.cs b/sdk/dotnet/MetricExportCloudwatchConfig.cs
index 3c8c122..b2b44f0 100644
--- a/sdk/dotnet/MetricExportCloudwatchConfig.cs
+++ b/sdk/dotnet/MetricExportCloudwatchConfig.cs
@@ -38,6 +38,14 @@ namespace Pulumiverse.Cockroach
///
/// });
/// ```
+ ///
+ /// ## Import
+ ///
+ /// format: <cluster id>
+ ///
+ /// ```sh
+ /// $ pulumi import cockroach:index/metricExportCloudwatchConfig:MetricExportCloudwatchConfig example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ /// ```
///
[CockroachResourceType("cockroach:index/metricExportCloudwatchConfig:MetricExportCloudwatchConfig")]
public partial class MetricExportCloudwatchConfig : global::Pulumi.CustomResource
diff --git a/sdk/dotnet/MetricExportDatadogConfig.cs b/sdk/dotnet/MetricExportDatadogConfig.cs
index 0a5be1c..77596c6 100644
--- a/sdk/dotnet/MetricExportDatadogConfig.cs
+++ b/sdk/dotnet/MetricExportDatadogConfig.cs
@@ -36,6 +36,14 @@ namespace Pulumiverse.Cockroach
///
/// });
/// ```
+ ///
+ /// ## Import
+ ///
+ /// format: <cluster id>
+ ///
+ /// ```sh
+ /// $ pulumi import cockroach:index/metricExportDatadogConfig:MetricExportDatadogConfig example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ /// ```
///
[CockroachResourceType("cockroach:index/metricExportDatadogConfig:MetricExportDatadogConfig")]
public partial class MetricExportDatadogConfig : global::Pulumi.CustomResource
diff --git a/sdk/dotnet/MetricExportPrometheusConfig.cs b/sdk/dotnet/MetricExportPrometheusConfig.cs
index 3873bd7..52b292a 100644
--- a/sdk/dotnet/MetricExportPrometheusConfig.cs
+++ b/sdk/dotnet/MetricExportPrometheusConfig.cs
@@ -32,6 +32,14 @@ namespace Pulumiverse.Cockroach
///
/// });
/// ```
+ ///
+ /// ## Import
+ ///
+ /// format: <cluster id>
+ ///
+ /// ```sh
+ /// $ pulumi import cockroach:index/metricExportPrometheusConfig:MetricExportPrometheusConfig example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ /// ```
///
[CockroachResourceType("cockroach:index/metricExportPrometheusConfig:MetricExportPrometheusConfig")]
public partial class MetricExportPrometheusConfig : global::Pulumi.CustomResource
diff --git a/sdk/dotnet/Outputs/ClusterBackupConfig.cs b/sdk/dotnet/Outputs/ClusterBackupConfig.cs
new file mode 100644
index 0000000..d6f9e70
--- /dev/null
+++ b/sdk/dotnet/Outputs/ClusterBackupConfig.cs
@@ -0,0 +1,43 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+using Pulumi;
+
+namespace Pulumiverse.Cockroach.Outputs
+{
+
+ [OutputType]
+ public sealed class ClusterBackupConfig
+ {
+ ///
+ /// Indicates whether backups are enabled. If set to false, no backups will be created.
+ ///
+ public readonly bool? Enabled;
+ ///
+ /// The frequency of backups in minutes. Valid values are [5, 10, 15, 30, 60, 240, 1440]
+ ///
+ public readonly int? FrequencyMinutes;
+ ///
+ /// The number of days to retain backups for. Valid values are [2, 7, 30, 90, 365]. Can only be set once, further changes require opening a support ticket. See Updating backup retention for more information.
+ ///
+ public readonly int? RetentionDays;
+
+ [OutputConstructor]
+ private ClusterBackupConfig(
+ bool? enabled,
+
+ int? frequencyMinutes,
+
+ int? retentionDays)
+ {
+ Enabled = enabled;
+ FrequencyMinutes = frequencyMinutes;
+ RetentionDays = retentionDays;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/ClusterDedicated.cs b/sdk/dotnet/Outputs/ClusterDedicated.cs
index 2853b69..9aa6b90 100644
--- a/sdk/dotnet/Outputs/ClusterDedicated.cs
+++ b/sdk/dotnet/Outputs/ClusterDedicated.cs
@@ -14,6 +14,10 @@ namespace Pulumiverse.Cockroach.Outputs
[OutputType]
public sealed class ClusterDedicated
{
+ ///
+ /// The IPv4 range in CIDR format that will be used by the cluster. This is supported only on GCP, and must have a subnet mask no larger than /19. Defaults to "172.28.0.0/14". This cannot be changed after cluster creation.
+ ///
+ public readonly string? CidrRange;
///
/// Number of disk I/O operations per second that are permitted on each node in the cluster. Zero indicates the cloud provider-specific default.
///
@@ -41,6 +45,8 @@ public sealed class ClusterDedicated
[OutputConstructor]
private ClusterDedicated(
+ string? cidrRange,
+
int? diskIops,
string? machineType,
@@ -53,6 +59,7 @@ private ClusterDedicated(
int? storageGib)
{
+ CidrRange = cidrRange;
DiskIops = diskIops;
MachineType = machineType;
MemoryGib = memoryGib;
diff --git a/sdk/dotnet/Outputs/GetCockroachClusterBackupConfigResult.cs b/sdk/dotnet/Outputs/GetCockroachClusterBackupConfigResult.cs
new file mode 100644
index 0000000..b8faf93
--- /dev/null
+++ b/sdk/dotnet/Outputs/GetCockroachClusterBackupConfigResult.cs
@@ -0,0 +1,43 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+using Pulumi;
+
+namespace Pulumiverse.Cockroach.Outputs
+{
+
+ [OutputType]
+ public sealed class GetCockroachClusterBackupConfigResult
+ {
+ ///
+ /// Indicates whether backups are enabled.
+ ///
+ public readonly bool Enabled;
+ ///
+ /// The frequency of backups in minutes.
+ ///
+ public readonly int FrequencyMinutes;
+ ///
+ /// The number of days to retain backups for.
+ ///
+ public readonly int RetentionDays;
+
+ [OutputConstructor]
+ private GetCockroachClusterBackupConfigResult(
+ bool enabled,
+
+ int frequencyMinutes,
+
+ int retentionDays)
+ {
+ Enabled = enabled;
+ FrequencyMinutes = frequencyMinutes;
+ RetentionDays = retentionDays;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/GetCockroachClusterDedicatedResult.cs b/sdk/dotnet/Outputs/GetCockroachClusterDedicatedResult.cs
index 1962efa..ba0d114 100644
--- a/sdk/dotnet/Outputs/GetCockroachClusterDedicatedResult.cs
+++ b/sdk/dotnet/Outputs/GetCockroachClusterDedicatedResult.cs
@@ -14,6 +14,10 @@ namespace Pulumiverse.Cockroach.Outputs
[OutputType]
public sealed class GetCockroachClusterDedicatedResult
{
+ ///
+ /// The IPv4 range in CIDR format that is in use by the cluster. It is only set on GCP clusters and is otherwise empty.
+ ///
+ public readonly string CidrRange;
///
/// Number of disk I/O operations per second that are permitted on each node in the cluster. Zero indicates the cloud provider-specific default.
///
@@ -41,6 +45,8 @@ public sealed class GetCockroachClusterDedicatedResult
[OutputConstructor]
private GetCockroachClusterDedicatedResult(
+ string cidrRange,
+
int diskIops,
string machineType,
@@ -53,6 +59,7 @@ private GetCockroachClusterDedicatedResult(
int storageGib)
{
+ CidrRange = cidrRange;
DiskIops = diskIops;
MachineType = machineType;
MemoryGib = memoryGib;
diff --git a/sdk/dotnet/Provider.cs b/sdk/dotnet/Provider.cs
index fca8a68..93ed98f 100644
--- a/sdk/dotnet/Provider.cs
+++ b/sdk/dotnet/Provider.cs
@@ -20,7 +20,16 @@ namespace Pulumiverse.Cockroach
public partial class Provider : global::Pulumi.ProviderResource
{
///
- /// apikey to access cockroach cloud
+ /// The JWT from a JWT Issuer configured for the CockroachDB Cloud Organization. In this case, the vanity name of the
+ /// organization is required and can be provided using the `COCKROACH_VANITY_NAME` environment variable. If the JWT is
+ /// mapped to multiple identities, the identity to impersonate should be provided using the `COCKROACH_USERNAME` environment
+ /// variable, and should contain either a user email address or a service account ID.
+ ///
+ [Output("apijwt")]
+ public Output Apijwt { get; private set; } = null!;
+
+ ///
+ /// The API key to access CockroachDB Cloud. If this field is provided, it is used and `apijwt` is ignored.
///
[Output("apikey")]
public Output Apikey { get; private set; } = null!;
@@ -46,6 +55,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions?
PluginDownloadURL = "github://api.github.com/pulumiverse",
AdditionalSecretOutputs =
{
+ "apijwt",
"apikey",
},
};
@@ -58,11 +68,30 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions?
public sealed class ProviderArgs : global::Pulumi.ResourceArgs
{
+ [Input("apijwt")]
+ private Input? _apijwt;
+
+ ///
+ /// The JWT from a JWT Issuer configured for the CockroachDB Cloud Organization. In this case, the vanity name of the
+ /// organization is required and can be provided using the `COCKROACH_VANITY_NAME` environment variable. If the JWT is
+ /// mapped to multiple identities, the identity to impersonate should be provided using the `COCKROACH_USERNAME` environment
+ /// variable, and should contain either a user email address or a service account ID.
+ ///
+ public Input? Apijwt
+ {
+ get => _apijwt;
+ set
+ {
+ var emptySecret = Output.CreateSecret(0);
+ _apijwt = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1);
+ }
+ }
+
[Input("apikey")]
private Input? _apikey;
///
- /// apikey to access cockroach cloud
+ /// The API key to access CockroachDB Cloud. If this field is provided, it is used and `apijwt` is ignored.
///
public Input? Apikey
{
diff --git a/sdk/dotnet/VersionDeferral.cs b/sdk/dotnet/VersionDeferral.cs
index 3dfddc0..aaf8aba 100644
--- a/sdk/dotnet/VersionDeferral.cs
+++ b/sdk/dotnet/VersionDeferral.cs
@@ -34,6 +34,14 @@ namespace Pulumiverse.Cockroach
///
/// });
/// ```
+ ///
+ /// ## Import
+ ///
+ /// format: <cluster id>
+ ///
+ /// ```sh
+ /// $ pulumi import cockroach:index/versionDeferral:VersionDeferral example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ /// ```
///
[CockroachResourceType("cockroach:index/versionDeferral:VersionDeferral")]
public partial class VersionDeferral : global::Pulumi.CustomResource
diff --git a/sdk/go/cockroach/caCert.go b/sdk/go/cockroach/caCert.go
index ff6ef07..0c8baad 100644
--- a/sdk/go/cockroach/caCert.go
+++ b/sdk/go/cockroach/caCert.go
@@ -44,6 +44,14 @@ import (
// }
//
// ```
+//
+// ## Import
+//
+// format:
+//
+// ```sh
+// $ pulumi import cockroach:index/caCert:CaCert prod 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+// ```
type CaCert struct {
pulumi.CustomResourceState
diff --git a/sdk/go/cockroach/cluster.go b/sdk/go/cockroach/cluster.go
index a81c769..283f49c 100644
--- a/sdk/go/cockroach/cluster.go
+++ b/sdk/go/cockroach/cluster.go
@@ -13,11 +13,22 @@ import (
)
// CockroachDB Cloud cluster.
+//
+// ## Import
+//
+// format:
+//
+// ```sh
+// $ pulumi import cockroach:index/cluster:Cluster my_cluster 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+// ```
type Cluster struct {
pulumi.CustomResourceState
// The cloud provider account ID that hosts the cluster. Needed for CMEK and other advanced features.
AccountId pulumi.StringOutput `pulumi:"accountId"`
+ // The backup settings for a cluster. Each cluster has backup settings that determine if backups are enabled, how
+ // frequently they are taken, and how long they are retained for. Use this attribute to manage those settings.
+ BackupConfig ClusterBackupConfigOutput `pulumi:"backupConfig"`
// Cloud provider used to host the cluster. Allowed values are: * GCP * AWS * AZURE
CloudProvider pulumi.StringOutput `pulumi:"cloudProvider"`
// Major version of CockroachDB running on the cluster.
@@ -82,6 +93,9 @@ func GetCluster(ctx *pulumi.Context,
type clusterState struct {
// The cloud provider account ID that hosts the cluster. Needed for CMEK and other advanced features.
AccountId *string `pulumi:"accountId"`
+ // The backup settings for a cluster. Each cluster has backup settings that determine if backups are enabled, how
+ // frequently they are taken, and how long they are retained for. Use this attribute to manage those settings.
+ BackupConfig *ClusterBackupConfig `pulumi:"backupConfig"`
// Cloud provider used to host the cluster. Allowed values are: * GCP * AWS * AZURE
CloudProvider *string `pulumi:"cloudProvider"`
// Major version of CockroachDB running on the cluster.
@@ -111,6 +125,9 @@ type clusterState struct {
type ClusterState struct {
// The cloud provider account ID that hosts the cluster. Needed for CMEK and other advanced features.
AccountId pulumi.StringPtrInput
+ // The backup settings for a cluster. Each cluster has backup settings that determine if backups are enabled, how
+ // frequently they are taken, and how long they are retained for. Use this attribute to manage those settings.
+ BackupConfig ClusterBackupConfigPtrInput
// Cloud provider used to host the cluster. Allowed values are: * GCP * AWS * AZURE
CloudProvider pulumi.StringPtrInput
// Major version of CockroachDB running on the cluster.
@@ -142,6 +159,9 @@ func (ClusterState) ElementType() reflect.Type {
}
type clusterArgs struct {
+ // The backup settings for a cluster. Each cluster has backup settings that determine if backups are enabled, how
+ // frequently they are taken, and how long they are retained for. Use this attribute to manage those settings.
+ BackupConfig *ClusterBackupConfig `pulumi:"backupConfig"`
// Cloud provider used to host the cluster. Allowed values are: * GCP * AWS * AZURE
CloudProvider string `pulumi:"cloudProvider"`
// Major version of CockroachDB running on the cluster.
@@ -162,6 +182,9 @@ type clusterArgs struct {
// The set of arguments for constructing a Cluster resource.
type ClusterArgs struct {
+ // The backup settings for a cluster. Each cluster has backup settings that determine if backups are enabled, how
+ // frequently they are taken, and how long they are retained for. Use this attribute to manage those settings.
+ BackupConfig ClusterBackupConfigPtrInput
// Cloud provider used to host the cluster. Allowed values are: * GCP * AWS * AZURE
CloudProvider pulumi.StringInput
// Major version of CockroachDB running on the cluster.
@@ -272,6 +295,12 @@ func (o ClusterOutput) AccountId() pulumi.StringOutput {
return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput)
}
+// The backup settings for a cluster. Each cluster has backup settings that determine if backups are enabled, how
+// frequently they are taken, and how long they are retained for. Use this attribute to manage those settings.
+func (o ClusterOutput) BackupConfig() ClusterBackupConfigOutput {
+ return o.ApplyT(func(v *Cluster) ClusterBackupConfigOutput { return v.BackupConfig }).(ClusterBackupConfigOutput)
+}
+
// Cloud provider used to host the cluster. Allowed values are: * GCP * AWS * AZURE
func (o ClusterOutput) CloudProvider() pulumi.StringOutput {
return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.CloudProvider }).(pulumi.StringOutput)
diff --git a/sdk/go/cockroach/cmek.go b/sdk/go/cockroach/cmek.go
index 52d5eec..4192741 100644
--- a/sdk/go/cockroach/cmek.go
+++ b/sdk/go/cockroach/cmek.go
@@ -28,8 +28,8 @@ import (
//
// func main() {
// pulumi.Run(func(ctx *pulumi.Context) error {
-// _, err := cockroach.NewCmek(ctx, "dedicated", &cockroach.CmekArgs{
-// ClusterId: pulumi.Any(dedicatedCockroachCluster.Id),
+// _, err := cockroach.NewCmek(ctx, "advanced", &cockroach.CmekArgs{
+// ClusterId: pulumi.Any(advancedCockroachCluster.Id),
// Regions: cockroach.CmekRegionArray{
// &cockroach.CmekRegionArgs{
// Region: pulumi.String("us-central-1"),
@@ -49,6 +49,14 @@ import (
// }
//
// ```
+//
+// ## Import
+//
+// format:
+//
+// ```sh
+// $ pulumi import cockroach:index/cmek:Cmek advanced 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+// ```
type Cmek struct {
pulumi.CustomResourceState
diff --git a/sdk/go/cockroach/config/config.go b/sdk/go/cockroach/config/config.go
index d06e1f0..5c5db81 100644
--- a/sdk/go/cockroach/config/config.go
+++ b/sdk/go/cockroach/config/config.go
@@ -11,7 +11,15 @@ import (
var _ = internal.GetEnvOrDefault
-// apikey to access cockroach cloud
+// The JWT from a JWT Issuer configured for the CockroachDB Cloud Organization. In this case, the vanity name of the
+// organization is required and can be provided using the `COCKROACH_VANITY_NAME` environment variable. If the JWT is
+// mapped to multiple identities, the identity to impersonate should be provided using the `COCKROACH_USERNAME` environment
+// variable, and should contain either a user email address or a service account ID.
+func GetApijwt(ctx *pulumi.Context) string {
+ return config.Get(ctx, "cockroach:apijwt")
+}
+
+// The API key to access CockroachDB Cloud. If this field is provided, it is used and `apijwt` is ignored.
func GetApikey(ctx *pulumi.Context) string {
return config.Get(ctx, "cockroach:apikey")
}
diff --git a/sdk/go/cockroach/folder.go b/sdk/go/cockroach/folder.go
index e2a619f..f35b6bc 100644
--- a/sdk/go/cockroach/folder.go
+++ b/sdk/go/cockroach/folder.go
@@ -47,6 +47,14 @@ import (
// }
//
// ```
+//
+// ## Import
+//
+// format:
+//
+// ```sh
+// $ pulumi import cockroach:index/folder:Folder my_folder 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+// ```
type Folder struct {
pulumi.CustomResourceState
diff --git a/sdk/go/cockroach/getCockroachCluster.go b/sdk/go/cockroach/getCockroachCluster.go
index bb2a0cb..0d709b2 100644
--- a/sdk/go/cockroach/getCockroachCluster.go
+++ b/sdk/go/cockroach/getCockroachCluster.go
@@ -58,21 +58,22 @@ type GetCockroachClusterArgs struct {
// A collection of values returned by getCockroachCluster.
type GetCockroachClusterResult struct {
- AccountId string `pulumi:"accountId"`
- CloudProvider string `pulumi:"cloudProvider"`
- CockroachVersion string `pulumi:"cockroachVersion"`
- CreatorId string `pulumi:"creatorId"`
- Dedicated GetCockroachClusterDedicated `pulumi:"dedicated"`
- DeleteProtection bool `pulumi:"deleteProtection"`
- Id string `pulumi:"id"`
- Name string `pulumi:"name"`
- OperationStatus string `pulumi:"operationStatus"`
- ParentId string `pulumi:"parentId"`
- Plan string `pulumi:"plan"`
- Regions []GetCockroachClusterRegion `pulumi:"regions"`
- Serverless GetCockroachClusterServerless `pulumi:"serverless"`
- State string `pulumi:"state"`
- UpgradeStatus string `pulumi:"upgradeStatus"`
+ AccountId string `pulumi:"accountId"`
+ BackupConfig GetCockroachClusterBackupConfig `pulumi:"backupConfig"`
+ CloudProvider string `pulumi:"cloudProvider"`
+ CockroachVersion string `pulumi:"cockroachVersion"`
+ CreatorId string `pulumi:"creatorId"`
+ Dedicated GetCockroachClusterDedicated `pulumi:"dedicated"`
+ DeleteProtection bool `pulumi:"deleteProtection"`
+ Id string `pulumi:"id"`
+ Name string `pulumi:"name"`
+ OperationStatus string `pulumi:"operationStatus"`
+ ParentId string `pulumi:"parentId"`
+ Plan string `pulumi:"plan"`
+ Regions []GetCockroachClusterRegion `pulumi:"regions"`
+ Serverless GetCockroachClusterServerless `pulumi:"serverless"`
+ State string `pulumi:"state"`
+ UpgradeStatus string `pulumi:"upgradeStatus"`
}
func GetCockroachClusterOutput(ctx *pulumi.Context, args GetCockroachClusterOutputArgs, opts ...pulumi.InvokeOption) GetCockroachClusterResultOutput {
@@ -122,6 +123,10 @@ func (o GetCockroachClusterResultOutput) AccountId() pulumi.StringOutput {
return o.ApplyT(func(v GetCockroachClusterResult) string { return v.AccountId }).(pulumi.StringOutput)
}
+func (o GetCockroachClusterResultOutput) BackupConfig() GetCockroachClusterBackupConfigOutput {
+ return o.ApplyT(func(v GetCockroachClusterResult) GetCockroachClusterBackupConfig { return v.BackupConfig }).(GetCockroachClusterBackupConfigOutput)
+}
+
func (o GetCockroachClusterResultOutput) CloudProvider() pulumi.StringOutput {
return o.ApplyT(func(v GetCockroachClusterResult) string { return v.CloudProvider }).(pulumi.StringOutput)
}
diff --git a/sdk/go/cockroach/jwtIssuer.go b/sdk/go/cockroach/jwtIssuer.go
index c57feb1..9ce2b5c 100644
--- a/sdk/go/cockroach/jwtIssuer.go
+++ b/sdk/go/cockroach/jwtIssuer.go
@@ -13,6 +13,20 @@ import (
)
// Configuration to manage external JSON Web Token (JWT) Issuers for authentication to the CockroachDB Cloud API.
+//
+// ## Import
+//
+// # JWT Issuer ID can be found by running a GET against the Cockroach Cloud API to
+//
+// list all existing JWT issuers.
+//
+// https://www.cockroachlabs.com/docs/api/cloud/v1#get-/api/v1/jwt-issuers
+//
+// format:
+//
+// ```sh
+// $ pulumi import cockroach:index/jwtIssuer:JwtIssuer my_issuer 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+// ```
type JwtIssuer struct {
pulumi.CustomResourceState
diff --git a/sdk/go/cockroach/logExportConfig.go b/sdk/go/cockroach/logExportConfig.go
index 219ea5f..418e3c6 100644
--- a/sdk/go/cockroach/logExportConfig.go
+++ b/sdk/go/cockroach/logExportConfig.go
@@ -13,6 +13,14 @@ import (
)
// Log Export configuration for a cluster.
+//
+// ## Import
+//
+// format:
+//
+// ```sh
+// $ pulumi import cockroach:index/logExportConfig:LogExportConfig example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+// ```
type LogExportConfig struct {
pulumi.CustomResourceState
diff --git a/sdk/go/cockroach/maintenanceWindow.go b/sdk/go/cockroach/maintenanceWindow.go
index f3dd093..d4f6258 100644
--- a/sdk/go/cockroach/maintenanceWindow.go
+++ b/sdk/go/cockroach/maintenanceWindow.go
@@ -52,6 +52,14 @@ import (
// }
//
// ```
+//
+// ## Import
+//
+// format:
+//
+// ```sh
+// $ pulumi import cockroach:index/maintenanceWindow:MaintenanceWindow example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+// ```
type MaintenanceWindow struct {
pulumi.CustomResourceState
diff --git a/sdk/go/cockroach/metricExportCloudwatchConfig.go b/sdk/go/cockroach/metricExportCloudwatchConfig.go
index a9bdb02..9dc5636 100644
--- a/sdk/go/cockroach/metricExportCloudwatchConfig.go
+++ b/sdk/go/cockroach/metricExportCloudwatchConfig.go
@@ -48,6 +48,14 @@ import (
// }
//
// ```
+//
+// ## Import
+//
+// format:
+//
+// ```sh
+// $ pulumi import cockroach:index/metricExportCloudwatchConfig:MetricExportCloudwatchConfig example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+// ```
type MetricExportCloudwatchConfig struct {
pulumi.CustomResourceState
diff --git a/sdk/go/cockroach/metricExportDatadogConfig.go b/sdk/go/cockroach/metricExportDatadogConfig.go
index e6f7c54..6bb4936 100644
--- a/sdk/go/cockroach/metricExportDatadogConfig.go
+++ b/sdk/go/cockroach/metricExportDatadogConfig.go
@@ -46,6 +46,14 @@ import (
// }
//
// ```
+//
+// ## Import
+//
+// format:
+//
+// ```sh
+// $ pulumi import cockroach:index/metricExportDatadogConfig:MetricExportDatadogConfig example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+// ```
type MetricExportDatadogConfig struct {
pulumi.CustomResourceState
diff --git a/sdk/go/cockroach/metricExportPrometheusConfig.go b/sdk/go/cockroach/metricExportPrometheusConfig.go
index d1223ff..2cafc57 100644
--- a/sdk/go/cockroach/metricExportPrometheusConfig.go
+++ b/sdk/go/cockroach/metricExportPrometheusConfig.go
@@ -42,6 +42,14 @@ import (
// }
//
// ```
+//
+// ## Import
+//
+// format:
+//
+// ```sh
+// $ pulumi import cockroach:index/metricExportPrometheusConfig:MetricExportPrometheusConfig example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+// ```
type MetricExportPrometheusConfig struct {
pulumi.CustomResourceState
diff --git a/sdk/go/cockroach/provider.go b/sdk/go/cockroach/provider.go
index 72f0333..67488e0 100644
--- a/sdk/go/cockroach/provider.go
+++ b/sdk/go/cockroach/provider.go
@@ -18,7 +18,12 @@ import (
type Provider struct {
pulumi.ProviderResourceState
- // apikey to access cockroach cloud
+ // The JWT from a JWT Issuer configured for the CockroachDB Cloud Organization. In this case, the vanity name of the
+ // organization is required and can be provided using the `COCKROACH_VANITY_NAME` environment variable. If the JWT is
+ // mapped to multiple identities, the identity to impersonate should be provided using the `COCKROACH_USERNAME` environment
+ // variable, and should contain either a user email address or a service account ID.
+ Apijwt pulumi.StringPtrOutput `pulumi:"apijwt"`
+ // The API key to access CockroachDB Cloud. If this field is provided, it is used and `apijwt` is ignored.
Apikey pulumi.StringPtrOutput `pulumi:"apikey"`
}
@@ -29,10 +34,14 @@ func NewProvider(ctx *pulumi.Context,
args = &ProviderArgs{}
}
+ if args.Apijwt != nil {
+ args.Apijwt = pulumi.ToSecret(args.Apijwt).(pulumi.StringPtrInput)
+ }
if args.Apikey != nil {
args.Apikey = pulumi.ToSecret(args.Apikey).(pulumi.StringPtrInput)
}
secrets := pulumi.AdditionalSecretOutputs([]string{
+ "apijwt",
"apikey",
})
opts = append(opts, secrets)
@@ -46,13 +55,23 @@ func NewProvider(ctx *pulumi.Context,
}
type providerArgs struct {
- // apikey to access cockroach cloud
+ // The JWT from a JWT Issuer configured for the CockroachDB Cloud Organization. In this case, the vanity name of the
+ // organization is required and can be provided using the `COCKROACH_VANITY_NAME` environment variable. If the JWT is
+ // mapped to multiple identities, the identity to impersonate should be provided using the `COCKROACH_USERNAME` environment
+ // variable, and should contain either a user email address or a service account ID.
+ Apijwt *string `pulumi:"apijwt"`
+ // The API key to access CockroachDB Cloud. If this field is provided, it is used and `apijwt` is ignored.
Apikey *string `pulumi:"apikey"`
}
// The set of arguments for constructing a Provider resource.
type ProviderArgs struct {
- // apikey to access cockroach cloud
+ // The JWT from a JWT Issuer configured for the CockroachDB Cloud Organization. In this case, the vanity name of the
+ // organization is required and can be provided using the `COCKROACH_VANITY_NAME` environment variable. If the JWT is
+ // mapped to multiple identities, the identity to impersonate should be provided using the `COCKROACH_USERNAME` environment
+ // variable, and should contain either a user email address or a service account ID.
+ Apijwt pulumi.StringPtrInput
+ // The API key to access CockroachDB Cloud. If this field is provided, it is used and `apijwt` is ignored.
Apikey pulumi.StringPtrInput
}
@@ -93,7 +112,15 @@ func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) Provide
return o
}
-// apikey to access cockroach cloud
+// The JWT from a JWT Issuer configured for the CockroachDB Cloud Organization. In this case, the vanity name of the
+// organization is required and can be provided using the `COCKROACH_VANITY_NAME` environment variable. If the JWT is
+// mapped to multiple identities, the identity to impersonate should be provided using the `COCKROACH_USERNAME` environment
+// variable, and should contain either a user email address or a service account ID.
+func (o ProviderOutput) Apijwt() pulumi.StringPtrOutput {
+ return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.Apijwt }).(pulumi.StringPtrOutput)
+}
+
+// The API key to access CockroachDB Cloud. If this field is provided, it is used and `apijwt` is ignored.
func (o ProviderOutput) Apikey() pulumi.StringPtrOutput {
return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.Apikey }).(pulumi.StringPtrOutput)
}
diff --git a/sdk/go/cockroach/pulumiTypes.go b/sdk/go/cockroach/pulumiTypes.go
index b8bee2e..9f60c93 100644
--- a/sdk/go/cockroach/pulumiTypes.go
+++ b/sdk/go/cockroach/pulumiTypes.go
@@ -13,7 +13,184 @@ import (
var _ = internal.GetEnvOrDefault
+type ClusterBackupConfig struct {
+ // Indicates whether backups are enabled. If set to false, no backups will be created.
+ Enabled *bool `pulumi:"enabled"`
+ // The frequency of backups in minutes. Valid values are [5, 10, 15, 30, 60, 240, 1440]
+ FrequencyMinutes *int `pulumi:"frequencyMinutes"`
+ // The number of days to retain backups for. Valid values are [2, 7, 30, 90, 365]. Can only be set once, further changes require opening a support ticket. See Updating backup retention for more information.
+ RetentionDays *int `pulumi:"retentionDays"`
+}
+
+// ClusterBackupConfigInput is an input type that accepts ClusterBackupConfigArgs and ClusterBackupConfigOutput values.
+// You can construct a concrete instance of `ClusterBackupConfigInput` via:
+//
+// ClusterBackupConfigArgs{...}
+type ClusterBackupConfigInput interface {
+ pulumi.Input
+
+ ToClusterBackupConfigOutput() ClusterBackupConfigOutput
+ ToClusterBackupConfigOutputWithContext(context.Context) ClusterBackupConfigOutput
+}
+
+type ClusterBackupConfigArgs struct {
+ // Indicates whether backups are enabled. If set to false, no backups will be created.
+ Enabled pulumi.BoolPtrInput `pulumi:"enabled"`
+ // The frequency of backups in minutes. Valid values are [5, 10, 15, 30, 60, 240, 1440]
+ FrequencyMinutes pulumi.IntPtrInput `pulumi:"frequencyMinutes"`
+ // The number of days to retain backups for. Valid values are [2, 7, 30, 90, 365]. Can only be set once, further changes require opening a support ticket. See Updating backup retention for more information.
+ RetentionDays pulumi.IntPtrInput `pulumi:"retentionDays"`
+}
+
+func (ClusterBackupConfigArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*ClusterBackupConfig)(nil)).Elem()
+}
+
+func (i ClusterBackupConfigArgs) ToClusterBackupConfigOutput() ClusterBackupConfigOutput {
+ return i.ToClusterBackupConfigOutputWithContext(context.Background())
+}
+
+func (i ClusterBackupConfigArgs) ToClusterBackupConfigOutputWithContext(ctx context.Context) ClusterBackupConfigOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(ClusterBackupConfigOutput)
+}
+
+func (i ClusterBackupConfigArgs) ToClusterBackupConfigPtrOutput() ClusterBackupConfigPtrOutput {
+ return i.ToClusterBackupConfigPtrOutputWithContext(context.Background())
+}
+
+func (i ClusterBackupConfigArgs) ToClusterBackupConfigPtrOutputWithContext(ctx context.Context) ClusterBackupConfigPtrOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(ClusterBackupConfigOutput).ToClusterBackupConfigPtrOutputWithContext(ctx)
+}
+
+// ClusterBackupConfigPtrInput is an input type that accepts ClusterBackupConfigArgs, ClusterBackupConfigPtr and ClusterBackupConfigPtrOutput values.
+// You can construct a concrete instance of `ClusterBackupConfigPtrInput` via:
+//
+// ClusterBackupConfigArgs{...}
+//
+// or:
+//
+// nil
+type ClusterBackupConfigPtrInput interface {
+ pulumi.Input
+
+ ToClusterBackupConfigPtrOutput() ClusterBackupConfigPtrOutput
+ ToClusterBackupConfigPtrOutputWithContext(context.Context) ClusterBackupConfigPtrOutput
+}
+
+type clusterBackupConfigPtrType ClusterBackupConfigArgs
+
+func ClusterBackupConfigPtr(v *ClusterBackupConfigArgs) ClusterBackupConfigPtrInput {
+ return (*clusterBackupConfigPtrType)(v)
+}
+
+func (*clusterBackupConfigPtrType) ElementType() reflect.Type {
+ return reflect.TypeOf((**ClusterBackupConfig)(nil)).Elem()
+}
+
+func (i *clusterBackupConfigPtrType) ToClusterBackupConfigPtrOutput() ClusterBackupConfigPtrOutput {
+ return i.ToClusterBackupConfigPtrOutputWithContext(context.Background())
+}
+
+func (i *clusterBackupConfigPtrType) ToClusterBackupConfigPtrOutputWithContext(ctx context.Context) ClusterBackupConfigPtrOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(ClusterBackupConfigPtrOutput)
+}
+
+type ClusterBackupConfigOutput struct{ *pulumi.OutputState }
+
+func (ClusterBackupConfigOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*ClusterBackupConfig)(nil)).Elem()
+}
+
+func (o ClusterBackupConfigOutput) ToClusterBackupConfigOutput() ClusterBackupConfigOutput {
+ return o
+}
+
+func (o ClusterBackupConfigOutput) ToClusterBackupConfigOutputWithContext(ctx context.Context) ClusterBackupConfigOutput {
+ return o
+}
+
+func (o ClusterBackupConfigOutput) ToClusterBackupConfigPtrOutput() ClusterBackupConfigPtrOutput {
+ return o.ToClusterBackupConfigPtrOutputWithContext(context.Background())
+}
+
+func (o ClusterBackupConfigOutput) ToClusterBackupConfigPtrOutputWithContext(ctx context.Context) ClusterBackupConfigPtrOutput {
+ return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterBackupConfig) *ClusterBackupConfig {
+ return &v
+ }).(ClusterBackupConfigPtrOutput)
+}
+
+// Indicates whether backups are enabled. If set to false, no backups will be created.
+func (o ClusterBackupConfigOutput) Enabled() pulumi.BoolPtrOutput {
+ return o.ApplyT(func(v ClusterBackupConfig) *bool { return v.Enabled }).(pulumi.BoolPtrOutput)
+}
+
+// The frequency of backups in minutes. Valid values are [5, 10, 15, 30, 60, 240, 1440]
+func (o ClusterBackupConfigOutput) FrequencyMinutes() pulumi.IntPtrOutput {
+ return o.ApplyT(func(v ClusterBackupConfig) *int { return v.FrequencyMinutes }).(pulumi.IntPtrOutput)
+}
+
+// The number of days to retain backups for. Valid values are [2, 7, 30, 90, 365]. Can only be set once, further changes require opening a support ticket. See Updating backup retention for more information.
+func (o ClusterBackupConfigOutput) RetentionDays() pulumi.IntPtrOutput {
+ return o.ApplyT(func(v ClusterBackupConfig) *int { return v.RetentionDays }).(pulumi.IntPtrOutput)
+}
+
+type ClusterBackupConfigPtrOutput struct{ *pulumi.OutputState }
+
+func (ClusterBackupConfigPtrOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((**ClusterBackupConfig)(nil)).Elem()
+}
+
+func (o ClusterBackupConfigPtrOutput) ToClusterBackupConfigPtrOutput() ClusterBackupConfigPtrOutput {
+ return o
+}
+
+func (o ClusterBackupConfigPtrOutput) ToClusterBackupConfigPtrOutputWithContext(ctx context.Context) ClusterBackupConfigPtrOutput {
+ return o
+}
+
+func (o ClusterBackupConfigPtrOutput) Elem() ClusterBackupConfigOutput {
+ return o.ApplyT(func(v *ClusterBackupConfig) ClusterBackupConfig {
+ if v != nil {
+ return *v
+ }
+ var ret ClusterBackupConfig
+ return ret
+ }).(ClusterBackupConfigOutput)
+}
+
+// Indicates whether backups are enabled. If set to false, no backups will be created.
+func (o ClusterBackupConfigPtrOutput) Enabled() pulumi.BoolPtrOutput {
+ return o.ApplyT(func(v *ClusterBackupConfig) *bool {
+ if v == nil {
+ return nil
+ }
+ return v.Enabled
+ }).(pulumi.BoolPtrOutput)
+}
+
+// The frequency of backups in minutes. Valid values are [5, 10, 15, 30, 60, 240, 1440]
+func (o ClusterBackupConfigPtrOutput) FrequencyMinutes() pulumi.IntPtrOutput {
+ return o.ApplyT(func(v *ClusterBackupConfig) *int {
+ if v == nil {
+ return nil
+ }
+ return v.FrequencyMinutes
+ }).(pulumi.IntPtrOutput)
+}
+
+// The number of days to retain backups for. Valid values are [2, 7, 30, 90, 365]. Can only be set once, further changes require opening a support ticket. See Updating backup retention for more information.
+func (o ClusterBackupConfigPtrOutput) RetentionDays() pulumi.IntPtrOutput {
+ return o.ApplyT(func(v *ClusterBackupConfig) *int {
+ if v == nil {
+ return nil
+ }
+ return v.RetentionDays
+ }).(pulumi.IntPtrOutput)
+}
+
type ClusterDedicated struct {
+ // The IPv4 range in CIDR format that will be used by the cluster. This is supported only on GCP, and must have a subnet mask no larger than /19. Defaults to "172.28.0.0/14". This cannot be changed after cluster creation.
+ CidrRange *string `pulumi:"cidrRange"`
// Number of disk I/O operations per second that are permitted on each node in the cluster. Zero indicates the cloud provider-specific default.
DiskIops *int `pulumi:"diskIops"`
// Machine type identifier within the given cloud provider, e.g., m6.xlarge, n2-standard-4.
@@ -40,6 +217,8 @@ type ClusterDedicatedInput interface {
}
type ClusterDedicatedArgs struct {
+ // The IPv4 range in CIDR format that will be used by the cluster. This is supported only on GCP, and must have a subnet mask no larger than /19. Defaults to "172.28.0.0/14". This cannot be changed after cluster creation.
+ CidrRange pulumi.StringPtrInput `pulumi:"cidrRange"`
// Number of disk I/O operations per second that are permitted on each node in the cluster. Zero indicates the cloud provider-specific default.
DiskIops pulumi.IntPtrInput `pulumi:"diskIops"`
// Machine type identifier within the given cloud provider, e.g., m6.xlarge, n2-standard-4.
@@ -131,6 +310,11 @@ func (o ClusterDedicatedOutput) ToClusterDedicatedPtrOutputWithContext(ctx conte
}).(ClusterDedicatedPtrOutput)
}
+// The IPv4 range in CIDR format that will be used by the cluster. This is supported only on GCP, and must have a subnet mask no larger than /19. Defaults to "172.28.0.0/14". This cannot be changed after cluster creation.
+func (o ClusterDedicatedOutput) CidrRange() pulumi.StringPtrOutput {
+ return o.ApplyT(func(v ClusterDedicated) *string { return v.CidrRange }).(pulumi.StringPtrOutput)
+}
+
// Number of disk I/O operations per second that are permitted on each node in the cluster. Zero indicates the cloud provider-specific default.
func (o ClusterDedicatedOutput) DiskIops() pulumi.IntPtrOutput {
return o.ApplyT(func(v ClusterDedicated) *int { return v.DiskIops }).(pulumi.IntPtrOutput)
@@ -185,6 +369,16 @@ func (o ClusterDedicatedPtrOutput) Elem() ClusterDedicatedOutput {
}).(ClusterDedicatedOutput)
}
+// The IPv4 range in CIDR format that will be used by the cluster. This is supported only on GCP, and must have a subnet mask no larger than /19. Defaults to "172.28.0.0/14". This cannot be changed after cluster creation.
+func (o ClusterDedicatedPtrOutput) CidrRange() pulumi.StringPtrOutput {
+ return o.ApplyT(func(v *ClusterDedicated) *string {
+ if v == nil {
+ return nil
+ }
+ return v.CidrRange
+ }).(pulumi.StringPtrOutput)
+}
+
// Number of disk I/O operations per second that are permitted on each node in the cluster. Zero indicates the cloud provider-specific default.
func (o ClusterDedicatedPtrOutput) DiskIops() pulumi.IntPtrOutput {
return o.ApplyT(func(v *ClusterDedicated) *int {
@@ -2393,7 +2587,79 @@ func (o UserRoleGrantsRoleArrayOutput) Index(i pulumi.IntInput) UserRoleGrantsRo
}).(UserRoleGrantsRoleOutput)
}
+type GetCockroachClusterBackupConfig struct {
+ // Indicates whether backups are enabled.
+ Enabled bool `pulumi:"enabled"`
+ // The frequency of backups in minutes.
+ FrequencyMinutes int `pulumi:"frequencyMinutes"`
+ // The number of days to retain backups for.
+ RetentionDays int `pulumi:"retentionDays"`
+}
+
+// GetCockroachClusterBackupConfigInput is an input type that accepts GetCockroachClusterBackupConfigArgs and GetCockroachClusterBackupConfigOutput values.
+// You can construct a concrete instance of `GetCockroachClusterBackupConfigInput` via:
+//
+// GetCockroachClusterBackupConfigArgs{...}
+type GetCockroachClusterBackupConfigInput interface {
+ pulumi.Input
+
+ ToGetCockroachClusterBackupConfigOutput() GetCockroachClusterBackupConfigOutput
+ ToGetCockroachClusterBackupConfigOutputWithContext(context.Context) GetCockroachClusterBackupConfigOutput
+}
+
+type GetCockroachClusterBackupConfigArgs struct {
+ // Indicates whether backups are enabled.
+ Enabled pulumi.BoolInput `pulumi:"enabled"`
+ // The frequency of backups in minutes.
+ FrequencyMinutes pulumi.IntInput `pulumi:"frequencyMinutes"`
+ // The number of days to retain backups for.
+ RetentionDays pulumi.IntInput `pulumi:"retentionDays"`
+}
+
+func (GetCockroachClusterBackupConfigArgs) ElementType() reflect.Type {
+ return reflect.TypeOf((*GetCockroachClusterBackupConfig)(nil)).Elem()
+}
+
+func (i GetCockroachClusterBackupConfigArgs) ToGetCockroachClusterBackupConfigOutput() GetCockroachClusterBackupConfigOutput {
+ return i.ToGetCockroachClusterBackupConfigOutputWithContext(context.Background())
+}
+
+func (i GetCockroachClusterBackupConfigArgs) ToGetCockroachClusterBackupConfigOutputWithContext(ctx context.Context) GetCockroachClusterBackupConfigOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(GetCockroachClusterBackupConfigOutput)
+}
+
+type GetCockroachClusterBackupConfigOutput struct{ *pulumi.OutputState }
+
+func (GetCockroachClusterBackupConfigOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*GetCockroachClusterBackupConfig)(nil)).Elem()
+}
+
+func (o GetCockroachClusterBackupConfigOutput) ToGetCockroachClusterBackupConfigOutput() GetCockroachClusterBackupConfigOutput {
+ return o
+}
+
+func (o GetCockroachClusterBackupConfigOutput) ToGetCockroachClusterBackupConfigOutputWithContext(ctx context.Context) GetCockroachClusterBackupConfigOutput {
+ return o
+}
+
+// Indicates whether backups are enabled.
+func (o GetCockroachClusterBackupConfigOutput) Enabled() pulumi.BoolOutput {
+ return o.ApplyT(func(v GetCockroachClusterBackupConfig) bool { return v.Enabled }).(pulumi.BoolOutput)
+}
+
+// The frequency of backups in minutes.
+func (o GetCockroachClusterBackupConfigOutput) FrequencyMinutes() pulumi.IntOutput {
+ return o.ApplyT(func(v GetCockroachClusterBackupConfig) int { return v.FrequencyMinutes }).(pulumi.IntOutput)
+}
+
+// The number of days to retain backups for.
+func (o GetCockroachClusterBackupConfigOutput) RetentionDays() pulumi.IntOutput {
+ return o.ApplyT(func(v GetCockroachClusterBackupConfig) int { return v.RetentionDays }).(pulumi.IntOutput)
+}
+
type GetCockroachClusterDedicated struct {
+ // The IPv4 range in CIDR format that is in use by the cluster. It is only set on GCP clusters and is otherwise empty.
+ CidrRange string `pulumi:"cidrRange"`
// Number of disk I/O operations per second that are permitted on each node in the cluster. Zero indicates the cloud provider-specific default.
DiskIops int `pulumi:"diskIops"`
// Machine type identifier within the given cloud provider, ex. m6.xlarge, n2-standard-4.
@@ -2420,6 +2686,8 @@ type GetCockroachClusterDedicatedInput interface {
}
type GetCockroachClusterDedicatedArgs struct {
+ // The IPv4 range in CIDR format that is in use by the cluster. It is only set on GCP clusters and is otherwise empty.
+ CidrRange pulumi.StringInput `pulumi:"cidrRange"`
// Number of disk I/O operations per second that are permitted on each node in the cluster. Zero indicates the cloud provider-specific default.
DiskIops pulumi.IntInput `pulumi:"diskIops"`
// Machine type identifier within the given cloud provider, ex. m6.xlarge, n2-standard-4.
@@ -2460,6 +2728,11 @@ func (o GetCockroachClusterDedicatedOutput) ToGetCockroachClusterDedicatedOutput
return o
}
+// The IPv4 range in CIDR format that is in use by the cluster. It is only set on GCP clusters and is otherwise empty.
+func (o GetCockroachClusterDedicatedOutput) CidrRange() pulumi.StringOutput {
+ return o.ApplyT(func(v GetCockroachClusterDedicated) string { return v.CidrRange }).(pulumi.StringOutput)
+}
+
// Number of disk I/O operations per second that are permitted on each node in the cluster. Zero indicates the cloud provider-specific default.
func (o GetCockroachClusterDedicatedOutput) DiskIops() pulumi.IntOutput {
return o.ApplyT(func(v GetCockroachClusterDedicated) int { return v.DiskIops }).(pulumi.IntOutput)
@@ -2873,6 +3146,8 @@ func (o GetConnectionStringConnectionParamsOutput) Username() pulumi.StringOutpu
}
func init() {
+ pulumi.RegisterInputType(reflect.TypeOf((*ClusterBackupConfigInput)(nil)).Elem(), ClusterBackupConfigArgs{})
+ pulumi.RegisterInputType(reflect.TypeOf((*ClusterBackupConfigPtrInput)(nil)).Elem(), ClusterBackupConfigArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*ClusterDedicatedInput)(nil)).Elem(), ClusterDedicatedArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*ClusterDedicatedPtrInput)(nil)).Elem(), ClusterDedicatedArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*ClusterRegionInput)(nil)).Elem(), ClusterRegionArgs{})
@@ -2902,12 +3177,15 @@ func init() {
pulumi.RegisterInputType(reflect.TypeOf((*UserRoleGrantRolePtrInput)(nil)).Elem(), UserRoleGrantRoleArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*UserRoleGrantsRoleInput)(nil)).Elem(), UserRoleGrantsRoleArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*UserRoleGrantsRoleArrayInput)(nil)).Elem(), UserRoleGrantsRoleArray{})
+ pulumi.RegisterInputType(reflect.TypeOf((*GetCockroachClusterBackupConfigInput)(nil)).Elem(), GetCockroachClusterBackupConfigArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*GetCockroachClusterDedicatedInput)(nil)).Elem(), GetCockroachClusterDedicatedArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*GetCockroachClusterRegionInput)(nil)).Elem(), GetCockroachClusterRegionArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*GetCockroachClusterRegionArrayInput)(nil)).Elem(), GetCockroachClusterRegionArray{})
pulumi.RegisterInputType(reflect.TypeOf((*GetCockroachClusterServerlessInput)(nil)).Elem(), GetCockroachClusterServerlessArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*GetCockroachClusterServerlessUsageLimitsInput)(nil)).Elem(), GetCockroachClusterServerlessUsageLimitsArgs{})
pulumi.RegisterInputType(reflect.TypeOf((*GetConnectionStringConnectionParamsInput)(nil)).Elem(), GetConnectionStringConnectionParamsArgs{})
+ pulumi.RegisterOutputType(ClusterBackupConfigOutput{})
+ pulumi.RegisterOutputType(ClusterBackupConfigPtrOutput{})
pulumi.RegisterOutputType(ClusterDedicatedOutput{})
pulumi.RegisterOutputType(ClusterDedicatedPtrOutput{})
pulumi.RegisterOutputType(ClusterRegionOutput{})
@@ -2937,6 +3215,7 @@ func init() {
pulumi.RegisterOutputType(UserRoleGrantRolePtrOutput{})
pulumi.RegisterOutputType(UserRoleGrantsRoleOutput{})
pulumi.RegisterOutputType(UserRoleGrantsRoleArrayOutput{})
+ pulumi.RegisterOutputType(GetCockroachClusterBackupConfigOutput{})
pulumi.RegisterOutputType(GetCockroachClusterDedicatedOutput{})
pulumi.RegisterOutputType(GetCockroachClusterRegionOutput{})
pulumi.RegisterOutputType(GetCockroachClusterRegionArrayOutput{})
diff --git a/sdk/go/cockroach/versionDeferral.go b/sdk/go/cockroach/versionDeferral.go
index 6687cde..6b4ae46 100644
--- a/sdk/go/cockroach/versionDeferral.go
+++ b/sdk/go/cockroach/versionDeferral.go
@@ -47,6 +47,14 @@ import (
// }
//
// ```
+//
+// ## Import
+//
+// format:
+//
+// ```sh
+// $ pulumi import cockroach:index/versionDeferral:VersionDeferral example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+// ```
type VersionDeferral struct {
pulumi.CustomResourceState
diff --git a/sdk/nodejs/caCert.ts b/sdk/nodejs/caCert.ts
index 4934e58..96cc932 100644
--- a/sdk/nodejs/caCert.ts
+++ b/sdk/nodejs/caCert.ts
@@ -21,6 +21,14 @@ import * as utilities from "./utilities";
* x509PemCert: clientCertificate,
* });
* ```
+ *
+ * ## Import
+ *
+ * format:
+ *
+ * ```sh
+ * $ pulumi import cockroach:index/caCert:CaCert prod 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ * ```
*/
export class CaCert extends pulumi.CustomResource {
/**
diff --git a/sdk/nodejs/cluster.ts b/sdk/nodejs/cluster.ts
index f401c1f..70390ac 100644
--- a/sdk/nodejs/cluster.ts
+++ b/sdk/nodejs/cluster.ts
@@ -8,6 +8,14 @@ import * as utilities from "./utilities";
/**
* CockroachDB Cloud cluster.
+ *
+ * ## Import
+ *
+ * format:
+ *
+ * ```sh
+ * $ pulumi import cockroach:index/cluster:Cluster my_cluster 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ * ```
*/
export class Cluster extends pulumi.CustomResource {
/**
@@ -41,6 +49,11 @@ export class Cluster extends pulumi.CustomResource {
* The cloud provider account ID that hosts the cluster. Needed for CMEK and other advanced features.
*/
public /*out*/ readonly accountId!: pulumi.Output;
+ /**
+ * The backup settings for a cluster. Each cluster has backup settings that determine if backups are enabled, how
+ * frequently they are taken, and how long they are retained for. Use this attribute to manage those settings.
+ */
+ public readonly backupConfig!: pulumi.Output;
/**
* Cloud provider used to host the cluster. Allowed values are: * GCP * AWS * AZURE
*/
@@ -100,6 +113,7 @@ export class Cluster extends pulumi.CustomResource {
if (opts.id) {
const state = argsOrState as ClusterState | undefined;
resourceInputs["accountId"] = state ? state.accountId : undefined;
+ resourceInputs["backupConfig"] = state ? state.backupConfig : undefined;
resourceInputs["cloudProvider"] = state ? state.cloudProvider : undefined;
resourceInputs["cockroachVersion"] = state ? state.cockroachVersion : undefined;
resourceInputs["creatorId"] = state ? state.creatorId : undefined;
@@ -121,6 +135,7 @@ export class Cluster extends pulumi.CustomResource {
if ((!args || args.regions === undefined) && !opts.urn) {
throw new Error("Missing required property 'regions'");
}
+ resourceInputs["backupConfig"] = args ? args.backupConfig : undefined;
resourceInputs["cloudProvider"] = args ? args.cloudProvider : undefined;
resourceInputs["cockroachVersion"] = args ? args.cockroachVersion : undefined;
resourceInputs["dedicated"] = args ? args.dedicated : undefined;
@@ -149,6 +164,11 @@ export interface ClusterState {
* The cloud provider account ID that hosts the cluster. Needed for CMEK and other advanced features.
*/
accountId?: pulumi.Input;
+ /**
+ * The backup settings for a cluster. Each cluster has backup settings that determine if backups are enabled, how
+ * frequently they are taken, and how long they are retained for. Use this attribute to manage those settings.
+ */
+ backupConfig?: pulumi.Input;
/**
* Cloud provider used to host the cluster. Allowed values are: * GCP * AWS * AZURE
*/
@@ -199,6 +219,11 @@ export interface ClusterState {
* The set of arguments for constructing a Cluster resource.
*/
export interface ClusterArgs {
+ /**
+ * The backup settings for a cluster. Each cluster has backup settings that determine if backups are enabled, how
+ * frequently they are taken, and how long they are retained for. Use this attribute to manage those settings.
+ */
+ backupConfig?: pulumi.Input;
/**
* Cloud provider used to host the cluster. Allowed values are: * GCP * AWS * AZURE
*/
diff --git a/sdk/nodejs/cmek.ts b/sdk/nodejs/cmek.ts
index b4cb586..b2c76fa 100644
--- a/sdk/nodejs/cmek.ts
+++ b/sdk/nodejs/cmek.ts
@@ -15,8 +15,8 @@ import * as utilities from "./utilities";
* import * as pulumi from "@pulumi/pulumi";
* import * as cockroach from "@pulumiverse/cockroach";
*
- * const dedicated = new cockroach.Cmek("dedicated", {
- * clusterId: dedicatedCockroachCluster.id,
+ * const advanced = new cockroach.Cmek("advanced", {
+ * clusterId: advancedCockroachCluster.id,
* regions: [{
* region: "us-central-1",
* key: {
@@ -27,6 +27,14 @@ import * as utilities from "./utilities";
* }],
* });
* ```
+ *
+ * ## Import
+ *
+ * format:
+ *
+ * ```sh
+ * $ pulumi import cockroach:index/cmek:Cmek advanced 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ * ```
*/
export class Cmek extends pulumi.CustomResource {
/**
diff --git a/sdk/nodejs/config/vars.ts b/sdk/nodejs/config/vars.ts
index f57e703..a53f9b7 100644
--- a/sdk/nodejs/config/vars.ts
+++ b/sdk/nodejs/config/vars.ts
@@ -8,7 +8,21 @@ declare var exports: any;
const __config = new pulumi.Config("cockroach");
/**
- * apikey to access cockroach cloud
+ * The JWT from a JWT Issuer configured for the CockroachDB Cloud Organization. In this case, the vanity name of the
+ * organization is required and can be provided using the `COCKROACH_VANITY_NAME` environment variable. If the JWT is
+ * mapped to multiple identities, the identity to impersonate should be provided using the `COCKROACH_USERNAME` environment
+ * variable, and should contain either a user email address or a service account ID.
+ */
+export declare const apijwt: string | undefined;
+Object.defineProperty(exports, "apijwt", {
+ get() {
+ return __config.get("apijwt");
+ },
+ enumerable: true,
+});
+
+/**
+ * The API key to access CockroachDB Cloud. If this field is provided, it is used and `apijwt` is ignored.
*/
export declare const apikey: string | undefined;
Object.defineProperty(exports, "apikey", {
diff --git a/sdk/nodejs/folder.ts b/sdk/nodejs/folder.ts
index b1319b0..8f4e026 100644
--- a/sdk/nodejs/folder.ts
+++ b/sdk/nodejs/folder.ts
@@ -22,6 +22,14 @@ import * as utilities from "./utilities";
* parentId: aTeam.id,
* });
* ```
+ *
+ * ## Import
+ *
+ * format:
+ *
+ * ```sh
+ * $ pulumi import cockroach:index/folder:Folder my_folder 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ * ```
*/
export class Folder extends pulumi.CustomResource {
/**
diff --git a/sdk/nodejs/getCockroachCluster.ts b/sdk/nodejs/getCockroachCluster.ts
index f9f839a..47cfd56 100644
--- a/sdk/nodejs/getCockroachCluster.ts
+++ b/sdk/nodejs/getCockroachCluster.ts
@@ -41,6 +41,7 @@ export interface GetCockroachClusterArgs {
*/
export interface GetCockroachClusterResult {
readonly accountId: string;
+ readonly backupConfig: outputs.GetCockroachClusterBackupConfig;
readonly cloudProvider: string;
readonly cockroachVersion: string;
readonly creatorId: string;
diff --git a/sdk/nodejs/jwtIssuer.ts b/sdk/nodejs/jwtIssuer.ts
index ed33513..0fbb69c 100644
--- a/sdk/nodejs/jwtIssuer.ts
+++ b/sdk/nodejs/jwtIssuer.ts
@@ -8,6 +8,20 @@ import * as utilities from "./utilities";
/**
* Configuration to manage external JSON Web Token (JWT) Issuers for authentication to the CockroachDB Cloud API.
+ *
+ * ## Import
+ *
+ * JWT Issuer ID can be found by running a GET against the Cockroach Cloud API to
+ *
+ * list all existing JWT issuers.
+ *
+ * https://www.cockroachlabs.com/docs/api/cloud/v1#get-/api/v1/jwt-issuers
+ *
+ * format:
+ *
+ * ```sh
+ * $ pulumi import cockroach:index/jwtIssuer:JwtIssuer my_issuer 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ * ```
*/
export class JwtIssuer extends pulumi.CustomResource {
/**
diff --git a/sdk/nodejs/logExportConfig.ts b/sdk/nodejs/logExportConfig.ts
index ccb7ab5..49ab4f5 100644
--- a/sdk/nodejs/logExportConfig.ts
+++ b/sdk/nodejs/logExportConfig.ts
@@ -8,6 +8,14 @@ import * as utilities from "./utilities";
/**
* Log Export configuration for a cluster.
+ *
+ * ## Import
+ *
+ * format:
+ *
+ * ```sh
+ * $ pulumi import cockroach:index/logExportConfig:LogExportConfig example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ * ```
*/
export class LogExportConfig extends pulumi.CustomResource {
/**
diff --git a/sdk/nodejs/maintenanceWindow.ts b/sdk/nodejs/maintenanceWindow.ts
index e06e844..15053ee 100644
--- a/sdk/nodejs/maintenanceWindow.ts
+++ b/sdk/nodejs/maintenanceWindow.ts
@@ -23,6 +23,14 @@ import * as utilities from "./utilities";
* windowDuration: windowDuration,
* });
* ```
+ *
+ * ## Import
+ *
+ * format:
+ *
+ * ```sh
+ * $ pulumi import cockroach:index/maintenanceWindow:MaintenanceWindow example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ * ```
*/
export class MaintenanceWindow extends pulumi.CustomResource {
/**
diff --git a/sdk/nodejs/metricExportCloudwatchConfig.ts b/sdk/nodejs/metricExportCloudwatchConfig.ts
index 3a3e833..5474270 100644
--- a/sdk/nodejs/metricExportCloudwatchConfig.ts
+++ b/sdk/nodejs/metricExportCloudwatchConfig.ts
@@ -25,6 +25,14 @@ import * as utilities from "./utilities";
* targetRegion: awsRegion,
* });
* ```
+ *
+ * ## Import
+ *
+ * format:
+ *
+ * ```sh
+ * $ pulumi import cockroach:index/metricExportCloudwatchConfig:MetricExportCloudwatchConfig example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ * ```
*/
export class MetricExportCloudwatchConfig extends pulumi.CustomResource {
/**
diff --git a/sdk/nodejs/metricExportDatadogConfig.ts b/sdk/nodejs/metricExportDatadogConfig.ts
index 737b3eb..3ae6959 100644
--- a/sdk/nodejs/metricExportDatadogConfig.ts
+++ b/sdk/nodejs/metricExportDatadogConfig.ts
@@ -23,6 +23,14 @@ import * as utilities from "./utilities";
* apiKey: datadogApiKey,
* });
* ```
+ *
+ * ## Import
+ *
+ * format:
+ *
+ * ```sh
+ * $ pulumi import cockroach:index/metricExportDatadogConfig:MetricExportDatadogConfig example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ * ```
*/
export class MetricExportDatadogConfig extends pulumi.CustomResource {
/**
diff --git a/sdk/nodejs/metricExportPrometheusConfig.ts b/sdk/nodejs/metricExportPrometheusConfig.ts
index daf4779..3407218 100644
--- a/sdk/nodejs/metricExportPrometheusConfig.ts
+++ b/sdk/nodejs/metricExportPrometheusConfig.ts
@@ -17,6 +17,14 @@ import * as utilities from "./utilities";
* const clusterId = config.require("clusterId");
* const example = new cockroach.MetricExportPrometheusConfig("example", {clusterId: clusterId});
* ```
+ *
+ * ## Import
+ *
+ * format:
+ *
+ * ```sh
+ * $ pulumi import cockroach:index/metricExportPrometheusConfig:MetricExportPrometheusConfig example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ * ```
*/
export class MetricExportPrometheusConfig extends pulumi.CustomResource {
/**
diff --git a/sdk/nodejs/provider.ts b/sdk/nodejs/provider.ts
index 97734c0..7c76991 100644
--- a/sdk/nodejs/provider.ts
+++ b/sdk/nodejs/provider.ts
@@ -26,7 +26,14 @@ export class Provider extends pulumi.ProviderResource {
}
/**
- * apikey to access cockroach cloud
+ * The JWT from a JWT Issuer configured for the CockroachDB Cloud Organization. In this case, the vanity name of the
+ * organization is required and can be provided using the `COCKROACH_VANITY_NAME` environment variable. If the JWT is
+ * mapped to multiple identities, the identity to impersonate should be provided using the `COCKROACH_USERNAME` environment
+ * variable, and should contain either a user email address or a service account ID.
+ */
+ public readonly apijwt!: pulumi.Output;
+ /**
+ * The API key to access CockroachDB Cloud. If this field is provided, it is used and `apijwt` is ignored.
*/
public readonly apikey!: pulumi.Output;
@@ -41,10 +48,11 @@ export class Provider extends pulumi.ProviderResource {
let resourceInputs: pulumi.Inputs = {};
opts = opts || {};
{
+ resourceInputs["apijwt"] = args?.apijwt ? pulumi.secret(args.apijwt) : undefined;
resourceInputs["apikey"] = args?.apikey ? pulumi.secret(args.apikey) : undefined;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
- const secretOpts = { additionalSecretOutputs: ["apikey"] };
+ const secretOpts = { additionalSecretOutputs: ["apijwt", "apikey"] };
opts = pulumi.mergeOptions(opts, secretOpts);
super(Provider.__pulumiType, name, resourceInputs, opts);
}
@@ -55,7 +63,14 @@ export class Provider extends pulumi.ProviderResource {
*/
export interface ProviderArgs {
/**
- * apikey to access cockroach cloud
+ * The JWT from a JWT Issuer configured for the CockroachDB Cloud Organization. In this case, the vanity name of the
+ * organization is required and can be provided using the `COCKROACH_VANITY_NAME` environment variable. If the JWT is
+ * mapped to multiple identities, the identity to impersonate should be provided using the `COCKROACH_USERNAME` environment
+ * variable, and should contain either a user email address or a service account ID.
+ */
+ apijwt?: pulumi.Input;
+ /**
+ * The API key to access CockroachDB Cloud. If this field is provided, it is used and `apijwt` is ignored.
*/
apikey?: pulumi.Input;
}
diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts
index 4c7e19a..9c933fb 100644
--- a/sdk/nodejs/types/input.ts
+++ b/sdk/nodejs/types/input.ts
@@ -5,7 +5,26 @@ import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
+export interface ClusterBackupConfig {
+ /**
+ * Indicates whether backups are enabled. If set to false, no backups will be created.
+ */
+ enabled?: pulumi.Input;
+ /**
+ * The frequency of backups in minutes. Valid values are [5, 10, 15, 30, 60, 240, 1440]
+ */
+ frequencyMinutes?: pulumi.Input;
+ /**
+ * The number of days to retain backups for. Valid values are [2, 7, 30, 90, 365]. Can only be set once, further changes require opening a support ticket. See Updating backup retention for more information.
+ */
+ retentionDays?: pulumi.Input;
+}
+
export interface ClusterDedicated {
+ /**
+ * The IPv4 range in CIDR format that will be used by the cluster. This is supported only on GCP, and must have a subnet mask no larger than /19. Defaults to "172.28.0.0/14". This cannot be changed after cluster creation.
+ */
+ cidrRange?: pulumi.Input;
/**
* Number of disk I/O operations per second that are permitted on each node in the cluster. Zero indicates the cloud provider-specific default.
*/
diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts
index a8dba20..664c7f0 100644
--- a/sdk/nodejs/types/output.ts
+++ b/sdk/nodejs/types/output.ts
@@ -5,7 +5,26 @@ import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
+export interface ClusterBackupConfig {
+ /**
+ * Indicates whether backups are enabled. If set to false, no backups will be created.
+ */
+ enabled: boolean;
+ /**
+ * The frequency of backups in minutes. Valid values are [5, 10, 15, 30, 60, 240, 1440]
+ */
+ frequencyMinutes: number;
+ /**
+ * The number of days to retain backups for. Valid values are [2, 7, 30, 90, 365]. Can only be set once, further changes require opening a support ticket. See Updating backup retention for more information.
+ */
+ retentionDays: number;
+}
+
export interface ClusterDedicated {
+ /**
+ * The IPv4 range in CIDR format that will be used by the cluster. This is supported only on GCP, and must have a subnet mask no larger than /19. Defaults to "172.28.0.0/14". This cannot be changed after cluster creation.
+ */
+ cidrRange: string;
/**
* Number of disk I/O operations per second that are permitted on each node in the cluster. Zero indicates the cloud provider-specific default.
*/
@@ -167,7 +186,26 @@ export interface CmekRegionKey {
userMessage: string;
}
+export interface GetCockroachClusterBackupConfig {
+ /**
+ * Indicates whether backups are enabled.
+ */
+ enabled: boolean;
+ /**
+ * The frequency of backups in minutes.
+ */
+ frequencyMinutes: number;
+ /**
+ * The number of days to retain backups for.
+ */
+ retentionDays: number;
+}
+
export interface GetCockroachClusterDedicated {
+ /**
+ * The IPv4 range in CIDR format that is in use by the cluster. It is only set on GCP clusters and is otherwise empty.
+ */
+ cidrRange: string;
/**
* Number of disk I/O operations per second that are permitted on each node in the cluster. Zero indicates the cloud provider-specific default.
*/
diff --git a/sdk/nodejs/versionDeferral.ts b/sdk/nodejs/versionDeferral.ts
index f325256..2584de4 100644
--- a/sdk/nodejs/versionDeferral.ts
+++ b/sdk/nodejs/versionDeferral.ts
@@ -21,6 +21,14 @@ import * as utilities from "./utilities";
* deferralPolicy: offsetDuration,
* });
* ```
+ *
+ * ## Import
+ *
+ * format:
+ *
+ * ```sh
+ * $ pulumi import cockroach:index/versionDeferral:VersionDeferral example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ * ```
*/
export class VersionDeferral extends pulumi.CustomResource {
/**
diff --git a/sdk/python/pulumiverse_cockroach/_inputs.py b/sdk/python/pulumiverse_cockroach/_inputs.py
index d4008b8..ce5aba6 100644
--- a/sdk/python/pulumiverse_cockroach/_inputs.py
+++ b/sdk/python/pulumiverse_cockroach/_inputs.py
@@ -15,6 +15,8 @@
from . import _utilities
__all__ = [
+ 'ClusterBackupConfigArgs',
+ 'ClusterBackupConfigArgsDict',
'ClusterDedicatedArgs',
'ClusterDedicatedArgsDict',
'ClusterRegionArgs',
@@ -49,8 +51,84 @@
MYPY = False
+if not MYPY:
+ class ClusterBackupConfigArgsDict(TypedDict):
+ enabled: NotRequired[pulumi.Input[bool]]
+ """
+ Indicates whether backups are enabled. If set to false, no backups will be created.
+ """
+ frequency_minutes: NotRequired[pulumi.Input[int]]
+ """
+ The frequency of backups in minutes. Valid values are [5, 10, 15, 30, 60, 240, 1440]
+ """
+ retention_days: NotRequired[pulumi.Input[int]]
+ """
+ The number of days to retain backups for. Valid values are [2, 7, 30, 90, 365]. Can only be set once, further changes require opening a support ticket. See Updating backup retention for more information.
+ """
+elif False:
+ ClusterBackupConfigArgsDict: TypeAlias = Mapping[str, Any]
+
+@pulumi.input_type
+class ClusterBackupConfigArgs:
+ def __init__(__self__, *,
+ enabled: Optional[pulumi.Input[bool]] = None,
+ frequency_minutes: Optional[pulumi.Input[int]] = None,
+ retention_days: Optional[pulumi.Input[int]] = None):
+ """
+ :param pulumi.Input[bool] enabled: Indicates whether backups are enabled. If set to false, no backups will be created.
+ :param pulumi.Input[int] frequency_minutes: The frequency of backups in minutes. Valid values are [5, 10, 15, 30, 60, 240, 1440]
+ :param pulumi.Input[int] retention_days: The number of days to retain backups for. Valid values are [2, 7, 30, 90, 365]. Can only be set once, further changes require opening a support ticket. See Updating backup retention for more information.
+ """
+ if enabled is not None:
+ pulumi.set(__self__, "enabled", enabled)
+ if frequency_minutes is not None:
+ pulumi.set(__self__, "frequency_minutes", frequency_minutes)
+ if retention_days is not None:
+ pulumi.set(__self__, "retention_days", retention_days)
+
+ @property
+ @pulumi.getter
+ def enabled(self) -> Optional[pulumi.Input[bool]]:
+ """
+ Indicates whether backups are enabled. If set to false, no backups will be created.
+ """
+ return pulumi.get(self, "enabled")
+
+ @enabled.setter
+ def enabled(self, value: Optional[pulumi.Input[bool]]):
+ pulumi.set(self, "enabled", value)
+
+ @property
+ @pulumi.getter(name="frequencyMinutes")
+ def frequency_minutes(self) -> Optional[pulumi.Input[int]]:
+ """
+ The frequency of backups in minutes. Valid values are [5, 10, 15, 30, 60, 240, 1440]
+ """
+ return pulumi.get(self, "frequency_minutes")
+
+ @frequency_minutes.setter
+ def frequency_minutes(self, value: Optional[pulumi.Input[int]]):
+ pulumi.set(self, "frequency_minutes", value)
+
+ @property
+ @pulumi.getter(name="retentionDays")
+ def retention_days(self) -> Optional[pulumi.Input[int]]:
+ """
+ The number of days to retain backups for. Valid values are [2, 7, 30, 90, 365]. Can only be set once, further changes require opening a support ticket. See Updating backup retention for more information.
+ """
+ return pulumi.get(self, "retention_days")
+
+ @retention_days.setter
+ def retention_days(self, value: Optional[pulumi.Input[int]]):
+ pulumi.set(self, "retention_days", value)
+
+
if not MYPY:
class ClusterDedicatedArgsDict(TypedDict):
+ cidr_range: NotRequired[pulumi.Input[str]]
+ """
+ The IPv4 range in CIDR format that will be used by the cluster. This is supported only on GCP, and must have a subnet mask no larger than /19. Defaults to "172.28.0.0/14". This cannot be changed after cluster creation.
+ """
disk_iops: NotRequired[pulumi.Input[int]]
"""
Number of disk I/O operations per second that are permitted on each node in the cluster. Zero indicates the cloud provider-specific default.
@@ -81,6 +159,7 @@ class ClusterDedicatedArgsDict(TypedDict):
@pulumi.input_type
class ClusterDedicatedArgs:
def __init__(__self__, *,
+ cidr_range: Optional[pulumi.Input[str]] = None,
disk_iops: Optional[pulumi.Input[int]] = None,
machine_type: Optional[pulumi.Input[str]] = None,
memory_gib: Optional[pulumi.Input[float]] = None,
@@ -88,6 +167,7 @@ def __init__(__self__, *,
private_network_visibility: Optional[pulumi.Input[bool]] = None,
storage_gib: Optional[pulumi.Input[int]] = None):
"""
+ :param pulumi.Input[str] cidr_range: The IPv4 range in CIDR format that will be used by the cluster. This is supported only on GCP, and must have a subnet mask no larger than /19. Defaults to "172.28.0.0/14". This cannot be changed after cluster creation.
:param pulumi.Input[int] disk_iops: Number of disk I/O operations per second that are permitted on each node in the cluster. Zero indicates the cloud provider-specific default.
:param pulumi.Input[str] machine_type: Machine type identifier within the given cloud provider, e.g., m6.xlarge, n2-standard-4.
:param pulumi.Input[float] memory_gib: Memory per node in GiB.
@@ -95,6 +175,8 @@ def __init__(__self__, *,
:param pulumi.Input[bool] private_network_visibility: Set to true to assign private IP addresses to nodes. Required for CMEK and other advanced networking features. Clusters created with this flag will have advanced security features enabled. This cannot be changed after cluster creation and incurs additional charges. See [Create an Advanced Cluster](https://www.cockroachlabs.com/docs/cockroachcloud/create-an-advanced-cluster.html#step-6-configure-advanced-security-features) and [Pricing](https://www.cockroachlabs.com/pricing/) for more information.
:param pulumi.Input[int] storage_gib: Storage amount per node in GiB.
"""
+ if cidr_range is not None:
+ pulumi.set(__self__, "cidr_range", cidr_range)
if disk_iops is not None:
pulumi.set(__self__, "disk_iops", disk_iops)
if machine_type is not None:
@@ -108,6 +190,18 @@ def __init__(__self__, *,
if storage_gib is not None:
pulumi.set(__self__, "storage_gib", storage_gib)
+ @property
+ @pulumi.getter(name="cidrRange")
+ def cidr_range(self) -> Optional[pulumi.Input[str]]:
+ """
+ The IPv4 range in CIDR format that will be used by the cluster. This is supported only on GCP, and must have a subnet mask no larger than /19. Defaults to "172.28.0.0/14". This cannot be changed after cluster creation.
+ """
+ return pulumi.get(self, "cidr_range")
+
+ @cidr_range.setter
+ def cidr_range(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "cidr_range", value)
+
@property
@pulumi.getter(name="diskIops")
def disk_iops(self) -> Optional[pulumi.Input[int]]:
diff --git a/sdk/python/pulumiverse_cockroach/ca_cert.py b/sdk/python/pulumiverse_cockroach/ca_cert.py
index 457c7fe..381e6b0 100644
--- a/sdk/python/pulumiverse_cockroach/ca_cert.py
+++ b/sdk/python/pulumiverse_cockroach/ca_cert.py
@@ -135,6 +135,14 @@ def __init__(__self__,
x509_pem_cert=client_certificate)
```
+ ## Import
+
+ format:
+
+ ```sh
+ $ pulumi import cockroach:index/caCert:CaCert prod 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ ```
+
:param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource.
:param pulumi.Input[str] cluster_id: Cluster ID.
@@ -163,6 +171,14 @@ def __init__(__self__,
x509_pem_cert=client_certificate)
```
+ ## Import
+
+ format:
+
+ ```sh
+ $ pulumi import cockroach:index/caCert:CaCert prod 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ ```
+
:param str resource_name: The name of the resource.
:param CaCertArgs args: The arguments to use to populate this resource's properties.
:param pulumi.ResourceOptions opts: Options for the resource.
diff --git a/sdk/python/pulumiverse_cockroach/cluster.py b/sdk/python/pulumiverse_cockroach/cluster.py
index c7c6ecf..1e088ab 100644
--- a/sdk/python/pulumiverse_cockroach/cluster.py
+++ b/sdk/python/pulumiverse_cockroach/cluster.py
@@ -23,6 +23,7 @@ class ClusterArgs:
def __init__(__self__, *,
cloud_provider: pulumi.Input[str],
regions: pulumi.Input[Sequence[pulumi.Input['ClusterRegionArgs']]],
+ backup_config: Optional[pulumi.Input['ClusterBackupConfigArgs']] = None,
cockroach_version: Optional[pulumi.Input[str]] = None,
dedicated: Optional[pulumi.Input['ClusterDedicatedArgs']] = None,
delete_protection: Optional[pulumi.Input[bool]] = None,
@@ -33,6 +34,8 @@ def __init__(__self__, *,
"""
The set of arguments for constructing a Cluster resource.
:param pulumi.Input[str] cloud_provider: Cloud provider used to host the cluster. Allowed values are: * GCP * AWS * AZURE
+ :param pulumi.Input['ClusterBackupConfigArgs'] backup_config: The backup settings for a cluster. Each cluster has backup settings that determine if backups are enabled, how
+ frequently they are taken, and how long they are retained for. Use this attribute to manage those settings.
:param pulumi.Input[str] cockroach_version: Major version of CockroachDB running on the cluster.
:param pulumi.Input[bool] delete_protection: Set to true to enable delete protection on the cluster. If unset, the server chooses the value on cluster creation, and
preserves the value on cluster update.
@@ -42,6 +45,8 @@ def __init__(__self__, *,
"""
pulumi.set(__self__, "cloud_provider", cloud_provider)
pulumi.set(__self__, "regions", regions)
+ if backup_config is not None:
+ pulumi.set(__self__, "backup_config", backup_config)
if cockroach_version is not None:
pulumi.set(__self__, "cockroach_version", cockroach_version)
if dedicated is not None:
@@ -78,6 +83,19 @@ def regions(self) -> pulumi.Input[Sequence[pulumi.Input['ClusterRegionArgs']]]:
def regions(self, value: pulumi.Input[Sequence[pulumi.Input['ClusterRegionArgs']]]):
pulumi.set(self, "regions", value)
+ @property
+ @pulumi.getter(name="backupConfig")
+ def backup_config(self) -> Optional[pulumi.Input['ClusterBackupConfigArgs']]:
+ """
+ The backup settings for a cluster. Each cluster has backup settings that determine if backups are enabled, how
+ frequently they are taken, and how long they are retained for. Use this attribute to manage those settings.
+ """
+ return pulumi.get(self, "backup_config")
+
+ @backup_config.setter
+ def backup_config(self, value: Optional[pulumi.Input['ClusterBackupConfigArgs']]):
+ pulumi.set(self, "backup_config", value)
+
@property
@pulumi.getter(name="cockroachVersion")
def cockroach_version(self) -> Optional[pulumi.Input[str]]:
@@ -162,6 +180,7 @@ def serverless(self, value: Optional[pulumi.Input['ClusterServerlessArgs']]):
class _ClusterState:
def __init__(__self__, *,
account_id: Optional[pulumi.Input[str]] = None,
+ backup_config: Optional[pulumi.Input['ClusterBackupConfigArgs']] = None,
cloud_provider: Optional[pulumi.Input[str]] = None,
cockroach_version: Optional[pulumi.Input[str]] = None,
creator_id: Optional[pulumi.Input[str]] = None,
@@ -178,6 +197,8 @@ def __init__(__self__, *,
"""
Input properties used for looking up and filtering Cluster resources.
:param pulumi.Input[str] account_id: The cloud provider account ID that hosts the cluster. Needed for CMEK and other advanced features.
+ :param pulumi.Input['ClusterBackupConfigArgs'] backup_config: The backup settings for a cluster. Each cluster has backup settings that determine if backups are enabled, how
+ frequently they are taken, and how long they are retained for. Use this attribute to manage those settings.
:param pulumi.Input[str] cloud_provider: Cloud provider used to host the cluster. Allowed values are: * GCP * AWS * AZURE
:param pulumi.Input[str] cockroach_version: Major version of CockroachDB running on the cluster.
:param pulumi.Input[str] creator_id: ID of the user who created the cluster.
@@ -192,6 +213,8 @@ def __init__(__self__, *,
"""
if account_id is not None:
pulumi.set(__self__, "account_id", account_id)
+ if backup_config is not None:
+ pulumi.set(__self__, "backup_config", backup_config)
if cloud_provider is not None:
pulumi.set(__self__, "cloud_provider", cloud_provider)
if cockroach_version is not None:
@@ -231,6 +254,19 @@ def account_id(self) -> Optional[pulumi.Input[str]]:
def account_id(self, value: Optional[pulumi.Input[str]]):
pulumi.set(self, "account_id", value)
+ @property
+ @pulumi.getter(name="backupConfig")
+ def backup_config(self) -> Optional[pulumi.Input['ClusterBackupConfigArgs']]:
+ """
+ The backup settings for a cluster. Each cluster has backup settings that determine if backups are enabled, how
+ frequently they are taken, and how long they are retained for. Use this attribute to manage those settings.
+ """
+ return pulumi.get(self, "backup_config")
+
+ @backup_config.setter
+ def backup_config(self, value: Optional[pulumi.Input['ClusterBackupConfigArgs']]):
+ pulumi.set(self, "backup_config", value)
+
@property
@pulumi.getter(name="cloudProvider")
def cloud_provider(self) -> Optional[pulumi.Input[str]]:
@@ -385,6 +421,7 @@ class Cluster(pulumi.CustomResource):
def __init__(__self__,
resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None,
+ backup_config: Optional[pulumi.Input[Union['ClusterBackupConfigArgs', 'ClusterBackupConfigArgsDict']]] = None,
cloud_provider: Optional[pulumi.Input[str]] = None,
cockroach_version: Optional[pulumi.Input[str]] = None,
dedicated: Optional[pulumi.Input[Union['ClusterDedicatedArgs', 'ClusterDedicatedArgsDict']]] = None,
@@ -398,8 +435,18 @@ def __init__(__self__,
"""
CockroachDB Cloud cluster.
+ ## Import
+
+ format:
+
+ ```sh
+ $ pulumi import cockroach:index/cluster:Cluster my_cluster 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ ```
+
:param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource.
+ :param pulumi.Input[Union['ClusterBackupConfigArgs', 'ClusterBackupConfigArgsDict']] backup_config: The backup settings for a cluster. Each cluster has backup settings that determine if backups are enabled, how
+ frequently they are taken, and how long they are retained for. Use this attribute to manage those settings.
:param pulumi.Input[str] cloud_provider: Cloud provider used to host the cluster. Allowed values are: * GCP * AWS * AZURE
:param pulumi.Input[str] cockroach_version: Major version of CockroachDB running on the cluster.
:param pulumi.Input[bool] delete_protection: Set to true to enable delete protection on the cluster. If unset, the server chooses the value on cluster creation, and
@@ -417,6 +464,14 @@ def __init__(__self__,
"""
CockroachDB Cloud cluster.
+ ## Import
+
+ format:
+
+ ```sh
+ $ pulumi import cockroach:index/cluster:Cluster my_cluster 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ ```
+
:param str resource_name: The name of the resource.
:param ClusterArgs args: The arguments to use to populate this resource's properties.
:param pulumi.ResourceOptions opts: Options for the resource.
@@ -432,6 +487,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs):
def _internal_init(__self__,
resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None,
+ backup_config: Optional[pulumi.Input[Union['ClusterBackupConfigArgs', 'ClusterBackupConfigArgsDict']]] = None,
cloud_provider: Optional[pulumi.Input[str]] = None,
cockroach_version: Optional[pulumi.Input[str]] = None,
dedicated: Optional[pulumi.Input[Union['ClusterDedicatedArgs', 'ClusterDedicatedArgsDict']]] = None,
@@ -450,6 +506,7 @@ def _internal_init(__self__,
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
__props__ = ClusterArgs.__new__(ClusterArgs)
+ __props__.__dict__["backup_config"] = backup_config
if cloud_provider is None and not opts.urn:
raise TypeError("Missing required property 'cloud_provider'")
__props__.__dict__["cloud_provider"] = cloud_provider
@@ -479,6 +536,7 @@ def get(resource_name: str,
id: pulumi.Input[str],
opts: Optional[pulumi.ResourceOptions] = None,
account_id: Optional[pulumi.Input[str]] = None,
+ backup_config: Optional[pulumi.Input[Union['ClusterBackupConfigArgs', 'ClusterBackupConfigArgsDict']]] = None,
cloud_provider: Optional[pulumi.Input[str]] = None,
cockroach_version: Optional[pulumi.Input[str]] = None,
creator_id: Optional[pulumi.Input[str]] = None,
@@ -500,6 +558,8 @@ def get(resource_name: str,
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
:param pulumi.ResourceOptions opts: Options for the resource.
:param pulumi.Input[str] account_id: The cloud provider account ID that hosts the cluster. Needed for CMEK and other advanced features.
+ :param pulumi.Input[Union['ClusterBackupConfigArgs', 'ClusterBackupConfigArgsDict']] backup_config: The backup settings for a cluster. Each cluster has backup settings that determine if backups are enabled, how
+ frequently they are taken, and how long they are retained for. Use this attribute to manage those settings.
:param pulumi.Input[str] cloud_provider: Cloud provider used to host the cluster. Allowed values are: * GCP * AWS * AZURE
:param pulumi.Input[str] cockroach_version: Major version of CockroachDB running on the cluster.
:param pulumi.Input[str] creator_id: ID of the user who created the cluster.
@@ -517,6 +577,7 @@ def get(resource_name: str,
__props__ = _ClusterState.__new__(_ClusterState)
__props__.__dict__["account_id"] = account_id
+ __props__.__dict__["backup_config"] = backup_config
__props__.__dict__["cloud_provider"] = cloud_provider
__props__.__dict__["cockroach_version"] = cockroach_version
__props__.__dict__["creator_id"] = creator_id
@@ -540,6 +601,15 @@ def account_id(self) -> pulumi.Output[str]:
"""
return pulumi.get(self, "account_id")
+ @property
+ @pulumi.getter(name="backupConfig")
+ def backup_config(self) -> pulumi.Output['outputs.ClusterBackupConfig']:
+ """
+ The backup settings for a cluster. Each cluster has backup settings that determine if backups are enabled, how
+ frequently they are taken, and how long they are retained for. Use this attribute to manage those settings.
+ """
+ return pulumi.get(self, "backup_config")
+
@property
@pulumi.getter(name="cloudProvider")
def cloud_provider(self) -> pulumi.Output[str]:
diff --git a/sdk/python/pulumiverse_cockroach/cmek.py b/sdk/python/pulumiverse_cockroach/cmek.py
index 8daff47..829854c 100644
--- a/sdk/python/pulumiverse_cockroach/cmek.py
+++ b/sdk/python/pulumiverse_cockroach/cmek.py
@@ -175,8 +175,8 @@ def __init__(__self__,
import pulumi
import pulumiverse_cockroach as cockroach
- dedicated = cockroach.Cmek("dedicated",
- cluster_id=dedicated_cockroach_cluster["id"],
+ advanced = cockroach.Cmek("advanced",
+ cluster_id=advanced_cockroach_cluster["id"],
regions=[{
"region": "us-central-1",
"key": {
@@ -187,6 +187,14 @@ def __init__(__self__,
}])
```
+ ## Import
+
+ format:
+
+ ```sh
+ $ pulumi import cockroach:index/cmek:Cmek advanced 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ ```
+
:param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource.
:param pulumi.Input[Sequence[pulumi.Input[Union['CmekAdditionalRegionArgs', 'CmekAdditionalRegionArgsDict']]]] additional_regions: Once CMEK is enabled for a cluster, no new regions can be added to the cluster resource, since they need encryption key
@@ -209,8 +217,8 @@ def __init__(__self__,
import pulumi
import pulumiverse_cockroach as cockroach
- dedicated = cockroach.Cmek("dedicated",
- cluster_id=dedicated_cockroach_cluster["id"],
+ advanced = cockroach.Cmek("advanced",
+ cluster_id=advanced_cockroach_cluster["id"],
regions=[{
"region": "us-central-1",
"key": {
@@ -221,6 +229,14 @@ def __init__(__self__,
}])
```
+ ## Import
+
+ format:
+
+ ```sh
+ $ pulumi import cockroach:index/cmek:Cmek advanced 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ ```
+
:param str resource_name: The name of the resource.
:param CmekArgs args: The arguments to use to populate this resource's properties.
:param pulumi.ResourceOptions opts: Options for the resource.
diff --git a/sdk/python/pulumiverse_cockroach/config/__init__.pyi b/sdk/python/pulumiverse_cockroach/config/__init__.pyi
index b51e58b..48acdd2 100644
--- a/sdk/python/pulumiverse_cockroach/config/__init__.pyi
+++ b/sdk/python/pulumiverse_cockroach/config/__init__.pyi
@@ -14,8 +14,16 @@ else:
from typing_extensions import NotRequired, TypedDict, TypeAlias
from .. import _utilities
+apijwt: Optional[str]
+"""
+The JWT from a JWT Issuer configured for the CockroachDB Cloud Organization. In this case, the vanity name of the
+organization is required and can be provided using the `COCKROACH_VANITY_NAME` environment variable. If the JWT is
+mapped to multiple identities, the identity to impersonate should be provided using the `COCKROACH_USERNAME` environment
+variable, and should contain either a user email address or a service account ID.
+"""
+
apikey: Optional[str]
"""
-apikey to access cockroach cloud
+The API key to access CockroachDB Cloud. If this field is provided, it is used and `apijwt` is ignored.
"""
diff --git a/sdk/python/pulumiverse_cockroach/config/vars.py b/sdk/python/pulumiverse_cockroach/config/vars.py
index 91ba775..62fbf79 100644
--- a/sdk/python/pulumiverse_cockroach/config/vars.py
+++ b/sdk/python/pulumiverse_cockroach/config/vars.py
@@ -20,10 +20,20 @@
class _ExportableConfig(types.ModuleType):
+ @property
+ def apijwt(self) -> Optional[str]:
+ """
+ The JWT from a JWT Issuer configured for the CockroachDB Cloud Organization. In this case, the vanity name of the
+ organization is required and can be provided using the `COCKROACH_VANITY_NAME` environment variable. If the JWT is
+ mapped to multiple identities, the identity to impersonate should be provided using the `COCKROACH_USERNAME` environment
+ variable, and should contain either a user email address or a service account ID.
+ """
+ return __config__.get('apijwt')
+
@property
def apikey(self) -> Optional[str]:
"""
- apikey to access cockroach cloud
+ The API key to access CockroachDB Cloud. If this field is provided, it is used and `apijwt` is ignored.
"""
return __config__.get('apikey')
diff --git a/sdk/python/pulumiverse_cockroach/folder.py b/sdk/python/pulumiverse_cockroach/folder.py
index 02aa860..d9ccd39 100644
--- a/sdk/python/pulumiverse_cockroach/folder.py
+++ b/sdk/python/pulumiverse_cockroach/folder.py
@@ -120,6 +120,14 @@ def __init__(__self__,
parent_id=a_team.id)
```
+ ## Import
+
+ format:
+
+ ```sh
+ $ pulumi import cockroach:index/folder:Folder my_folder 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ ```
+
:param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource.
:param pulumi.Input[str] name: Name of the folder.
@@ -148,6 +156,14 @@ def __init__(__self__,
parent_id=a_team.id)
```
+ ## Import
+
+ format:
+
+ ```sh
+ $ pulumi import cockroach:index/folder:Folder my_folder 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ ```
+
:param str resource_name: The name of the resource.
:param FolderArgs args: The arguments to use to populate this resource's properties.
:param pulumi.ResourceOptions opts: Options for the resource.
diff --git a/sdk/python/pulumiverse_cockroach/get_cockroach_cluster.py b/sdk/python/pulumiverse_cockroach/get_cockroach_cluster.py
index f8a89f6..856dd11 100644
--- a/sdk/python/pulumiverse_cockroach/get_cockroach_cluster.py
+++ b/sdk/python/pulumiverse_cockroach/get_cockroach_cluster.py
@@ -27,10 +27,13 @@ class GetCockroachClusterResult:
"""
A collection of values returned by getCockroachCluster.
"""
- def __init__(__self__, account_id=None, cloud_provider=None, cockroach_version=None, creator_id=None, dedicated=None, delete_protection=None, id=None, name=None, operation_status=None, parent_id=None, plan=None, regions=None, serverless=None, state=None, upgrade_status=None):
+ def __init__(__self__, account_id=None, backup_config=None, cloud_provider=None, cockroach_version=None, creator_id=None, dedicated=None, delete_protection=None, id=None, name=None, operation_status=None, parent_id=None, plan=None, regions=None, serverless=None, state=None, upgrade_status=None):
if account_id and not isinstance(account_id, str):
raise TypeError("Expected argument 'account_id' to be a str")
pulumi.set(__self__, "account_id", account_id)
+ if backup_config and not isinstance(backup_config, dict):
+ raise TypeError("Expected argument 'backup_config' to be a dict")
+ pulumi.set(__self__, "backup_config", backup_config)
if cloud_provider and not isinstance(cloud_provider, str):
raise TypeError("Expected argument 'cloud_provider' to be a str")
pulumi.set(__self__, "cloud_provider", cloud_provider)
@@ -79,6 +82,11 @@ def __init__(__self__, account_id=None, cloud_provider=None, cockroach_version=N
def account_id(self) -> str:
return pulumi.get(self, "account_id")
+ @property
+ @pulumi.getter(name="backupConfig")
+ def backup_config(self) -> 'outputs.GetCockroachClusterBackupConfigResult':
+ return pulumi.get(self, "backup_config")
+
@property
@pulumi.getter(name="cloudProvider")
def cloud_provider(self) -> str:
@@ -157,6 +165,7 @@ def __await__(self):
yield self
return GetCockroachClusterResult(
account_id=self.account_id,
+ backup_config=self.backup_config,
cloud_provider=self.cloud_provider,
cockroach_version=self.cockroach_version,
creator_id=self.creator_id,
@@ -196,6 +205,7 @@ def get_cockroach_cluster(id: Optional[str] = None,
return AwaitableGetCockroachClusterResult(
account_id=pulumi.get(__ret__, 'account_id'),
+ backup_config=pulumi.get(__ret__, 'backup_config'),
cloud_provider=pulumi.get(__ret__, 'cloud_provider'),
cockroach_version=pulumi.get(__ret__, 'cockroach_version'),
creator_id=pulumi.get(__ret__, 'creator_id'),
@@ -232,6 +242,7 @@ def get_cockroach_cluster_output(id: Optional[pulumi.Input[str]] = None,
__ret__ = pulumi.runtime.invoke_output('cockroach:index/getCockroachCluster:getCockroachCluster', __args__, opts=opts, typ=GetCockroachClusterResult)
return __ret__.apply(lambda __response__: GetCockroachClusterResult(
account_id=pulumi.get(__response__, 'account_id'),
+ backup_config=pulumi.get(__response__, 'backup_config'),
cloud_provider=pulumi.get(__response__, 'cloud_provider'),
cockroach_version=pulumi.get(__response__, 'cockroach_version'),
creator_id=pulumi.get(__response__, 'creator_id'),
diff --git a/sdk/python/pulumiverse_cockroach/jwt_issuer.py b/sdk/python/pulumiverse_cockroach/jwt_issuer.py
index 92dc2ef..3c2a7d7 100644
--- a/sdk/python/pulumiverse_cockroach/jwt_issuer.py
+++ b/sdk/python/pulumiverse_cockroach/jwt_issuer.py
@@ -206,6 +206,20 @@ def __init__(__self__,
"""
Configuration to manage external JSON Web Token (JWT) Issuers for authentication to the CockroachDB Cloud API.
+ ## Import
+
+ JWT Issuer ID can be found by running a GET against the Cockroach Cloud API to
+
+ list all existing JWT issuers.
+
+ https://www.cockroachlabs.com/docs/api/cloud/v1#get-/api/v1/jwt-issuers
+
+ format:
+
+ ```sh
+ $ pulumi import cockroach:index/jwtIssuer:JwtIssuer my_issuer 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ ```
+
:param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource.
:param pulumi.Input[str] audience: The intended audience for consuming the JWT.
@@ -223,6 +237,20 @@ def __init__(__self__,
"""
Configuration to manage external JSON Web Token (JWT) Issuers for authentication to the CockroachDB Cloud API.
+ ## Import
+
+ JWT Issuer ID can be found by running a GET against the Cockroach Cloud API to
+
+ list all existing JWT issuers.
+
+ https://www.cockroachlabs.com/docs/api/cloud/v1#get-/api/v1/jwt-issuers
+
+ format:
+
+ ```sh
+ $ pulumi import cockroach:index/jwtIssuer:JwtIssuer my_issuer 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ ```
+
:param str resource_name: The name of the resource.
:param JwtIssuerArgs args: The arguments to use to populate this resource's properties.
:param pulumi.ResourceOptions opts: Options for the resource.
diff --git a/sdk/python/pulumiverse_cockroach/log_export_config.py b/sdk/python/pulumiverse_cockroach/log_export_config.py
index d207614..da4e1c8 100644
--- a/sdk/python/pulumiverse_cockroach/log_export_config.py
+++ b/sdk/python/pulumiverse_cockroach/log_export_config.py
@@ -369,6 +369,14 @@ def __init__(__self__,
"""
Log Export configuration for a cluster.
+ ## Import
+
+ format:
+
+ ```sh
+ $ pulumi import cockroach:index/logExportConfig:LogExportConfig example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ ```
+
:param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource.
:param pulumi.Input[str] auth_principal: Either the AWS Role ARN that identifies a role that the cluster account can assume to write to CloudWatch or the GCP
@@ -390,6 +398,14 @@ def __init__(__self__,
"""
Log Export configuration for a cluster.
+ ## Import
+
+ format:
+
+ ```sh
+ $ pulumi import cockroach:index/logExportConfig:LogExportConfig example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ ```
+
:param str resource_name: The name of the resource.
:param LogExportConfigArgs args: The arguments to use to populate this resource's properties.
:param pulumi.ResourceOptions opts: Options for the resource.
diff --git a/sdk/python/pulumiverse_cockroach/maintenance_window.py b/sdk/python/pulumiverse_cockroach/maintenance_window.py
index eccf6ae..54b1e1a 100644
--- a/sdk/python/pulumiverse_cockroach/maintenance_window.py
+++ b/sdk/python/pulumiverse_cockroach/maintenance_window.py
@@ -157,6 +157,14 @@ def __init__(__self__,
window_duration=window_duration)
```
+ ## Import
+
+ format:
+
+ ```sh
+ $ pulumi import cockroach:index/maintenanceWindow:MaintenanceWindow example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ ```
+
:param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource.
:param pulumi.Input[str] cluster_id: Cluster ID.
@@ -192,6 +200,14 @@ def __init__(__self__,
window_duration=window_duration)
```
+ ## Import
+
+ format:
+
+ ```sh
+ $ pulumi import cockroach:index/maintenanceWindow:MaintenanceWindow example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ ```
+
:param str resource_name: The name of the resource.
:param MaintenanceWindowArgs args: The arguments to use to populate this resource's properties.
:param pulumi.ResourceOptions opts: Options for the resource.
diff --git a/sdk/python/pulumiverse_cockroach/metric_export_cloudwatch_config.py b/sdk/python/pulumiverse_cockroach/metric_export_cloudwatch_config.py
index 8b323ac..a851e30 100644
--- a/sdk/python/pulumiverse_cockroach/metric_export_cloudwatch_config.py
+++ b/sdk/python/pulumiverse_cockroach/metric_export_cloudwatch_config.py
@@ -221,6 +221,14 @@ def __init__(__self__,
target_region=aws_region)
```
+ ## Import
+
+ format:
+
+ ```sh
+ $ pulumi import cockroach:index/metricExportCloudwatchConfig:MetricExportCloudwatchConfig example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ ```
+
:param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource.
:param pulumi.Input[str] cluster_id: Cluster ID.
@@ -255,6 +263,14 @@ def __init__(__self__,
target_region=aws_region)
```
+ ## Import
+
+ format:
+
+ ```sh
+ $ pulumi import cockroach:index/metricExportCloudwatchConfig:MetricExportCloudwatchConfig example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ ```
+
:param str resource_name: The name of the resource.
:param MetricExportCloudwatchConfigArgs args: The arguments to use to populate this resource's properties.
:param pulumi.ResourceOptions opts: Options for the resource.
diff --git a/sdk/python/pulumiverse_cockroach/metric_export_datadog_config.py b/sdk/python/pulumiverse_cockroach/metric_export_datadog_config.py
index d9bdc65..d3eaac2 100644
--- a/sdk/python/pulumiverse_cockroach/metric_export_datadog_config.py
+++ b/sdk/python/pulumiverse_cockroach/metric_export_datadog_config.py
@@ -185,6 +185,14 @@ def __init__(__self__,
api_key=datadog_api_key)
```
+ ## Import
+
+ format:
+
+ ```sh
+ $ pulumi import cockroach:index/metricExportDatadogConfig:MetricExportDatadogConfig example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ ```
+
:param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource.
:param pulumi.Input[str] api_key: A Datadog API key.
@@ -216,6 +224,14 @@ def __init__(__self__,
api_key=datadog_api_key)
```
+ ## Import
+
+ format:
+
+ ```sh
+ $ pulumi import cockroach:index/metricExportDatadogConfig:MetricExportDatadogConfig example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ ```
+
:param str resource_name: The name of the resource.
:param MetricExportDatadogConfigArgs args: The arguments to use to populate this resource's properties.
:param pulumi.ResourceOptions opts: Options for the resource.
diff --git a/sdk/python/pulumiverse_cockroach/metric_export_prometheus_config.py b/sdk/python/pulumiverse_cockroach/metric_export_prometheus_config.py
index dbc91e0..9cf622f 100644
--- a/sdk/python/pulumiverse_cockroach/metric_export_prometheus_config.py
+++ b/sdk/python/pulumiverse_cockroach/metric_export_prometheus_config.py
@@ -112,6 +112,14 @@ def __init__(__self__,
example = cockroach.MetricExportPrometheusConfig("example", cluster_id=cluster_id)
```
+ ## Import
+
+ format:
+
+ ```sh
+ $ pulumi import cockroach:index/metricExportPrometheusConfig:MetricExportPrometheusConfig example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ ```
+
:param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource.
:param pulumi.Input[str] cluster_id: Cluster ID.
@@ -136,6 +144,14 @@ def __init__(__self__,
example = cockroach.MetricExportPrometheusConfig("example", cluster_id=cluster_id)
```
+ ## Import
+
+ format:
+
+ ```sh
+ $ pulumi import cockroach:index/metricExportPrometheusConfig:MetricExportPrometheusConfig example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ ```
+
:param str resource_name: The name of the resource.
:param MetricExportPrometheusConfigArgs args: The arguments to use to populate this resource's properties.
:param pulumi.ResourceOptions opts: Options for the resource.
diff --git a/sdk/python/pulumiverse_cockroach/outputs.py b/sdk/python/pulumiverse_cockroach/outputs.py
index ad0327f..2109405 100644
--- a/sdk/python/pulumiverse_cockroach/outputs.py
+++ b/sdk/python/pulumiverse_cockroach/outputs.py
@@ -16,6 +16,7 @@
from . import outputs
__all__ = [
+ 'ClusterBackupConfig',
'ClusterDedicated',
'ClusterRegion',
'ClusterServerless',
@@ -31,6 +32,7 @@
'PrivateEndpointServicesServicesMapAws',
'UserRoleGrantRole',
'UserRoleGrantsRole',
+ 'GetCockroachClusterBackupConfigResult',
'GetCockroachClusterDedicatedResult',
'GetCockroachClusterRegionResult',
'GetCockroachClusterServerlessResult',
@@ -38,12 +40,76 @@
'GetConnectionStringConnectionParamsResult',
]
+@pulumi.output_type
+class ClusterBackupConfig(dict):
+ @staticmethod
+ def __key_warning(key: str):
+ suggest = None
+ if key == "frequencyMinutes":
+ suggest = "frequency_minutes"
+ elif key == "retentionDays":
+ suggest = "retention_days"
+
+ if suggest:
+ pulumi.log.warn(f"Key '{key}' not found in ClusterBackupConfig. Access the value via the '{suggest}' property getter instead.")
+
+ def __getitem__(self, key: str) -> Any:
+ ClusterBackupConfig.__key_warning(key)
+ return super().__getitem__(key)
+
+ def get(self, key: str, default = None) -> Any:
+ ClusterBackupConfig.__key_warning(key)
+ return super().get(key, default)
+
+ def __init__(__self__, *,
+ enabled: Optional[bool] = None,
+ frequency_minutes: Optional[int] = None,
+ retention_days: Optional[int] = None):
+ """
+ :param bool enabled: Indicates whether backups are enabled. If set to false, no backups will be created.
+ :param int frequency_minutes: The frequency of backups in minutes. Valid values are [5, 10, 15, 30, 60, 240, 1440]
+ :param int retention_days: The number of days to retain backups for. Valid values are [2, 7, 30, 90, 365]. Can only be set once, further changes require opening a support ticket. See Updating backup retention for more information.
+ """
+ if enabled is not None:
+ pulumi.set(__self__, "enabled", enabled)
+ if frequency_minutes is not None:
+ pulumi.set(__self__, "frequency_minutes", frequency_minutes)
+ if retention_days is not None:
+ pulumi.set(__self__, "retention_days", retention_days)
+
+ @property
+ @pulumi.getter
+ def enabled(self) -> Optional[bool]:
+ """
+ Indicates whether backups are enabled. If set to false, no backups will be created.
+ """
+ return pulumi.get(self, "enabled")
+
+ @property
+ @pulumi.getter(name="frequencyMinutes")
+ def frequency_minutes(self) -> Optional[int]:
+ """
+ The frequency of backups in minutes. Valid values are [5, 10, 15, 30, 60, 240, 1440]
+ """
+ return pulumi.get(self, "frequency_minutes")
+
+ @property
+ @pulumi.getter(name="retentionDays")
+ def retention_days(self) -> Optional[int]:
+ """
+ The number of days to retain backups for. Valid values are [2, 7, 30, 90, 365]. Can only be set once, further changes require opening a support ticket. See Updating backup retention for more information.
+ """
+ return pulumi.get(self, "retention_days")
+
+
@pulumi.output_type
class ClusterDedicated(dict):
@staticmethod
def __key_warning(key: str):
suggest = None
- if key == "diskIops":
+ if key == "cidrRange":
+ suggest = "cidr_range"
+ elif key == "diskIops":
suggest = "disk_iops"
elif key == "machineType":
suggest = "machine_type"
@@ -68,6 +134,7 @@ def get(self, key: str, default = None) -> Any:
return super().get(key, default)
def __init__(__self__, *,
+ cidr_range: Optional[str] = None,
disk_iops: Optional[int] = None,
machine_type: Optional[str] = None,
memory_gib: Optional[float] = None,
@@ -75,6 +142,7 @@ def __init__(__self__, *,
private_network_visibility: Optional[bool] = None,
storage_gib: Optional[int] = None):
"""
+ :param str cidr_range: The IPv4 range in CIDR format that will be used by the cluster. This is supported only on GCP, and must have a subnet mask no larger than /19. Defaults to "172.28.0.0/14". This cannot be changed after cluster creation.
:param int disk_iops: Number of disk I/O operations per second that are permitted on each node in the cluster. Zero indicates the cloud provider-specific default.
:param str machine_type: Machine type identifier within the given cloud provider, e.g., m6.xlarge, n2-standard-4.
:param float memory_gib: Memory per node in GiB.
@@ -82,6 +150,8 @@ def __init__(__self__, *,
:param bool private_network_visibility: Set to true to assign private IP addresses to nodes. Required for CMEK and other advanced networking features. Clusters created with this flag will have advanced security features enabled. This cannot be changed after cluster creation and incurs additional charges. See [Create an Advanced Cluster](https://www.cockroachlabs.com/docs/cockroachcloud/create-an-advanced-cluster.html#step-6-configure-advanced-security-features) and [Pricing](https://www.cockroachlabs.com/pricing/) for more information.
:param int storage_gib: Storage amount per node in GiB.
"""
+ if cidr_range is not None:
+ pulumi.set(__self__, "cidr_range", cidr_range)
if disk_iops is not None:
pulumi.set(__self__, "disk_iops", disk_iops)
if machine_type is not None:
@@ -95,6 +165,14 @@ def __init__(__self__, *,
if storage_gib is not None:
pulumi.set(__self__, "storage_gib", storage_gib)
+ @property
+ @pulumi.getter(name="cidrRange")
+ def cidr_range(self) -> Optional[str]:
+ """
+ The IPv4 range in CIDR format that will be used by the cluster. This is supported only on GCP, and must have a subnet mask no larger than /19. Defaults to "172.28.0.0/14". This cannot be changed after cluster creation.
+ """
+ return pulumi.get(self, "cidr_range")
+
@property
@pulumi.getter(name="diskIops")
def disk_iops(self) -> Optional[int]:
@@ -1285,9 +1363,50 @@ def resource_id(self) -> Optional[str]:
return pulumi.get(self, "resource_id")
+@pulumi.output_type
+class GetCockroachClusterBackupConfigResult(dict):
+ def __init__(__self__, *,
+ enabled: bool,
+ frequency_minutes: int,
+ retention_days: int):
+ """
+ :param bool enabled: Indicates whether backups are enabled.
+ :param int frequency_minutes: The frequency of backups in minutes.
+ :param int retention_days: The number of days to retain backups for.
+ """
+ pulumi.set(__self__, "enabled", enabled)
+ pulumi.set(__self__, "frequency_minutes", frequency_minutes)
+ pulumi.set(__self__, "retention_days", retention_days)
+
+ @property
+ @pulumi.getter
+ def enabled(self) -> bool:
+ """
+ Indicates whether backups are enabled.
+ """
+ return pulumi.get(self, "enabled")
+
+ @property
+ @pulumi.getter(name="frequencyMinutes")
+ def frequency_minutes(self) -> int:
+ """
+ The frequency of backups in minutes.
+ """
+ return pulumi.get(self, "frequency_minutes")
+
+ @property
+ @pulumi.getter(name="retentionDays")
+ def retention_days(self) -> int:
+ """
+ The number of days to retain backups for.
+ """
+ return pulumi.get(self, "retention_days")
+
+
@pulumi.output_type
class GetCockroachClusterDedicatedResult(dict):
def __init__(__self__, *,
+ cidr_range: str,
disk_iops: int,
machine_type: str,
memory_gib: float,
@@ -1295,6 +1414,7 @@ def __init__(__self__, *,
private_network_visibility: bool,
storage_gib: int):
"""
+ :param str cidr_range: The IPv4 range in CIDR format that is in use by the cluster. It is only set on GCP clusters and is otherwise empty.
:param int disk_iops: Number of disk I/O operations per second that are permitted on each node in the cluster. Zero indicates the cloud provider-specific default.
:param str machine_type: Machine type identifier within the given cloud provider, ex. m6.xlarge, n2-standard-4.
:param float memory_gib: Memory per node in GiB.
@@ -1302,6 +1422,7 @@ def __init__(__self__, *,
:param bool private_network_visibility: Indicates whether private IP addresses are assigned to nodes. Required for CMEK and other advanced networking features.
:param int storage_gib: Storage amount per node in GiB.
"""
+ pulumi.set(__self__, "cidr_range", cidr_range)
pulumi.set(__self__, "disk_iops", disk_iops)
pulumi.set(__self__, "machine_type", machine_type)
pulumi.set(__self__, "memory_gib", memory_gib)
@@ -1309,6 +1430,14 @@ def __init__(__self__, *,
pulumi.set(__self__, "private_network_visibility", private_network_visibility)
pulumi.set(__self__, "storage_gib", storage_gib)
+ @property
+ @pulumi.getter(name="cidrRange")
+ def cidr_range(self) -> str:
+ """
+ The IPv4 range in CIDR format that is in use by the cluster. It is only set on GCP clusters and is otherwise empty.
+ """
+ return pulumi.get(self, "cidr_range")
+
@property
@pulumi.getter(name="diskIops")
def disk_iops(self) -> int:
diff --git a/sdk/python/pulumiverse_cockroach/provider.py b/sdk/python/pulumiverse_cockroach/provider.py
index e20eda1..29884c0 100644
--- a/sdk/python/pulumiverse_cockroach/provider.py
+++ b/sdk/python/pulumiverse_cockroach/provider.py
@@ -19,19 +19,41 @@
@pulumi.input_type
class ProviderArgs:
def __init__(__self__, *,
+ apijwt: Optional[pulumi.Input[str]] = None,
apikey: Optional[pulumi.Input[str]] = None):
"""
The set of arguments for constructing a Provider resource.
- :param pulumi.Input[str] apikey: apikey to access cockroach cloud
+ :param pulumi.Input[str] apijwt: The JWT from a JWT Issuer configured for the CockroachDB Cloud Organization. In this case, the vanity name of the
+ organization is required and can be provided using the `COCKROACH_VANITY_NAME` environment variable. If the JWT is
+ mapped to multiple identities, the identity to impersonate should be provided using the `COCKROACH_USERNAME` environment
+ variable, and should contain either a user email address or a service account ID.
+ :param pulumi.Input[str] apikey: The API key to access CockroachDB Cloud. If this field is provided, it is used and `apijwt` is ignored.
"""
+ if apijwt is not None:
+ pulumi.set(__self__, "apijwt", apijwt)
if apikey is not None:
pulumi.set(__self__, "apikey", apikey)
+ @property
+ @pulumi.getter
+ def apijwt(self) -> Optional[pulumi.Input[str]]:
+ """
+ The JWT from a JWT Issuer configured for the CockroachDB Cloud Organization. In this case, the vanity name of the
+ organization is required and can be provided using the `COCKROACH_VANITY_NAME` environment variable. If the JWT is
+ mapped to multiple identities, the identity to impersonate should be provided using the `COCKROACH_USERNAME` environment
+ variable, and should contain either a user email address or a service account ID.
+ """
+ return pulumi.get(self, "apijwt")
+
+ @apijwt.setter
+ def apijwt(self, value: Optional[pulumi.Input[str]]):
+ pulumi.set(self, "apijwt", value)
+
@property
@pulumi.getter
def apikey(self) -> Optional[pulumi.Input[str]]:
"""
- apikey to access cockroach cloud
+ The API key to access CockroachDB Cloud. If this field is provided, it is used and `apijwt` is ignored.
"""
return pulumi.get(self, "apikey")
@@ -45,6 +67,7 @@ class Provider(pulumi.ProviderResource):
def __init__(__self__,
resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None,
+ apijwt: Optional[pulumi.Input[str]] = None,
apikey: Optional[pulumi.Input[str]] = None,
__props__=None):
"""
@@ -55,7 +78,11 @@ def __init__(__self__,
:param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource.
- :param pulumi.Input[str] apikey: apikey to access cockroach cloud
+ :param pulumi.Input[str] apijwt: The JWT from a JWT Issuer configured for the CockroachDB Cloud Organization. In this case, the vanity name of the
+ organization is required and can be provided using the `COCKROACH_VANITY_NAME` environment variable. If the JWT is
+ mapped to multiple identities, the identity to impersonate should be provided using the `COCKROACH_USERNAME` environment
+ variable, and should contain either a user email address or a service account ID.
+ :param pulumi.Input[str] apikey: The API key to access CockroachDB Cloud. If this field is provided, it is used and `apijwt` is ignored.
"""
...
@overload
@@ -84,6 +111,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs):
def _internal_init(__self__,
resource_name: str,
opts: Optional[pulumi.ResourceOptions] = None,
+ apijwt: Optional[pulumi.Input[str]] = None,
apikey: Optional[pulumi.Input[str]] = None,
__props__=None):
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -94,8 +122,9 @@ def _internal_init(__self__,
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
__props__ = ProviderArgs.__new__(ProviderArgs)
+ __props__.__dict__["apijwt"] = None if apijwt is None else pulumi.Output.secret(apijwt)
__props__.__dict__["apikey"] = None if apikey is None else pulumi.Output.secret(apikey)
- secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["apikey"])
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["apijwt", "apikey"])
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
super(Provider, __self__).__init__(
'cockroach',
@@ -103,11 +132,22 @@ def _internal_init(__self__,
__props__,
opts)
+ @property
+ @pulumi.getter
+ def apijwt(self) -> pulumi.Output[Optional[str]]:
+ """
+ The JWT from a JWT Issuer configured for the CockroachDB Cloud Organization. In this case, the vanity name of the
+ organization is required and can be provided using the `COCKROACH_VANITY_NAME` environment variable. If the JWT is
+ mapped to multiple identities, the identity to impersonate should be provided using the `COCKROACH_USERNAME` environment
+ variable, and should contain either a user email address or a service account ID.
+ """
+ return pulumi.get(self, "apijwt")
+
@property
@pulumi.getter
def apikey(self) -> pulumi.Output[Optional[str]]:
"""
- apikey to access cockroach cloud
+ The API key to access CockroachDB Cloud. If this field is provided, it is used and `apijwt` is ignored.
"""
return pulumi.get(self, "apikey")
diff --git a/sdk/python/pulumiverse_cockroach/version_deferral.py b/sdk/python/pulumiverse_cockroach/version_deferral.py
index fea614c..5101ce2 100644
--- a/sdk/python/pulumiverse_cockroach/version_deferral.py
+++ b/sdk/python/pulumiverse_cockroach/version_deferral.py
@@ -121,6 +121,14 @@ def __init__(__self__,
deferral_policy=offset_duration)
```
+ ## Import
+
+ format:
+
+ ```sh
+ $ pulumi import cockroach:index/versionDeferral:VersionDeferral example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ ```
+
:param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource.
:param pulumi.Input[str] cluster_id: Cluster ID.
@@ -151,6 +159,14 @@ def __init__(__self__,
deferral_policy=offset_duration)
```
+ ## Import
+
+ format:
+
+ ```sh
+ $ pulumi import cockroach:index/versionDeferral:VersionDeferral example 1f69fdd2-600a-4cfc-a9ba-16995df0d77d
+ ```
+
:param str resource_name: The name of the resource.
:param VersionDeferralArgs args: The arguments to use to populate this resource's properties.
:param pulumi.ResourceOptions opts: Options for the resource.