diff --git a/provider/cmd/pulumi-resource-confluentcloud/bridge-metadata.json b/provider/cmd/pulumi-resource-confluentcloud/bridge-metadata.json index b787ba91..81ec880c 100644 --- a/provider/cmd/pulumi-resource-confluentcloud/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-confluentcloud/bridge-metadata.json @@ -849,6 +849,30 @@ "version": {} } }, + "confluent_schema_exporter": { + "current": "confluentcloud:index/schemaExporter:SchemaExporter", + "fields": { + "credentials": { + "maxItemsOne": true + }, + "destination_schema_registry_cluster": { + "maxItemsOne": true, + "elem": { + "fields": { + "credentials": { + "maxItemsOne": true + } + } + } + }, + "schema_registry_cluster": { + "maxItemsOne": true + }, + "subjects": { + "maxItemsOne": false + } + } + }, "confluent_schema_registry_cluster": { "current": "confluentcloud:index/schemaRegistryCluster:SchemaRegistryCluster", "fields": { @@ -1567,6 +1591,7 @@ "confluentcloud:index/privateLinkAttachmentConnection:PrivateLinkAttachmentConnection": "confluent_private_link_attachment_connection", "confluentcloud:index/roleBinding:RoleBinding": "confluent_role_binding", "confluentcloud:index/schema:Schema": "confluent_schema", + "confluentcloud:index/schemaExporter:SchemaExporter": "confluent_schema_exporter", "confluentcloud:index/schemaRegistryCluster:SchemaRegistryCluster": "confluent_schema_registry_cluster", "confluentcloud:index/schemaRegistryClusterConfig:SchemaRegistryClusterConfig": "confluent_schema_registry_cluster_config", "confluentcloud:index/schemaRegistryClusterMode:SchemaRegistryClusterMode": "confluent_schema_registry_cluster_mode", @@ -1710,6 +1735,9 @@ "confluentcloud:index/PrivateLinkAttachmentGcp:PrivateLinkAttachmentGcp": { "privateServiceConnectServiceAttachment": "private_service_connect_service_attachment" }, + "confluentcloud:index/SchemaExporterDestinationSchemaRegistryCluster:SchemaExporterDestinationSchemaRegistryCluster": { + "restEndpoint": "rest_endpoint" + }, "confluentcloud:index/SchemaSchemaReference:SchemaSchemaReference": { "subjectName": "subject_name" }, @@ -2146,6 +2174,14 @@ "schemaRegistryCluster": "schema_registry_cluster", "subjectName": "subject_name" }, + "confluentcloud:index/schemaExporter:SchemaExporter": { + "contextType": "context_type", + "destinationSchemaRegistryCluster": "destination_schema_registry_cluster", + "resetOnUpdate": "reset_on_update", + "restEndpoint": "rest_endpoint", + "schemaRegistryCluster": "schema_registry_cluster", + "subjectRenameFormat": "subject_rename_format" + }, "confluentcloud:index/schemaRegistryCluster:SchemaRegistryCluster": { "apiVersion": "api_version", "displayName": "display_name", diff --git a/provider/cmd/pulumi-resource-confluentcloud/schema.json b/provider/cmd/pulumi-resource-confluentcloud/schema.json index 16a4cb10..95e0f1b5 100644 --- a/provider/cmd/pulumi-resource-confluentcloud/schema.json +++ b/provider/cmd/pulumi-resource-confluentcloud/schema.json @@ -392,7 +392,7 @@ }, "secret": { "type": "string", - "description": "The Kafka API Secret.\n\n\u003e **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy).\n", + "description": "The Kafka API Secret.\n", "secret": true } }, @@ -438,7 +438,7 @@ }, "secret": { "type": "string", - "description": "The Kafka API Secret.\n\n\u003e **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy).\n", + "description": "The Kafka API Secret.\n", "secret": true } }, @@ -484,7 +484,7 @@ }, "secret": { "type": "string", - "description": "The Kafka API Secret.\n\n\u003e **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy).\n", + "description": "The Kafka API Secret.\n", "secret": true } }, @@ -530,7 +530,7 @@ }, "secret": { "type": "string", - "description": "The Kafka API Secret.\n\n\u003e **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy).\n", + "description": "The Kafka API Secret.\n", "secret": true } }, @@ -1472,6 +1472,74 @@ "secret" ] }, + "confluentcloud:index/SchemaExporterCredentials:SchemaExporterCredentials": { + "properties": { + "key": { + "type": "string", + "description": "The Schema Registry API Key.\n", + "secret": true + }, + "secret": { + "type": "string", + "description": "The Schema Registry API Secret.\n", + "secret": true + } + }, + "type": "object", + "required": [ + "key", + "secret" + ] + }, + "confluentcloud:index/SchemaExporterDestinationSchemaRegistryCluster:SchemaExporterDestinationSchemaRegistryCluster": { + "properties": { + "credentials": { + "$ref": "#/types/confluentcloud:index/SchemaExporterDestinationSchemaRegistryClusterCredentials:SchemaExporterDestinationSchemaRegistryClusterCredentials", + "secret": true + }, + "restEndpoint": { + "type": "string", + "description": "The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`).\n" + } + }, + "type": "object", + "required": [ + "credentials", + "restEndpoint" + ] + }, + "confluentcloud:index/SchemaExporterDestinationSchemaRegistryClusterCredentials:SchemaExporterDestinationSchemaRegistryClusterCredentials": { + "properties": { + "key": { + "type": "string", + "description": "The Schema Registry API Key.\n", + "secret": true + }, + "secret": { + "type": "string", + "description": "The Schema Registry API Secret.\n", + "secret": true + } + }, + "type": "object", + "required": [ + "key", + "secret" + ] + }, + "confluentcloud:index/SchemaExporterSchemaRegistryCluster:SchemaExporterSchemaRegistryCluster": { + "properties": { + "id": { + "type": "string", + "description": "The ID of the Schema Registry cluster, for example, `lsrc-abc123`.\n", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "id" + ] + }, "confluentcloud:index/SchemaRegistryClusterConfigCredentials:SchemaRegistryClusterConfigCredentials": { "properties": { "key": { @@ -4372,7 +4440,7 @@ } }, "confluentcloud:index/kafkaAcl:KafkaAcl": { - "description": "\n\n\n## Import\n\nYou can import Kafka ACLs by using the Kafka cluster ID and attributes of `confluent_kafka_acl` resource in the format `\u003cKafka cluster ID\u003e/\u003cKafka ACL resource type\u003e#\u003cKafka ACL resource name\u003e#\u003cKafka ACL pattern type\u003e#\u003cKafka ACL principal\u003e#\u003cKafka ACL host\u003e#\u003cKafka ACL operation\u003e#\u003cKafka ACL permission\u003e`, for exampleOption #1Manage multiple Kafka clusters in the same Terraform workspace $ export CONFLUENT_CLOUD_API_KEY=\"\u003ccloud_api_key\u003e\" $ export CONFLUENT_CLOUD_API_SECRET=\"\u003ccloud_api_secret\u003e\" $ export IMPORT_KAFKA_API_KEY=\"\u003ckafka_api_key\u003e\" $ export IMPORT_KAFKA_API_SECRET=\"\u003ckafka_api_secret\u003e\" $ export IMPORT_KAFKA_REST_ENDPOINT=\"\u003ckafka_rest_endpoint\u003e\"\n\n```sh\n $ pulumi import confluentcloud:index/kafkaAcl:KafkaAcl describe-cluster \"lkc-12345/CLUSTER#kafka-cluster#LITERAL#User:sa-xyz123#*#DESCRIBE#ALLOW\"\n```\n\n Option #2Manage a single Kafka cluster in the same Terraform workspace $ export CONFLUENT_CLOUD_API_KEY=\"\u003ccloud_api_key\u003e\" $ export CONFLUENT_CLOUD_API_SECRET=\"\u003ccloud_api_secret\u003e\"\n\n```sh\n $ pulumi import confluentcloud:index/kafkaAcl:KafkaAcl describe-cluster \"lkc-12345/CLUSTER#kafka-cluster#LITERAL#User:sa-xyz123#*#DESCRIBE#ALLOW\"\n```\n\n !\u003e **Warning:** Do not forget to delete terminal command history afterwards for security purposes. ", + "description": "\n\n\n## Import\n\nYou can import Kafka ACLs by using the Kafka cluster ID and attributes of `confluent_kafka_acl` resource in the format `\u003cKafka cluster ID\u003e/\u003cKafka ACL resource type\u003e#\u003cKafka ACL resource name\u003e#\u003cKafka ACL pattern type\u003e#\u003cKafka ACL principal\u003e#\u003cKafka ACL host\u003e#\u003cKafka ACL operation\u003e#\u003cKafka ACL permission\u003e`, for exampleOption #1Manage multiple Kafka clusters in the same Terraform workspace $ export IMPORT_KAFKA_API_KEY=\"\u003ckafka_api_key\u003e\" $ export IMPORT_KAFKA_API_SECRET=\"\u003ckafka_api_secret\u003e\" $ export IMPORT_KAFKA_REST_ENDPOINT=\"\u003ckafka_rest_endpoint\u003e\"\n\n```sh\n $ pulumi import confluentcloud:index/kafkaAcl:KafkaAcl describe-cluster \"lkc-12345/CLUSTER#kafka-cluster#LITERAL#User:sa-xyz123#*#DESCRIBE#ALLOW\"\n```\n\n Option #2Manage a single Kafka cluster in the same Terraform workspace $ export CONFLUENT_CLOUD_API_KEY=\"\u003ccloud_api_key\u003e\" $ export CONFLUENT_CLOUD_API_SECRET=\"\u003ccloud_api_secret\u003e\"\n\n```sh\n $ pulumi import confluentcloud:index/kafkaAcl:KafkaAcl describe-cluster \"lkc-12345/CLUSTER#kafka-cluster#LITERAL#User:sa-xyz123#*#DESCRIBE#ALLOW\"\n```\n\n !\u003e **Warning:** Do not forget to delete terminal command history afterwards for security purposes. ", "properties": { "credentials": { "$ref": "#/types/confluentcloud:index/KafkaAclCredentials:KafkaAclCredentials", @@ -6468,6 +6536,197 @@ "type": "object" } }, + "confluentcloud:index/schemaExporter:SchemaExporter": { + "description": "\n\n\n## Import\n\nYou can import a Schema Exporter by using the Schema Registry cluster ID, Schema Exporter name in the format `\u003cSchema Registry cluster ID\u003e/\u003cSchema Exporter name\u003e`, for example$ export IMPORT_SCHEMA_REGISTRY_API_KEY=\"\u003cschema_registry_api_key\u003e\" $ export IMPORT_SCHEMA_REGISTRY_API_SECRET=\"\u003cschema_registry_api_secret\u003e\" $ export IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT=\"\u003cschema_registry_rest_endpoint\u003e\"\n\n```sh\n $ pulumi import confluentcloud:index/schemaExporter:SchemaExporter main lsrc-8wrx70/test-exporter\n```\n\n !\u003e **Warning:** Do not forget to delete terminal command history afterwards for security purposes. ", + "properties": { + "config": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Block for custom *nonsensitive* configuration properties:\n" + }, + "context": { + "type": "string", + "description": "Customized context of the exporter if `context_type` is set to `CUSTOM`.\n" + }, + "contextType": { + "type": "string", + "description": "Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`.\n" + }, + "credentials": { + "$ref": "#/types/confluentcloud:index/SchemaExporterCredentials:SchemaExporterCredentials", + "description": "The Cluster API Credentials.\n", + "secret": true + }, + "destinationSchemaRegistryCluster": { + "$ref": "#/types/confluentcloud:index/SchemaExporterDestinationSchemaRegistryCluster:SchemaExporterDestinationSchemaRegistryCluster" + }, + "name": { + "type": "string", + "description": "The configuration setting name.\n" + }, + "resetOnUpdate": { + "type": "boolean", + "description": "The flag to control whether to reset the exporter when updating configs. Defaults to `false`.\n" + }, + "restEndpoint": { + "type": "string", + "description": "The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`).\n" + }, + "schemaRegistryCluster": { + "$ref": "#/types/confluentcloud:index/SchemaExporterSchemaRegistryCluster:SchemaExporterSchemaRegistryCluster" + }, + "status": { + "type": "string", + "description": "The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`.\n" + }, + "subjectRenameFormat": { + "type": "string", + "description": "Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dc_orders`.\n" + }, + "subjects": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Name of each exporter subject.\n" + } + }, + "required": [ + "config", + "context", + "contextType", + "destinationSchemaRegistryCluster", + "name", + "status", + "subjectRenameFormat", + "subjects" + ], + "inputProperties": { + "config": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Block for custom *nonsensitive* configuration properties:\n" + }, + "context": { + "type": "string", + "description": "Customized context of the exporter if `context_type` is set to `CUSTOM`.\n" + }, + "contextType": { + "type": "string", + "description": "Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`.\n" + }, + "credentials": { + "$ref": "#/types/confluentcloud:index/SchemaExporterCredentials:SchemaExporterCredentials", + "description": "The Cluster API Credentials.\n", + "secret": true + }, + "destinationSchemaRegistryCluster": { + "$ref": "#/types/confluentcloud:index/SchemaExporterDestinationSchemaRegistryCluster:SchemaExporterDestinationSchemaRegistryCluster" + }, + "name": { + "type": "string", + "description": "The configuration setting name.\n", + "willReplaceOnChanges": true + }, + "resetOnUpdate": { + "type": "boolean", + "description": "The flag to control whether to reset the exporter when updating configs. Defaults to `false`.\n" + }, + "restEndpoint": { + "type": "string", + "description": "The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`).\n", + "willReplaceOnChanges": true + }, + "schemaRegistryCluster": { + "$ref": "#/types/confluentcloud:index/SchemaExporterSchemaRegistryCluster:SchemaExporterSchemaRegistryCluster", + "willReplaceOnChanges": true + }, + "status": { + "type": "string", + "description": "The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`.\n" + }, + "subjectRenameFormat": { + "type": "string", + "description": "Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dc_orders`.\n" + }, + "subjects": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Name of each exporter subject.\n" + } + }, + "requiredInputs": [ + "destinationSchemaRegistryCluster" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering SchemaExporter resources.\n", + "properties": { + "config": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Block for custom *nonsensitive* configuration properties:\n" + }, + "context": { + "type": "string", + "description": "Customized context of the exporter if `context_type` is set to `CUSTOM`.\n" + }, + "contextType": { + "type": "string", + "description": "Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`.\n" + }, + "credentials": { + "$ref": "#/types/confluentcloud:index/SchemaExporterCredentials:SchemaExporterCredentials", + "description": "The Cluster API Credentials.\n", + "secret": true + }, + "destinationSchemaRegistryCluster": { + "$ref": "#/types/confluentcloud:index/SchemaExporterDestinationSchemaRegistryCluster:SchemaExporterDestinationSchemaRegistryCluster" + }, + "name": { + "type": "string", + "description": "The configuration setting name.\n", + "willReplaceOnChanges": true + }, + "resetOnUpdate": { + "type": "boolean", + "description": "The flag to control whether to reset the exporter when updating configs. Defaults to `false`.\n" + }, + "restEndpoint": { + "type": "string", + "description": "The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`).\n", + "willReplaceOnChanges": true + }, + "schemaRegistryCluster": { + "$ref": "#/types/confluentcloud:index/SchemaExporterSchemaRegistryCluster:SchemaExporterSchemaRegistryCluster", + "willReplaceOnChanges": true + }, + "status": { + "type": "string", + "description": "The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`.\n" + }, + "subjectRenameFormat": { + "type": "string", + "description": "Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dc_orders`.\n" + }, + "subjects": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Name of each exporter subject.\n" + } + }, + "type": "object" + } + }, "confluentcloud:index/schemaRegistryCluster:SchemaRegistryCluster": { "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as confluentcloud from \"@pulumi/confluentcloud\";\n\nconst development = new confluentcloud.Environment(\"development\", {});\nconst example = confluentcloud.getSchemaRegistryRegion({\n cloud: \"AWS\",\n region: \"us-east-2\",\n \"package\": \"ESSENTIALS\",\n});\nconst essentials = new confluentcloud.SchemaRegistryCluster(\"essentials\", {\n \"package\": example.then(example =\u003e example[\"package\"]),\n environment: {\n id: development.id,\n },\n region: {\n id: example.then(example =\u003e example.id),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_confluentcloud as confluentcloud\n\ndevelopment = confluentcloud.Environment(\"development\")\nexample = confluentcloud.get_schema_registry_region(cloud=\"AWS\",\n region=\"us-east-2\",\n package=\"ESSENTIALS\")\nessentials = confluentcloud.SchemaRegistryCluster(\"essentials\",\n package=example.package,\n environment=confluentcloud.SchemaRegistryClusterEnvironmentArgs(\n id=development.id,\n ),\n region=confluentcloud.SchemaRegistryClusterRegionArgs(\n id=example.id,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ConfluentCloud = Pulumi.ConfluentCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var development = new ConfluentCloud.Environment(\"development\");\n\n var example = ConfluentCloud.GetSchemaRegistryRegion.Invoke(new()\n {\n Cloud = \"AWS\",\n Region = \"us-east-2\",\n Package = \"ESSENTIALS\",\n });\n\n var essentials = new ConfluentCloud.SchemaRegistryCluster(\"essentials\", new()\n {\n Package = example.Apply(getSchemaRegistryRegionResult =\u003e getSchemaRegistryRegionResult.Package),\n Environment = new ConfluentCloud.Inputs.SchemaRegistryClusterEnvironmentArgs\n {\n Id = development.Id,\n },\n Region = new ConfluentCloud.Inputs.SchemaRegistryClusterRegionArgs\n {\n Id = example.Apply(getSchemaRegistryRegionResult =\u003e getSchemaRegistryRegionResult.Id),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-confluentcloud/sdk/go/confluentcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdevelopment, err := confluentcloud.NewEnvironment(ctx, \"development\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := confluentcloud.GetSchemaRegistryRegion(ctx, \u0026confluentcloud.GetSchemaRegistryRegionArgs{\n\t\t\tCloud: \"AWS\",\n\t\t\tRegion: \"us-east-2\",\n\t\t\tPackage: \"ESSENTIALS\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = confluentcloud.NewSchemaRegistryCluster(ctx, \"essentials\", \u0026confluentcloud.SchemaRegistryClusterArgs{\n\t\t\tPackage: *pulumi.String(example.Package),\n\t\t\tEnvironment: \u0026confluentcloud.SchemaRegistryClusterEnvironmentArgs{\n\t\t\t\tId: development.ID(),\n\t\t\t},\n\t\t\tRegion: \u0026confluentcloud.SchemaRegistryClusterRegionArgs{\n\t\t\t\tId: *pulumi.String(example.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.confluentcloud.Environment;\nimport com.pulumi.confluentcloud.ConfluentcloudFunctions;\nimport com.pulumi.confluentcloud.inputs.GetSchemaRegistryRegionArgs;\nimport com.pulumi.confluentcloud.SchemaRegistryCluster;\nimport com.pulumi.confluentcloud.SchemaRegistryClusterArgs;\nimport com.pulumi.confluentcloud.inputs.SchemaRegistryClusterEnvironmentArgs;\nimport com.pulumi.confluentcloud.inputs.SchemaRegistryClusterRegionArgs;\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 development = new Environment(\"development\");\n\n final var example = ConfluentcloudFunctions.getSchemaRegistryRegion(GetSchemaRegistryRegionArgs.builder()\n .cloud(\"AWS\")\n .region(\"us-east-2\")\n .package_(\"ESSENTIALS\")\n .build());\n\n var essentials = new SchemaRegistryCluster(\"essentials\", SchemaRegistryClusterArgs.builder() \n .package_(example.applyValue(getSchemaRegistryRegionResult -\u003e getSchemaRegistryRegionResult.package()))\n .environment(SchemaRegistryClusterEnvironmentArgs.builder()\n .id(development.id())\n .build())\n .region(SchemaRegistryClusterRegionArgs.builder()\n .id(example.applyValue(getSchemaRegistryRegionResult -\u003e getSchemaRegistryRegionResult.id()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n development:\n type: confluentcloud:Environment\n essentials:\n type: confluentcloud:SchemaRegistryCluster\n properties:\n package: ${example.package}\n environment:\n id: ${development.id}\n region:\n id: ${example.id}\nvariables:\n example:\n fn::invoke:\n Function: confluentcloud:getSchemaRegistryRegion\n Arguments:\n cloud: AWS\n region: us-east-2\n package: ESSENTIALS\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nYou can import a Schema Registry cluster by using Environment ID and Schema Registry cluster ID, in the format `\u003cEnvironment ID\u003e/\u003cSchema Registry cluster ID\u003e`, for example$ export CONFLUENT_CLOUD_API_KEY=\"\u003ccloud_api_key\u003e\" $ export CONFLUENT_CLOUD_API_SECRET=\"\u003ccloud_api_secret\u003e\"\n\n```sh\n $ pulumi import confluentcloud:index/schemaRegistryCluster:SchemaRegistryCluster example env-abc123/lsrc-abc123\n```\n\n !\u003e **Warning:** Do not forget to delete terminal command history afterwards for security purposes. ", "properties": { @@ -8750,7 +9009,7 @@ } }, "confluentcloud:index/getRoleBinding:getRoleBinding": { - "description": "[![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)\n\n`confluentcloud.RoleBinding` describes a Role Binding.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as confluentcloud from \"@pulumi/confluentcloud\";\n\nconst exampleRoleBinding = confluentcloud.getRoleBinding({\n id: \"rb-abc123\",\n});\nexport const example = exampleRoleBinding;\n```\n```python\nimport pulumi\nimport pulumi_confluentcloud as confluentcloud\n\nexample_role_binding = confluentcloud.get_role_binding(id=\"rb-abc123\")\npulumi.export(\"example\", example_role_binding)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ConfluentCloud = Pulumi.ConfluentCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRoleBinding = ConfluentCloud.GetRoleBinding.Invoke(new()\n {\n Id = \"rb-abc123\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"example\"] = exampleRoleBinding,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-confluentcloud/sdk/go/confluentcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRoleBinding, err := confluentcloud.LookupRoleBinding(ctx, \u0026confluentcloud.LookupRoleBindingArgs{\n\t\t\tId: \"rb-abc123\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example\", exampleRoleBinding)\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.confluentcloud.ConfluentcloudFunctions;\nimport com.pulumi.confluentcloud.inputs.GetRoleBindingArgs;\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 exampleRoleBinding = ConfluentcloudFunctions.getRoleBinding(GetRoleBindingArgs.builder()\n .id(\"rb-abc123\")\n .build());\n\n ctx.export(\"example\", exampleRoleBinding.applyValue(getRoleBindingResult -\u003e getRoleBindingResult));\n }\n}\n```\n```yaml\nvariables:\n exampleRoleBinding:\n fn::invoke:\n Function: confluentcloud:getRoleBinding\n Arguments:\n id: rb-abc123\noutputs:\n example: ${exampleRoleBinding}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "[![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)\n\n`confluentcloud.RoleBinding` describes a Role Binding.\n\n\u003e **Note:** For more information on the Role Bindings, see [Predefined RBAC roles in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/access-control/rbac/predefined-rbac-roles.html).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as confluentcloud from \"@pulumi/confluentcloud\";\n\nconst exampleRoleBinding = confluentcloud.getRoleBinding({\n id: \"rb-abc123\",\n});\nexport const example = exampleRoleBinding;\n```\n```python\nimport pulumi\nimport pulumi_confluentcloud as confluentcloud\n\nexample_role_binding = confluentcloud.get_role_binding(id=\"rb-abc123\")\npulumi.export(\"example\", example_role_binding)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing ConfluentCloud = Pulumi.ConfluentCloud;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleRoleBinding = ConfluentCloud.GetRoleBinding.Invoke(new()\n {\n Id = \"rb-abc123\",\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"example\"] = exampleRoleBinding,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-confluentcloud/sdk/go/confluentcloud\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRoleBinding, err := confluentcloud.LookupRoleBinding(ctx, \u0026confluentcloud.LookupRoleBindingArgs{\n\t\t\tId: \"rb-abc123\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"example\", exampleRoleBinding)\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.confluentcloud.ConfluentcloudFunctions;\nimport com.pulumi.confluentcloud.inputs.GetRoleBindingArgs;\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 exampleRoleBinding = ConfluentcloudFunctions.getRoleBinding(GetRoleBindingArgs.builder()\n .id(\"rb-abc123\")\n .build());\n\n ctx.export(\"example\", exampleRoleBinding.applyValue(getRoleBindingResult -\u003e getRoleBindingResult));\n }\n}\n```\n```yaml\nvariables:\n exampleRoleBinding:\n fn::invoke:\n Function: confluentcloud:getRoleBinding\n Arguments:\n id: rb-abc123\noutputs:\n example: ${exampleRoleBinding}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getRoleBinding.\n", "properties": { diff --git a/provider/go.mod b/provider/go.mod index 5b77ff27..2b774335 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -92,7 +92,7 @@ require ( github.com/confluentinc/ccloud-sdk-go-v2/byok v0.0.1 // indirect github.com/confluentinc/ccloud-sdk-go-v2/cmk v0.10.0 // indirect github.com/confluentinc/ccloud-sdk-go-v2/connect v0.2.0 // indirect - github.com/confluentinc/ccloud-sdk-go-v2/data-catalog v0.1.0 // indirect + github.com/confluentinc/ccloud-sdk-go-v2/data-catalog v0.2.0 // indirect github.com/confluentinc/ccloud-sdk-go-v2/iam v0.10.0 // indirect github.com/confluentinc/ccloud-sdk-go-v2/identity-provider v0.2.0 // indirect github.com/confluentinc/ccloud-sdk-go-v2/kafka-quotas v0.4.0 // indirect @@ -102,7 +102,7 @@ require ( github.com/confluentinc/ccloud-sdk-go-v2/networking v0.7.0 // indirect github.com/confluentinc/ccloud-sdk-go-v2/networking-privatelink v0.1.0 // indirect github.com/confluentinc/ccloud-sdk-go-v2/org v0.4.0 // indirect - github.com/confluentinc/ccloud-sdk-go-v2/schema-registry v0.2.0 // indirect + github.com/confluentinc/ccloud-sdk-go-v2/schema-registry v0.3.0 // indirect github.com/confluentinc/ccloud-sdk-go-v2/srcm v0.2.0 // indirect github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 // indirect github.com/containerd/containerd v1.6.19 // indirect diff --git a/provider/go.sum b/provider/go.sum index 643becbc..4ff9f40a 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -982,8 +982,8 @@ github.com/confluentinc/ccloud-sdk-go-v2/cmk v0.10.0 h1:YQEcSvhX5ODllg0mhxLivckK github.com/confluentinc/ccloud-sdk-go-v2/cmk v0.10.0/go.mod h1:357Zo3HvVAe5iQgUFxUbQPAKJasGm8vFMkOB+krVmR8= github.com/confluentinc/ccloud-sdk-go-v2/connect v0.2.0 h1:rEb3sxzKCZvZCnEZ10WyGqkVIdlqxJGbmP85/4C4YdE= github.com/confluentinc/ccloud-sdk-go-v2/connect v0.2.0/go.mod h1:lF4AfDtxoL0V7ZIMOULWiAycPwlfyt9UG659adRNdOM= -github.com/confluentinc/ccloud-sdk-go-v2/data-catalog v0.1.0 h1:HuU7SAId+hUi/SWbIXXXu6khDyGW/RANsNQxEwMNWmE= -github.com/confluentinc/ccloud-sdk-go-v2/data-catalog v0.1.0/go.mod h1:27GwI+j82LDFydahgmKVroqw6oFxzbvIj+ZOnksaKGw= +github.com/confluentinc/ccloud-sdk-go-v2/data-catalog v0.2.0 h1:ySx0jYNGK0XLcSkgPz+hxcH05v1LI5GVb3Rg+TCqBqk= +github.com/confluentinc/ccloud-sdk-go-v2/data-catalog v0.2.0/go.mod h1:27GwI+j82LDFydahgmKVroqw6oFxzbvIj+ZOnksaKGw= github.com/confluentinc/ccloud-sdk-go-v2/iam v0.10.0 h1:AV0bGk01bGfKzNq5IVqRi2iEc6YTeBbl//IYvQ/j8ag= github.com/confluentinc/ccloud-sdk-go-v2/iam v0.10.0/go.mod h1:2Lm82ly9Yh5LLhp8OTnUGqjz4JdIXAZ5a0/u9T+rGGU= github.com/confluentinc/ccloud-sdk-go-v2/identity-provider v0.2.0 h1:9TT8UCFRc5zUdsE7UgMz7hqN+2KYnIkBcAKCaiZJrXw= @@ -1002,8 +1002,8 @@ github.com/confluentinc/ccloud-sdk-go-v2/networking-privatelink v0.1.0 h1:CA+3m6 github.com/confluentinc/ccloud-sdk-go-v2/networking-privatelink v0.1.0/go.mod h1:uj/ybBJPQbmuuBdSoznMiMGEwW3z/g0Uko8uKWg36I8= github.com/confluentinc/ccloud-sdk-go-v2/org v0.4.0 h1:WcJs6RbY8nU5HapaG0ZCH9ftFBtZyuKMIuNAkdVmc2o= github.com/confluentinc/ccloud-sdk-go-v2/org v0.4.0/go.mod h1:zREJ+OOZz0rEXCaPx0JbCVj2EfNnYs/c6qhPDfhldI0= -github.com/confluentinc/ccloud-sdk-go-v2/schema-registry v0.2.0 h1:qR8cm4OmT/B2g3pINSBxt+dDMFep5wgVJGu6oHIrbdk= -github.com/confluentinc/ccloud-sdk-go-v2/schema-registry v0.2.0/go.mod h1:uTE8K5/jg75ubJY1Flh6TfBIwVFVOchkLWqVsamwLYc= +github.com/confluentinc/ccloud-sdk-go-v2/schema-registry v0.3.0 h1:AOqLmXM4nK41OaMaJpYXy5JKaJSZYs0mciFadvdBOQY= +github.com/confluentinc/ccloud-sdk-go-v2/schema-registry v0.3.0/go.mod h1:uTE8K5/jg75ubJY1Flh6TfBIwVFVOchkLWqVsamwLYc= github.com/confluentinc/ccloud-sdk-go-v2/srcm v0.2.0 h1:ezCzDCOOavjTPVKvdET0QjAXm1u9iRJjg2s5lkSMrps= github.com/confluentinc/ccloud-sdk-go-v2/srcm v0.2.0/go.mod h1:qY4Y/QCDKI0eR+HLVJWGFstsTAiI83+sowKOyoRFhF0= github.com/containerd/aufs v0.0.0-20200908144142-dab0cbea06f4/go.mod h1:nukgQABAEopAHvB6j7cnP5zJ+/3aVcE7hCYqvIwAHyE= diff --git a/sdk/dotnet/GetRoleBinding.cs b/sdk/dotnet/GetRoleBinding.cs index 13558446..31e7abae 100644 --- a/sdk/dotnet/GetRoleBinding.cs +++ b/sdk/dotnet/GetRoleBinding.cs @@ -16,6 +16,8 @@ public static class GetRoleBinding /// /// `confluentcloud.RoleBinding` describes a Role Binding. /// + /// > **Note:** For more information on the Role Bindings, see [Predefined RBAC roles in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/access-control/rbac/predefined-rbac-roles.html). + /// /// {{% examples %}} /// ## Example Usage /// {{% example %}} @@ -50,6 +52,8 @@ public static Task InvokeAsync(GetRoleBindingArgs args, In /// /// `confluentcloud.RoleBinding` describes a Role Binding. /// + /// > **Note:** For more information on the Role Bindings, see [Predefined RBAC roles in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/access-control/rbac/predefined-rbac-roles.html). + /// /// {{% examples %}} /// ## Example Usage /// {{% example %}} diff --git a/sdk/dotnet/Inputs/ClusterLinkDestinationKafkaClusterCredentialsArgs.cs b/sdk/dotnet/Inputs/ClusterLinkDestinationKafkaClusterCredentialsArgs.cs index 54e7021f..b805cebd 100644 --- a/sdk/dotnet/Inputs/ClusterLinkDestinationKafkaClusterCredentialsArgs.cs +++ b/sdk/dotnet/Inputs/ClusterLinkDestinationKafkaClusterCredentialsArgs.cs @@ -33,8 +33,6 @@ public Input? Key /// /// The Kafka API Secret. - /// - /// > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). /// public Input? Secret { diff --git a/sdk/dotnet/Inputs/ClusterLinkDestinationKafkaClusterCredentialsGetArgs.cs b/sdk/dotnet/Inputs/ClusterLinkDestinationKafkaClusterCredentialsGetArgs.cs index 2df3f05f..5bf06f7a 100644 --- a/sdk/dotnet/Inputs/ClusterLinkDestinationKafkaClusterCredentialsGetArgs.cs +++ b/sdk/dotnet/Inputs/ClusterLinkDestinationKafkaClusterCredentialsGetArgs.cs @@ -33,8 +33,6 @@ public Input? Key /// /// The Kafka API Secret. - /// - /// > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). /// public Input? Secret { diff --git a/sdk/dotnet/Inputs/ClusterLinkLocalKafkaClusterCredentialsArgs.cs b/sdk/dotnet/Inputs/ClusterLinkLocalKafkaClusterCredentialsArgs.cs index b5530d24..da98936e 100644 --- a/sdk/dotnet/Inputs/ClusterLinkLocalKafkaClusterCredentialsArgs.cs +++ b/sdk/dotnet/Inputs/ClusterLinkLocalKafkaClusterCredentialsArgs.cs @@ -33,8 +33,6 @@ public Input? Key /// /// The Kafka API Secret. - /// - /// > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). /// public Input? Secret { diff --git a/sdk/dotnet/Inputs/ClusterLinkLocalKafkaClusterCredentialsGetArgs.cs b/sdk/dotnet/Inputs/ClusterLinkLocalKafkaClusterCredentialsGetArgs.cs index c1240aa3..f801e43e 100644 --- a/sdk/dotnet/Inputs/ClusterLinkLocalKafkaClusterCredentialsGetArgs.cs +++ b/sdk/dotnet/Inputs/ClusterLinkLocalKafkaClusterCredentialsGetArgs.cs @@ -33,8 +33,6 @@ public Input? Key /// /// The Kafka API Secret. - /// - /// > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). /// public Input? Secret { diff --git a/sdk/dotnet/Inputs/ClusterLinkRemoteKafkaClusterCredentialsArgs.cs b/sdk/dotnet/Inputs/ClusterLinkRemoteKafkaClusterCredentialsArgs.cs index c4ff345b..27fbc309 100644 --- a/sdk/dotnet/Inputs/ClusterLinkRemoteKafkaClusterCredentialsArgs.cs +++ b/sdk/dotnet/Inputs/ClusterLinkRemoteKafkaClusterCredentialsArgs.cs @@ -33,8 +33,6 @@ public Input? Key /// /// The Kafka API Secret. - /// - /// > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). /// public Input? Secret { diff --git a/sdk/dotnet/Inputs/ClusterLinkRemoteKafkaClusterCredentialsGetArgs.cs b/sdk/dotnet/Inputs/ClusterLinkRemoteKafkaClusterCredentialsGetArgs.cs index fa2f85cb..1abbabdd 100644 --- a/sdk/dotnet/Inputs/ClusterLinkRemoteKafkaClusterCredentialsGetArgs.cs +++ b/sdk/dotnet/Inputs/ClusterLinkRemoteKafkaClusterCredentialsGetArgs.cs @@ -33,8 +33,6 @@ public Input? Key /// /// The Kafka API Secret. - /// - /// > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). /// public Input? Secret { diff --git a/sdk/dotnet/Inputs/ClusterLinkSourceKafkaClusterCredentialsArgs.cs b/sdk/dotnet/Inputs/ClusterLinkSourceKafkaClusterCredentialsArgs.cs index 91c07405..d124d70a 100644 --- a/sdk/dotnet/Inputs/ClusterLinkSourceKafkaClusterCredentialsArgs.cs +++ b/sdk/dotnet/Inputs/ClusterLinkSourceKafkaClusterCredentialsArgs.cs @@ -33,8 +33,6 @@ public Input? Key /// /// The Kafka API Secret. - /// - /// > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). /// public Input? Secret { diff --git a/sdk/dotnet/Inputs/ClusterLinkSourceKafkaClusterCredentialsGetArgs.cs b/sdk/dotnet/Inputs/ClusterLinkSourceKafkaClusterCredentialsGetArgs.cs index df949ae0..5a70c8a1 100644 --- a/sdk/dotnet/Inputs/ClusterLinkSourceKafkaClusterCredentialsGetArgs.cs +++ b/sdk/dotnet/Inputs/ClusterLinkSourceKafkaClusterCredentialsGetArgs.cs @@ -33,8 +33,6 @@ public Input? Key /// /// The Kafka API Secret. - /// - /// > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). /// public Input? Secret { diff --git a/sdk/dotnet/Inputs/SchemaExporterCredentialsArgs.cs b/sdk/dotnet/Inputs/SchemaExporterCredentialsArgs.cs new file mode 100644 index 00000000..78d7d413 --- /dev/null +++ b/sdk/dotnet/Inputs/SchemaExporterCredentialsArgs.cs @@ -0,0 +1,52 @@ +// *** 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; + +namespace Pulumi.ConfluentCloud.Inputs +{ + + public sealed class SchemaExporterCredentialsArgs : global::Pulumi.ResourceArgs + { + [Input("key", required: true)] + private Input? _key; + + /// + /// The Schema Registry API Key. + /// + public Input? Key + { + get => _key; + set + { + var emptySecret = Output.CreateSecret(0); + _key = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("secret", required: true)] + private Input? _secret; + + /// + /// The Schema Registry API Secret. + /// + public Input? Secret + { + get => _secret; + set + { + var emptySecret = Output.CreateSecret(0); + _secret = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + public SchemaExporterCredentialsArgs() + { + } + public static new SchemaExporterCredentialsArgs Empty => new SchemaExporterCredentialsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SchemaExporterCredentialsGetArgs.cs b/sdk/dotnet/Inputs/SchemaExporterCredentialsGetArgs.cs new file mode 100644 index 00000000..72960a65 --- /dev/null +++ b/sdk/dotnet/Inputs/SchemaExporterCredentialsGetArgs.cs @@ -0,0 +1,52 @@ +// *** 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; + +namespace Pulumi.ConfluentCloud.Inputs +{ + + public sealed class SchemaExporterCredentialsGetArgs : global::Pulumi.ResourceArgs + { + [Input("key", required: true)] + private Input? _key; + + /// + /// The Schema Registry API Key. + /// + public Input? Key + { + get => _key; + set + { + var emptySecret = Output.CreateSecret(0); + _key = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("secret", required: true)] + private Input? _secret; + + /// + /// The Schema Registry API Secret. + /// + public Input? Secret + { + get => _secret; + set + { + var emptySecret = Output.CreateSecret(0); + _secret = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + public SchemaExporterCredentialsGetArgs() + { + } + public static new SchemaExporterCredentialsGetArgs Empty => new SchemaExporterCredentialsGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SchemaExporterDestinationSchemaRegistryClusterArgs.cs b/sdk/dotnet/Inputs/SchemaExporterDestinationSchemaRegistryClusterArgs.cs new file mode 100644 index 00000000..aa938216 --- /dev/null +++ b/sdk/dotnet/Inputs/SchemaExporterDestinationSchemaRegistryClusterArgs.cs @@ -0,0 +1,38 @@ +// *** 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; + +namespace Pulumi.ConfluentCloud.Inputs +{ + + public sealed class SchemaExporterDestinationSchemaRegistryClusterArgs : global::Pulumi.ResourceArgs + { + [Input("credentials", required: true)] + private Input? _credentials; + public Input? Credentials + { + get => _credentials; + set + { + var emptySecret = Output.CreateSecret(0); + _credentials = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + /// + [Input("restEndpoint", required: true)] + public Input RestEndpoint { get; set; } = null!; + + public SchemaExporterDestinationSchemaRegistryClusterArgs() + { + } + public static new SchemaExporterDestinationSchemaRegistryClusterArgs Empty => new SchemaExporterDestinationSchemaRegistryClusterArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs.cs b/sdk/dotnet/Inputs/SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs.cs new file mode 100644 index 00000000..b880b2c4 --- /dev/null +++ b/sdk/dotnet/Inputs/SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs.cs @@ -0,0 +1,52 @@ +// *** 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; + +namespace Pulumi.ConfluentCloud.Inputs +{ + + public sealed class SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs : global::Pulumi.ResourceArgs + { + [Input("key", required: true)] + private Input? _key; + + /// + /// The Schema Registry API Key. + /// + public Input? Key + { + get => _key; + set + { + var emptySecret = Output.CreateSecret(0); + _key = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("secret", required: true)] + private Input? _secret; + + /// + /// The Schema Registry API Secret. + /// + public Input? Secret + { + get => _secret; + set + { + var emptySecret = Output.CreateSecret(0); + _secret = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + public SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs() + { + } + public static new SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs Empty => new SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SchemaExporterDestinationSchemaRegistryClusterCredentialsGetArgs.cs b/sdk/dotnet/Inputs/SchemaExporterDestinationSchemaRegistryClusterCredentialsGetArgs.cs new file mode 100644 index 00000000..25b0a6b5 --- /dev/null +++ b/sdk/dotnet/Inputs/SchemaExporterDestinationSchemaRegistryClusterCredentialsGetArgs.cs @@ -0,0 +1,52 @@ +// *** 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; + +namespace Pulumi.ConfluentCloud.Inputs +{ + + public sealed class SchemaExporterDestinationSchemaRegistryClusterCredentialsGetArgs : global::Pulumi.ResourceArgs + { + [Input("key", required: true)] + private Input? _key; + + /// + /// The Schema Registry API Key. + /// + public Input? Key + { + get => _key; + set + { + var emptySecret = Output.CreateSecret(0); + _key = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("secret", required: true)] + private Input? _secret; + + /// + /// The Schema Registry API Secret. + /// + public Input? Secret + { + get => _secret; + set + { + var emptySecret = Output.CreateSecret(0); + _secret = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + public SchemaExporterDestinationSchemaRegistryClusterCredentialsGetArgs() + { + } + public static new SchemaExporterDestinationSchemaRegistryClusterCredentialsGetArgs Empty => new SchemaExporterDestinationSchemaRegistryClusterCredentialsGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SchemaExporterDestinationSchemaRegistryClusterGetArgs.cs b/sdk/dotnet/Inputs/SchemaExporterDestinationSchemaRegistryClusterGetArgs.cs new file mode 100644 index 00000000..202d5fae --- /dev/null +++ b/sdk/dotnet/Inputs/SchemaExporterDestinationSchemaRegistryClusterGetArgs.cs @@ -0,0 +1,38 @@ +// *** 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; + +namespace Pulumi.ConfluentCloud.Inputs +{ + + public sealed class SchemaExporterDestinationSchemaRegistryClusterGetArgs : global::Pulumi.ResourceArgs + { + [Input("credentials", required: true)] + private Input? _credentials; + public Input? Credentials + { + get => _credentials; + set + { + var emptySecret = Output.CreateSecret(0); + _credentials = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + /// + [Input("restEndpoint", required: true)] + public Input RestEndpoint { get; set; } = null!; + + public SchemaExporterDestinationSchemaRegistryClusterGetArgs() + { + } + public static new SchemaExporterDestinationSchemaRegistryClusterGetArgs Empty => new SchemaExporterDestinationSchemaRegistryClusterGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SchemaExporterSchemaRegistryClusterArgs.cs b/sdk/dotnet/Inputs/SchemaExporterSchemaRegistryClusterArgs.cs new file mode 100644 index 00000000..c294ccbe --- /dev/null +++ b/sdk/dotnet/Inputs/SchemaExporterSchemaRegistryClusterArgs.cs @@ -0,0 +1,26 @@ +// *** 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; + +namespace Pulumi.ConfluentCloud.Inputs +{ + + public sealed class SchemaExporterSchemaRegistryClusterArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the Schema Registry cluster, for example, `lsrc-abc123`. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + public SchemaExporterSchemaRegistryClusterArgs() + { + } + public static new SchemaExporterSchemaRegistryClusterArgs Empty => new SchemaExporterSchemaRegistryClusterArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SchemaExporterSchemaRegistryClusterGetArgs.cs b/sdk/dotnet/Inputs/SchemaExporterSchemaRegistryClusterGetArgs.cs new file mode 100644 index 00000000..7a5a335c --- /dev/null +++ b/sdk/dotnet/Inputs/SchemaExporterSchemaRegistryClusterGetArgs.cs @@ -0,0 +1,26 @@ +// *** 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; + +namespace Pulumi.ConfluentCloud.Inputs +{ + + public sealed class SchemaExporterSchemaRegistryClusterGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the Schema Registry cluster, for example, `lsrc-abc123`. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + public SchemaExporterSchemaRegistryClusterGetArgs() + { + } + public static new SchemaExporterSchemaRegistryClusterGetArgs Empty => new SchemaExporterSchemaRegistryClusterGetArgs(); + } +} diff --git a/sdk/dotnet/KafkaAcl.cs b/sdk/dotnet/KafkaAcl.cs index d3053c34..f3eb7a0a 100644 --- a/sdk/dotnet/KafkaAcl.cs +++ b/sdk/dotnet/KafkaAcl.cs @@ -12,7 +12,7 @@ namespace Pulumi.ConfluentCloud /// /// ## Import /// - /// You can import Kafka ACLs by using the Kafka cluster ID and attributes of `confluent_kafka_acl` resource in the format `<Kafka cluster ID>/<Kafka ACL resource type>#<Kafka ACL resource name>#<Kafka ACL pattern type>#<Kafka ACL principal>#<Kafka ACL host>#<Kafka ACL operation>#<Kafka ACL permission>`, for exampleOption #1Manage multiple Kafka clusters in the same Terraform workspace $ export CONFLUENT_CLOUD_API_KEY="<cloud_api_key>" $ export CONFLUENT_CLOUD_API_SECRET="<cloud_api_secret>" $ export IMPORT_KAFKA_API_KEY="<kafka_api_key>" $ export IMPORT_KAFKA_API_SECRET="<kafka_api_secret>" $ export IMPORT_KAFKA_REST_ENDPOINT="<kafka_rest_endpoint>" + /// You can import Kafka ACLs by using the Kafka cluster ID and attributes of `confluent_kafka_acl` resource in the format `<Kafka cluster ID>/<Kafka ACL resource type>#<Kafka ACL resource name>#<Kafka ACL pattern type>#<Kafka ACL principal>#<Kafka ACL host>#<Kafka ACL operation>#<Kafka ACL permission>`, for exampleOption #1Manage multiple Kafka clusters in the same Terraform workspace $ export IMPORT_KAFKA_API_KEY="<kafka_api_key>" $ export IMPORT_KAFKA_API_SECRET="<kafka_api_secret>" $ export IMPORT_KAFKA_REST_ENDPOINT="<kafka_rest_endpoint>" /// /// ```sh /// $ pulumi import confluentcloud:index/kafkaAcl:KafkaAcl describe-cluster "lkc-12345/CLUSTER#kafka-cluster#LITERAL#User:sa-xyz123#*#DESCRIBE#ALLOW" diff --git a/sdk/dotnet/Outputs/ClusterLinkDestinationKafkaClusterCredentials.cs b/sdk/dotnet/Outputs/ClusterLinkDestinationKafkaClusterCredentials.cs index a872e338..d2a935ef 100644 --- a/sdk/dotnet/Outputs/ClusterLinkDestinationKafkaClusterCredentials.cs +++ b/sdk/dotnet/Outputs/ClusterLinkDestinationKafkaClusterCredentials.cs @@ -19,8 +19,6 @@ public sealed class ClusterLinkDestinationKafkaClusterCredentials public readonly string Key; /// /// The Kafka API Secret. - /// - /// > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). /// public readonly string Secret; diff --git a/sdk/dotnet/Outputs/ClusterLinkLocalKafkaClusterCredentials.cs b/sdk/dotnet/Outputs/ClusterLinkLocalKafkaClusterCredentials.cs index 50b7f0ee..4e3004eb 100644 --- a/sdk/dotnet/Outputs/ClusterLinkLocalKafkaClusterCredentials.cs +++ b/sdk/dotnet/Outputs/ClusterLinkLocalKafkaClusterCredentials.cs @@ -19,8 +19,6 @@ public sealed class ClusterLinkLocalKafkaClusterCredentials public readonly string Key; /// /// The Kafka API Secret. - /// - /// > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). /// public readonly string Secret; diff --git a/sdk/dotnet/Outputs/ClusterLinkRemoteKafkaClusterCredentials.cs b/sdk/dotnet/Outputs/ClusterLinkRemoteKafkaClusterCredentials.cs index d70a4872..78fa7fde 100644 --- a/sdk/dotnet/Outputs/ClusterLinkRemoteKafkaClusterCredentials.cs +++ b/sdk/dotnet/Outputs/ClusterLinkRemoteKafkaClusterCredentials.cs @@ -19,8 +19,6 @@ public sealed class ClusterLinkRemoteKafkaClusterCredentials public readonly string Key; /// /// The Kafka API Secret. - /// - /// > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). /// public readonly string Secret; diff --git a/sdk/dotnet/Outputs/ClusterLinkSourceKafkaClusterCredentials.cs b/sdk/dotnet/Outputs/ClusterLinkSourceKafkaClusterCredentials.cs index 01db8645..75bf982f 100644 --- a/sdk/dotnet/Outputs/ClusterLinkSourceKafkaClusterCredentials.cs +++ b/sdk/dotnet/Outputs/ClusterLinkSourceKafkaClusterCredentials.cs @@ -19,8 +19,6 @@ public sealed class ClusterLinkSourceKafkaClusterCredentials public readonly string Key; /// /// The Kafka API Secret. - /// - /// > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). /// public readonly string Secret; diff --git a/sdk/dotnet/Outputs/SchemaExporterCredentials.cs b/sdk/dotnet/Outputs/SchemaExporterCredentials.cs new file mode 100644 index 00000000..942c8f8f --- /dev/null +++ b/sdk/dotnet/Outputs/SchemaExporterCredentials.cs @@ -0,0 +1,35 @@ +// *** 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; + +namespace Pulumi.ConfluentCloud.Outputs +{ + + [OutputType] + public sealed class SchemaExporterCredentials + { + /// + /// The Schema Registry API Key. + /// + public readonly string Key; + /// + /// The Schema Registry API Secret. + /// + public readonly string Secret; + + [OutputConstructor] + private SchemaExporterCredentials( + string key, + + string secret) + { + Key = key; + Secret = secret; + } + } +} diff --git a/sdk/dotnet/Outputs/SchemaExporterDestinationSchemaRegistryCluster.cs b/sdk/dotnet/Outputs/SchemaExporterDestinationSchemaRegistryCluster.cs new file mode 100644 index 00000000..d28f2a8b --- /dev/null +++ b/sdk/dotnet/Outputs/SchemaExporterDestinationSchemaRegistryCluster.cs @@ -0,0 +1,32 @@ +// *** 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; + +namespace Pulumi.ConfluentCloud.Outputs +{ + + [OutputType] + public sealed class SchemaExporterDestinationSchemaRegistryCluster + { + public readonly Outputs.SchemaExporterDestinationSchemaRegistryClusterCredentials Credentials; + /// + /// The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + /// + public readonly string RestEndpoint; + + [OutputConstructor] + private SchemaExporterDestinationSchemaRegistryCluster( + Outputs.SchemaExporterDestinationSchemaRegistryClusterCredentials credentials, + + string restEndpoint) + { + Credentials = credentials; + RestEndpoint = restEndpoint; + } + } +} diff --git a/sdk/dotnet/Outputs/SchemaExporterDestinationSchemaRegistryClusterCredentials.cs b/sdk/dotnet/Outputs/SchemaExporterDestinationSchemaRegistryClusterCredentials.cs new file mode 100644 index 00000000..6059a9c0 --- /dev/null +++ b/sdk/dotnet/Outputs/SchemaExporterDestinationSchemaRegistryClusterCredentials.cs @@ -0,0 +1,35 @@ +// *** 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; + +namespace Pulumi.ConfluentCloud.Outputs +{ + + [OutputType] + public sealed class SchemaExporterDestinationSchemaRegistryClusterCredentials + { + /// + /// The Schema Registry API Key. + /// + public readonly string Key; + /// + /// The Schema Registry API Secret. + /// + public readonly string Secret; + + [OutputConstructor] + private SchemaExporterDestinationSchemaRegistryClusterCredentials( + string key, + + string secret) + { + Key = key; + Secret = secret; + } + } +} diff --git a/sdk/dotnet/Outputs/SchemaExporterSchemaRegistryCluster.cs b/sdk/dotnet/Outputs/SchemaExporterSchemaRegistryCluster.cs new file mode 100644 index 00000000..a0a37543 --- /dev/null +++ b/sdk/dotnet/Outputs/SchemaExporterSchemaRegistryCluster.cs @@ -0,0 +1,27 @@ +// *** 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; + +namespace Pulumi.ConfluentCloud.Outputs +{ + + [OutputType] + public sealed class SchemaExporterSchemaRegistryCluster + { + /// + /// The ID of the Schema Registry cluster, for example, `lsrc-abc123`. + /// + public readonly string Id; + + [OutputConstructor] + private SchemaExporterSchemaRegistryCluster(string id) + { + Id = id; + } + } +} diff --git a/sdk/dotnet/SchemaExporter.cs b/sdk/dotnet/SchemaExporter.cs new file mode 100644 index 00000000..6ee14744 --- /dev/null +++ b/sdk/dotnet/SchemaExporter.cs @@ -0,0 +1,331 @@ +// *** 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; + +namespace Pulumi.ConfluentCloud +{ + /// + /// ## Import + /// + /// You can import a Schema Exporter by using the Schema Registry cluster ID, Schema Exporter name in the format `<Schema Registry cluster ID>/<Schema Exporter name>`, for example$ export IMPORT_SCHEMA_REGISTRY_API_KEY="<schema_registry_api_key>" $ export IMPORT_SCHEMA_REGISTRY_API_SECRET="<schema_registry_api_secret>" $ export IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT="<schema_registry_rest_endpoint>" + /// + /// ```sh + /// $ pulumi import confluentcloud:index/schemaExporter:SchemaExporter main lsrc-8wrx70/test-exporter + /// ``` + /// + /// !> **Warning:** Do not forget to delete terminal command history afterwards for security purposes. + /// + [ConfluentCloudResourceType("confluentcloud:index/schemaExporter:SchemaExporter")] + public partial class SchemaExporter : global::Pulumi.CustomResource + { + /// + /// Block for custom *nonsensitive* configuration properties: + /// + [Output("config")] + public Output> Config { get; private set; } = null!; + + /// + /// Customized context of the exporter if `context_type` is set to `CUSTOM`. + /// + [Output("context")] + public Output Context { get; private set; } = null!; + + /// + /// Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + /// + [Output("contextType")] + public Output ContextType { get; private set; } = null!; + + /// + /// The Cluster API Credentials. + /// + [Output("credentials")] + public Output Credentials { get; private set; } = null!; + + [Output("destinationSchemaRegistryCluster")] + public Output DestinationSchemaRegistryCluster { get; private set; } = null!; + + /// + /// The configuration setting name. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + /// + [Output("resetOnUpdate")] + public Output ResetOnUpdate { get; private set; } = null!; + + /// + /// The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + /// + [Output("restEndpoint")] + public Output RestEndpoint { get; private set; } = null!; + + [Output("schemaRegistryCluster")] + public Output SchemaRegistryCluster { get; private set; } = null!; + + /// + /// The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dc_orders`. + /// + [Output("subjectRenameFormat")] + public Output SubjectRenameFormat { get; private set; } = null!; + + /// + /// Name of each exporter subject. + /// + [Output("subjects")] + public Output> Subjects { get; private set; } = null!; + + + /// + /// Create a SchemaExporter resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public SchemaExporter(string name, SchemaExporterArgs args, CustomResourceOptions? options = null) + : base("confluentcloud:index/schemaExporter:SchemaExporter", name, args ?? new SchemaExporterArgs(), MakeResourceOptions(options, "")) + { + } + + private SchemaExporter(string name, Input id, SchemaExporterState? state = null, CustomResourceOptions? options = null) + : base("confluentcloud:index/schemaExporter:SchemaExporter", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + AdditionalSecretOutputs = + { + "credentials", + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing SchemaExporter resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static SchemaExporter Get(string name, Input id, SchemaExporterState? state = null, CustomResourceOptions? options = null) + { + return new SchemaExporter(name, id, state, options); + } + } + + public sealed class SchemaExporterArgs : global::Pulumi.ResourceArgs + { + [Input("config")] + private InputMap? _config; + + /// + /// Block for custom *nonsensitive* configuration properties: + /// + public InputMap Config + { + get => _config ?? (_config = new InputMap()); + set => _config = value; + } + + /// + /// Customized context of the exporter if `context_type` is set to `CUSTOM`. + /// + [Input("context")] + public Input? Context { get; set; } + + /// + /// Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + /// + [Input("contextType")] + public Input? ContextType { get; set; } + + [Input("credentials")] + private Input? _credentials; + + /// + /// The Cluster API Credentials. + /// + public Input? Credentials + { + get => _credentials; + set + { + var emptySecret = Output.CreateSecret(0); + _credentials = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("destinationSchemaRegistryCluster", required: true)] + public Input DestinationSchemaRegistryCluster { get; set; } = null!; + + /// + /// The configuration setting name. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + /// + [Input("resetOnUpdate")] + public Input? ResetOnUpdate { get; set; } + + /// + /// The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + /// + [Input("restEndpoint")] + public Input? RestEndpoint { get; set; } + + [Input("schemaRegistryCluster")] + public Input? SchemaRegistryCluster { get; set; } + + /// + /// The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + /// + [Input("status")] + public Input? Status { get; set; } + + /// + /// Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dc_orders`. + /// + [Input("subjectRenameFormat")] + public Input? SubjectRenameFormat { get; set; } + + [Input("subjects")] + private InputList? _subjects; + + /// + /// Name of each exporter subject. + /// + public InputList Subjects + { + get => _subjects ?? (_subjects = new InputList()); + set => _subjects = value; + } + + public SchemaExporterArgs() + { + } + public static new SchemaExporterArgs Empty => new SchemaExporterArgs(); + } + + public sealed class SchemaExporterState : global::Pulumi.ResourceArgs + { + [Input("config")] + private InputMap? _config; + + /// + /// Block for custom *nonsensitive* configuration properties: + /// + public InputMap Config + { + get => _config ?? (_config = new InputMap()); + set => _config = value; + } + + /// + /// Customized context of the exporter if `context_type` is set to `CUSTOM`. + /// + [Input("context")] + public Input? Context { get; set; } + + /// + /// Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + /// + [Input("contextType")] + public Input? ContextType { get; set; } + + [Input("credentials")] + private Input? _credentials; + + /// + /// The Cluster API Credentials. + /// + public Input? Credentials + { + get => _credentials; + set + { + var emptySecret = Output.CreateSecret(0); + _credentials = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("destinationSchemaRegistryCluster")] + public Input? DestinationSchemaRegistryCluster { get; set; } + + /// + /// The configuration setting name. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + /// + [Input("resetOnUpdate")] + public Input? ResetOnUpdate { get; set; } + + /// + /// The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + /// + [Input("restEndpoint")] + public Input? RestEndpoint { get; set; } + + [Input("schemaRegistryCluster")] + public Input? SchemaRegistryCluster { get; set; } + + /// + /// The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + /// + [Input("status")] + public Input? Status { get; set; } + + /// + /// Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dc_orders`. + /// + [Input("subjectRenameFormat")] + public Input? SubjectRenameFormat { get; set; } + + [Input("subjects")] + private InputList? _subjects; + + /// + /// Name of each exporter subject. + /// + public InputList Subjects + { + get => _subjects ?? (_subjects = new InputList()); + set => _subjects = value; + } + + public SchemaExporterState() + { + } + public static new SchemaExporterState Empty => new SchemaExporterState(); + } +} diff --git a/sdk/go/confluentcloud/getRoleBinding.go b/sdk/go/confluentcloud/getRoleBinding.go index fec23d2b..537355b6 100644 --- a/sdk/go/confluentcloud/getRoleBinding.go +++ b/sdk/go/confluentcloud/getRoleBinding.go @@ -16,6 +16,8 @@ import ( // // `RoleBinding` describes a Role Binding. // +// > **Note:** For more information on the Role Bindings, see [Predefined RBAC roles in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/access-control/rbac/predefined-rbac-roles.html). +// // ## Example Usage // // ```go diff --git a/sdk/go/confluentcloud/init.go b/sdk/go/confluentcloud/init.go index f5401572..20db197c 100644 --- a/sdk/go/confluentcloud/init.go +++ b/sdk/go/confluentcloud/init.go @@ -73,6 +73,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &RoleBinding{} case "confluentcloud:index/schema:Schema": r = &Schema{} + case "confluentcloud:index/schemaExporter:SchemaExporter": + r = &SchemaExporter{} case "confluentcloud:index/schemaRegistryCluster:SchemaRegistryCluster": r = &SchemaRegistryCluster{} case "confluentcloud:index/schemaRegistryClusterConfig:SchemaRegistryClusterConfig": @@ -254,6 +256,11 @@ func init() { "index/schema", &module{version}, ) + pulumi.RegisterResourceModule( + "confluentcloud", + "index/schemaExporter", + &module{version}, + ) pulumi.RegisterResourceModule( "confluentcloud", "index/schemaRegistryCluster", diff --git a/sdk/go/confluentcloud/kafkaAcl.go b/sdk/go/confluentcloud/kafkaAcl.go index 96216927..3db16ab8 100644 --- a/sdk/go/confluentcloud/kafkaAcl.go +++ b/sdk/go/confluentcloud/kafkaAcl.go @@ -15,7 +15,7 @@ import ( // ## Import // -// You can import Kafka ACLs by using the Kafka cluster ID and attributes of `confluent_kafka_acl` resource in the format `/######`, for exampleOption #1Manage multiple Kafka clusters in the same Terraform workspace $ export CONFLUENT_CLOUD_API_KEY="" $ export CONFLUENT_CLOUD_API_SECRET="" $ export IMPORT_KAFKA_API_KEY="" $ export IMPORT_KAFKA_API_SECRET="" $ export IMPORT_KAFKA_REST_ENDPOINT="" +// You can import Kafka ACLs by using the Kafka cluster ID and attributes of `confluent_kafka_acl` resource in the format `/######`, for exampleOption #1Manage multiple Kafka clusters in the same Terraform workspace $ export IMPORT_KAFKA_API_KEY="" $ export IMPORT_KAFKA_API_SECRET="" $ export IMPORT_KAFKA_REST_ENDPOINT="" // // ```sh // diff --git a/sdk/go/confluentcloud/pulumiTypes.go b/sdk/go/confluentcloud/pulumiTypes.go index 82ed34b3..492947e1 100644 --- a/sdk/go/confluentcloud/pulumiTypes.go +++ b/sdk/go/confluentcloud/pulumiTypes.go @@ -2050,8 +2050,6 @@ type ClusterLinkDestinationKafkaClusterCredentials struct { // The Kafka API Key. Key string `pulumi:"key"` // The Kafka API Secret. - // - // > **Note:** The `localKafkaCluster`, `remoteKafkaCluster` configuration block and `linkMode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). Secret string `pulumi:"secret"` } @@ -2070,8 +2068,6 @@ type ClusterLinkDestinationKafkaClusterCredentialsArgs struct { // The Kafka API Key. Key pulumi.StringInput `pulumi:"key"` // The Kafka API Secret. - // - // > **Note:** The `localKafkaCluster`, `remoteKafkaCluster` configuration block and `linkMode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). Secret pulumi.StringInput `pulumi:"secret"` } @@ -2176,8 +2172,6 @@ func (o ClusterLinkDestinationKafkaClusterCredentialsOutput) Key() pulumi.String } // The Kafka API Secret. -// -// > **Note:** The `localKafkaCluster`, `remoteKafkaCluster` configuration block and `linkMode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). func (o ClusterLinkDestinationKafkaClusterCredentialsOutput) Secret() pulumi.StringOutput { return o.ApplyT(func(v ClusterLinkDestinationKafkaClusterCredentials) string { return v.Secret }).(pulumi.StringOutput) } @@ -2223,8 +2217,6 @@ func (o ClusterLinkDestinationKafkaClusterCredentialsPtrOutput) Key() pulumi.Str } // The Kafka API Secret. -// -// > **Note:** The `localKafkaCluster`, `remoteKafkaCluster` configuration block and `linkMode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). func (o ClusterLinkDestinationKafkaClusterCredentialsPtrOutput) Secret() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClusterLinkDestinationKafkaClusterCredentials) *string { if v == nil { @@ -2452,8 +2444,6 @@ type ClusterLinkLocalKafkaClusterCredentials struct { // The Kafka API Key. Key string `pulumi:"key"` // The Kafka API Secret. - // - // > **Note:** The `localKafkaCluster`, `remoteKafkaCluster` configuration block and `linkMode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). Secret string `pulumi:"secret"` } @@ -2472,8 +2462,6 @@ type ClusterLinkLocalKafkaClusterCredentialsArgs struct { // The Kafka API Key. Key pulumi.StringInput `pulumi:"key"` // The Kafka API Secret. - // - // > **Note:** The `localKafkaCluster`, `remoteKafkaCluster` configuration block and `linkMode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). Secret pulumi.StringInput `pulumi:"secret"` } @@ -2578,8 +2566,6 @@ func (o ClusterLinkLocalKafkaClusterCredentialsOutput) Key() pulumi.StringOutput } // The Kafka API Secret. -// -// > **Note:** The `localKafkaCluster`, `remoteKafkaCluster` configuration block and `linkMode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). func (o ClusterLinkLocalKafkaClusterCredentialsOutput) Secret() pulumi.StringOutput { return o.ApplyT(func(v ClusterLinkLocalKafkaClusterCredentials) string { return v.Secret }).(pulumi.StringOutput) } @@ -2625,8 +2611,6 @@ func (o ClusterLinkLocalKafkaClusterCredentialsPtrOutput) Key() pulumi.StringPtr } // The Kafka API Secret. -// -// > **Note:** The `localKafkaCluster`, `remoteKafkaCluster` configuration block and `linkMode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). func (o ClusterLinkLocalKafkaClusterCredentialsPtrOutput) Secret() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClusterLinkLocalKafkaClusterCredentials) *string { if v == nil { @@ -2854,8 +2838,6 @@ type ClusterLinkRemoteKafkaClusterCredentials struct { // The Kafka API Key. Key string `pulumi:"key"` // The Kafka API Secret. - // - // > **Note:** The `localKafkaCluster`, `remoteKafkaCluster` configuration block and `linkMode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). Secret string `pulumi:"secret"` } @@ -2874,8 +2856,6 @@ type ClusterLinkRemoteKafkaClusterCredentialsArgs struct { // The Kafka API Key. Key pulumi.StringInput `pulumi:"key"` // The Kafka API Secret. - // - // > **Note:** The `localKafkaCluster`, `remoteKafkaCluster` configuration block and `linkMode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). Secret pulumi.StringInput `pulumi:"secret"` } @@ -2980,8 +2960,6 @@ func (o ClusterLinkRemoteKafkaClusterCredentialsOutput) Key() pulumi.StringOutpu } // The Kafka API Secret. -// -// > **Note:** The `localKafkaCluster`, `remoteKafkaCluster` configuration block and `linkMode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). func (o ClusterLinkRemoteKafkaClusterCredentialsOutput) Secret() pulumi.StringOutput { return o.ApplyT(func(v ClusterLinkRemoteKafkaClusterCredentials) string { return v.Secret }).(pulumi.StringOutput) } @@ -3027,8 +3005,6 @@ func (o ClusterLinkRemoteKafkaClusterCredentialsPtrOutput) Key() pulumi.StringPt } // The Kafka API Secret. -// -// > **Note:** The `localKafkaCluster`, `remoteKafkaCluster` configuration block and `linkMode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). func (o ClusterLinkRemoteKafkaClusterCredentialsPtrOutput) Secret() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClusterLinkRemoteKafkaClusterCredentials) *string { if v == nil { @@ -3256,8 +3232,6 @@ type ClusterLinkSourceKafkaClusterCredentials struct { // The Kafka API Key. Key string `pulumi:"key"` // The Kafka API Secret. - // - // > **Note:** The `localKafkaCluster`, `remoteKafkaCluster` configuration block and `linkMode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). Secret string `pulumi:"secret"` } @@ -3276,8 +3250,6 @@ type ClusterLinkSourceKafkaClusterCredentialsArgs struct { // The Kafka API Key. Key pulumi.StringInput `pulumi:"key"` // The Kafka API Secret. - // - // > **Note:** The `localKafkaCluster`, `remoteKafkaCluster` configuration block and `linkMode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). Secret pulumi.StringInput `pulumi:"secret"` } @@ -3382,8 +3354,6 @@ func (o ClusterLinkSourceKafkaClusterCredentialsOutput) Key() pulumi.StringOutpu } // The Kafka API Secret. -// -// > **Note:** The `localKafkaCluster`, `remoteKafkaCluster` configuration block and `linkMode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). func (o ClusterLinkSourceKafkaClusterCredentialsOutput) Secret() pulumi.StringOutput { return o.ApplyT(func(v ClusterLinkSourceKafkaClusterCredentials) string { return v.Secret }).(pulumi.StringOutput) } @@ -3429,8 +3399,6 @@ func (o ClusterLinkSourceKafkaClusterCredentialsPtrOutput) Key() pulumi.StringPt } // The Kafka API Secret. -// -// > **Note:** The `localKafkaCluster`, `remoteKafkaCluster` configuration block and `linkMode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). func (o ClusterLinkSourceKafkaClusterCredentialsPtrOutput) Secret() pulumi.StringPtrOutput { return o.ApplyT(func(v *ClusterLinkSourceKafkaClusterCredentials) *string { if v == nil { @@ -13174,6 +13142,705 @@ func (o SchemaCredentialsPtrOutput) Secret() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type SchemaExporterCredentials struct { + // The Schema Registry API Key. + Key string `pulumi:"key"` + // The Schema Registry API Secret. + Secret string `pulumi:"secret"` +} + +// SchemaExporterCredentialsInput is an input type that accepts SchemaExporterCredentialsArgs and SchemaExporterCredentialsOutput values. +// You can construct a concrete instance of `SchemaExporterCredentialsInput` via: +// +// SchemaExporterCredentialsArgs{...} +type SchemaExporterCredentialsInput interface { + pulumi.Input + + ToSchemaExporterCredentialsOutput() SchemaExporterCredentialsOutput + ToSchemaExporterCredentialsOutputWithContext(context.Context) SchemaExporterCredentialsOutput +} + +type SchemaExporterCredentialsArgs struct { + // The Schema Registry API Key. + Key pulumi.StringInput `pulumi:"key"` + // The Schema Registry API Secret. + Secret pulumi.StringInput `pulumi:"secret"` +} + +func (SchemaExporterCredentialsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SchemaExporterCredentials)(nil)).Elem() +} + +func (i SchemaExporterCredentialsArgs) ToSchemaExporterCredentialsOutput() SchemaExporterCredentialsOutput { + return i.ToSchemaExporterCredentialsOutputWithContext(context.Background()) +} + +func (i SchemaExporterCredentialsArgs) ToSchemaExporterCredentialsOutputWithContext(ctx context.Context) SchemaExporterCredentialsOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaExporterCredentialsOutput) +} + +func (i SchemaExporterCredentialsArgs) ToOutput(ctx context.Context) pulumix.Output[SchemaExporterCredentials] { + return pulumix.Output[SchemaExporterCredentials]{ + OutputState: i.ToSchemaExporterCredentialsOutputWithContext(ctx).OutputState, + } +} + +func (i SchemaExporterCredentialsArgs) ToSchemaExporterCredentialsPtrOutput() SchemaExporterCredentialsPtrOutput { + return i.ToSchemaExporterCredentialsPtrOutputWithContext(context.Background()) +} + +func (i SchemaExporterCredentialsArgs) ToSchemaExporterCredentialsPtrOutputWithContext(ctx context.Context) SchemaExporterCredentialsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaExporterCredentialsOutput).ToSchemaExporterCredentialsPtrOutputWithContext(ctx) +} + +// SchemaExporterCredentialsPtrInput is an input type that accepts SchemaExporterCredentialsArgs, SchemaExporterCredentialsPtr and SchemaExporterCredentialsPtrOutput values. +// You can construct a concrete instance of `SchemaExporterCredentialsPtrInput` via: +// +// SchemaExporterCredentialsArgs{...} +// +// or: +// +// nil +type SchemaExporterCredentialsPtrInput interface { + pulumi.Input + + ToSchemaExporterCredentialsPtrOutput() SchemaExporterCredentialsPtrOutput + ToSchemaExporterCredentialsPtrOutputWithContext(context.Context) SchemaExporterCredentialsPtrOutput +} + +type schemaExporterCredentialsPtrType SchemaExporterCredentialsArgs + +func SchemaExporterCredentialsPtr(v *SchemaExporterCredentialsArgs) SchemaExporterCredentialsPtrInput { + return (*schemaExporterCredentialsPtrType)(v) +} + +func (*schemaExporterCredentialsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SchemaExporterCredentials)(nil)).Elem() +} + +func (i *schemaExporterCredentialsPtrType) ToSchemaExporterCredentialsPtrOutput() SchemaExporterCredentialsPtrOutput { + return i.ToSchemaExporterCredentialsPtrOutputWithContext(context.Background()) +} + +func (i *schemaExporterCredentialsPtrType) ToSchemaExporterCredentialsPtrOutputWithContext(ctx context.Context) SchemaExporterCredentialsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaExporterCredentialsPtrOutput) +} + +func (i *schemaExporterCredentialsPtrType) ToOutput(ctx context.Context) pulumix.Output[*SchemaExporterCredentials] { + return pulumix.Output[*SchemaExporterCredentials]{ + OutputState: i.ToSchemaExporterCredentialsPtrOutputWithContext(ctx).OutputState, + } +} + +type SchemaExporterCredentialsOutput struct{ *pulumi.OutputState } + +func (SchemaExporterCredentialsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SchemaExporterCredentials)(nil)).Elem() +} + +func (o SchemaExporterCredentialsOutput) ToSchemaExporterCredentialsOutput() SchemaExporterCredentialsOutput { + return o +} + +func (o SchemaExporterCredentialsOutput) ToSchemaExporterCredentialsOutputWithContext(ctx context.Context) SchemaExporterCredentialsOutput { + return o +} + +func (o SchemaExporterCredentialsOutput) ToSchemaExporterCredentialsPtrOutput() SchemaExporterCredentialsPtrOutput { + return o.ToSchemaExporterCredentialsPtrOutputWithContext(context.Background()) +} + +func (o SchemaExporterCredentialsOutput) ToSchemaExporterCredentialsPtrOutputWithContext(ctx context.Context) SchemaExporterCredentialsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SchemaExporterCredentials) *SchemaExporterCredentials { + return &v + }).(SchemaExporterCredentialsPtrOutput) +} + +func (o SchemaExporterCredentialsOutput) ToOutput(ctx context.Context) pulumix.Output[SchemaExporterCredentials] { + return pulumix.Output[SchemaExporterCredentials]{ + OutputState: o.OutputState, + } +} + +// The Schema Registry API Key. +func (o SchemaExporterCredentialsOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v SchemaExporterCredentials) string { return v.Key }).(pulumi.StringOutput) +} + +// The Schema Registry API Secret. +func (o SchemaExporterCredentialsOutput) Secret() pulumi.StringOutput { + return o.ApplyT(func(v SchemaExporterCredentials) string { return v.Secret }).(pulumi.StringOutput) +} + +type SchemaExporterCredentialsPtrOutput struct{ *pulumi.OutputState } + +func (SchemaExporterCredentialsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SchemaExporterCredentials)(nil)).Elem() +} + +func (o SchemaExporterCredentialsPtrOutput) ToSchemaExporterCredentialsPtrOutput() SchemaExporterCredentialsPtrOutput { + return o +} + +func (o SchemaExporterCredentialsPtrOutput) ToSchemaExporterCredentialsPtrOutputWithContext(ctx context.Context) SchemaExporterCredentialsPtrOutput { + return o +} + +func (o SchemaExporterCredentialsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*SchemaExporterCredentials] { + return pulumix.Output[*SchemaExporterCredentials]{ + OutputState: o.OutputState, + } +} + +func (o SchemaExporterCredentialsPtrOutput) Elem() SchemaExporterCredentialsOutput { + return o.ApplyT(func(v *SchemaExporterCredentials) SchemaExporterCredentials { + if v != nil { + return *v + } + var ret SchemaExporterCredentials + return ret + }).(SchemaExporterCredentialsOutput) +} + +// The Schema Registry API Key. +func (o SchemaExporterCredentialsPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SchemaExporterCredentials) *string { + if v == nil { + return nil + } + return &v.Key + }).(pulumi.StringPtrOutput) +} + +// The Schema Registry API Secret. +func (o SchemaExporterCredentialsPtrOutput) Secret() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SchemaExporterCredentials) *string { + if v == nil { + return nil + } + return &v.Secret + }).(pulumi.StringPtrOutput) +} + +type SchemaExporterDestinationSchemaRegistryCluster struct { + Credentials SchemaExporterDestinationSchemaRegistryClusterCredentials `pulumi:"credentials"` + // The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + RestEndpoint string `pulumi:"restEndpoint"` +} + +// SchemaExporterDestinationSchemaRegistryClusterInput is an input type that accepts SchemaExporterDestinationSchemaRegistryClusterArgs and SchemaExporterDestinationSchemaRegistryClusterOutput values. +// You can construct a concrete instance of `SchemaExporterDestinationSchemaRegistryClusterInput` via: +// +// SchemaExporterDestinationSchemaRegistryClusterArgs{...} +type SchemaExporterDestinationSchemaRegistryClusterInput interface { + pulumi.Input + + ToSchemaExporterDestinationSchemaRegistryClusterOutput() SchemaExporterDestinationSchemaRegistryClusterOutput + ToSchemaExporterDestinationSchemaRegistryClusterOutputWithContext(context.Context) SchemaExporterDestinationSchemaRegistryClusterOutput +} + +type SchemaExporterDestinationSchemaRegistryClusterArgs struct { + Credentials SchemaExporterDestinationSchemaRegistryClusterCredentialsInput `pulumi:"credentials"` + // The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + RestEndpoint pulumi.StringInput `pulumi:"restEndpoint"` +} + +func (SchemaExporterDestinationSchemaRegistryClusterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SchemaExporterDestinationSchemaRegistryCluster)(nil)).Elem() +} + +func (i SchemaExporterDestinationSchemaRegistryClusterArgs) ToSchemaExporterDestinationSchemaRegistryClusterOutput() SchemaExporterDestinationSchemaRegistryClusterOutput { + return i.ToSchemaExporterDestinationSchemaRegistryClusterOutputWithContext(context.Background()) +} + +func (i SchemaExporterDestinationSchemaRegistryClusterArgs) ToSchemaExporterDestinationSchemaRegistryClusterOutputWithContext(ctx context.Context) SchemaExporterDestinationSchemaRegistryClusterOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaExporterDestinationSchemaRegistryClusterOutput) +} + +func (i SchemaExporterDestinationSchemaRegistryClusterArgs) ToOutput(ctx context.Context) pulumix.Output[SchemaExporterDestinationSchemaRegistryCluster] { + return pulumix.Output[SchemaExporterDestinationSchemaRegistryCluster]{ + OutputState: i.ToSchemaExporterDestinationSchemaRegistryClusterOutputWithContext(ctx).OutputState, + } +} + +func (i SchemaExporterDestinationSchemaRegistryClusterArgs) ToSchemaExporterDestinationSchemaRegistryClusterPtrOutput() SchemaExporterDestinationSchemaRegistryClusterPtrOutput { + return i.ToSchemaExporterDestinationSchemaRegistryClusterPtrOutputWithContext(context.Background()) +} + +func (i SchemaExporterDestinationSchemaRegistryClusterArgs) ToSchemaExporterDestinationSchemaRegistryClusterPtrOutputWithContext(ctx context.Context) SchemaExporterDestinationSchemaRegistryClusterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaExporterDestinationSchemaRegistryClusterOutput).ToSchemaExporterDestinationSchemaRegistryClusterPtrOutputWithContext(ctx) +} + +// SchemaExporterDestinationSchemaRegistryClusterPtrInput is an input type that accepts SchemaExporterDestinationSchemaRegistryClusterArgs, SchemaExporterDestinationSchemaRegistryClusterPtr and SchemaExporterDestinationSchemaRegistryClusterPtrOutput values. +// You can construct a concrete instance of `SchemaExporterDestinationSchemaRegistryClusterPtrInput` via: +// +// SchemaExporterDestinationSchemaRegistryClusterArgs{...} +// +// or: +// +// nil +type SchemaExporterDestinationSchemaRegistryClusterPtrInput interface { + pulumi.Input + + ToSchemaExporterDestinationSchemaRegistryClusterPtrOutput() SchemaExporterDestinationSchemaRegistryClusterPtrOutput + ToSchemaExporterDestinationSchemaRegistryClusterPtrOutputWithContext(context.Context) SchemaExporterDestinationSchemaRegistryClusterPtrOutput +} + +type schemaExporterDestinationSchemaRegistryClusterPtrType SchemaExporterDestinationSchemaRegistryClusterArgs + +func SchemaExporterDestinationSchemaRegistryClusterPtr(v *SchemaExporterDestinationSchemaRegistryClusterArgs) SchemaExporterDestinationSchemaRegistryClusterPtrInput { + return (*schemaExporterDestinationSchemaRegistryClusterPtrType)(v) +} + +func (*schemaExporterDestinationSchemaRegistryClusterPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SchemaExporterDestinationSchemaRegistryCluster)(nil)).Elem() +} + +func (i *schemaExporterDestinationSchemaRegistryClusterPtrType) ToSchemaExporterDestinationSchemaRegistryClusterPtrOutput() SchemaExporterDestinationSchemaRegistryClusterPtrOutput { + return i.ToSchemaExporterDestinationSchemaRegistryClusterPtrOutputWithContext(context.Background()) +} + +func (i *schemaExporterDestinationSchemaRegistryClusterPtrType) ToSchemaExporterDestinationSchemaRegistryClusterPtrOutputWithContext(ctx context.Context) SchemaExporterDestinationSchemaRegistryClusterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaExporterDestinationSchemaRegistryClusterPtrOutput) +} + +func (i *schemaExporterDestinationSchemaRegistryClusterPtrType) ToOutput(ctx context.Context) pulumix.Output[*SchemaExporterDestinationSchemaRegistryCluster] { + return pulumix.Output[*SchemaExporterDestinationSchemaRegistryCluster]{ + OutputState: i.ToSchemaExporterDestinationSchemaRegistryClusterPtrOutputWithContext(ctx).OutputState, + } +} + +type SchemaExporterDestinationSchemaRegistryClusterOutput struct{ *pulumi.OutputState } + +func (SchemaExporterDestinationSchemaRegistryClusterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SchemaExporterDestinationSchemaRegistryCluster)(nil)).Elem() +} + +func (o SchemaExporterDestinationSchemaRegistryClusterOutput) ToSchemaExporterDestinationSchemaRegistryClusterOutput() SchemaExporterDestinationSchemaRegistryClusterOutput { + return o +} + +func (o SchemaExporterDestinationSchemaRegistryClusterOutput) ToSchemaExporterDestinationSchemaRegistryClusterOutputWithContext(ctx context.Context) SchemaExporterDestinationSchemaRegistryClusterOutput { + return o +} + +func (o SchemaExporterDestinationSchemaRegistryClusterOutput) ToSchemaExporterDestinationSchemaRegistryClusterPtrOutput() SchemaExporterDestinationSchemaRegistryClusterPtrOutput { + return o.ToSchemaExporterDestinationSchemaRegistryClusterPtrOutputWithContext(context.Background()) +} + +func (o SchemaExporterDestinationSchemaRegistryClusterOutput) ToSchemaExporterDestinationSchemaRegistryClusterPtrOutputWithContext(ctx context.Context) SchemaExporterDestinationSchemaRegistryClusterPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SchemaExporterDestinationSchemaRegistryCluster) *SchemaExporterDestinationSchemaRegistryCluster { + return &v + }).(SchemaExporterDestinationSchemaRegistryClusterPtrOutput) +} + +func (o SchemaExporterDestinationSchemaRegistryClusterOutput) ToOutput(ctx context.Context) pulumix.Output[SchemaExporterDestinationSchemaRegistryCluster] { + return pulumix.Output[SchemaExporterDestinationSchemaRegistryCluster]{ + OutputState: o.OutputState, + } +} + +func (o SchemaExporterDestinationSchemaRegistryClusterOutput) Credentials() SchemaExporterDestinationSchemaRegistryClusterCredentialsOutput { + return o.ApplyT(func(v SchemaExporterDestinationSchemaRegistryCluster) SchemaExporterDestinationSchemaRegistryClusterCredentials { + return v.Credentials + }).(SchemaExporterDestinationSchemaRegistryClusterCredentialsOutput) +} + +// The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). +func (o SchemaExporterDestinationSchemaRegistryClusterOutput) RestEndpoint() pulumi.StringOutput { + return o.ApplyT(func(v SchemaExporterDestinationSchemaRegistryCluster) string { return v.RestEndpoint }).(pulumi.StringOutput) +} + +type SchemaExporterDestinationSchemaRegistryClusterPtrOutput struct{ *pulumi.OutputState } + +func (SchemaExporterDestinationSchemaRegistryClusterPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SchemaExporterDestinationSchemaRegistryCluster)(nil)).Elem() +} + +func (o SchemaExporterDestinationSchemaRegistryClusterPtrOutput) ToSchemaExporterDestinationSchemaRegistryClusterPtrOutput() SchemaExporterDestinationSchemaRegistryClusterPtrOutput { + return o +} + +func (o SchemaExporterDestinationSchemaRegistryClusterPtrOutput) ToSchemaExporterDestinationSchemaRegistryClusterPtrOutputWithContext(ctx context.Context) SchemaExporterDestinationSchemaRegistryClusterPtrOutput { + return o +} + +func (o SchemaExporterDestinationSchemaRegistryClusterPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*SchemaExporterDestinationSchemaRegistryCluster] { + return pulumix.Output[*SchemaExporterDestinationSchemaRegistryCluster]{ + OutputState: o.OutputState, + } +} + +func (o SchemaExporterDestinationSchemaRegistryClusterPtrOutput) Elem() SchemaExporterDestinationSchemaRegistryClusterOutput { + return o.ApplyT(func(v *SchemaExporterDestinationSchemaRegistryCluster) SchemaExporterDestinationSchemaRegistryCluster { + if v != nil { + return *v + } + var ret SchemaExporterDestinationSchemaRegistryCluster + return ret + }).(SchemaExporterDestinationSchemaRegistryClusterOutput) +} + +func (o SchemaExporterDestinationSchemaRegistryClusterPtrOutput) Credentials() SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput { + return o.ApplyT(func(v *SchemaExporterDestinationSchemaRegistryCluster) *SchemaExporterDestinationSchemaRegistryClusterCredentials { + if v == nil { + return nil + } + return &v.Credentials + }).(SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput) +} + +// The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). +func (o SchemaExporterDestinationSchemaRegistryClusterPtrOutput) RestEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SchemaExporterDestinationSchemaRegistryCluster) *string { + if v == nil { + return nil + } + return &v.RestEndpoint + }).(pulumi.StringPtrOutput) +} + +type SchemaExporterDestinationSchemaRegistryClusterCredentials struct { + // The Schema Registry API Key. + Key string `pulumi:"key"` + // The Schema Registry API Secret. + Secret string `pulumi:"secret"` +} + +// SchemaExporterDestinationSchemaRegistryClusterCredentialsInput is an input type that accepts SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs and SchemaExporterDestinationSchemaRegistryClusterCredentialsOutput values. +// You can construct a concrete instance of `SchemaExporterDestinationSchemaRegistryClusterCredentialsInput` via: +// +// SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs{...} +type SchemaExporterDestinationSchemaRegistryClusterCredentialsInput interface { + pulumi.Input + + ToSchemaExporterDestinationSchemaRegistryClusterCredentialsOutput() SchemaExporterDestinationSchemaRegistryClusterCredentialsOutput + ToSchemaExporterDestinationSchemaRegistryClusterCredentialsOutputWithContext(context.Context) SchemaExporterDestinationSchemaRegistryClusterCredentialsOutput +} + +type SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs struct { + // The Schema Registry API Key. + Key pulumi.StringInput `pulumi:"key"` + // The Schema Registry API Secret. + Secret pulumi.StringInput `pulumi:"secret"` +} + +func (SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SchemaExporterDestinationSchemaRegistryClusterCredentials)(nil)).Elem() +} + +func (i SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs) ToSchemaExporterDestinationSchemaRegistryClusterCredentialsOutput() SchemaExporterDestinationSchemaRegistryClusterCredentialsOutput { + return i.ToSchemaExporterDestinationSchemaRegistryClusterCredentialsOutputWithContext(context.Background()) +} + +func (i SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs) ToSchemaExporterDestinationSchemaRegistryClusterCredentialsOutputWithContext(ctx context.Context) SchemaExporterDestinationSchemaRegistryClusterCredentialsOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaExporterDestinationSchemaRegistryClusterCredentialsOutput) +} + +func (i SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs) ToOutput(ctx context.Context) pulumix.Output[SchemaExporterDestinationSchemaRegistryClusterCredentials] { + return pulumix.Output[SchemaExporterDestinationSchemaRegistryClusterCredentials]{ + OutputState: i.ToSchemaExporterDestinationSchemaRegistryClusterCredentialsOutputWithContext(ctx).OutputState, + } +} + +func (i SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs) ToSchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput() SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput { + return i.ToSchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutputWithContext(context.Background()) +} + +func (i SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs) ToSchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutputWithContext(ctx context.Context) SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaExporterDestinationSchemaRegistryClusterCredentialsOutput).ToSchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutputWithContext(ctx) +} + +// SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrInput is an input type that accepts SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs, SchemaExporterDestinationSchemaRegistryClusterCredentialsPtr and SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput values. +// You can construct a concrete instance of `SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrInput` via: +// +// SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs{...} +// +// or: +// +// nil +type SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrInput interface { + pulumi.Input + + ToSchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput() SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput + ToSchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutputWithContext(context.Context) SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput +} + +type schemaExporterDestinationSchemaRegistryClusterCredentialsPtrType SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs + +func SchemaExporterDestinationSchemaRegistryClusterCredentialsPtr(v *SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs) SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrInput { + return (*schemaExporterDestinationSchemaRegistryClusterCredentialsPtrType)(v) +} + +func (*schemaExporterDestinationSchemaRegistryClusterCredentialsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SchemaExporterDestinationSchemaRegistryClusterCredentials)(nil)).Elem() +} + +func (i *schemaExporterDestinationSchemaRegistryClusterCredentialsPtrType) ToSchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput() SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput { + return i.ToSchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutputWithContext(context.Background()) +} + +func (i *schemaExporterDestinationSchemaRegistryClusterCredentialsPtrType) ToSchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutputWithContext(ctx context.Context) SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput) +} + +func (i *schemaExporterDestinationSchemaRegistryClusterCredentialsPtrType) ToOutput(ctx context.Context) pulumix.Output[*SchemaExporterDestinationSchemaRegistryClusterCredentials] { + return pulumix.Output[*SchemaExporterDestinationSchemaRegistryClusterCredentials]{ + OutputState: i.ToSchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutputWithContext(ctx).OutputState, + } +} + +type SchemaExporterDestinationSchemaRegistryClusterCredentialsOutput struct{ *pulumi.OutputState } + +func (SchemaExporterDestinationSchemaRegistryClusterCredentialsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SchemaExporterDestinationSchemaRegistryClusterCredentials)(nil)).Elem() +} + +func (o SchemaExporterDestinationSchemaRegistryClusterCredentialsOutput) ToSchemaExporterDestinationSchemaRegistryClusterCredentialsOutput() SchemaExporterDestinationSchemaRegistryClusterCredentialsOutput { + return o +} + +func (o SchemaExporterDestinationSchemaRegistryClusterCredentialsOutput) ToSchemaExporterDestinationSchemaRegistryClusterCredentialsOutputWithContext(ctx context.Context) SchemaExporterDestinationSchemaRegistryClusterCredentialsOutput { + return o +} + +func (o SchemaExporterDestinationSchemaRegistryClusterCredentialsOutput) ToSchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput() SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput { + return o.ToSchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutputWithContext(context.Background()) +} + +func (o SchemaExporterDestinationSchemaRegistryClusterCredentialsOutput) ToSchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutputWithContext(ctx context.Context) SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SchemaExporterDestinationSchemaRegistryClusterCredentials) *SchemaExporterDestinationSchemaRegistryClusterCredentials { + return &v + }).(SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput) +} + +func (o SchemaExporterDestinationSchemaRegistryClusterCredentialsOutput) ToOutput(ctx context.Context) pulumix.Output[SchemaExporterDestinationSchemaRegistryClusterCredentials] { + return pulumix.Output[SchemaExporterDestinationSchemaRegistryClusterCredentials]{ + OutputState: o.OutputState, + } +} + +// The Schema Registry API Key. +func (o SchemaExporterDestinationSchemaRegistryClusterCredentialsOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v SchemaExporterDestinationSchemaRegistryClusterCredentials) string { return v.Key }).(pulumi.StringOutput) +} + +// The Schema Registry API Secret. +func (o SchemaExporterDestinationSchemaRegistryClusterCredentialsOutput) Secret() pulumi.StringOutput { + return o.ApplyT(func(v SchemaExporterDestinationSchemaRegistryClusterCredentials) string { return v.Secret }).(pulumi.StringOutput) +} + +type SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput struct{ *pulumi.OutputState } + +func (SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SchemaExporterDestinationSchemaRegistryClusterCredentials)(nil)).Elem() +} + +func (o SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput) ToSchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput() SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput { + return o +} + +func (o SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput) ToSchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutputWithContext(ctx context.Context) SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput { + return o +} + +func (o SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*SchemaExporterDestinationSchemaRegistryClusterCredentials] { + return pulumix.Output[*SchemaExporterDestinationSchemaRegistryClusterCredentials]{ + OutputState: o.OutputState, + } +} + +func (o SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput) Elem() SchemaExporterDestinationSchemaRegistryClusterCredentialsOutput { + return o.ApplyT(func(v *SchemaExporterDestinationSchemaRegistryClusterCredentials) SchemaExporterDestinationSchemaRegistryClusterCredentials { + if v != nil { + return *v + } + var ret SchemaExporterDestinationSchemaRegistryClusterCredentials + return ret + }).(SchemaExporterDestinationSchemaRegistryClusterCredentialsOutput) +} + +// The Schema Registry API Key. +func (o SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SchemaExporterDestinationSchemaRegistryClusterCredentials) *string { + if v == nil { + return nil + } + return &v.Key + }).(pulumi.StringPtrOutput) +} + +// The Schema Registry API Secret. +func (o SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput) Secret() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SchemaExporterDestinationSchemaRegistryClusterCredentials) *string { + if v == nil { + return nil + } + return &v.Secret + }).(pulumi.StringPtrOutput) +} + +type SchemaExporterSchemaRegistryCluster struct { + // The ID of the Schema Registry cluster, for example, `lsrc-abc123`. + Id string `pulumi:"id"` +} + +// SchemaExporterSchemaRegistryClusterInput is an input type that accepts SchemaExporterSchemaRegistryClusterArgs and SchemaExporterSchemaRegistryClusterOutput values. +// You can construct a concrete instance of `SchemaExporterSchemaRegistryClusterInput` via: +// +// SchemaExporterSchemaRegistryClusterArgs{...} +type SchemaExporterSchemaRegistryClusterInput interface { + pulumi.Input + + ToSchemaExporterSchemaRegistryClusterOutput() SchemaExporterSchemaRegistryClusterOutput + ToSchemaExporterSchemaRegistryClusterOutputWithContext(context.Context) SchemaExporterSchemaRegistryClusterOutput +} + +type SchemaExporterSchemaRegistryClusterArgs struct { + // The ID of the Schema Registry cluster, for example, `lsrc-abc123`. + Id pulumi.StringInput `pulumi:"id"` +} + +func (SchemaExporterSchemaRegistryClusterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SchemaExporterSchemaRegistryCluster)(nil)).Elem() +} + +func (i SchemaExporterSchemaRegistryClusterArgs) ToSchemaExporterSchemaRegistryClusterOutput() SchemaExporterSchemaRegistryClusterOutput { + return i.ToSchemaExporterSchemaRegistryClusterOutputWithContext(context.Background()) +} + +func (i SchemaExporterSchemaRegistryClusterArgs) ToSchemaExporterSchemaRegistryClusterOutputWithContext(ctx context.Context) SchemaExporterSchemaRegistryClusterOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaExporterSchemaRegistryClusterOutput) +} + +func (i SchemaExporterSchemaRegistryClusterArgs) ToOutput(ctx context.Context) pulumix.Output[SchemaExporterSchemaRegistryCluster] { + return pulumix.Output[SchemaExporterSchemaRegistryCluster]{ + OutputState: i.ToSchemaExporterSchemaRegistryClusterOutputWithContext(ctx).OutputState, + } +} + +func (i SchemaExporterSchemaRegistryClusterArgs) ToSchemaExporterSchemaRegistryClusterPtrOutput() SchemaExporterSchemaRegistryClusterPtrOutput { + return i.ToSchemaExporterSchemaRegistryClusterPtrOutputWithContext(context.Background()) +} + +func (i SchemaExporterSchemaRegistryClusterArgs) ToSchemaExporterSchemaRegistryClusterPtrOutputWithContext(ctx context.Context) SchemaExporterSchemaRegistryClusterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaExporterSchemaRegistryClusterOutput).ToSchemaExporterSchemaRegistryClusterPtrOutputWithContext(ctx) +} + +// SchemaExporterSchemaRegistryClusterPtrInput is an input type that accepts SchemaExporterSchemaRegistryClusterArgs, SchemaExporterSchemaRegistryClusterPtr and SchemaExporterSchemaRegistryClusterPtrOutput values. +// You can construct a concrete instance of `SchemaExporterSchemaRegistryClusterPtrInput` via: +// +// SchemaExporterSchemaRegistryClusterArgs{...} +// +// or: +// +// nil +type SchemaExporterSchemaRegistryClusterPtrInput interface { + pulumi.Input + + ToSchemaExporterSchemaRegistryClusterPtrOutput() SchemaExporterSchemaRegistryClusterPtrOutput + ToSchemaExporterSchemaRegistryClusterPtrOutputWithContext(context.Context) SchemaExporterSchemaRegistryClusterPtrOutput +} + +type schemaExporterSchemaRegistryClusterPtrType SchemaExporterSchemaRegistryClusterArgs + +func SchemaExporterSchemaRegistryClusterPtr(v *SchemaExporterSchemaRegistryClusterArgs) SchemaExporterSchemaRegistryClusterPtrInput { + return (*schemaExporterSchemaRegistryClusterPtrType)(v) +} + +func (*schemaExporterSchemaRegistryClusterPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SchemaExporterSchemaRegistryCluster)(nil)).Elem() +} + +func (i *schemaExporterSchemaRegistryClusterPtrType) ToSchemaExporterSchemaRegistryClusterPtrOutput() SchemaExporterSchemaRegistryClusterPtrOutput { + return i.ToSchemaExporterSchemaRegistryClusterPtrOutputWithContext(context.Background()) +} + +func (i *schemaExporterSchemaRegistryClusterPtrType) ToSchemaExporterSchemaRegistryClusterPtrOutputWithContext(ctx context.Context) SchemaExporterSchemaRegistryClusterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaExporterSchemaRegistryClusterPtrOutput) +} + +func (i *schemaExporterSchemaRegistryClusterPtrType) ToOutput(ctx context.Context) pulumix.Output[*SchemaExporterSchemaRegistryCluster] { + return pulumix.Output[*SchemaExporterSchemaRegistryCluster]{ + OutputState: i.ToSchemaExporterSchemaRegistryClusterPtrOutputWithContext(ctx).OutputState, + } +} + +type SchemaExporterSchemaRegistryClusterOutput struct{ *pulumi.OutputState } + +func (SchemaExporterSchemaRegistryClusterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SchemaExporterSchemaRegistryCluster)(nil)).Elem() +} + +func (o SchemaExporterSchemaRegistryClusterOutput) ToSchemaExporterSchemaRegistryClusterOutput() SchemaExporterSchemaRegistryClusterOutput { + return o +} + +func (o SchemaExporterSchemaRegistryClusterOutput) ToSchemaExporterSchemaRegistryClusterOutputWithContext(ctx context.Context) SchemaExporterSchemaRegistryClusterOutput { + return o +} + +func (o SchemaExporterSchemaRegistryClusterOutput) ToSchemaExporterSchemaRegistryClusterPtrOutput() SchemaExporterSchemaRegistryClusterPtrOutput { + return o.ToSchemaExporterSchemaRegistryClusterPtrOutputWithContext(context.Background()) +} + +func (o SchemaExporterSchemaRegistryClusterOutput) ToSchemaExporterSchemaRegistryClusterPtrOutputWithContext(ctx context.Context) SchemaExporterSchemaRegistryClusterPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SchemaExporterSchemaRegistryCluster) *SchemaExporterSchemaRegistryCluster { + return &v + }).(SchemaExporterSchemaRegistryClusterPtrOutput) +} + +func (o SchemaExporterSchemaRegistryClusterOutput) ToOutput(ctx context.Context) pulumix.Output[SchemaExporterSchemaRegistryCluster] { + return pulumix.Output[SchemaExporterSchemaRegistryCluster]{ + OutputState: o.OutputState, + } +} + +// The ID of the Schema Registry cluster, for example, `lsrc-abc123`. +func (o SchemaExporterSchemaRegistryClusterOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v SchemaExporterSchemaRegistryCluster) string { return v.Id }).(pulumi.StringOutput) +} + +type SchemaExporterSchemaRegistryClusterPtrOutput struct{ *pulumi.OutputState } + +func (SchemaExporterSchemaRegistryClusterPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SchemaExporterSchemaRegistryCluster)(nil)).Elem() +} + +func (o SchemaExporterSchemaRegistryClusterPtrOutput) ToSchemaExporterSchemaRegistryClusterPtrOutput() SchemaExporterSchemaRegistryClusterPtrOutput { + return o +} + +func (o SchemaExporterSchemaRegistryClusterPtrOutput) ToSchemaExporterSchemaRegistryClusterPtrOutputWithContext(ctx context.Context) SchemaExporterSchemaRegistryClusterPtrOutput { + return o +} + +func (o SchemaExporterSchemaRegistryClusterPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*SchemaExporterSchemaRegistryCluster] { + return pulumix.Output[*SchemaExporterSchemaRegistryCluster]{ + OutputState: o.OutputState, + } +} + +func (o SchemaExporterSchemaRegistryClusterPtrOutput) Elem() SchemaExporterSchemaRegistryClusterOutput { + return o.ApplyT(func(v *SchemaExporterSchemaRegistryCluster) SchemaExporterSchemaRegistryCluster { + if v != nil { + return *v + } + var ret SchemaExporterSchemaRegistryCluster + return ret + }).(SchemaExporterSchemaRegistryClusterOutput) +} + +// The ID of the Schema Registry cluster, for example, `lsrc-abc123`. +func (o SchemaExporterSchemaRegistryClusterPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SchemaExporterSchemaRegistryCluster) *string { + if v == nil { + return nil + } + return &v.Id + }).(pulumi.StringPtrOutput) +} + type SchemaRegistryClusterConfigCredentials struct { // The Schema Registry API Key. Key string `pulumi:"key"` @@ -27745,6 +28412,14 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*PrivateLinkAttachmentGcpArrayInput)(nil)).Elem(), PrivateLinkAttachmentGcpArray{}) pulumi.RegisterInputType(reflect.TypeOf((*SchemaCredentialsInput)(nil)).Elem(), SchemaCredentialsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SchemaCredentialsPtrInput)(nil)).Elem(), SchemaCredentialsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SchemaExporterCredentialsInput)(nil)).Elem(), SchemaExporterCredentialsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SchemaExporterCredentialsPtrInput)(nil)).Elem(), SchemaExporterCredentialsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SchemaExporterDestinationSchemaRegistryClusterInput)(nil)).Elem(), SchemaExporterDestinationSchemaRegistryClusterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SchemaExporterDestinationSchemaRegistryClusterPtrInput)(nil)).Elem(), SchemaExporterDestinationSchemaRegistryClusterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SchemaExporterDestinationSchemaRegistryClusterCredentialsInput)(nil)).Elem(), SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrInput)(nil)).Elem(), SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SchemaExporterSchemaRegistryClusterInput)(nil)).Elem(), SchemaExporterSchemaRegistryClusterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SchemaExporterSchemaRegistryClusterPtrInput)(nil)).Elem(), SchemaExporterSchemaRegistryClusterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SchemaRegistryClusterConfigCredentialsInput)(nil)).Elem(), SchemaRegistryClusterConfigCredentialsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SchemaRegistryClusterConfigCredentialsPtrInput)(nil)).Elem(), SchemaRegistryClusterConfigCredentialsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SchemaRegistryClusterConfigSchemaRegistryClusterInput)(nil)).Elem(), SchemaRegistryClusterConfigSchemaRegistryClusterArgs{}) @@ -28094,6 +28769,14 @@ func init() { pulumi.RegisterOutputType(PrivateLinkAttachmentGcpArrayOutput{}) pulumi.RegisterOutputType(SchemaCredentialsOutput{}) pulumi.RegisterOutputType(SchemaCredentialsPtrOutput{}) + pulumi.RegisterOutputType(SchemaExporterCredentialsOutput{}) + pulumi.RegisterOutputType(SchemaExporterCredentialsPtrOutput{}) + pulumi.RegisterOutputType(SchemaExporterDestinationSchemaRegistryClusterOutput{}) + pulumi.RegisterOutputType(SchemaExporterDestinationSchemaRegistryClusterPtrOutput{}) + pulumi.RegisterOutputType(SchemaExporterDestinationSchemaRegistryClusterCredentialsOutput{}) + pulumi.RegisterOutputType(SchemaExporterDestinationSchemaRegistryClusterCredentialsPtrOutput{}) + pulumi.RegisterOutputType(SchemaExporterSchemaRegistryClusterOutput{}) + pulumi.RegisterOutputType(SchemaExporterSchemaRegistryClusterPtrOutput{}) pulumi.RegisterOutputType(SchemaRegistryClusterConfigCredentialsOutput{}) pulumi.RegisterOutputType(SchemaRegistryClusterConfigCredentialsPtrOutput{}) pulumi.RegisterOutputType(SchemaRegistryClusterConfigSchemaRegistryClusterOutput{}) diff --git a/sdk/go/confluentcloud/schemaExporter.go b/sdk/go/confluentcloud/schemaExporter.go new file mode 100644 index 00000000..2fd55252 --- /dev/null +++ b/sdk/go/confluentcloud/schemaExporter.go @@ -0,0 +1,428 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package confluentcloud + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-confluentcloud/sdk/go/confluentcloud/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// ## Import +// +// You can import a Schema Exporter by using the Schema Registry cluster ID, Schema Exporter name in the format `/`, for example$ export IMPORT_SCHEMA_REGISTRY_API_KEY="" $ export IMPORT_SCHEMA_REGISTRY_API_SECRET="" $ export IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT="" +// +// ```sh +// +// $ pulumi import confluentcloud:index/schemaExporter:SchemaExporter main lsrc-8wrx70/test-exporter +// +// ``` +// +// !> **Warning:** Do not forget to delete terminal command history afterwards for security purposes. +type SchemaExporter struct { + pulumi.CustomResourceState + + // Block for custom *nonsensitive* configuration properties: + Config pulumi.StringMapOutput `pulumi:"config"` + // Customized context of the exporter if `contextType` is set to `CUSTOM`. + Context pulumi.StringOutput `pulumi:"context"` + // Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + ContextType pulumi.StringOutput `pulumi:"contextType"` + // The Cluster API Credentials. + Credentials SchemaExporterCredentialsPtrOutput `pulumi:"credentials"` + DestinationSchemaRegistryCluster SchemaExporterDestinationSchemaRegistryClusterOutput `pulumi:"destinationSchemaRegistryCluster"` + // The configuration setting name. + Name pulumi.StringOutput `pulumi:"name"` + // The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + ResetOnUpdate pulumi.BoolPtrOutput `pulumi:"resetOnUpdate"` + // The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + RestEndpoint pulumi.StringPtrOutput `pulumi:"restEndpoint"` + SchemaRegistryCluster SchemaExporterSchemaRegistryClusterPtrOutput `pulumi:"schemaRegistryCluster"` + // The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + Status pulumi.StringOutput `pulumi:"status"` + // Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dcOrders`. + SubjectRenameFormat pulumi.StringOutput `pulumi:"subjectRenameFormat"` + // Name of each exporter subject. + Subjects pulumi.StringArrayOutput `pulumi:"subjects"` +} + +// NewSchemaExporter registers a new resource with the given unique name, arguments, and options. +func NewSchemaExporter(ctx *pulumi.Context, + name string, args *SchemaExporterArgs, opts ...pulumi.ResourceOption) (*SchemaExporter, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.DestinationSchemaRegistryCluster == nil { + return nil, errors.New("invalid value for required argument 'DestinationSchemaRegistryCluster'") + } + if args.Credentials != nil { + args.Credentials = pulumi.ToSecret(args.Credentials).(SchemaExporterCredentialsPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "credentials", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource SchemaExporter + err := ctx.RegisterResource("confluentcloud:index/schemaExporter:SchemaExporter", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetSchemaExporter gets an existing SchemaExporter resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetSchemaExporter(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *SchemaExporterState, opts ...pulumi.ResourceOption) (*SchemaExporter, error) { + var resource SchemaExporter + err := ctx.ReadResource("confluentcloud:index/schemaExporter:SchemaExporter", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering SchemaExporter resources. +type schemaExporterState struct { + // Block for custom *nonsensitive* configuration properties: + Config map[string]string `pulumi:"config"` + // Customized context of the exporter if `contextType` is set to `CUSTOM`. + Context *string `pulumi:"context"` + // Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + ContextType *string `pulumi:"contextType"` + // The Cluster API Credentials. + Credentials *SchemaExporterCredentials `pulumi:"credentials"` + DestinationSchemaRegistryCluster *SchemaExporterDestinationSchemaRegistryCluster `pulumi:"destinationSchemaRegistryCluster"` + // The configuration setting name. + Name *string `pulumi:"name"` + // The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + ResetOnUpdate *bool `pulumi:"resetOnUpdate"` + // The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + RestEndpoint *string `pulumi:"restEndpoint"` + SchemaRegistryCluster *SchemaExporterSchemaRegistryCluster `pulumi:"schemaRegistryCluster"` + // The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + Status *string `pulumi:"status"` + // Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dcOrders`. + SubjectRenameFormat *string `pulumi:"subjectRenameFormat"` + // Name of each exporter subject. + Subjects []string `pulumi:"subjects"` +} + +type SchemaExporterState struct { + // Block for custom *nonsensitive* configuration properties: + Config pulumi.StringMapInput + // Customized context of the exporter if `contextType` is set to `CUSTOM`. + Context pulumi.StringPtrInput + // Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + ContextType pulumi.StringPtrInput + // The Cluster API Credentials. + Credentials SchemaExporterCredentialsPtrInput + DestinationSchemaRegistryCluster SchemaExporterDestinationSchemaRegistryClusterPtrInput + // The configuration setting name. + Name pulumi.StringPtrInput + // The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + ResetOnUpdate pulumi.BoolPtrInput + // The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + RestEndpoint pulumi.StringPtrInput + SchemaRegistryCluster SchemaExporterSchemaRegistryClusterPtrInput + // The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + Status pulumi.StringPtrInput + // Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dcOrders`. + SubjectRenameFormat pulumi.StringPtrInput + // Name of each exporter subject. + Subjects pulumi.StringArrayInput +} + +func (SchemaExporterState) ElementType() reflect.Type { + return reflect.TypeOf((*schemaExporterState)(nil)).Elem() +} + +type schemaExporterArgs struct { + // Block for custom *nonsensitive* configuration properties: + Config map[string]string `pulumi:"config"` + // Customized context of the exporter if `contextType` is set to `CUSTOM`. + Context *string `pulumi:"context"` + // Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + ContextType *string `pulumi:"contextType"` + // The Cluster API Credentials. + Credentials *SchemaExporterCredentials `pulumi:"credentials"` + DestinationSchemaRegistryCluster SchemaExporterDestinationSchemaRegistryCluster `pulumi:"destinationSchemaRegistryCluster"` + // The configuration setting name. + Name *string `pulumi:"name"` + // The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + ResetOnUpdate *bool `pulumi:"resetOnUpdate"` + // The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + RestEndpoint *string `pulumi:"restEndpoint"` + SchemaRegistryCluster *SchemaExporterSchemaRegistryCluster `pulumi:"schemaRegistryCluster"` + // The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + Status *string `pulumi:"status"` + // Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dcOrders`. + SubjectRenameFormat *string `pulumi:"subjectRenameFormat"` + // Name of each exporter subject. + Subjects []string `pulumi:"subjects"` +} + +// The set of arguments for constructing a SchemaExporter resource. +type SchemaExporterArgs struct { + // Block for custom *nonsensitive* configuration properties: + Config pulumi.StringMapInput + // Customized context of the exporter if `contextType` is set to `CUSTOM`. + Context pulumi.StringPtrInput + // Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + ContextType pulumi.StringPtrInput + // The Cluster API Credentials. + Credentials SchemaExporterCredentialsPtrInput + DestinationSchemaRegistryCluster SchemaExporterDestinationSchemaRegistryClusterInput + // The configuration setting name. + Name pulumi.StringPtrInput + // The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + ResetOnUpdate pulumi.BoolPtrInput + // The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + RestEndpoint pulumi.StringPtrInput + SchemaRegistryCluster SchemaExporterSchemaRegistryClusterPtrInput + // The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + Status pulumi.StringPtrInput + // Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dcOrders`. + SubjectRenameFormat pulumi.StringPtrInput + // Name of each exporter subject. + Subjects pulumi.StringArrayInput +} + +func (SchemaExporterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*schemaExporterArgs)(nil)).Elem() +} + +type SchemaExporterInput interface { + pulumi.Input + + ToSchemaExporterOutput() SchemaExporterOutput + ToSchemaExporterOutputWithContext(ctx context.Context) SchemaExporterOutput +} + +func (*SchemaExporter) ElementType() reflect.Type { + return reflect.TypeOf((**SchemaExporter)(nil)).Elem() +} + +func (i *SchemaExporter) ToSchemaExporterOutput() SchemaExporterOutput { + return i.ToSchemaExporterOutputWithContext(context.Background()) +} + +func (i *SchemaExporter) ToSchemaExporterOutputWithContext(ctx context.Context) SchemaExporterOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaExporterOutput) +} + +func (i *SchemaExporter) ToOutput(ctx context.Context) pulumix.Output[*SchemaExporter] { + return pulumix.Output[*SchemaExporter]{ + OutputState: i.ToSchemaExporterOutputWithContext(ctx).OutputState, + } +} + +// SchemaExporterArrayInput is an input type that accepts SchemaExporterArray and SchemaExporterArrayOutput values. +// You can construct a concrete instance of `SchemaExporterArrayInput` via: +// +// SchemaExporterArray{ SchemaExporterArgs{...} } +type SchemaExporterArrayInput interface { + pulumi.Input + + ToSchemaExporterArrayOutput() SchemaExporterArrayOutput + ToSchemaExporterArrayOutputWithContext(context.Context) SchemaExporterArrayOutput +} + +type SchemaExporterArray []SchemaExporterInput + +func (SchemaExporterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*SchemaExporter)(nil)).Elem() +} + +func (i SchemaExporterArray) ToSchemaExporterArrayOutput() SchemaExporterArrayOutput { + return i.ToSchemaExporterArrayOutputWithContext(context.Background()) +} + +func (i SchemaExporterArray) ToSchemaExporterArrayOutputWithContext(ctx context.Context) SchemaExporterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaExporterArrayOutput) +} + +func (i SchemaExporterArray) ToOutput(ctx context.Context) pulumix.Output[[]*SchemaExporter] { + return pulumix.Output[[]*SchemaExporter]{ + OutputState: i.ToSchemaExporterArrayOutputWithContext(ctx).OutputState, + } +} + +// SchemaExporterMapInput is an input type that accepts SchemaExporterMap and SchemaExporterMapOutput values. +// You can construct a concrete instance of `SchemaExporterMapInput` via: +// +// SchemaExporterMap{ "key": SchemaExporterArgs{...} } +type SchemaExporterMapInput interface { + pulumi.Input + + ToSchemaExporterMapOutput() SchemaExporterMapOutput + ToSchemaExporterMapOutputWithContext(context.Context) SchemaExporterMapOutput +} + +type SchemaExporterMap map[string]SchemaExporterInput + +func (SchemaExporterMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*SchemaExporter)(nil)).Elem() +} + +func (i SchemaExporterMap) ToSchemaExporterMapOutput() SchemaExporterMapOutput { + return i.ToSchemaExporterMapOutputWithContext(context.Background()) +} + +func (i SchemaExporterMap) ToSchemaExporterMapOutputWithContext(ctx context.Context) SchemaExporterMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaExporterMapOutput) +} + +func (i SchemaExporterMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*SchemaExporter] { + return pulumix.Output[map[string]*SchemaExporter]{ + OutputState: i.ToSchemaExporterMapOutputWithContext(ctx).OutputState, + } +} + +type SchemaExporterOutput struct{ *pulumi.OutputState } + +func (SchemaExporterOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SchemaExporter)(nil)).Elem() +} + +func (o SchemaExporterOutput) ToSchemaExporterOutput() SchemaExporterOutput { + return o +} + +func (o SchemaExporterOutput) ToSchemaExporterOutputWithContext(ctx context.Context) SchemaExporterOutput { + return o +} + +func (o SchemaExporterOutput) ToOutput(ctx context.Context) pulumix.Output[*SchemaExporter] { + return pulumix.Output[*SchemaExporter]{ + OutputState: o.OutputState, + } +} + +// Block for custom *nonsensitive* configuration properties: +func (o SchemaExporterOutput) Config() pulumi.StringMapOutput { + return o.ApplyT(func(v *SchemaExporter) pulumi.StringMapOutput { return v.Config }).(pulumi.StringMapOutput) +} + +// Customized context of the exporter if `contextType` is set to `CUSTOM`. +func (o SchemaExporterOutput) Context() pulumi.StringOutput { + return o.ApplyT(func(v *SchemaExporter) pulumi.StringOutput { return v.Context }).(pulumi.StringOutput) +} + +// Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. +func (o SchemaExporterOutput) ContextType() pulumi.StringOutput { + return o.ApplyT(func(v *SchemaExporter) pulumi.StringOutput { return v.ContextType }).(pulumi.StringOutput) +} + +// The Cluster API Credentials. +func (o SchemaExporterOutput) Credentials() SchemaExporterCredentialsPtrOutput { + return o.ApplyT(func(v *SchemaExporter) SchemaExporterCredentialsPtrOutput { return v.Credentials }).(SchemaExporterCredentialsPtrOutput) +} + +func (o SchemaExporterOutput) DestinationSchemaRegistryCluster() SchemaExporterDestinationSchemaRegistryClusterOutput { + return o.ApplyT(func(v *SchemaExporter) SchemaExporterDestinationSchemaRegistryClusterOutput { + return v.DestinationSchemaRegistryCluster + }).(SchemaExporterDestinationSchemaRegistryClusterOutput) +} + +// The configuration setting name. +func (o SchemaExporterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *SchemaExporter) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The flag to control whether to reset the exporter when updating configs. Defaults to `false`. +func (o SchemaExporterOutput) ResetOnUpdate() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SchemaExporter) pulumi.BoolPtrOutput { return v.ResetOnUpdate }).(pulumi.BoolPtrOutput) +} + +// The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). +func (o SchemaExporterOutput) RestEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SchemaExporter) pulumi.StringPtrOutput { return v.RestEndpoint }).(pulumi.StringPtrOutput) +} + +func (o SchemaExporterOutput) SchemaRegistryCluster() SchemaExporterSchemaRegistryClusterPtrOutput { + return o.ApplyT(func(v *SchemaExporter) SchemaExporterSchemaRegistryClusterPtrOutput { return v.SchemaRegistryCluster }).(SchemaExporterSchemaRegistryClusterPtrOutput) +} + +// The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. +func (o SchemaExporterOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *SchemaExporter) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dcOrders`. +func (o SchemaExporterOutput) SubjectRenameFormat() pulumi.StringOutput { + return o.ApplyT(func(v *SchemaExporter) pulumi.StringOutput { return v.SubjectRenameFormat }).(pulumi.StringOutput) +} + +// Name of each exporter subject. +func (o SchemaExporterOutput) Subjects() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SchemaExporter) pulumi.StringArrayOutput { return v.Subjects }).(pulumi.StringArrayOutput) +} + +type SchemaExporterArrayOutput struct{ *pulumi.OutputState } + +func (SchemaExporterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*SchemaExporter)(nil)).Elem() +} + +func (o SchemaExporterArrayOutput) ToSchemaExporterArrayOutput() SchemaExporterArrayOutput { + return o +} + +func (o SchemaExporterArrayOutput) ToSchemaExporterArrayOutputWithContext(ctx context.Context) SchemaExporterArrayOutput { + return o +} + +func (o SchemaExporterArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*SchemaExporter] { + return pulumix.Output[[]*SchemaExporter]{ + OutputState: o.OutputState, + } +} + +func (o SchemaExporterArrayOutput) Index(i pulumi.IntInput) SchemaExporterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *SchemaExporter { + return vs[0].([]*SchemaExporter)[vs[1].(int)] + }).(SchemaExporterOutput) +} + +type SchemaExporterMapOutput struct{ *pulumi.OutputState } + +func (SchemaExporterMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*SchemaExporter)(nil)).Elem() +} + +func (o SchemaExporterMapOutput) ToSchemaExporterMapOutput() SchemaExporterMapOutput { + return o +} + +func (o SchemaExporterMapOutput) ToSchemaExporterMapOutputWithContext(ctx context.Context) SchemaExporterMapOutput { + return o +} + +func (o SchemaExporterMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*SchemaExporter] { + return pulumix.Output[map[string]*SchemaExporter]{ + OutputState: o.OutputState, + } +} + +func (o SchemaExporterMapOutput) MapIndex(k pulumi.StringInput) SchemaExporterOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *SchemaExporter { + return vs[0].(map[string]*SchemaExporter)[vs[1].(string)] + }).(SchemaExporterOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*SchemaExporterInput)(nil)).Elem(), &SchemaExporter{}) + pulumi.RegisterInputType(reflect.TypeOf((*SchemaExporterArrayInput)(nil)).Elem(), SchemaExporterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SchemaExporterMapInput)(nil)).Elem(), SchemaExporterMap{}) + pulumi.RegisterOutputType(SchemaExporterOutput{}) + pulumi.RegisterOutputType(SchemaExporterArrayOutput{}) + pulumi.RegisterOutputType(SchemaExporterMapOutput{}) +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/ConfluentcloudFunctions.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/ConfluentcloudFunctions.java index 52df66b8..8d492cd1 100644 --- a/sdk/java/src/main/java/com/pulumi/confluentcloud/ConfluentcloudFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/ConfluentcloudFunctions.java @@ -3731,6 +3731,8 @@ public static CompletableFuture getPri * * `confluentcloud.RoleBinding` describes a Role Binding. * + * > **Note:** For more information on the Role Bindings, see [Predefined RBAC roles in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/access-control/rbac/predefined-rbac-roles.html). + * * ## Example Usage * ```java * package generated_program; @@ -3771,6 +3773,8 @@ public static Output getRoleBinding(GetRoleBindingArgs arg * * `confluentcloud.RoleBinding` describes a Role Binding. * + * > **Note:** For more information on the Role Bindings, see [Predefined RBAC roles in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/access-control/rbac/predefined-rbac-roles.html). + * * ## Example Usage * ```java * package generated_program; @@ -3811,6 +3815,8 @@ public static CompletableFuture getRoleBindingPlain(GetRol * * `confluentcloud.RoleBinding` describes a Role Binding. * + * > **Note:** For more information on the Role Bindings, see [Predefined RBAC roles in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/access-control/rbac/predefined-rbac-roles.html). + * * ## Example Usage * ```java * package generated_program; @@ -3851,6 +3857,8 @@ public static Output getRoleBinding(GetRoleBindingArgs arg * * `confluentcloud.RoleBinding` describes a Role Binding. * + * > **Note:** For more information on the Role Bindings, see [Predefined RBAC roles in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/access-control/rbac/predefined-rbac-roles.html). + * * ## Example Usage * ```java * package generated_program; diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/KafkaAcl.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/KafkaAcl.java index 944d6e21..fcf32f02 100644 --- a/sdk/java/src/main/java/com/pulumi/confluentcloud/KafkaAcl.java +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/KafkaAcl.java @@ -20,7 +20,7 @@ /** * ## Import * - * You can import Kafka ACLs by using the Kafka cluster ID and attributes of `confluent_kafka_acl` resource in the format `<Kafka cluster ID>/<Kafka ACL resource type>#<Kafka ACL resource name>#<Kafka ACL pattern type>#<Kafka ACL principal>#<Kafka ACL host>#<Kafka ACL operation>#<Kafka ACL permission>`, for exampleOption #1Manage multiple Kafka clusters in the same Terraform workspace $ export CONFLUENT_CLOUD_API_KEY="<cloud_api_key>" $ export CONFLUENT_CLOUD_API_SECRET="<cloud_api_secret>" $ export IMPORT_KAFKA_API_KEY="<kafka_api_key>" $ export IMPORT_KAFKA_API_SECRET="<kafka_api_secret>" $ export IMPORT_KAFKA_REST_ENDPOINT="<kafka_rest_endpoint>" + * You can import Kafka ACLs by using the Kafka cluster ID and attributes of `confluent_kafka_acl` resource in the format `<Kafka cluster ID>/<Kafka ACL resource type>#<Kafka ACL resource name>#<Kafka ACL pattern type>#<Kafka ACL principal>#<Kafka ACL host>#<Kafka ACL operation>#<Kafka ACL permission>`, for exampleOption #1Manage multiple Kafka clusters in the same Terraform workspace $ export IMPORT_KAFKA_API_KEY="<kafka_api_key>" $ export IMPORT_KAFKA_API_SECRET="<kafka_api_secret>" $ export IMPORT_KAFKA_REST_ENDPOINT="<kafka_rest_endpoint>" * * ```sh * $ pulumi import confluentcloud:index/kafkaAcl:KafkaAcl describe-cluster "lkc-12345/CLUSTER#kafka-cluster#LITERAL#User:sa-xyz123#*#DESCRIBE#ALLOW" diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/SchemaExporter.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/SchemaExporter.java new file mode 100644 index 00000000..709ee066 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/SchemaExporter.java @@ -0,0 +1,241 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud; + +import com.pulumi.confluentcloud.SchemaExporterArgs; +import com.pulumi.confluentcloud.Utilities; +import com.pulumi.confluentcloud.inputs.SchemaExporterState; +import com.pulumi.confluentcloud.outputs.SchemaExporterCredentials; +import com.pulumi.confluentcloud.outputs.SchemaExporterDestinationSchemaRegistryCluster; +import com.pulumi.confluentcloud.outputs.SchemaExporterSchemaRegistryCluster; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * ## Import + * + * You can import a Schema Exporter by using the Schema Registry cluster ID, Schema Exporter name in the format `<Schema Registry cluster ID>/<Schema Exporter name>`, for example$ export IMPORT_SCHEMA_REGISTRY_API_KEY="<schema_registry_api_key>" $ export IMPORT_SCHEMA_REGISTRY_API_SECRET="<schema_registry_api_secret>" $ export IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT="<schema_registry_rest_endpoint>" + * + * ```sh + * $ pulumi import confluentcloud:index/schemaExporter:SchemaExporter main lsrc-8wrx70/test-exporter + * ``` + * + * !> **Warning:** Do not forget to delete terminal command history afterwards for security purposes. + * + */ +@ResourceType(type="confluentcloud:index/schemaExporter:SchemaExporter") +public class SchemaExporter extends com.pulumi.resources.CustomResource { + /** + * Block for custom *nonsensitive* configuration properties: + * + */ + @Export(name="config", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> config; + + /** + * @return Block for custom *nonsensitive* configuration properties: + * + */ + public Output> config() { + return this.config; + } + /** + * Customized context of the exporter if `context_type` is set to `CUSTOM`. + * + */ + @Export(name="context", refs={String.class}, tree="[0]") + private Output context; + + /** + * @return Customized context of the exporter if `context_type` is set to `CUSTOM`. + * + */ + public Output context() { + return this.context; + } + /** + * Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + * + */ + @Export(name="contextType", refs={String.class}, tree="[0]") + private Output contextType; + + /** + * @return Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + * + */ + public Output contextType() { + return this.contextType; + } + /** + * The Cluster API Credentials. + * + */ + @Export(name="credentials", refs={SchemaExporterCredentials.class}, tree="[0]") + private Output credentials; + + /** + * @return The Cluster API Credentials. + * + */ + public Output> credentials() { + return Codegen.optional(this.credentials); + } + @Export(name="destinationSchemaRegistryCluster", refs={SchemaExporterDestinationSchemaRegistryCluster.class}, tree="[0]") + private Output destinationSchemaRegistryCluster; + + public Output destinationSchemaRegistryCluster() { + return this.destinationSchemaRegistryCluster; + } + /** + * The configuration setting name. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return The configuration setting name. + * + */ + public Output name() { + return this.name; + } + /** + * The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + * + */ + @Export(name="resetOnUpdate", refs={Boolean.class}, tree="[0]") + private Output resetOnUpdate; + + /** + * @return The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + * + */ + public Output> resetOnUpdate() { + return Codegen.optional(this.resetOnUpdate); + } + /** + * The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + * + */ + @Export(name="restEndpoint", refs={String.class}, tree="[0]") + private Output restEndpoint; + + /** + * @return The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + * + */ + public Output> restEndpoint() { + return Codegen.optional(this.restEndpoint); + } + @Export(name="schemaRegistryCluster", refs={SchemaExporterSchemaRegistryCluster.class}, tree="[0]") + private Output schemaRegistryCluster; + + public Output> schemaRegistryCluster() { + return Codegen.optional(this.schemaRegistryCluster); + } + /** + * The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + * + */ + @Export(name="status", refs={String.class}, tree="[0]") + private Output status; + + /** + * @return The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + * + */ + public Output status() { + return this.status; + } + /** + * Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dc_orders`. + * + */ + @Export(name="subjectRenameFormat", refs={String.class}, tree="[0]") + private Output subjectRenameFormat; + + /** + * @return Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dc_orders`. + * + */ + public Output subjectRenameFormat() { + return this.subjectRenameFormat; + } + /** + * Name of each exporter subject. + * + */ + @Export(name="subjects", refs={List.class,String.class}, tree="[0,1]") + private Output> subjects; + + /** + * @return Name of each exporter subject. + * + */ + public Output> subjects() { + return this.subjects; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public SchemaExporter(String name) { + this(name, SchemaExporterArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public SchemaExporter(String name, SchemaExporterArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public SchemaExporter(String name, SchemaExporterArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("confluentcloud:index/schemaExporter:SchemaExporter", name, args == null ? SchemaExporterArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private SchemaExporter(String name, Output id, @Nullable SchemaExporterState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("confluentcloud:index/schemaExporter:SchemaExporter", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .additionalSecretOutputs(List.of( + "credentials" + )) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static SchemaExporter get(String name, Output id, @Nullable SchemaExporterState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new SchemaExporter(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/SchemaExporterArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/SchemaExporterArgs.java new file mode 100644 index 00000000..25bc16ea --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/SchemaExporterArgs.java @@ -0,0 +1,467 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud; + +import com.pulumi.confluentcloud.inputs.SchemaExporterCredentialsArgs; +import com.pulumi.confluentcloud.inputs.SchemaExporterDestinationSchemaRegistryClusterArgs; +import com.pulumi.confluentcloud.inputs.SchemaExporterSchemaRegistryClusterArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class SchemaExporterArgs extends com.pulumi.resources.ResourceArgs { + + public static final SchemaExporterArgs Empty = new SchemaExporterArgs(); + + /** + * Block for custom *nonsensitive* configuration properties: + * + */ + @Import(name="config") + private @Nullable Output> config; + + /** + * @return Block for custom *nonsensitive* configuration properties: + * + */ + public Optional>> config() { + return Optional.ofNullable(this.config); + } + + /** + * Customized context of the exporter if `context_type` is set to `CUSTOM`. + * + */ + @Import(name="context") + private @Nullable Output context; + + /** + * @return Customized context of the exporter if `context_type` is set to `CUSTOM`. + * + */ + public Optional> context() { + return Optional.ofNullable(this.context); + } + + /** + * Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + * + */ + @Import(name="contextType") + private @Nullable Output contextType; + + /** + * @return Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + * + */ + public Optional> contextType() { + return Optional.ofNullable(this.contextType); + } + + /** + * The Cluster API Credentials. + * + */ + @Import(name="credentials") + private @Nullable Output credentials; + + /** + * @return The Cluster API Credentials. + * + */ + public Optional> credentials() { + return Optional.ofNullable(this.credentials); + } + + @Import(name="destinationSchemaRegistryCluster", required=true) + private Output destinationSchemaRegistryCluster; + + public Output destinationSchemaRegistryCluster() { + return this.destinationSchemaRegistryCluster; + } + + /** + * The configuration setting name. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The configuration setting name. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + * + */ + @Import(name="resetOnUpdate") + private @Nullable Output resetOnUpdate; + + /** + * @return The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + * + */ + public Optional> resetOnUpdate() { + return Optional.ofNullable(this.resetOnUpdate); + } + + /** + * The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + * + */ + @Import(name="restEndpoint") + private @Nullable Output restEndpoint; + + /** + * @return The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + * + */ + public Optional> restEndpoint() { + return Optional.ofNullable(this.restEndpoint); + } + + @Import(name="schemaRegistryCluster") + private @Nullable Output schemaRegistryCluster; + + public Optional> schemaRegistryCluster() { + return Optional.ofNullable(this.schemaRegistryCluster); + } + + /** + * The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + * + */ + @Import(name="status") + private @Nullable Output status; + + /** + * @return The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + * + */ + public Optional> status() { + return Optional.ofNullable(this.status); + } + + /** + * Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dc_orders`. + * + */ + @Import(name="subjectRenameFormat") + private @Nullable Output subjectRenameFormat; + + /** + * @return Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dc_orders`. + * + */ + public Optional> subjectRenameFormat() { + return Optional.ofNullable(this.subjectRenameFormat); + } + + /** + * Name of each exporter subject. + * + */ + @Import(name="subjects") + private @Nullable Output> subjects; + + /** + * @return Name of each exporter subject. + * + */ + public Optional>> subjects() { + return Optional.ofNullable(this.subjects); + } + + private SchemaExporterArgs() {} + + private SchemaExporterArgs(SchemaExporterArgs $) { + this.config = $.config; + this.context = $.context; + this.contextType = $.contextType; + this.credentials = $.credentials; + this.destinationSchemaRegistryCluster = $.destinationSchemaRegistryCluster; + this.name = $.name; + this.resetOnUpdate = $.resetOnUpdate; + this.restEndpoint = $.restEndpoint; + this.schemaRegistryCluster = $.schemaRegistryCluster; + this.status = $.status; + this.subjectRenameFormat = $.subjectRenameFormat; + this.subjects = $.subjects; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SchemaExporterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SchemaExporterArgs $; + + public Builder() { + $ = new SchemaExporterArgs(); + } + + public Builder(SchemaExporterArgs defaults) { + $ = new SchemaExporterArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param config Block for custom *nonsensitive* configuration properties: + * + * @return builder + * + */ + public Builder config(@Nullable Output> config) { + $.config = config; + return this; + } + + /** + * @param config Block for custom *nonsensitive* configuration properties: + * + * @return builder + * + */ + public Builder config(Map config) { + return config(Output.of(config)); + } + + /** + * @param context Customized context of the exporter if `context_type` is set to `CUSTOM`. + * + * @return builder + * + */ + public Builder context(@Nullable Output context) { + $.context = context; + return this; + } + + /** + * @param context Customized context of the exporter if `context_type` is set to `CUSTOM`. + * + * @return builder + * + */ + public Builder context(String context) { + return context(Output.of(context)); + } + + /** + * @param contextType Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + * + * @return builder + * + */ + public Builder contextType(@Nullable Output contextType) { + $.contextType = contextType; + return this; + } + + /** + * @param contextType Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + * + * @return builder + * + */ + public Builder contextType(String contextType) { + return contextType(Output.of(contextType)); + } + + /** + * @param credentials The Cluster API Credentials. + * + * @return builder + * + */ + public Builder credentials(@Nullable Output credentials) { + $.credentials = credentials; + return this; + } + + /** + * @param credentials The Cluster API Credentials. + * + * @return builder + * + */ + public Builder credentials(SchemaExporterCredentialsArgs credentials) { + return credentials(Output.of(credentials)); + } + + public Builder destinationSchemaRegistryCluster(Output destinationSchemaRegistryCluster) { + $.destinationSchemaRegistryCluster = destinationSchemaRegistryCluster; + return this; + } + + public Builder destinationSchemaRegistryCluster(SchemaExporterDestinationSchemaRegistryClusterArgs destinationSchemaRegistryCluster) { + return destinationSchemaRegistryCluster(Output.of(destinationSchemaRegistryCluster)); + } + + /** + * @param name The configuration setting name. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The configuration setting name. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param resetOnUpdate The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + * + * @return builder + * + */ + public Builder resetOnUpdate(@Nullable Output resetOnUpdate) { + $.resetOnUpdate = resetOnUpdate; + return this; + } + + /** + * @param resetOnUpdate The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + * + * @return builder + * + */ + public Builder resetOnUpdate(Boolean resetOnUpdate) { + return resetOnUpdate(Output.of(resetOnUpdate)); + } + + /** + * @param restEndpoint The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + * + * @return builder + * + */ + public Builder restEndpoint(@Nullable Output restEndpoint) { + $.restEndpoint = restEndpoint; + return this; + } + + /** + * @param restEndpoint The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + * + * @return builder + * + */ + public Builder restEndpoint(String restEndpoint) { + return restEndpoint(Output.of(restEndpoint)); + } + + public Builder schemaRegistryCluster(@Nullable Output schemaRegistryCluster) { + $.schemaRegistryCluster = schemaRegistryCluster; + return this; + } + + public Builder schemaRegistryCluster(SchemaExporterSchemaRegistryClusterArgs schemaRegistryCluster) { + return schemaRegistryCluster(Output.of(schemaRegistryCluster)); + } + + /** + * @param status The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + * + * @return builder + * + */ + public Builder status(@Nullable Output status) { + $.status = status; + return this; + } + + /** + * @param status The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + * + * @return builder + * + */ + public Builder status(String status) { + return status(Output.of(status)); + } + + /** + * @param subjectRenameFormat Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dc_orders`. + * + * @return builder + * + */ + public Builder subjectRenameFormat(@Nullable Output subjectRenameFormat) { + $.subjectRenameFormat = subjectRenameFormat; + return this; + } + + /** + * @param subjectRenameFormat Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dc_orders`. + * + * @return builder + * + */ + public Builder subjectRenameFormat(String subjectRenameFormat) { + return subjectRenameFormat(Output.of(subjectRenameFormat)); + } + + /** + * @param subjects Name of each exporter subject. + * + * @return builder + * + */ + public Builder subjects(@Nullable Output> subjects) { + $.subjects = subjects; + return this; + } + + /** + * @param subjects Name of each exporter subject. + * + * @return builder + * + */ + public Builder subjects(List subjects) { + return subjects(Output.of(subjects)); + } + + /** + * @param subjects Name of each exporter subject. + * + * @return builder + * + */ + public Builder subjects(String... subjects) { + return subjects(List.of(subjects)); + } + + public SchemaExporterArgs build() { + $.destinationSchemaRegistryCluster = Objects.requireNonNull($.destinationSchemaRegistryCluster, "expected parameter 'destinationSchemaRegistryCluster' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/ClusterLinkDestinationKafkaClusterCredentialsArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/ClusterLinkDestinationKafkaClusterCredentialsArgs.java index b29103f1..2948d405 100644 --- a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/ClusterLinkDestinationKafkaClusterCredentialsArgs.java +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/ClusterLinkDestinationKafkaClusterCredentialsArgs.java @@ -31,8 +31,6 @@ public Output key() { /** * The Kafka API Secret. * - * > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). - * */ @Import(name="secret", required=true) private Output secret; @@ -40,8 +38,6 @@ public Output key() { /** * @return The Kafka API Secret. * - * > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). - * */ public Output secret() { return this.secret; @@ -96,8 +92,6 @@ public Builder key(String key) { /** * @param secret The Kafka API Secret. * - * > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). - * * @return builder * */ @@ -109,8 +103,6 @@ public Builder secret(Output secret) { /** * @param secret The Kafka API Secret. * - * > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). - * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/ClusterLinkLocalKafkaClusterCredentialsArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/ClusterLinkLocalKafkaClusterCredentialsArgs.java index c7f32385..63a7c0d2 100644 --- a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/ClusterLinkLocalKafkaClusterCredentialsArgs.java +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/ClusterLinkLocalKafkaClusterCredentialsArgs.java @@ -31,8 +31,6 @@ public Output key() { /** * The Kafka API Secret. * - * > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). - * */ @Import(name="secret", required=true) private Output secret; @@ -40,8 +38,6 @@ public Output key() { /** * @return The Kafka API Secret. * - * > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). - * */ public Output secret() { return this.secret; @@ -96,8 +92,6 @@ public Builder key(String key) { /** * @param secret The Kafka API Secret. * - * > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). - * * @return builder * */ @@ -109,8 +103,6 @@ public Builder secret(Output secret) { /** * @param secret The Kafka API Secret. * - * > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). - * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/ClusterLinkRemoteKafkaClusterCredentialsArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/ClusterLinkRemoteKafkaClusterCredentialsArgs.java index b803592c..24ebb83c 100644 --- a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/ClusterLinkRemoteKafkaClusterCredentialsArgs.java +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/ClusterLinkRemoteKafkaClusterCredentialsArgs.java @@ -31,8 +31,6 @@ public Output key() { /** * The Kafka API Secret. * - * > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). - * */ @Import(name="secret", required=true) private Output secret; @@ -40,8 +38,6 @@ public Output key() { /** * @return The Kafka API Secret. * - * > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). - * */ public Output secret() { return this.secret; @@ -96,8 +92,6 @@ public Builder key(String key) { /** * @param secret The Kafka API Secret. * - * > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). - * * @return builder * */ @@ -109,8 +103,6 @@ public Builder secret(Output secret) { /** * @param secret The Kafka API Secret. * - * > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). - * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/ClusterLinkSourceKafkaClusterCredentialsArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/ClusterLinkSourceKafkaClusterCredentialsArgs.java index 12a28d8d..b155795e 100644 --- a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/ClusterLinkSourceKafkaClusterCredentialsArgs.java +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/ClusterLinkSourceKafkaClusterCredentialsArgs.java @@ -31,8 +31,6 @@ public Output key() { /** * The Kafka API Secret. * - * > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). - * */ @Import(name="secret", required=true) private Output secret; @@ -40,8 +38,6 @@ public Output key() { /** * @return The Kafka API Secret. * - * > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). - * */ public Output secret() { return this.secret; @@ -96,8 +92,6 @@ public Builder key(String key) { /** * @param secret The Kafka API Secret. * - * > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). - * * @return builder * */ @@ -109,8 +103,6 @@ public Builder secret(Output secret) { /** * @param secret The Kafka API Secret. * - * > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). - * * @return builder * */ diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/SchemaExporterCredentialsArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/SchemaExporterCredentialsArgs.java new file mode 100644 index 00000000..61994459 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/SchemaExporterCredentialsArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class SchemaExporterCredentialsArgs extends com.pulumi.resources.ResourceArgs { + + public static final SchemaExporterCredentialsArgs Empty = new SchemaExporterCredentialsArgs(); + + /** + * The Schema Registry API Key. + * + */ + @Import(name="key", required=true) + private Output key; + + /** + * @return The Schema Registry API Key. + * + */ + public Output key() { + return this.key; + } + + /** + * The Schema Registry API Secret. + * + */ + @Import(name="secret", required=true) + private Output secret; + + /** + * @return The Schema Registry API Secret. + * + */ + public Output secret() { + return this.secret; + } + + private SchemaExporterCredentialsArgs() {} + + private SchemaExporterCredentialsArgs(SchemaExporterCredentialsArgs $) { + this.key = $.key; + this.secret = $.secret; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SchemaExporterCredentialsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SchemaExporterCredentialsArgs $; + + public Builder() { + $ = new SchemaExporterCredentialsArgs(); + } + + public Builder(SchemaExporterCredentialsArgs defaults) { + $ = new SchemaExporterCredentialsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key The Schema Registry API Key. + * + * @return builder + * + */ + public Builder key(Output key) { + $.key = key; + return this; + } + + /** + * @param key The Schema Registry API Key. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param secret The Schema Registry API Secret. + * + * @return builder + * + */ + public Builder secret(Output secret) { + $.secret = secret; + return this; + } + + /** + * @param secret The Schema Registry API Secret. + * + * @return builder + * + */ + public Builder secret(String secret) { + return secret(Output.of(secret)); + } + + public SchemaExporterCredentialsArgs build() { + $.key = Objects.requireNonNull($.key, "expected parameter 'key' to be non-null"); + $.secret = Objects.requireNonNull($.secret, "expected parameter 'secret' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/SchemaExporterDestinationSchemaRegistryClusterArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/SchemaExporterDestinationSchemaRegistryClusterArgs.java new file mode 100644 index 00000000..31c12813 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/SchemaExporterDestinationSchemaRegistryClusterArgs.java @@ -0,0 +1,101 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.inputs; + +import com.pulumi.confluentcloud.inputs.SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class SchemaExporterDestinationSchemaRegistryClusterArgs extends com.pulumi.resources.ResourceArgs { + + public static final SchemaExporterDestinationSchemaRegistryClusterArgs Empty = new SchemaExporterDestinationSchemaRegistryClusterArgs(); + + @Import(name="credentials", required=true) + private Output credentials; + + public Output credentials() { + return this.credentials; + } + + /** + * The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + * + */ + @Import(name="restEndpoint", required=true) + private Output restEndpoint; + + /** + * @return The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + * + */ + public Output restEndpoint() { + return this.restEndpoint; + } + + private SchemaExporterDestinationSchemaRegistryClusterArgs() {} + + private SchemaExporterDestinationSchemaRegistryClusterArgs(SchemaExporterDestinationSchemaRegistryClusterArgs $) { + this.credentials = $.credentials; + this.restEndpoint = $.restEndpoint; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SchemaExporterDestinationSchemaRegistryClusterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SchemaExporterDestinationSchemaRegistryClusterArgs $; + + public Builder() { + $ = new SchemaExporterDestinationSchemaRegistryClusterArgs(); + } + + public Builder(SchemaExporterDestinationSchemaRegistryClusterArgs defaults) { + $ = new SchemaExporterDestinationSchemaRegistryClusterArgs(Objects.requireNonNull(defaults)); + } + + public Builder credentials(Output credentials) { + $.credentials = credentials; + return this; + } + + public Builder credentials(SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs credentials) { + return credentials(Output.of(credentials)); + } + + /** + * @param restEndpoint The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + * + * @return builder + * + */ + public Builder restEndpoint(Output restEndpoint) { + $.restEndpoint = restEndpoint; + return this; + } + + /** + * @param restEndpoint The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + * + * @return builder + * + */ + public Builder restEndpoint(String restEndpoint) { + return restEndpoint(Output.of(restEndpoint)); + } + + public SchemaExporterDestinationSchemaRegistryClusterArgs build() { + $.credentials = Objects.requireNonNull($.credentials, "expected parameter 'credentials' to be non-null"); + $.restEndpoint = Objects.requireNonNull($.restEndpoint, "expected parameter 'restEndpoint' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs.java new file mode 100644 index 00000000..02aa70cf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs extends com.pulumi.resources.ResourceArgs { + + public static final SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs Empty = new SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs(); + + /** + * The Schema Registry API Key. + * + */ + @Import(name="key", required=true) + private Output key; + + /** + * @return The Schema Registry API Key. + * + */ + public Output key() { + return this.key; + } + + /** + * The Schema Registry API Secret. + * + */ + @Import(name="secret", required=true) + private Output secret; + + /** + * @return The Schema Registry API Secret. + * + */ + public Output secret() { + return this.secret; + } + + private SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs() {} + + private SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs(SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs $) { + this.key = $.key; + this.secret = $.secret; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs $; + + public Builder() { + $ = new SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs(); + } + + public Builder(SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs defaults) { + $ = new SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key The Schema Registry API Key. + * + * @return builder + * + */ + public Builder key(Output key) { + $.key = key; + return this; + } + + /** + * @param key The Schema Registry API Key. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param secret The Schema Registry API Secret. + * + * @return builder + * + */ + public Builder secret(Output secret) { + $.secret = secret; + return this; + } + + /** + * @param secret The Schema Registry API Secret. + * + * @return builder + * + */ + public Builder secret(String secret) { + return secret(Output.of(secret)); + } + + public SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs build() { + $.key = Objects.requireNonNull($.key, "expected parameter 'key' to be non-null"); + $.secret = Objects.requireNonNull($.secret, "expected parameter 'secret' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/SchemaExporterSchemaRegistryClusterArgs.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/SchemaExporterSchemaRegistryClusterArgs.java new file mode 100644 index 00000000..2bbdceaf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/SchemaExporterSchemaRegistryClusterArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class SchemaExporterSchemaRegistryClusterArgs extends com.pulumi.resources.ResourceArgs { + + public static final SchemaExporterSchemaRegistryClusterArgs Empty = new SchemaExporterSchemaRegistryClusterArgs(); + + /** + * The ID of the Schema Registry cluster, for example, `lsrc-abc123`. + * + */ + @Import(name="id", required=true) + private Output id; + + /** + * @return The ID of the Schema Registry cluster, for example, `lsrc-abc123`. + * + */ + public Output id() { + return this.id; + } + + private SchemaExporterSchemaRegistryClusterArgs() {} + + private SchemaExporterSchemaRegistryClusterArgs(SchemaExporterSchemaRegistryClusterArgs $) { + this.id = $.id; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SchemaExporterSchemaRegistryClusterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SchemaExporterSchemaRegistryClusterArgs $; + + public Builder() { + $ = new SchemaExporterSchemaRegistryClusterArgs(); + } + + public Builder(SchemaExporterSchemaRegistryClusterArgs defaults) { + $ = new SchemaExporterSchemaRegistryClusterArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param id The ID of the Schema Registry cluster, for example, `lsrc-abc123`. + * + * @return builder + * + */ + public Builder id(Output id) { + $.id = id; + return this; + } + + /** + * @param id The ID of the Schema Registry cluster, for example, `lsrc-abc123`. + * + * @return builder + * + */ + public Builder id(String id) { + return id(Output.of(id)); + } + + public SchemaExporterSchemaRegistryClusterArgs build() { + $.id = Objects.requireNonNull($.id, "expected parameter 'id' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/SchemaExporterState.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/SchemaExporterState.java new file mode 100644 index 00000000..1b7a31cc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/inputs/SchemaExporterState.java @@ -0,0 +1,466 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.inputs; + +import com.pulumi.confluentcloud.inputs.SchemaExporterCredentialsArgs; +import com.pulumi.confluentcloud.inputs.SchemaExporterDestinationSchemaRegistryClusterArgs; +import com.pulumi.confluentcloud.inputs.SchemaExporterSchemaRegistryClusterArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class SchemaExporterState extends com.pulumi.resources.ResourceArgs { + + public static final SchemaExporterState Empty = new SchemaExporterState(); + + /** + * Block for custom *nonsensitive* configuration properties: + * + */ + @Import(name="config") + private @Nullable Output> config; + + /** + * @return Block for custom *nonsensitive* configuration properties: + * + */ + public Optional>> config() { + return Optional.ofNullable(this.config); + } + + /** + * Customized context of the exporter if `context_type` is set to `CUSTOM`. + * + */ + @Import(name="context") + private @Nullable Output context; + + /** + * @return Customized context of the exporter if `context_type` is set to `CUSTOM`. + * + */ + public Optional> context() { + return Optional.ofNullable(this.context); + } + + /** + * Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + * + */ + @Import(name="contextType") + private @Nullable Output contextType; + + /** + * @return Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + * + */ + public Optional> contextType() { + return Optional.ofNullable(this.contextType); + } + + /** + * The Cluster API Credentials. + * + */ + @Import(name="credentials") + private @Nullable Output credentials; + + /** + * @return The Cluster API Credentials. + * + */ + public Optional> credentials() { + return Optional.ofNullable(this.credentials); + } + + @Import(name="destinationSchemaRegistryCluster") + private @Nullable Output destinationSchemaRegistryCluster; + + public Optional> destinationSchemaRegistryCluster() { + return Optional.ofNullable(this.destinationSchemaRegistryCluster); + } + + /** + * The configuration setting name. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return The configuration setting name. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + * + */ + @Import(name="resetOnUpdate") + private @Nullable Output resetOnUpdate; + + /** + * @return The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + * + */ + public Optional> resetOnUpdate() { + return Optional.ofNullable(this.resetOnUpdate); + } + + /** + * The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + * + */ + @Import(name="restEndpoint") + private @Nullable Output restEndpoint; + + /** + * @return The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + * + */ + public Optional> restEndpoint() { + return Optional.ofNullable(this.restEndpoint); + } + + @Import(name="schemaRegistryCluster") + private @Nullable Output schemaRegistryCluster; + + public Optional> schemaRegistryCluster() { + return Optional.ofNullable(this.schemaRegistryCluster); + } + + /** + * The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + * + */ + @Import(name="status") + private @Nullable Output status; + + /** + * @return The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + * + */ + public Optional> status() { + return Optional.ofNullable(this.status); + } + + /** + * Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dc_orders`. + * + */ + @Import(name="subjectRenameFormat") + private @Nullable Output subjectRenameFormat; + + /** + * @return Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dc_orders`. + * + */ + public Optional> subjectRenameFormat() { + return Optional.ofNullable(this.subjectRenameFormat); + } + + /** + * Name of each exporter subject. + * + */ + @Import(name="subjects") + private @Nullable Output> subjects; + + /** + * @return Name of each exporter subject. + * + */ + public Optional>> subjects() { + return Optional.ofNullable(this.subjects); + } + + private SchemaExporterState() {} + + private SchemaExporterState(SchemaExporterState $) { + this.config = $.config; + this.context = $.context; + this.contextType = $.contextType; + this.credentials = $.credentials; + this.destinationSchemaRegistryCluster = $.destinationSchemaRegistryCluster; + this.name = $.name; + this.resetOnUpdate = $.resetOnUpdate; + this.restEndpoint = $.restEndpoint; + this.schemaRegistryCluster = $.schemaRegistryCluster; + this.status = $.status; + this.subjectRenameFormat = $.subjectRenameFormat; + this.subjects = $.subjects; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SchemaExporterState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SchemaExporterState $; + + public Builder() { + $ = new SchemaExporterState(); + } + + public Builder(SchemaExporterState defaults) { + $ = new SchemaExporterState(Objects.requireNonNull(defaults)); + } + + /** + * @param config Block for custom *nonsensitive* configuration properties: + * + * @return builder + * + */ + public Builder config(@Nullable Output> config) { + $.config = config; + return this; + } + + /** + * @param config Block for custom *nonsensitive* configuration properties: + * + * @return builder + * + */ + public Builder config(Map config) { + return config(Output.of(config)); + } + + /** + * @param context Customized context of the exporter if `context_type` is set to `CUSTOM`. + * + * @return builder + * + */ + public Builder context(@Nullable Output context) { + $.context = context; + return this; + } + + /** + * @param context Customized context of the exporter if `context_type` is set to `CUSTOM`. + * + * @return builder + * + */ + public Builder context(String context) { + return context(Output.of(context)); + } + + /** + * @param contextType Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + * + * @return builder + * + */ + public Builder contextType(@Nullable Output contextType) { + $.contextType = contextType; + return this; + } + + /** + * @param contextType Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + * + * @return builder + * + */ + public Builder contextType(String contextType) { + return contextType(Output.of(contextType)); + } + + /** + * @param credentials The Cluster API Credentials. + * + * @return builder + * + */ + public Builder credentials(@Nullable Output credentials) { + $.credentials = credentials; + return this; + } + + /** + * @param credentials The Cluster API Credentials. + * + * @return builder + * + */ + public Builder credentials(SchemaExporterCredentialsArgs credentials) { + return credentials(Output.of(credentials)); + } + + public Builder destinationSchemaRegistryCluster(@Nullable Output destinationSchemaRegistryCluster) { + $.destinationSchemaRegistryCluster = destinationSchemaRegistryCluster; + return this; + } + + public Builder destinationSchemaRegistryCluster(SchemaExporterDestinationSchemaRegistryClusterArgs destinationSchemaRegistryCluster) { + return destinationSchemaRegistryCluster(Output.of(destinationSchemaRegistryCluster)); + } + + /** + * @param name The configuration setting name. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name The configuration setting name. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param resetOnUpdate The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + * + * @return builder + * + */ + public Builder resetOnUpdate(@Nullable Output resetOnUpdate) { + $.resetOnUpdate = resetOnUpdate; + return this; + } + + /** + * @param resetOnUpdate The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + * + * @return builder + * + */ + public Builder resetOnUpdate(Boolean resetOnUpdate) { + return resetOnUpdate(Output.of(resetOnUpdate)); + } + + /** + * @param restEndpoint The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + * + * @return builder + * + */ + public Builder restEndpoint(@Nullable Output restEndpoint) { + $.restEndpoint = restEndpoint; + return this; + } + + /** + * @param restEndpoint The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + * + * @return builder + * + */ + public Builder restEndpoint(String restEndpoint) { + return restEndpoint(Output.of(restEndpoint)); + } + + public Builder schemaRegistryCluster(@Nullable Output schemaRegistryCluster) { + $.schemaRegistryCluster = schemaRegistryCluster; + return this; + } + + public Builder schemaRegistryCluster(SchemaExporterSchemaRegistryClusterArgs schemaRegistryCluster) { + return schemaRegistryCluster(Output.of(schemaRegistryCluster)); + } + + /** + * @param status The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + * + * @return builder + * + */ + public Builder status(@Nullable Output status) { + $.status = status; + return this; + } + + /** + * @param status The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + * + * @return builder + * + */ + public Builder status(String status) { + return status(Output.of(status)); + } + + /** + * @param subjectRenameFormat Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dc_orders`. + * + * @return builder + * + */ + public Builder subjectRenameFormat(@Nullable Output subjectRenameFormat) { + $.subjectRenameFormat = subjectRenameFormat; + return this; + } + + /** + * @param subjectRenameFormat Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dc_orders`. + * + * @return builder + * + */ + public Builder subjectRenameFormat(String subjectRenameFormat) { + return subjectRenameFormat(Output.of(subjectRenameFormat)); + } + + /** + * @param subjects Name of each exporter subject. + * + * @return builder + * + */ + public Builder subjects(@Nullable Output> subjects) { + $.subjects = subjects; + return this; + } + + /** + * @param subjects Name of each exporter subject. + * + * @return builder + * + */ + public Builder subjects(List subjects) { + return subjects(Output.of(subjects)); + } + + /** + * @param subjects Name of each exporter subject. + * + * @return builder + * + */ + public Builder subjects(String... subjects) { + return subjects(List.of(subjects)); + } + + public SchemaExporterState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/ClusterLinkDestinationKafkaClusterCredentials.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/ClusterLinkDestinationKafkaClusterCredentials.java index a5a22fca..a56f23b9 100644 --- a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/ClusterLinkDestinationKafkaClusterCredentials.java +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/ClusterLinkDestinationKafkaClusterCredentials.java @@ -17,8 +17,6 @@ public final class ClusterLinkDestinationKafkaClusterCredentials { /** * @return The Kafka API Secret. * - * > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). - * */ private String secret; @@ -33,8 +31,6 @@ public String key() { /** * @return The Kafka API Secret. * - * > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). - * */ public String secret() { return this.secret; diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/ClusterLinkLocalKafkaClusterCredentials.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/ClusterLinkLocalKafkaClusterCredentials.java index 8d38203f..909f04e3 100644 --- a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/ClusterLinkLocalKafkaClusterCredentials.java +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/ClusterLinkLocalKafkaClusterCredentials.java @@ -17,8 +17,6 @@ public final class ClusterLinkLocalKafkaClusterCredentials { /** * @return The Kafka API Secret. * - * > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). - * */ private String secret; @@ -33,8 +31,6 @@ public String key() { /** * @return The Kafka API Secret. * - * > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). - * */ public String secret() { return this.secret; diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/ClusterLinkRemoteKafkaClusterCredentials.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/ClusterLinkRemoteKafkaClusterCredentials.java index bce7f243..63645299 100644 --- a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/ClusterLinkRemoteKafkaClusterCredentials.java +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/ClusterLinkRemoteKafkaClusterCredentials.java @@ -17,8 +17,6 @@ public final class ClusterLinkRemoteKafkaClusterCredentials { /** * @return The Kafka API Secret. * - * > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). - * */ private String secret; @@ -33,8 +31,6 @@ public String key() { /** * @return The Kafka API Secret. * - * > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). - * */ public String secret() { return this.secret; diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/ClusterLinkSourceKafkaClusterCredentials.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/ClusterLinkSourceKafkaClusterCredentials.java index ee985a20..7398c7db 100644 --- a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/ClusterLinkSourceKafkaClusterCredentials.java +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/ClusterLinkSourceKafkaClusterCredentials.java @@ -17,8 +17,6 @@ public final class ClusterLinkSourceKafkaClusterCredentials { /** * @return The Kafka API Secret. * - * > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). - * */ private String secret; @@ -33,8 +31,6 @@ public String key() { /** * @return The Kafka API Secret. * - * > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). - * */ public String secret() { return this.secret; diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/SchemaExporterCredentials.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/SchemaExporterCredentials.java new file mode 100644 index 00000000..93047880 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/SchemaExporterCredentials.java @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class SchemaExporterCredentials { + /** + * @return The Schema Registry API Key. + * + */ + private String key; + /** + * @return The Schema Registry API Secret. + * + */ + private String secret; + + private SchemaExporterCredentials() {} + /** + * @return The Schema Registry API Key. + * + */ + public String key() { + return this.key; + } + /** + * @return The Schema Registry API Secret. + * + */ + public String secret() { + return this.secret; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(SchemaExporterCredentials defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private String secret; + public Builder() {} + public Builder(SchemaExporterCredentials defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.secret = defaults.secret; + } + + @CustomType.Setter + public Builder key(String key) { + this.key = Objects.requireNonNull(key); + return this; + } + @CustomType.Setter + public Builder secret(String secret) { + this.secret = Objects.requireNonNull(secret); + return this; + } + public SchemaExporterCredentials build() { + final var o = new SchemaExporterCredentials(); + o.key = key; + o.secret = secret; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/SchemaExporterDestinationSchemaRegistryCluster.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/SchemaExporterDestinationSchemaRegistryCluster.java new file mode 100644 index 00000000..28e57c38 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/SchemaExporterDestinationSchemaRegistryCluster.java @@ -0,0 +1,67 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.outputs; + +import com.pulumi.confluentcloud.outputs.SchemaExporterDestinationSchemaRegistryClusterCredentials; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class SchemaExporterDestinationSchemaRegistryCluster { + private SchemaExporterDestinationSchemaRegistryClusterCredentials credentials; + /** + * @return The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + * + */ + private String restEndpoint; + + private SchemaExporterDestinationSchemaRegistryCluster() {} + public SchemaExporterDestinationSchemaRegistryClusterCredentials credentials() { + return this.credentials; + } + /** + * @return The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + * + */ + public String restEndpoint() { + return this.restEndpoint; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(SchemaExporterDestinationSchemaRegistryCluster defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private SchemaExporterDestinationSchemaRegistryClusterCredentials credentials; + private String restEndpoint; + public Builder() {} + public Builder(SchemaExporterDestinationSchemaRegistryCluster defaults) { + Objects.requireNonNull(defaults); + this.credentials = defaults.credentials; + this.restEndpoint = defaults.restEndpoint; + } + + @CustomType.Setter + public Builder credentials(SchemaExporterDestinationSchemaRegistryClusterCredentials credentials) { + this.credentials = Objects.requireNonNull(credentials); + return this; + } + @CustomType.Setter + public Builder restEndpoint(String restEndpoint) { + this.restEndpoint = Objects.requireNonNull(restEndpoint); + return this; + } + public SchemaExporterDestinationSchemaRegistryCluster build() { + final var o = new SchemaExporterDestinationSchemaRegistryCluster(); + o.credentials = credentials; + o.restEndpoint = restEndpoint; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/SchemaExporterDestinationSchemaRegistryClusterCredentials.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/SchemaExporterDestinationSchemaRegistryClusterCredentials.java new file mode 100644 index 00000000..89fabd1e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/SchemaExporterDestinationSchemaRegistryClusterCredentials.java @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class SchemaExporterDestinationSchemaRegistryClusterCredentials { + /** + * @return The Schema Registry API Key. + * + */ + private String key; + /** + * @return The Schema Registry API Secret. + * + */ + private String secret; + + private SchemaExporterDestinationSchemaRegistryClusterCredentials() {} + /** + * @return The Schema Registry API Key. + * + */ + public String key() { + return this.key; + } + /** + * @return The Schema Registry API Secret. + * + */ + public String secret() { + return this.secret; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(SchemaExporterDestinationSchemaRegistryClusterCredentials defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private String secret; + public Builder() {} + public Builder(SchemaExporterDestinationSchemaRegistryClusterCredentials defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.secret = defaults.secret; + } + + @CustomType.Setter + public Builder key(String key) { + this.key = Objects.requireNonNull(key); + return this; + } + @CustomType.Setter + public Builder secret(String secret) { + this.secret = Objects.requireNonNull(secret); + return this; + } + public SchemaExporterDestinationSchemaRegistryClusterCredentials build() { + final var o = new SchemaExporterDestinationSchemaRegistryClusterCredentials(); + o.key = key; + o.secret = secret; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/SchemaExporterSchemaRegistryCluster.java b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/SchemaExporterSchemaRegistryCluster.java new file mode 100644 index 00000000..0029775b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/confluentcloud/outputs/SchemaExporterSchemaRegistryCluster.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.confluentcloud.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class SchemaExporterSchemaRegistryCluster { + /** + * @return The ID of the Schema Registry cluster, for example, `lsrc-abc123`. + * + */ + private String id; + + private SchemaExporterSchemaRegistryCluster() {} + /** + * @return The ID of the Schema Registry cluster, for example, `lsrc-abc123`. + * + */ + public String id() { + return this.id; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(SchemaExporterSchemaRegistryCluster defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String id; + public Builder() {} + public Builder(SchemaExporterSchemaRegistryCluster defaults) { + Objects.requireNonNull(defaults); + this.id = defaults.id; + } + + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + public SchemaExporterSchemaRegistryCluster build() { + final var o = new SchemaExporterSchemaRegistryCluster(); + o.id = id; + return o; + } + } +} diff --git a/sdk/nodejs/getRoleBinding.ts b/sdk/nodejs/getRoleBinding.ts index d3b5ffe3..c03d9e7a 100644 --- a/sdk/nodejs/getRoleBinding.ts +++ b/sdk/nodejs/getRoleBinding.ts @@ -9,6 +9,8 @@ import * as utilities from "./utilities"; * * `confluentcloud.RoleBinding` describes a Role Binding. * + * > **Note:** For more information on the Role Bindings, see [Predefined RBAC roles in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/access-control/rbac/predefined-rbac-roles.html). + * * ## Example Usage * * ```typescript @@ -62,6 +64,8 @@ export interface GetRoleBindingResult { * * `confluentcloud.RoleBinding` describes a Role Binding. * + * > **Note:** For more information on the Role Bindings, see [Predefined RBAC roles in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/access-control/rbac/predefined-rbac-roles.html). + * * ## Example Usage * * ```typescript diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 2df44429..c2418650 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -320,6 +320,11 @@ export type Schema = import("./schema").Schema; export const Schema: typeof import("./schema").Schema = null as any; utilities.lazyLoad(exports, ["Schema"], () => require("./schema")); +export { SchemaExporterArgs, SchemaExporterState } from "./schemaExporter"; +export type SchemaExporter = import("./schemaExporter").SchemaExporter; +export const SchemaExporter: typeof import("./schemaExporter").SchemaExporter = null as any; +utilities.lazyLoad(exports, ["SchemaExporter"], () => require("./schemaExporter")); + export { SchemaRegistryClusterArgs, SchemaRegistryClusterState } from "./schemaRegistryCluster"; export type SchemaRegistryCluster = import("./schemaRegistryCluster").SchemaRegistryCluster; export const SchemaRegistryCluster: typeof import("./schemaRegistryCluster").SchemaRegistryCluster = null as any; @@ -436,6 +441,8 @@ const _module = { return new RoleBinding(name, undefined, { urn }) case "confluentcloud:index/schema:Schema": return new Schema(name, undefined, { urn }) + case "confluentcloud:index/schemaExporter:SchemaExporter": + return new SchemaExporter(name, undefined, { urn }) case "confluentcloud:index/schemaRegistryCluster:SchemaRegistryCluster": return new SchemaRegistryCluster(name, undefined, { urn }) case "confluentcloud:index/schemaRegistryClusterConfig:SchemaRegistryClusterConfig": @@ -487,6 +494,7 @@ pulumi.runtime.registerResourceModule("confluentcloud", "index/privateLinkAttach pulumi.runtime.registerResourceModule("confluentcloud", "index/privateLinkAttachmentConnection", _module) pulumi.runtime.registerResourceModule("confluentcloud", "index/roleBinding", _module) pulumi.runtime.registerResourceModule("confluentcloud", "index/schema", _module) +pulumi.runtime.registerResourceModule("confluentcloud", "index/schemaExporter", _module) pulumi.runtime.registerResourceModule("confluentcloud", "index/schemaRegistryCluster", _module) pulumi.runtime.registerResourceModule("confluentcloud", "index/schemaRegistryClusterConfig", _module) pulumi.runtime.registerResourceModule("confluentcloud", "index/schemaRegistryClusterMode", _module) diff --git a/sdk/nodejs/kafkaAcl.ts b/sdk/nodejs/kafkaAcl.ts index 0245b964..79544cd1 100644 --- a/sdk/nodejs/kafkaAcl.ts +++ b/sdk/nodejs/kafkaAcl.ts @@ -9,7 +9,7 @@ import * as utilities from "./utilities"; /** * ## Import * - * You can import Kafka ACLs by using the Kafka cluster ID and attributes of `confluent_kafka_acl` resource in the format `/######`, for exampleOption #1Manage multiple Kafka clusters in the same Terraform workspace $ export CONFLUENT_CLOUD_API_KEY="" $ export CONFLUENT_CLOUD_API_SECRET="" $ export IMPORT_KAFKA_API_KEY="" $ export IMPORT_KAFKA_API_SECRET="" $ export IMPORT_KAFKA_REST_ENDPOINT="" + * You can import Kafka ACLs by using the Kafka cluster ID and attributes of `confluent_kafka_acl` resource in the format `/######`, for exampleOption #1Manage multiple Kafka clusters in the same Terraform workspace $ export IMPORT_KAFKA_API_KEY="" $ export IMPORT_KAFKA_API_SECRET="" $ export IMPORT_KAFKA_REST_ENDPOINT="" * * ```sh * $ pulumi import confluentcloud:index/kafkaAcl:KafkaAcl describe-cluster "lkc-12345/CLUSTER#kafka-cluster#LITERAL#User:sa-xyz123#*#DESCRIBE#ALLOW" diff --git a/sdk/nodejs/schemaExporter.ts b/sdk/nodejs/schemaExporter.ts new file mode 100644 index 00000000..e8793f25 --- /dev/null +++ b/sdk/nodejs/schemaExporter.ts @@ -0,0 +1,235 @@ +// *** 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! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * ## Import + * + * You can import a Schema Exporter by using the Schema Registry cluster ID, Schema Exporter name in the format `/`, for example$ export IMPORT_SCHEMA_REGISTRY_API_KEY="" $ export IMPORT_SCHEMA_REGISTRY_API_SECRET="" $ export IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT="" + * + * ```sh + * $ pulumi import confluentcloud:index/schemaExporter:SchemaExporter main lsrc-8wrx70/test-exporter + * ``` + * + * !> **Warning:** Do not forget to delete terminal command history afterwards for security purposes. + */ +export class SchemaExporter extends pulumi.CustomResource { + /** + * Get an existing SchemaExporter resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: SchemaExporterState, opts?: pulumi.CustomResourceOptions): SchemaExporter { + return new SchemaExporter(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'confluentcloud:index/schemaExporter:SchemaExporter'; + + /** + * Returns true if the given object is an instance of SchemaExporter. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is SchemaExporter { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === SchemaExporter.__pulumiType; + } + + /** + * Block for custom *nonsensitive* configuration properties: + */ + public readonly config!: pulumi.Output<{[key: string]: string}>; + /** + * Customized context of the exporter if `contextType` is set to `CUSTOM`. + */ + public readonly context!: pulumi.Output; + /** + * Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + */ + public readonly contextType!: pulumi.Output; + /** + * The Cluster API Credentials. + */ + public readonly credentials!: pulumi.Output; + public readonly destinationSchemaRegistryCluster!: pulumi.Output; + /** + * The configuration setting name. + */ + public readonly name!: pulumi.Output; + /** + * The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + */ + public readonly resetOnUpdate!: pulumi.Output; + /** + * The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + */ + public readonly restEndpoint!: pulumi.Output; + public readonly schemaRegistryCluster!: pulumi.Output; + /** + * The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + */ + public readonly status!: pulumi.Output; + /** + * Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dcOrders`. + */ + public readonly subjectRenameFormat!: pulumi.Output; + /** + * Name of each exporter subject. + */ + public readonly subjects!: pulumi.Output; + + /** + * Create a SchemaExporter resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: SchemaExporterArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: SchemaExporterArgs | SchemaExporterState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as SchemaExporterState | undefined; + resourceInputs["config"] = state ? state.config : undefined; + resourceInputs["context"] = state ? state.context : undefined; + resourceInputs["contextType"] = state ? state.contextType : undefined; + resourceInputs["credentials"] = state ? state.credentials : undefined; + resourceInputs["destinationSchemaRegistryCluster"] = state ? state.destinationSchemaRegistryCluster : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["resetOnUpdate"] = state ? state.resetOnUpdate : undefined; + resourceInputs["restEndpoint"] = state ? state.restEndpoint : undefined; + resourceInputs["schemaRegistryCluster"] = state ? state.schemaRegistryCluster : undefined; + resourceInputs["status"] = state ? state.status : undefined; + resourceInputs["subjectRenameFormat"] = state ? state.subjectRenameFormat : undefined; + resourceInputs["subjects"] = state ? state.subjects : undefined; + } else { + const args = argsOrState as SchemaExporterArgs | undefined; + if ((!args || args.destinationSchemaRegistryCluster === undefined) && !opts.urn) { + throw new Error("Missing required property 'destinationSchemaRegistryCluster'"); + } + resourceInputs["config"] = args ? args.config : undefined; + resourceInputs["context"] = args ? args.context : undefined; + resourceInputs["contextType"] = args ? args.contextType : undefined; + resourceInputs["credentials"] = args?.credentials ? pulumi.secret(args.credentials) : undefined; + resourceInputs["destinationSchemaRegistryCluster"] = args ? args.destinationSchemaRegistryCluster : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["resetOnUpdate"] = args ? args.resetOnUpdate : undefined; + resourceInputs["restEndpoint"] = args ? args.restEndpoint : undefined; + resourceInputs["schemaRegistryCluster"] = args ? args.schemaRegistryCluster : undefined; + resourceInputs["status"] = args ? args.status : undefined; + resourceInputs["subjectRenameFormat"] = args ? args.subjectRenameFormat : undefined; + resourceInputs["subjects"] = args ? args.subjects : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["credentials"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(SchemaExporter.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering SchemaExporter resources. + */ +export interface SchemaExporterState { + /** + * Block for custom *nonsensitive* configuration properties: + */ + config?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Customized context of the exporter if `contextType` is set to `CUSTOM`. + */ + context?: pulumi.Input; + /** + * Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + */ + contextType?: pulumi.Input; + /** + * The Cluster API Credentials. + */ + credentials?: pulumi.Input; + destinationSchemaRegistryCluster?: pulumi.Input; + /** + * The configuration setting name. + */ + name?: pulumi.Input; + /** + * The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + */ + resetOnUpdate?: pulumi.Input; + /** + * The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + */ + restEndpoint?: pulumi.Input; + schemaRegistryCluster?: pulumi.Input; + /** + * The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + */ + status?: pulumi.Input; + /** + * Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dcOrders`. + */ + subjectRenameFormat?: pulumi.Input; + /** + * Name of each exporter subject. + */ + subjects?: pulumi.Input[]>; +} + +/** + * The set of arguments for constructing a SchemaExporter resource. + */ +export interface SchemaExporterArgs { + /** + * Block for custom *nonsensitive* configuration properties: + */ + config?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Customized context of the exporter if `contextType` is set to `CUSTOM`. + */ + context?: pulumi.Input; + /** + * Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + */ + contextType?: pulumi.Input; + /** + * The Cluster API Credentials. + */ + credentials?: pulumi.Input; + destinationSchemaRegistryCluster: pulumi.Input; + /** + * The configuration setting name. + */ + name?: pulumi.Input; + /** + * The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + */ + resetOnUpdate?: pulumi.Input; + /** + * The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + */ + restEndpoint?: pulumi.Input; + schemaRegistryCluster?: pulumi.Input; + /** + * The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + */ + status?: pulumi.Input; + /** + * Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dcOrders`. + */ + subjectRenameFormat?: pulumi.Input; + /** + * Name of each exporter subject. + */ + subjects?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 00ecdd9f..697fb03a 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -79,6 +79,7 @@ "provider.ts", "roleBinding.ts", "schema.ts", + "schemaExporter.ts", "schemaRegistryCluster.ts", "schemaRegistryClusterConfig.ts", "schemaRegistryClusterMode.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index a8bfab40..b35c91b6 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -156,8 +156,6 @@ export interface ClusterLinkDestinationKafkaClusterCredentials { key: pulumi.Input; /** * The Kafka API Secret. - * - * > **Note:** The `localKafkaCluster`, `remoteKafkaCluster` configuration block and `linkMode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). */ secret: pulumi.Input; } @@ -185,8 +183,6 @@ export interface ClusterLinkLocalKafkaClusterCredentials { key: pulumi.Input; /** * The Kafka API Secret. - * - * > **Note:** The `localKafkaCluster`, `remoteKafkaCluster` configuration block and `linkMode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). */ secret: pulumi.Input; } @@ -214,8 +210,6 @@ export interface ClusterLinkRemoteKafkaClusterCredentials { key: pulumi.Input; /** * The Kafka API Secret. - * - * > **Note:** The `localKafkaCluster`, `remoteKafkaCluster` configuration block and `linkMode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). */ secret: pulumi.Input; } @@ -243,8 +237,6 @@ export interface ClusterLinkSourceKafkaClusterCredentials { key: pulumi.Input; /** * The Kafka API Secret. - * - * > **Note:** The `localKafkaCluster`, `remoteKafkaCluster` configuration block and `linkMode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). */ secret: pulumi.Input; } @@ -1555,6 +1547,43 @@ export interface SchemaCredentials { secret: pulumi.Input; } +export interface SchemaExporterCredentials { + /** + * The Schema Registry API Key. + */ + key: pulumi.Input; + /** + * The Schema Registry API Secret. + */ + secret: pulumi.Input; +} + +export interface SchemaExporterDestinationSchemaRegistryCluster { + credentials: pulumi.Input; + /** + * The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + */ + restEndpoint: pulumi.Input; +} + +export interface SchemaExporterDestinationSchemaRegistryClusterCredentials { + /** + * The Schema Registry API Key. + */ + key: pulumi.Input; + /** + * The Schema Registry API Secret. + */ + secret: pulumi.Input; +} + +export interface SchemaExporterSchemaRegistryCluster { + /** + * The ID of the Schema Registry cluster, for example, `lsrc-abc123`. + */ + id: pulumi.Input; +} + export interface SchemaRegistryClusterConfigCredentials { /** * The Schema Registry API Key. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index d841a119..dd9133f2 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -156,8 +156,6 @@ export interface ClusterLinkDestinationKafkaClusterCredentials { key: string; /** * The Kafka API Secret. - * - * > **Note:** The `localKafkaCluster`, `remoteKafkaCluster` configuration block and `linkMode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). */ secret: string; } @@ -185,8 +183,6 @@ export interface ClusterLinkLocalKafkaClusterCredentials { key: string; /** * The Kafka API Secret. - * - * > **Note:** The `localKafkaCluster`, `remoteKafkaCluster` configuration block and `linkMode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). */ secret: string; } @@ -214,8 +210,6 @@ export interface ClusterLinkRemoteKafkaClusterCredentials { key: string; /** * The Kafka API Secret. - * - * > **Note:** The `localKafkaCluster`, `remoteKafkaCluster` configuration block and `linkMode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). */ secret: string; } @@ -243,8 +237,6 @@ export interface ClusterLinkSourceKafkaClusterCredentials { key: string; /** * The Kafka API Secret. - * - * > **Note:** The `localKafkaCluster`, `remoteKafkaCluster` configuration block and `linkMode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). */ secret: string; } @@ -1601,6 +1593,43 @@ export interface SchemaCredentials { secret: string; } +export interface SchemaExporterCredentials { + /** + * The Schema Registry API Key. + */ + key: string; + /** + * The Schema Registry API Secret. + */ + secret: string; +} + +export interface SchemaExporterDestinationSchemaRegistryCluster { + credentials: outputs.SchemaExporterDestinationSchemaRegistryClusterCredentials; + /** + * The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + */ + restEndpoint: string; +} + +export interface SchemaExporterDestinationSchemaRegistryClusterCredentials { + /** + * The Schema Registry API Key. + */ + key: string; + /** + * The Schema Registry API Secret. + */ + secret: string; +} + +export interface SchemaExporterSchemaRegistryCluster { + /** + * The ID of the Schema Registry cluster, for example, `lsrc-abc123`. + */ + id: string; +} + export interface SchemaRegistryClusterConfigCredentials { /** * The Schema Registry API Key. diff --git a/sdk/python/pulumi_confluentcloud/__init__.py b/sdk/python/pulumi_confluentcloud/__init__.py index 7e9fe0be..71332a0d 100644 --- a/sdk/python/pulumi_confluentcloud/__init__.py +++ b/sdk/python/pulumi_confluentcloud/__init__.py @@ -68,6 +68,7 @@ from .provider import * from .role_binding import * from .schema import * +from .schema_exporter import * from .schema_registry_cluster import * from .schema_registry_cluster_config import * from .schema_registry_cluster_mode import * @@ -299,6 +300,14 @@ "confluentcloud:index/schema:Schema": "Schema" } }, + { + "pkg": "confluentcloud", + "mod": "index/schemaExporter", + "fqn": "pulumi_confluentcloud", + "classes": { + "confluentcloud:index/schemaExporter:SchemaExporter": "SchemaExporter" + } + }, { "pkg": "confluentcloud", "mod": "index/schemaRegistryCluster", diff --git a/sdk/python/pulumi_confluentcloud/_inputs.py b/sdk/python/pulumi_confluentcloud/_inputs.py index 2a960100..cd636479 100644 --- a/sdk/python/pulumi_confluentcloud/_inputs.py +++ b/sdk/python/pulumi_confluentcloud/_inputs.py @@ -88,6 +88,10 @@ 'PrivateLinkAttachmentEnvironmentArgs', 'PrivateLinkAttachmentGcpArgs', 'SchemaCredentialsArgs', + 'SchemaExporterCredentialsArgs', + 'SchemaExporterDestinationSchemaRegistryClusterArgs', + 'SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs', + 'SchemaExporterSchemaRegistryClusterArgs', 'SchemaRegistryClusterConfigCredentialsArgs', 'SchemaRegistryClusterConfigSchemaRegistryClusterArgs', 'SchemaRegistryClusterEnvironmentArgs', @@ -686,8 +690,6 @@ def __init__(__self__, *, """ :param pulumi.Input[str] key: The Kafka API Key. :param pulumi.Input[str] secret: The Kafka API Secret. - - > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). """ pulumi.set(__self__, "key", key) pulumi.set(__self__, "secret", secret) @@ -709,8 +711,6 @@ def key(self, value: pulumi.Input[str]): def secret(self) -> pulumi.Input[str]: """ The Kafka API Secret. - - > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). """ return pulumi.get(self, "secret") @@ -793,8 +793,6 @@ def __init__(__self__, *, """ :param pulumi.Input[str] key: The Kafka API Key. :param pulumi.Input[str] secret: The Kafka API Secret. - - > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). """ pulumi.set(__self__, "key", key) pulumi.set(__self__, "secret", secret) @@ -816,8 +814,6 @@ def key(self, value: pulumi.Input[str]): def secret(self) -> pulumi.Input[str]: """ The Kafka API Secret. - - > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). """ return pulumi.get(self, "secret") @@ -900,8 +896,6 @@ def __init__(__self__, *, """ :param pulumi.Input[str] key: The Kafka API Key. :param pulumi.Input[str] secret: The Kafka API Secret. - - > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). """ pulumi.set(__self__, "key", key) pulumi.set(__self__, "secret", secret) @@ -923,8 +917,6 @@ def key(self, value: pulumi.Input[str]): def secret(self) -> pulumi.Input[str]: """ The Kafka API Secret. - - > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). """ return pulumi.get(self, "secret") @@ -1007,8 +999,6 @@ def __init__(__self__, *, """ :param pulumi.Input[str] key: The Kafka API Key. :param pulumi.Input[str] secret: The Kafka API Secret. - - > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). """ pulumi.set(__self__, "key", key) pulumi.set(__self__, "secret", secret) @@ -1030,8 +1020,6 @@ def key(self, value: pulumi.Input[str]): def secret(self) -> pulumi.Input[str]: """ The Kafka API Secret. - - > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). """ return pulumi.get(self, "secret") @@ -2748,6 +2736,135 @@ def secret(self, value: pulumi.Input[str]): pulumi.set(self, "secret", value) +@pulumi.input_type +class SchemaExporterCredentialsArgs: + def __init__(__self__, *, + key: pulumi.Input[str], + secret: pulumi.Input[str]): + """ + :param pulumi.Input[str] key: The Schema Registry API Key. + :param pulumi.Input[str] secret: The Schema Registry API Secret. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "secret", secret) + + @property + @pulumi.getter + def key(self) -> pulumi.Input[str]: + """ + The Schema Registry API Key. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: pulumi.Input[str]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def secret(self) -> pulumi.Input[str]: + """ + The Schema Registry API Secret. + """ + return pulumi.get(self, "secret") + + @secret.setter + def secret(self, value: pulumi.Input[str]): + pulumi.set(self, "secret", value) + + +@pulumi.input_type +class SchemaExporterDestinationSchemaRegistryClusterArgs: + def __init__(__self__, *, + credentials: pulumi.Input['SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs'], + rest_endpoint: pulumi.Input[str]): + """ + :param pulumi.Input[str] rest_endpoint: The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + """ + pulumi.set(__self__, "credentials", credentials) + pulumi.set(__self__, "rest_endpoint", rest_endpoint) + + @property + @pulumi.getter + def credentials(self) -> pulumi.Input['SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs']: + return pulumi.get(self, "credentials") + + @credentials.setter + def credentials(self, value: pulumi.Input['SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs']): + pulumi.set(self, "credentials", value) + + @property + @pulumi.getter(name="restEndpoint") + def rest_endpoint(self) -> pulumi.Input[str]: + """ + The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + """ + return pulumi.get(self, "rest_endpoint") + + @rest_endpoint.setter + def rest_endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "rest_endpoint", value) + + +@pulumi.input_type +class SchemaExporterDestinationSchemaRegistryClusterCredentialsArgs: + def __init__(__self__, *, + key: pulumi.Input[str], + secret: pulumi.Input[str]): + """ + :param pulumi.Input[str] key: The Schema Registry API Key. + :param pulumi.Input[str] secret: The Schema Registry API Secret. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "secret", secret) + + @property + @pulumi.getter + def key(self) -> pulumi.Input[str]: + """ + The Schema Registry API Key. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: pulumi.Input[str]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def secret(self) -> pulumi.Input[str]: + """ + The Schema Registry API Secret. + """ + return pulumi.get(self, "secret") + + @secret.setter + def secret(self, value: pulumi.Input[str]): + pulumi.set(self, "secret", value) + + +@pulumi.input_type +class SchemaExporterSchemaRegistryClusterArgs: + def __init__(__self__, *, + id: pulumi.Input[str]): + """ + :param pulumi.Input[str] id: The ID of the Schema Registry cluster, for example, `lsrc-abc123`. + """ + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> pulumi.Input[str]: + """ + The ID of the Schema Registry cluster, for example, `lsrc-abc123`. + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: pulumi.Input[str]): + pulumi.set(self, "id", value) + + @pulumi.input_type class SchemaRegistryClusterConfigCredentialsArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_confluentcloud/get_role_binding.py b/sdk/python/pulumi_confluentcloud/get_role_binding.py index ac9a5d61..5e46d1b0 100644 --- a/sdk/python/pulumi_confluentcloud/get_role_binding.py +++ b/sdk/python/pulumi_confluentcloud/get_role_binding.py @@ -84,6 +84,8 @@ def get_role_binding(id: Optional[str] = None, `RoleBinding` describes a Role Binding. + > **Note:** For more information on the Role Bindings, see [Predefined RBAC roles in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/access-control/rbac/predefined-rbac-roles.html). + ## Example Usage ```python @@ -117,6 +119,8 @@ def get_role_binding_output(id: Optional[pulumi.Input[str]] = None, `RoleBinding` describes a Role Binding. + > **Note:** For more information on the Role Bindings, see [Predefined RBAC roles in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/access-control/rbac/predefined-rbac-roles.html). + ## Example Usage ```python diff --git a/sdk/python/pulumi_confluentcloud/kafka_acl.py b/sdk/python/pulumi_confluentcloud/kafka_acl.py index 2dd431df..cd3027cf 100644 --- a/sdk/python/pulumi_confluentcloud/kafka_acl.py +++ b/sdk/python/pulumi_confluentcloud/kafka_acl.py @@ -353,7 +353,7 @@ def __init__(__self__, """ ## Import - You can import Kafka ACLs by using the Kafka cluster ID and attributes of `confluent_kafka_acl` resource in the format `/######`, for exampleOption #1Manage multiple Kafka clusters in the same Terraform workspace $ export CONFLUENT_CLOUD_API_KEY="" $ export CONFLUENT_CLOUD_API_SECRET="" $ export IMPORT_KAFKA_API_KEY="" $ export IMPORT_KAFKA_API_SECRET="" $ export IMPORT_KAFKA_REST_ENDPOINT="" + You can import Kafka ACLs by using the Kafka cluster ID and attributes of `confluent_kafka_acl` resource in the format `/######`, for exampleOption #1Manage multiple Kafka clusters in the same Terraform workspace $ export IMPORT_KAFKA_API_KEY="" $ export IMPORT_KAFKA_API_SECRET="" $ export IMPORT_KAFKA_REST_ENDPOINT="" ```sh $ pulumi import confluentcloud:index/kafkaAcl:KafkaAcl describe-cluster "lkc-12345/CLUSTER#kafka-cluster#LITERAL#User:sa-xyz123#*#DESCRIBE#ALLOW" @@ -388,7 +388,7 @@ def __init__(__self__, """ ## Import - You can import Kafka ACLs by using the Kafka cluster ID and attributes of `confluent_kafka_acl` resource in the format `/######`, for exampleOption #1Manage multiple Kafka clusters in the same Terraform workspace $ export CONFLUENT_CLOUD_API_KEY="" $ export CONFLUENT_CLOUD_API_SECRET="" $ export IMPORT_KAFKA_API_KEY="" $ export IMPORT_KAFKA_API_SECRET="" $ export IMPORT_KAFKA_REST_ENDPOINT="" + You can import Kafka ACLs by using the Kafka cluster ID and attributes of `confluent_kafka_acl` resource in the format `/######`, for exampleOption #1Manage multiple Kafka clusters in the same Terraform workspace $ export IMPORT_KAFKA_API_KEY="" $ export IMPORT_KAFKA_API_SECRET="" $ export IMPORT_KAFKA_REST_ENDPOINT="" ```sh $ pulumi import confluentcloud:index/kafkaAcl:KafkaAcl describe-cluster "lkc-12345/CLUSTER#kafka-cluster#LITERAL#User:sa-xyz123#*#DESCRIBE#ALLOW" diff --git a/sdk/python/pulumi_confluentcloud/outputs.py b/sdk/python/pulumi_confluentcloud/outputs.py index 53fb130c..98bdb24d 100644 --- a/sdk/python/pulumi_confluentcloud/outputs.py +++ b/sdk/python/pulumi_confluentcloud/outputs.py @@ -89,6 +89,10 @@ 'PrivateLinkAttachmentEnvironment', 'PrivateLinkAttachmentGcp', 'SchemaCredentials', + 'SchemaExporterCredentials', + 'SchemaExporterDestinationSchemaRegistryCluster', + 'SchemaExporterDestinationSchemaRegistryClusterCredentials', + 'SchemaExporterSchemaRegistryCluster', 'SchemaRegistryClusterConfigCredentials', 'SchemaRegistryClusterConfigSchemaRegistryCluster', 'SchemaRegistryClusterEnvironment', @@ -719,8 +723,6 @@ def __init__(__self__, *, """ :param str key: The Kafka API Key. :param str secret: The Kafka API Secret. - - > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). """ pulumi.set(__self__, "key", key) pulumi.set(__self__, "secret", secret) @@ -738,8 +740,6 @@ def key(self) -> str: def secret(self) -> str: """ The Kafka API Secret. - - > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). """ return pulumi.get(self, "secret") @@ -821,8 +821,6 @@ def __init__(__self__, *, """ :param str key: The Kafka API Key. :param str secret: The Kafka API Secret. - - > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). """ pulumi.set(__self__, "key", key) pulumi.set(__self__, "secret", secret) @@ -840,8 +838,6 @@ def key(self) -> str: def secret(self) -> str: """ The Kafka API Secret. - - > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). """ return pulumi.get(self, "secret") @@ -923,8 +919,6 @@ def __init__(__self__, *, """ :param str key: The Kafka API Key. :param str secret: The Kafka API Secret. - - > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). """ pulumi.set(__self__, "key", key) pulumi.set(__self__, "secret", secret) @@ -942,8 +936,6 @@ def key(self) -> str: def secret(self) -> str: """ The Kafka API Secret. - - > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). """ return pulumi.get(self, "secret") @@ -1025,8 +1017,6 @@ def __init__(__self__, *, """ :param str key: The Kafka API Key. :param str secret: The Kafka API Secret. - - > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). """ pulumi.set(__self__, "key", key) pulumi.set(__self__, "secret", secret) @@ -1044,8 +1034,6 @@ def key(self) -> str: def secret(self) -> str: """ The Kafka API Secret. - - > **Note:** The `local_kafka_cluster`, `remote_kafka_cluster` configuration block and `link_mode = BIDIRECTIONAL` are in a [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). """ return pulumi.get(self, "secret") @@ -2740,6 +2728,124 @@ def secret(self) -> str: return pulumi.get(self, "secret") +@pulumi.output_type +class SchemaExporterCredentials(dict): + def __init__(__self__, *, + key: str, + secret: str): + """ + :param str key: The Schema Registry API Key. + :param str secret: The Schema Registry API Secret. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "secret", secret) + + @property + @pulumi.getter + def key(self) -> str: + """ + The Schema Registry API Key. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def secret(self) -> str: + """ + The Schema Registry API Secret. + """ + return pulumi.get(self, "secret") + + +@pulumi.output_type +class SchemaExporterDestinationSchemaRegistryCluster(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "restEndpoint": + suggest = "rest_endpoint" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SchemaExporterDestinationSchemaRegistryCluster. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SchemaExporterDestinationSchemaRegistryCluster.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SchemaExporterDestinationSchemaRegistryCluster.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + credentials: 'outputs.SchemaExporterDestinationSchemaRegistryClusterCredentials', + rest_endpoint: str): + """ + :param str rest_endpoint: The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + """ + pulumi.set(__self__, "credentials", credentials) + pulumi.set(__self__, "rest_endpoint", rest_endpoint) + + @property + @pulumi.getter + def credentials(self) -> 'outputs.SchemaExporterDestinationSchemaRegistryClusterCredentials': + return pulumi.get(self, "credentials") + + @property + @pulumi.getter(name="restEndpoint") + def rest_endpoint(self) -> str: + """ + The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + """ + return pulumi.get(self, "rest_endpoint") + + +@pulumi.output_type +class SchemaExporterDestinationSchemaRegistryClusterCredentials(dict): + def __init__(__self__, *, + key: str, + secret: str): + """ + :param str key: The Schema Registry API Key. + :param str secret: The Schema Registry API Secret. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "secret", secret) + + @property + @pulumi.getter + def key(self) -> str: + """ + The Schema Registry API Key. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def secret(self) -> str: + """ + The Schema Registry API Secret. + """ + return pulumi.get(self, "secret") + + +@pulumi.output_type +class SchemaExporterSchemaRegistryCluster(dict): + def __init__(__self__, *, + id: str): + """ + :param str id: The ID of the Schema Registry cluster, for example, `lsrc-abc123`. + """ + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of the Schema Registry cluster, for example, `lsrc-abc123`. + """ + return pulumi.get(self, "id") + + @pulumi.output_type class SchemaRegistryClusterConfigCredentials(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_confluentcloud/schema_exporter.py b/sdk/python/pulumi_confluentcloud/schema_exporter.py new file mode 100644 index 00000000..725dc26a --- /dev/null +++ b/sdk/python/pulumi_confluentcloud/schema_exporter.py @@ -0,0 +1,657 @@ +# coding=utf-8 +# *** 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! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['SchemaExporterArgs', 'SchemaExporter'] + +@pulumi.input_type +class SchemaExporterArgs: + def __init__(__self__, *, + destination_schema_registry_cluster: pulumi.Input['SchemaExporterDestinationSchemaRegistryClusterArgs'], + config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + context: Optional[pulumi.Input[str]] = None, + context_type: Optional[pulumi.Input[str]] = None, + credentials: Optional[pulumi.Input['SchemaExporterCredentialsArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + reset_on_update: Optional[pulumi.Input[bool]] = None, + rest_endpoint: Optional[pulumi.Input[str]] = None, + schema_registry_cluster: Optional[pulumi.Input['SchemaExporterSchemaRegistryClusterArgs']] = None, + status: Optional[pulumi.Input[str]] = None, + subject_rename_format: Optional[pulumi.Input[str]] = None, + subjects: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a SchemaExporter resource. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config: Block for custom *nonsensitive* configuration properties: + :param pulumi.Input[str] context: Customized context of the exporter if `context_type` is set to `CUSTOM`. + :param pulumi.Input[str] context_type: Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + :param pulumi.Input['SchemaExporterCredentialsArgs'] credentials: The Cluster API Credentials. + :param pulumi.Input[str] name: The configuration setting name. + :param pulumi.Input[bool] reset_on_update: The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + :param pulumi.Input[str] rest_endpoint: The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + :param pulumi.Input[str] status: The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + :param pulumi.Input[str] subject_rename_format: Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dc_orders`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] subjects: Name of each exporter subject. + """ + pulumi.set(__self__, "destination_schema_registry_cluster", destination_schema_registry_cluster) + if config is not None: + pulumi.set(__self__, "config", config) + if context is not None: + pulumi.set(__self__, "context", context) + if context_type is not None: + pulumi.set(__self__, "context_type", context_type) + if credentials is not None: + pulumi.set(__self__, "credentials", credentials) + if name is not None: + pulumi.set(__self__, "name", name) + if reset_on_update is not None: + pulumi.set(__self__, "reset_on_update", reset_on_update) + if rest_endpoint is not None: + pulumi.set(__self__, "rest_endpoint", rest_endpoint) + if schema_registry_cluster is not None: + pulumi.set(__self__, "schema_registry_cluster", schema_registry_cluster) + if status is not None: + pulumi.set(__self__, "status", status) + if subject_rename_format is not None: + pulumi.set(__self__, "subject_rename_format", subject_rename_format) + if subjects is not None: + pulumi.set(__self__, "subjects", subjects) + + @property + @pulumi.getter(name="destinationSchemaRegistryCluster") + def destination_schema_registry_cluster(self) -> pulumi.Input['SchemaExporterDestinationSchemaRegistryClusterArgs']: + return pulumi.get(self, "destination_schema_registry_cluster") + + @destination_schema_registry_cluster.setter + def destination_schema_registry_cluster(self, value: pulumi.Input['SchemaExporterDestinationSchemaRegistryClusterArgs']): + pulumi.set(self, "destination_schema_registry_cluster", value) + + @property + @pulumi.getter + def config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Block for custom *nonsensitive* configuration properties: + """ + return pulumi.get(self, "config") + + @config.setter + def config(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "config", value) + + @property + @pulumi.getter + def context(self) -> Optional[pulumi.Input[str]]: + """ + Customized context of the exporter if `context_type` is set to `CUSTOM`. + """ + return pulumi.get(self, "context") + + @context.setter + def context(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "context", value) + + @property + @pulumi.getter(name="contextType") + def context_type(self) -> Optional[pulumi.Input[str]]: + """ + Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + """ + return pulumi.get(self, "context_type") + + @context_type.setter + def context_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "context_type", value) + + @property + @pulumi.getter + def credentials(self) -> Optional[pulumi.Input['SchemaExporterCredentialsArgs']]: + """ + The Cluster API Credentials. + """ + return pulumi.get(self, "credentials") + + @credentials.setter + def credentials(self, value: Optional[pulumi.Input['SchemaExporterCredentialsArgs']]): + pulumi.set(self, "credentials", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The configuration setting name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="resetOnUpdate") + def reset_on_update(self) -> Optional[pulumi.Input[bool]]: + """ + The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + """ + return pulumi.get(self, "reset_on_update") + + @reset_on_update.setter + def reset_on_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "reset_on_update", value) + + @property + @pulumi.getter(name="restEndpoint") + def rest_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + """ + return pulumi.get(self, "rest_endpoint") + + @rest_endpoint.setter + def rest_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "rest_endpoint", value) + + @property + @pulumi.getter(name="schemaRegistryCluster") + def schema_registry_cluster(self) -> Optional[pulumi.Input['SchemaExporterSchemaRegistryClusterArgs']]: + return pulumi.get(self, "schema_registry_cluster") + + @schema_registry_cluster.setter + def schema_registry_cluster(self, value: Optional[pulumi.Input['SchemaExporterSchemaRegistryClusterArgs']]): + pulumi.set(self, "schema_registry_cluster", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter(name="subjectRenameFormat") + def subject_rename_format(self) -> Optional[pulumi.Input[str]]: + """ + Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dc_orders`. + """ + return pulumi.get(self, "subject_rename_format") + + @subject_rename_format.setter + def subject_rename_format(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "subject_rename_format", value) + + @property + @pulumi.getter + def subjects(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Name of each exporter subject. + """ + return pulumi.get(self, "subjects") + + @subjects.setter + def subjects(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "subjects", value) + + +@pulumi.input_type +class _SchemaExporterState: + def __init__(__self__, *, + config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + context: Optional[pulumi.Input[str]] = None, + context_type: Optional[pulumi.Input[str]] = None, + credentials: Optional[pulumi.Input['SchemaExporterCredentialsArgs']] = None, + destination_schema_registry_cluster: Optional[pulumi.Input['SchemaExporterDestinationSchemaRegistryClusterArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + reset_on_update: Optional[pulumi.Input[bool]] = None, + rest_endpoint: Optional[pulumi.Input[str]] = None, + schema_registry_cluster: Optional[pulumi.Input['SchemaExporterSchemaRegistryClusterArgs']] = None, + status: Optional[pulumi.Input[str]] = None, + subject_rename_format: Optional[pulumi.Input[str]] = None, + subjects: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering SchemaExporter resources. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config: Block for custom *nonsensitive* configuration properties: + :param pulumi.Input[str] context: Customized context of the exporter if `context_type` is set to `CUSTOM`. + :param pulumi.Input[str] context_type: Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + :param pulumi.Input['SchemaExporterCredentialsArgs'] credentials: The Cluster API Credentials. + :param pulumi.Input[str] name: The configuration setting name. + :param pulumi.Input[bool] reset_on_update: The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + :param pulumi.Input[str] rest_endpoint: The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + :param pulumi.Input[str] status: The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + :param pulumi.Input[str] subject_rename_format: Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dc_orders`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] subjects: Name of each exporter subject. + """ + if config is not None: + pulumi.set(__self__, "config", config) + if context is not None: + pulumi.set(__self__, "context", context) + if context_type is not None: + pulumi.set(__self__, "context_type", context_type) + if credentials is not None: + pulumi.set(__self__, "credentials", credentials) + if destination_schema_registry_cluster is not None: + pulumi.set(__self__, "destination_schema_registry_cluster", destination_schema_registry_cluster) + if name is not None: + pulumi.set(__self__, "name", name) + if reset_on_update is not None: + pulumi.set(__self__, "reset_on_update", reset_on_update) + if rest_endpoint is not None: + pulumi.set(__self__, "rest_endpoint", rest_endpoint) + if schema_registry_cluster is not None: + pulumi.set(__self__, "schema_registry_cluster", schema_registry_cluster) + if status is not None: + pulumi.set(__self__, "status", status) + if subject_rename_format is not None: + pulumi.set(__self__, "subject_rename_format", subject_rename_format) + if subjects is not None: + pulumi.set(__self__, "subjects", subjects) + + @property + @pulumi.getter + def config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Block for custom *nonsensitive* configuration properties: + """ + return pulumi.get(self, "config") + + @config.setter + def config(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "config", value) + + @property + @pulumi.getter + def context(self) -> Optional[pulumi.Input[str]]: + """ + Customized context of the exporter if `context_type` is set to `CUSTOM`. + """ + return pulumi.get(self, "context") + + @context.setter + def context(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "context", value) + + @property + @pulumi.getter(name="contextType") + def context_type(self) -> Optional[pulumi.Input[str]]: + """ + Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + """ + return pulumi.get(self, "context_type") + + @context_type.setter + def context_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "context_type", value) + + @property + @pulumi.getter + def credentials(self) -> Optional[pulumi.Input['SchemaExporterCredentialsArgs']]: + """ + The Cluster API Credentials. + """ + return pulumi.get(self, "credentials") + + @credentials.setter + def credentials(self, value: Optional[pulumi.Input['SchemaExporterCredentialsArgs']]): + pulumi.set(self, "credentials", value) + + @property + @pulumi.getter(name="destinationSchemaRegistryCluster") + def destination_schema_registry_cluster(self) -> Optional[pulumi.Input['SchemaExporterDestinationSchemaRegistryClusterArgs']]: + return pulumi.get(self, "destination_schema_registry_cluster") + + @destination_schema_registry_cluster.setter + def destination_schema_registry_cluster(self, value: Optional[pulumi.Input['SchemaExporterDestinationSchemaRegistryClusterArgs']]): + pulumi.set(self, "destination_schema_registry_cluster", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The configuration setting name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="resetOnUpdate") + def reset_on_update(self) -> Optional[pulumi.Input[bool]]: + """ + The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + """ + return pulumi.get(self, "reset_on_update") + + @reset_on_update.setter + def reset_on_update(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "reset_on_update", value) + + @property + @pulumi.getter(name="restEndpoint") + def rest_endpoint(self) -> Optional[pulumi.Input[str]]: + """ + The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + """ + return pulumi.get(self, "rest_endpoint") + + @rest_endpoint.setter + def rest_endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "rest_endpoint", value) + + @property + @pulumi.getter(name="schemaRegistryCluster") + def schema_registry_cluster(self) -> Optional[pulumi.Input['SchemaExporterSchemaRegistryClusterArgs']]: + return pulumi.get(self, "schema_registry_cluster") + + @schema_registry_cluster.setter + def schema_registry_cluster(self, value: Optional[pulumi.Input['SchemaExporterSchemaRegistryClusterArgs']]): + pulumi.set(self, "schema_registry_cluster", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter(name="subjectRenameFormat") + def subject_rename_format(self) -> Optional[pulumi.Input[str]]: + """ + Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dc_orders`. + """ + return pulumi.get(self, "subject_rename_format") + + @subject_rename_format.setter + def subject_rename_format(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "subject_rename_format", value) + + @property + @pulumi.getter + def subjects(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Name of each exporter subject. + """ + return pulumi.get(self, "subjects") + + @subjects.setter + def subjects(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "subjects", value) + + +class SchemaExporter(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + context: Optional[pulumi.Input[str]] = None, + context_type: Optional[pulumi.Input[str]] = None, + credentials: Optional[pulumi.Input[pulumi.InputType['SchemaExporterCredentialsArgs']]] = None, + destination_schema_registry_cluster: Optional[pulumi.Input[pulumi.InputType['SchemaExporterDestinationSchemaRegistryClusterArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + reset_on_update: Optional[pulumi.Input[bool]] = None, + rest_endpoint: Optional[pulumi.Input[str]] = None, + schema_registry_cluster: Optional[pulumi.Input[pulumi.InputType['SchemaExporterSchemaRegistryClusterArgs']]] = None, + status: Optional[pulumi.Input[str]] = None, + subject_rename_format: Optional[pulumi.Input[str]] = None, + subjects: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + ## Import + + You can import a Schema Exporter by using the Schema Registry cluster ID, Schema Exporter name in the format `/`, for example$ export IMPORT_SCHEMA_REGISTRY_API_KEY="" $ export IMPORT_SCHEMA_REGISTRY_API_SECRET="" $ export IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT="" + + ```sh + $ pulumi import confluentcloud:index/schemaExporter:SchemaExporter main lsrc-8wrx70/test-exporter + ``` + + !> **Warning:** Do not forget to delete terminal command history afterwards for security purposes. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config: Block for custom *nonsensitive* configuration properties: + :param pulumi.Input[str] context: Customized context of the exporter if `context_type` is set to `CUSTOM`. + :param pulumi.Input[str] context_type: Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + :param pulumi.Input[pulumi.InputType['SchemaExporterCredentialsArgs']] credentials: The Cluster API Credentials. + :param pulumi.Input[str] name: The configuration setting name. + :param pulumi.Input[bool] reset_on_update: The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + :param pulumi.Input[str] rest_endpoint: The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + :param pulumi.Input[str] status: The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + :param pulumi.Input[str] subject_rename_format: Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dc_orders`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] subjects: Name of each exporter subject. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: SchemaExporterArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ## Import + + You can import a Schema Exporter by using the Schema Registry cluster ID, Schema Exporter name in the format `/`, for example$ export IMPORT_SCHEMA_REGISTRY_API_KEY="" $ export IMPORT_SCHEMA_REGISTRY_API_SECRET="" $ export IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT="" + + ```sh + $ pulumi import confluentcloud:index/schemaExporter:SchemaExporter main lsrc-8wrx70/test-exporter + ``` + + !> **Warning:** Do not forget to delete terminal command history afterwards for security purposes. + + :param str resource_name: The name of the resource. + :param SchemaExporterArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(SchemaExporterArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + context: Optional[pulumi.Input[str]] = None, + context_type: Optional[pulumi.Input[str]] = None, + credentials: Optional[pulumi.Input[pulumi.InputType['SchemaExporterCredentialsArgs']]] = None, + destination_schema_registry_cluster: Optional[pulumi.Input[pulumi.InputType['SchemaExporterDestinationSchemaRegistryClusterArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + reset_on_update: Optional[pulumi.Input[bool]] = None, + rest_endpoint: Optional[pulumi.Input[str]] = None, + schema_registry_cluster: Optional[pulumi.Input[pulumi.InputType['SchemaExporterSchemaRegistryClusterArgs']]] = None, + status: Optional[pulumi.Input[str]] = None, + subject_rename_format: Optional[pulumi.Input[str]] = None, + subjects: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = SchemaExporterArgs.__new__(SchemaExporterArgs) + + __props__.__dict__["config"] = config + __props__.__dict__["context"] = context + __props__.__dict__["context_type"] = context_type + __props__.__dict__["credentials"] = None if credentials is None else pulumi.Output.secret(credentials) + if destination_schema_registry_cluster is None and not opts.urn: + raise TypeError("Missing required property 'destination_schema_registry_cluster'") + __props__.__dict__["destination_schema_registry_cluster"] = destination_schema_registry_cluster + __props__.__dict__["name"] = name + __props__.__dict__["reset_on_update"] = reset_on_update + __props__.__dict__["rest_endpoint"] = rest_endpoint + __props__.__dict__["schema_registry_cluster"] = schema_registry_cluster + __props__.__dict__["status"] = status + __props__.__dict__["subject_rename_format"] = subject_rename_format + __props__.__dict__["subjects"] = subjects + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["credentials"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(SchemaExporter, __self__).__init__( + 'confluentcloud:index/schemaExporter:SchemaExporter', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + context: Optional[pulumi.Input[str]] = None, + context_type: Optional[pulumi.Input[str]] = None, + credentials: Optional[pulumi.Input[pulumi.InputType['SchemaExporterCredentialsArgs']]] = None, + destination_schema_registry_cluster: Optional[pulumi.Input[pulumi.InputType['SchemaExporterDestinationSchemaRegistryClusterArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + reset_on_update: Optional[pulumi.Input[bool]] = None, + rest_endpoint: Optional[pulumi.Input[str]] = None, + schema_registry_cluster: Optional[pulumi.Input[pulumi.InputType['SchemaExporterSchemaRegistryClusterArgs']]] = None, + status: Optional[pulumi.Input[str]] = None, + subject_rename_format: Optional[pulumi.Input[str]] = None, + subjects: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'SchemaExporter': + """ + Get an existing SchemaExporter resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :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[Mapping[str, pulumi.Input[str]]] config: Block for custom *nonsensitive* configuration properties: + :param pulumi.Input[str] context: Customized context of the exporter if `context_type` is set to `CUSTOM`. + :param pulumi.Input[str] context_type: Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + :param pulumi.Input[pulumi.InputType['SchemaExporterCredentialsArgs']] credentials: The Cluster API Credentials. + :param pulumi.Input[str] name: The configuration setting name. + :param pulumi.Input[bool] reset_on_update: The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + :param pulumi.Input[str] rest_endpoint: The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + :param pulumi.Input[str] status: The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + :param pulumi.Input[str] subject_rename_format: Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dc_orders`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] subjects: Name of each exporter subject. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _SchemaExporterState.__new__(_SchemaExporterState) + + __props__.__dict__["config"] = config + __props__.__dict__["context"] = context + __props__.__dict__["context_type"] = context_type + __props__.__dict__["credentials"] = credentials + __props__.__dict__["destination_schema_registry_cluster"] = destination_schema_registry_cluster + __props__.__dict__["name"] = name + __props__.__dict__["reset_on_update"] = reset_on_update + __props__.__dict__["rest_endpoint"] = rest_endpoint + __props__.__dict__["schema_registry_cluster"] = schema_registry_cluster + __props__.__dict__["status"] = status + __props__.__dict__["subject_rename_format"] = subject_rename_format + __props__.__dict__["subjects"] = subjects + return SchemaExporter(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def config(self) -> pulumi.Output[Mapping[str, str]]: + """ + Block for custom *nonsensitive* configuration properties: + """ + return pulumi.get(self, "config") + + @property + @pulumi.getter + def context(self) -> pulumi.Output[str]: + """ + Customized context of the exporter if `context_type` is set to `CUSTOM`. + """ + return pulumi.get(self, "context") + + @property + @pulumi.getter(name="contextType") + def context_type(self) -> pulumi.Output[str]: + """ + Context type of the exporter. Accepted values are: `CUSTOM`, `NONE` or `AUTO`. Defaults to `AUTO`. + """ + return pulumi.get(self, "context_type") + + @property + @pulumi.getter + def credentials(self) -> pulumi.Output[Optional['outputs.SchemaExporterCredentials']]: + """ + The Cluster API Credentials. + """ + return pulumi.get(self, "credentials") + + @property + @pulumi.getter(name="destinationSchemaRegistryCluster") + def destination_schema_registry_cluster(self) -> pulumi.Output['outputs.SchemaExporterDestinationSchemaRegistryCluster']: + return pulumi.get(self, "destination_schema_registry_cluster") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The configuration setting name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="resetOnUpdate") + def reset_on_update(self) -> pulumi.Output[Optional[bool]]: + """ + The flag to control whether to reset the exporter when updating configs. Defaults to `false`. + """ + return pulumi.get(self, "reset_on_update") + + @property + @pulumi.getter(name="restEndpoint") + def rest_endpoint(self) -> pulumi.Output[Optional[str]]: + """ + The REST endpoint of the destination Schema Registry cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`). + """ + return pulumi.get(self, "rest_endpoint") + + @property + @pulumi.getter(name="schemaRegistryCluster") + def schema_registry_cluster(self) -> pulumi.Output[Optional['outputs.SchemaExporterSchemaRegistryCluster']]: + return pulumi.get(self, "schema_registry_cluster") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The status of the schema exporter. Accepted values are: `RUNNING` and `PAUSED`. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="subjectRenameFormat") + def subject_rename_format(self) -> pulumi.Output[str]: + """ + Format string for the subject name in the destination cluster, which may contain `${subject}` as a placeholder for the originating subject name. For example, `dc_${subject}` for the subject orders will map to the destination subject name `dc_orders`. + """ + return pulumi.get(self, "subject_rename_format") + + @property + @pulumi.getter + def subjects(self) -> pulumi.Output[Sequence[str]]: + """ + Name of each exporter subject. + """ + return pulumi.get(self, "subjects") + diff --git a/upstream b/upstream index 0fbb2353..a6879aab 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit 0fbb2353c6d75dcbf6a84764d8cce350469bfcc5 +Subproject commit a6879aab4a1a4a6bf9d216ea664bb7325dbad62b