From e8913168ba8a79bc74cffa09ed2ce23604a32cee Mon Sep 17 00:00:00 2001 From: I534922 Date: Wed, 1 Nov 2023 11:33:08 -0700 Subject: [PATCH 1/3] Enable ESS Signed-off-by: I534922 --- Makefile | 2 +- cmd/provider/main.go | 24 +++++++++++++++++------- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index f6d890e..b4718cb 100644 --- a/Makefile +++ b/Makefile @@ -90,7 +90,7 @@ fallthrough: submodules # NOTE(hasheddan): we force image building to happen prior to xpkg build so that # we ensure image is present in daemon. -xpkg.build.upjet-provider-template: do.build.images +xpkg.build.provider-confluent: do.build.images # NOTE(hasheddan): we ensure up is installed prior to running platform-specific # build steps in parallel to avoid encountering an installation race condition. diff --git a/cmd/provider/main.go b/cmd/provider/main.go index 9f1e959..f173221 100644 --- a/cmd/provider/main.go +++ b/cmd/provider/main.go @@ -10,7 +10,14 @@ import ( "path/filepath" "time" + "github.com/crossplane-contrib/provider-confluent/apis" + "github.com/crossplane-contrib/provider-confluent/apis/v1alpha1" + "github.com/crossplane-contrib/provider-confluent/config" + "github.com/crossplane-contrib/provider-confluent/internal/clients" + "github.com/crossplane-contrib/provider-confluent/internal/controller" + "github.com/crossplane-contrib/provider-confluent/internal/features" xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1" + "github.com/crossplane/crossplane-runtime/pkg/certificates" xpcontroller "github.com/crossplane/crossplane-runtime/pkg/controller" "github.com/crossplane/crossplane-runtime/pkg/feature" "github.com/crossplane/crossplane-runtime/pkg/logging" @@ -24,13 +31,6 @@ import ( "k8s.io/client-go/tools/leaderelection/resourcelock" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/log/zap" - - "github.com/crossplane-contrib/provider-confluent/apis" - "github.com/crossplane-contrib/provider-confluent/apis/v1alpha1" - "github.com/crossplane-contrib/provider-confluent/config" - "github.com/crossplane-contrib/provider-confluent/internal/clients" - "github.com/crossplane-contrib/provider-confluent/internal/controller" - "github.com/crossplane-contrib/provider-confluent/internal/features" ) func main() { @@ -48,6 +48,7 @@ func main() { namespace = app.Flag("namespace", "Namespace used to set as default scope in default secret store config.").Default("crossplane-system").Envar("POD_NAMESPACE").String() enableExternalSecretStores = app.Flag("enable-external-secret-stores", "Enable support for ExternalSecretStores.").Default("false").Envar("ENABLE_EXTERNAL_SECRET_STORES").Bool() + essTLSCertsPath = app.Flag("ess-tls-cert-dir", "Path of ESS TLS certificates.").Envar("ESS_TLS_CERTS_DIR").String() enableManagementPolicies = app.Flag("enable-management-policies", "Enable support for Management Policies.").Default("false").Envar("ENABLE_MANAGEMENT_POLICIES").Bool() ) @@ -96,6 +97,15 @@ func main() { o.SecretStoreConfigGVK = &v1alpha1.StoreConfigGroupVersionKind log.Info("Alpha feature enabled", "flag", features.EnableAlphaExternalSecretStores) + o.ESSOptions = &xpcontroller.ESSOptions{} + if *essTLSCertsPath != "" { + log.Info("ESS TLS certificates path is set. Loading mTLS configuration.") + tCfg, err := certificates.LoadMTLSConfig(filepath.Join(*essTLSCertsPath, "ca.crt"), filepath.Join(*essTLSCertsPath, "tls.crt"), filepath.Join(*essTLSCertsPath, "tls.key"), false) + kingpin.FatalIfError(err, "Cannot load ESS TLS config.") + + o.ESSOptions.TLSConfig = tCfg + } + // Ensure default store config exists. kingpin.FatalIfError(resource.Ignore(kerrors.IsAlreadyExists, mgr.GetClient().Create(context.Background(), &v1alpha1.StoreConfig{ ObjectMeta: metav1.ObjectMeta{ From 62773f33da8a06f5ee006784668aa9f81bb059f9 Mon Sep 17 00:00:00 2001 From: I534922 Date: Fri, 3 Nov 2023 09:09:59 -0700 Subject: [PATCH 2/3] secret store TLS internals Signed-off-by: I534922 --- go.mod | 2 +- go.sum | 4 ++-- internal/controller/confluent/apikey/zz_controller.go | 2 +- internal/controller/confluent/cluster/zz_controller.go | 2 +- internal/controller/confluent/clusterconfig/zz_controller.go | 2 +- internal/controller/confluent/environment/zz_controller.go | 2 +- internal/controller/confluent/kafkaacl/zz_controller.go | 2 +- internal/controller/confluent/rolebinding/zz_controller.go | 2 +- internal/controller/confluent/serviceaccount/zz_controller.go | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/go.mod b/go.mod index b17cd76..f70c4fd 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/crossplane/crossplane-runtime v0.20.0-rc.0.0.20230406155702-4e1673b7141f github.com/crossplane/crossplane-tools v0.0.0-20230327091744-4236bf732aa5 github.com/pkg/errors v0.9.1 - github.com/upbound/upjet v0.9.0-rc.0.0.20230413124512-01e5c1fafb42 + github.com/upbound/upjet v0.9.0-rc.0.0.20230427131841-1d0b7b0c08f8 gopkg.in/alecthomas/kingpin.v2 v2.2.6 k8s.io/apimachinery v0.26.3 k8s.io/client-go v0.26.3 diff --git a/go.sum b/go.sum index 82ba238..a88a1c0 100644 --- a/go.sum +++ b/go.sum @@ -508,8 +508,8 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO github.com/tmccombs/hcl2json v0.3.3 h1:+DLNYqpWE0CsOQiEZu+OZm5ZBImake3wtITYxQ8uLFQ= github.com/tmccombs/hcl2json v0.3.3/go.mod h1:Y2chtz2x9bAeRTvSibVRVgbLJhLJXKlUeIvjeVdnm4w= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= -github.com/upbound/upjet v0.9.0-rc.0.0.20230413124512-01e5c1fafb42 h1:kEpQ3I4YXkdatz/dT8LvvFUHbJTPw4SBz4SdFmPS/vw= -github.com/upbound/upjet v0.9.0-rc.0.0.20230413124512-01e5c1fafb42/go.mod h1:IhrO+1L/Ieq7ZCORhiuZ4sShOzl/GoVGVjq0+JCMDYo= +github.com/upbound/upjet v0.9.0-rc.0.0.20230427131841-1d0b7b0c08f8 h1:dFGXjvdaPxZe/Zs/5wNZ+t0lACy9WpAfEsemURfmGK0= +github.com/upbound/upjet v0.9.0-rc.0.0.20230427131841-1d0b7b0c08f8/go.mod h1:CWxJ9YTMy7q+bDc2W504ocL/ZzBmWabwwcRjIaP7CKc= github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI= github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= diff --git a/internal/controller/confluent/apikey/zz_controller.go b/internal/controller/confluent/apikey/zz_controller.go index 121b2a7..97a8fa3 100755 --- a/internal/controller/confluent/apikey/zz_controller.go +++ b/internal/controller/confluent/apikey/zz_controller.go @@ -28,7 +28,7 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { var initializers managed.InitializerChain cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} if o.SecretStoreConfigGVK != nil { - cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK, connection.WithTLSConfig(o.ESSOptions.TLSConfig))) } opts := []managed.ReconcilerOption{ managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["confluent_api_key"], tjcontroller.WithLogger(o.Logger), diff --git a/internal/controller/confluent/cluster/zz_controller.go b/internal/controller/confluent/cluster/zz_controller.go index f1b285f..b227994 100755 --- a/internal/controller/confluent/cluster/zz_controller.go +++ b/internal/controller/confluent/cluster/zz_controller.go @@ -28,7 +28,7 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { var initializers managed.InitializerChain cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} if o.SecretStoreConfigGVK != nil { - cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK, connection.WithTLSConfig(o.ESSOptions.TLSConfig))) } opts := []managed.ReconcilerOption{ managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["confluent_kafka_cluster"], tjcontroller.WithLogger(o.Logger), diff --git a/internal/controller/confluent/clusterconfig/zz_controller.go b/internal/controller/confluent/clusterconfig/zz_controller.go index 9443a9d..d601c18 100755 --- a/internal/controller/confluent/clusterconfig/zz_controller.go +++ b/internal/controller/confluent/clusterconfig/zz_controller.go @@ -28,7 +28,7 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { var initializers managed.InitializerChain cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} if o.SecretStoreConfigGVK != nil { - cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK, connection.WithTLSConfig(o.ESSOptions.TLSConfig))) } opts := []managed.ReconcilerOption{ managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["confluent_kafka_cluster_config"], tjcontroller.WithLogger(o.Logger), diff --git a/internal/controller/confluent/environment/zz_controller.go b/internal/controller/confluent/environment/zz_controller.go index a9b2151..9c54a32 100755 --- a/internal/controller/confluent/environment/zz_controller.go +++ b/internal/controller/confluent/environment/zz_controller.go @@ -28,7 +28,7 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { var initializers managed.InitializerChain cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} if o.SecretStoreConfigGVK != nil { - cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK, connection.WithTLSConfig(o.ESSOptions.TLSConfig))) } opts := []managed.ReconcilerOption{ managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["confluent_environment"], tjcontroller.WithLogger(o.Logger), diff --git a/internal/controller/confluent/kafkaacl/zz_controller.go b/internal/controller/confluent/kafkaacl/zz_controller.go index 4d679e7..fa7e00d 100755 --- a/internal/controller/confluent/kafkaacl/zz_controller.go +++ b/internal/controller/confluent/kafkaacl/zz_controller.go @@ -28,7 +28,7 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { var initializers managed.InitializerChain cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} if o.SecretStoreConfigGVK != nil { - cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK, connection.WithTLSConfig(o.ESSOptions.TLSConfig))) } opts := []managed.ReconcilerOption{ managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["confluent_kafka_acl"], tjcontroller.WithLogger(o.Logger), diff --git a/internal/controller/confluent/rolebinding/zz_controller.go b/internal/controller/confluent/rolebinding/zz_controller.go index 70ea36f..95f1ccc 100755 --- a/internal/controller/confluent/rolebinding/zz_controller.go +++ b/internal/controller/confluent/rolebinding/zz_controller.go @@ -28,7 +28,7 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { var initializers managed.InitializerChain cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} if o.SecretStoreConfigGVK != nil { - cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK, connection.WithTLSConfig(o.ESSOptions.TLSConfig))) } opts := []managed.ReconcilerOption{ managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["confluent_role_binding"], tjcontroller.WithLogger(o.Logger), diff --git a/internal/controller/confluent/serviceaccount/zz_controller.go b/internal/controller/confluent/serviceaccount/zz_controller.go index 74cb768..588fcec 100755 --- a/internal/controller/confluent/serviceaccount/zz_controller.go +++ b/internal/controller/confluent/serviceaccount/zz_controller.go @@ -28,7 +28,7 @@ func Setup(mgr ctrl.Manager, o tjcontroller.Options) error { var initializers managed.InitializerChain cps := []managed.ConnectionPublisher{managed.NewAPISecretPublisher(mgr.GetClient(), mgr.GetScheme())} if o.SecretStoreConfigGVK != nil { - cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK)) + cps = append(cps, connection.NewDetailsManager(mgr.GetClient(), *o.SecretStoreConfigGVK, connection.WithTLSConfig(o.ESSOptions.TLSConfig))) } opts := []managed.ReconcilerOption{ managed.WithExternalConnecter(tjcontroller.NewConnector(mgr.GetClient(), o.WorkspaceStore, o.SetupFn, o.Provider.Resources["confluent_service_account"], tjcontroller.WithLogger(o.Logger), From eb9529fa6e1f4b6b5a170e78f3c31e11ae8a9a0a Mon Sep 17 00:00:00 2001 From: I534922 Date: Fri, 3 Nov 2023 11:29:05 -0700 Subject: [PATCH 3/3] update provider to latest tf version, fix ESS Signed-off-by: I534922 --- Makefile | 5 +- apis/confluent/v1alpha1/zz_cluster_types.go | 32 ++ .../v1alpha1/zz_generated.deepcopy.go | 105 ++++++ cmd/provider/main.go | 2 +- config/provider-metadata.yaml | 338 ++++++++++++++++-- config/schema.json | 2 +- .../confluent.crossplane.io_clusters.yaml | 33 ++ 7 files changed, 491 insertions(+), 26 deletions(-) diff --git a/Makefile b/Makefile index b4718cb..47e11a8 100644 --- a/Makefile +++ b/Makefile @@ -8,10 +8,10 @@ export TERRAFORM_VERSION ?= 1.3.3 export TERRAFORM_PROVIDER_SOURCE := confluentinc/confluent export TERRAFORM_PROVIDER_REPO := https://github.com/confluentinc/terraform-provider-confluent -export TERRAFORM_PROVIDER_VERSION := 1.28.0 +export TERRAFORM_PROVIDER_VERSION := 1.55.0 export TERRAFORM_PROVIDER_DOWNLOAD_NAME := terraform-provider-confluent export TERRAFORM_PROVIDER_DOWNLOAD_URL_PREFIX ?= $(TERRAFORM_PROVIDER_REPO)/releases/download/v$(TERRAFORM_PROVIDER_VERSION) -export TERRAFORM_NATIVE_PROVIDER_BINARY := terraform-provider-confluent_1.28.0 +export TERRAFORM_NATIVE_PROVIDER_BINARY := terraform-provider-confluent_1.55.0 export TERRAFORM_DOCS_PATH := docs/resources PLATFORMS ?= linux_amd64 linux_arm64 @@ -127,6 +127,7 @@ pull-docs: @git -C "$(WORK_DIR)/$(TERRAFORM_PROVIDER_SOURCE)" sparse-checkout set "$(TERRAFORM_DOCS_PATH)" generate.init: $(TERRAFORM_PROVIDER_SCHEMA) pull-docs + .PHONY: $(TERRAFORM_PROVIDER_SCHEMA) pull-docs # ==================================================================================== # Targets diff --git a/apis/confluent/v1alpha1/zz_cluster_types.go b/apis/confluent/v1alpha1/zz_cluster_types.go index 7a7b057..8b30e09 100755 --- a/apis/confluent/v1alpha1/zz_cluster_types.go +++ b/apis/confluent/v1alpha1/zz_cluster_types.go @@ -19,6 +19,19 @@ type BasicObservation struct { type BasicParameters struct { } +type ByokKeyObservation struct { + + // The ID of the Confluent key that is used to encrypt the data in the Kafka cluster. + ID *string `json:"id,omitempty" tf:"id,omitempty"` +} + +type ByokKeyParameters struct { + + // The ID of the Confluent key that is used to encrypt the data in the Kafka cluster. + // +kubebuilder:validation:Required + ID *string `json:"id" tf:"id,omitempty"` +} + type ClusterEnvironmentObservation struct { // The unique identifier for the environment. @@ -54,6 +67,8 @@ type ClusterObservation struct { // The bootstrap endpoint used by Kafka clients to connect to the Kafka cluster. BootstrapEndpoint *string `json:"bootstrapEndpoint,omitempty" tf:"bootstrap_endpoint,omitempty"` + ByokKey []ByokKeyObservation `json:"byokKey,omitempty" tf:"byok_key,omitempty"` + // The cloud service provider that runs the Kafka cluster. Cloud *string `json:"cloud,omitempty" tf:"cloud,omitempty"` @@ -62,6 +77,8 @@ type ClusterObservation struct { // The name of the Kafka cluster. DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + Enterprise []EnterpriseParameters `json:"enterprise,omitempty" tf:"enterprise,omitempty"` + // Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. Environment []ClusterEnvironmentObservation `json:"environment,omitempty" tf:"environment,omitempty"` @@ -94,6 +111,9 @@ type ClusterParameters struct { // +kubebuilder:validation:Optional Basic []BasicParameters `json:"basic,omitempty" tf:"basic,omitempty"` + // +kubebuilder:validation:Optional + ByokKey []ByokKeyParameters `json:"byokKey,omitempty" tf:"byok_key,omitempty"` + // The cloud service provider that runs the Kafka cluster. // +kubebuilder:validation:Optional Cloud *string `json:"cloud,omitempty" tf:"cloud,omitempty"` @@ -105,6 +125,9 @@ type ClusterParameters struct { // +kubebuilder:validation:Optional DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"` + // +kubebuilder:validation:Optional + Enterprise []EnterpriseParameters `json:"enterprise,omitempty" tf:"enterprise,omitempty"` + // Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. // +kubebuilder:validation:Optional Environment []ClusterEnvironmentParameters `json:"environment,omitempty" tf:"environment,omitempty"` @@ -128,6 +151,9 @@ type DedicatedObservation struct { // The ID of the encryption key that is used to encrypt the data in the Kafka cluster. EncryptionKey *string `json:"encryptionKey,omitempty" tf:"encryption_key,omitempty"` + + // The list of zones the cluster is in. + Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"` } type DedicatedParameters struct { @@ -141,6 +167,12 @@ type DedicatedParameters struct { EncryptionKey *string `json:"encryptionKey,omitempty" tf:"encryption_key,omitempty"` } +type EnterpriseObservation struct { +} + +type EnterpriseParameters struct { +} + type NetworkObservation struct { // The unique identifier for the network. diff --git a/apis/confluent/v1alpha1/zz_generated.deepcopy.go b/apis/confluent/v1alpha1/zz_generated.deepcopy.go index 1d9cee9..3b849f4 100644 --- a/apis/confluent/v1alpha1/zz_generated.deepcopy.go +++ b/apis/confluent/v1alpha1/zz_generated.deepcopy.go @@ -230,6 +230,46 @@ func (in *BasicParameters) DeepCopy() *BasicParameters { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ByokKeyObservation) DeepCopyInto(out *ByokKeyObservation) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ByokKeyObservation. +func (in *ByokKeyObservation) DeepCopy() *ByokKeyObservation { + if in == nil { + return nil + } + out := new(ByokKeyObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ByokKeyParameters) DeepCopyInto(out *ByokKeyParameters) { + *out = *in + if in.ID != nil { + in, out := &in.ID, &out.ID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ByokKeyParameters. +func (in *ByokKeyParameters) DeepCopy() *ByokKeyParameters { + if in == nil { + return nil + } + out := new(ByokKeyParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Cluster) DeepCopyInto(out *Cluster) { *out = *in @@ -626,6 +666,13 @@ func (in *ClusterObservation) DeepCopyInto(out *ClusterObservation) { *out = new(string) **out = **in } + if in.ByokKey != nil { + in, out := &in.ByokKey, &out.ByokKey + *out = make([]ByokKeyObservation, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.Cloud != nil { in, out := &in.Cloud, &out.Cloud *out = new(string) @@ -643,6 +690,11 @@ func (in *ClusterObservation) DeepCopyInto(out *ClusterObservation) { *out = new(string) **out = **in } + if in.Enterprise != nil { + in, out := &in.Enterprise, &out.Enterprise + *out = make([]EnterpriseParameters, len(*in)) + copy(*out, *in) + } if in.Environment != nil { in, out := &in.Environment, &out.Environment *out = make([]ClusterEnvironmentObservation, len(*in)) @@ -712,6 +764,13 @@ func (in *ClusterParameters) DeepCopyInto(out *ClusterParameters) { *out = make([]BasicParameters, len(*in)) copy(*out, *in) } + if in.ByokKey != nil { + in, out := &in.ByokKey, &out.ByokKey + *out = make([]ByokKeyParameters, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.Cloud != nil { in, out := &in.Cloud, &out.Cloud *out = new(string) @@ -729,6 +788,11 @@ func (in *ClusterParameters) DeepCopyInto(out *ClusterParameters) { *out = new(string) **out = **in } + if in.Enterprise != nil { + in, out := &in.Enterprise, &out.Enterprise + *out = make([]EnterpriseParameters, len(*in)) + copy(*out, *in) + } if in.Environment != nil { in, out := &in.Environment, &out.Environment *out = make([]ClusterEnvironmentParameters, len(*in)) @@ -844,6 +908,17 @@ func (in *DedicatedObservation) DeepCopyInto(out *DedicatedObservation) { *out = new(string) **out = **in } + if in.Zones != nil { + in, out := &in.Zones, &out.Zones + *out = make([]*string, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(string) + **out = **in + } + } + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DedicatedObservation. @@ -881,6 +956,36 @@ func (in *DedicatedParameters) DeepCopy() *DedicatedParameters { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnterpriseObservation) DeepCopyInto(out *EnterpriseObservation) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnterpriseObservation. +func (in *EnterpriseObservation) DeepCopy() *EnterpriseObservation { + if in == nil { + return nil + } + out := new(EnterpriseObservation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *EnterpriseParameters) DeepCopyInto(out *EnterpriseParameters) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnterpriseParameters. +func (in *EnterpriseParameters) DeepCopy() *EnterpriseParameters { + if in == nil { + return nil + } + out := new(EnterpriseParameters) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Environment) DeepCopyInto(out *Environment) { *out = *in diff --git a/cmd/provider/main.go b/cmd/provider/main.go index f173221..4787e76 100644 --- a/cmd/provider/main.go +++ b/cmd/provider/main.go @@ -97,7 +97,7 @@ func main() { o.SecretStoreConfigGVK = &v1alpha1.StoreConfigGroupVersionKind log.Info("Alpha feature enabled", "flag", features.EnableAlphaExternalSecretStores) - o.ESSOptions = &xpcontroller.ESSOptions{} + o.ESSOptions = &tjcontroller.ESSOptions{} if *essTLSCertsPath != "" { log.Info("ESS TLS certificates path is set. Loading mTLS configuration.") tCfg, err := certificates.LoadMTLSConfig(filepath.Join(*essTLSCertsPath, "ca.crt"), filepath.Join(*essTLSCertsPath, "tls.crt"), filepath.Join(*essTLSCertsPath, "tls.key"), false) diff --git a/config/provider-metadata.yaml b/config/provider-metadata.yaml index 96f41fe..b37a4e8 100644 --- a/config/provider-metadata.yaml +++ b/config/provider-metadata.yaml @@ -30,6 +30,73 @@ resources: # Option #2: Cloud API Key $ terraform import confluent_api_key.example_cloud_api_key "4UEXOMMWIBE5KZQG" + confluent_business_metadata Resource - terraform-provider-confluent: + subCategory: "" + name: confluent_business_metadata Resource - terraform-provider-confluent + title: confluent_business_metadata Resource - terraform-provider-confluent + argumentDocs: + applicableEntityTypes: '- (Optional String) The entity types that the attribute is applicable, it always returns [\"cf_entity\"].' + attribute_definition: '- (Optional List) The list of attribute definitions (see Business Metadata for more details):' + credentials: '(Optional Configuration Block) supports the following:' + default_value: '- (Optional String) The default value of this attribute.' + description: '- (Optional String) The description of this attribute.' + id: '- (Required String) The ID of the Schema Registry cluster, for example, lsrc-abc123.' + is_optional: '- (Optional Boolean) An optional flag to control whether the attribute should be optional or required. The default value is false.' + key: '- (Required String) The Schema Registry API Key.' + maxStrLength: '- (Optional String) The maximum length of the string value, it always returns 5000.' + name: '- (Required String) The name of the Business Metadata, for example, PII. The name must not be empty and consist of a letter followed by a sequence of letter, number, space, or _ characters.' + options: '- (Optional Map) Block for the attribute options:' + rest_endpoint: '- (Optional String) The REST endpoint of the Schema Registry cluster, for example, https://psrc-00000.us-central1.gcp.confluent.cloud:443).' + schema_registry_cluster: '- (Optional Configuration Block) supports the following:' + secret: '- (Required String, Sensitive) The Schema Registry API Secret.' + type: '- (Required String) The type of the attribute, it always returns string.' + version: '- (Required Integer) The version of the Business Metadata, for example, 1.' + importStatements: + - |- + $ export IMPORT_SCHEMA_REGISTRY_API_KEY="" + $ export IMPORT_SCHEMA_REGISTRY_API_SECRET="" + $ export IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT="" + $ terraform import confluent_business_metadata.pii lsrc-8wrx70/PII + confluent_business_metadata_binding Resource - terraform-provider-confluent: + subCategory: "" + name: confluent_business_metadata_binding Resource - terraform-provider-confluent + title: confluent_business_metadata_binding Resource - terraform-provider-confluent + argumentDocs: + attributes: '- (Optional Map) The block of key-value pair attributes.' + business_metadata_name: '- (Required String) The name of the Business Metadata to be applied, for example, PII. The name must not be empty and consist of a letter followed by a sequence of letter, number, space, or _ characters.' + credentials: '(Optional Configuration Block) supports the following:' + entity_name: '- (Required String) The qualified name of the entity., for example, ${confluent_schema_registry_cluster.main.id}:.:${confluent_schema.purchase.schema_identifier}, ${confluent_schema_registry_cluster.main.id}:${confluent_kafka_cluster.basic.id}:${confluent_kafka_topic.purchase.topic_name}.' + entity_type: '- (Required String) The entity type, for example, sr_schema. Refer to the Entity types to learn more about entity types.' + id: '- (Required String) The ID of the Schema Registry cluster, for example, lsrc-abc123.' + key: '- (Required String) The Schema Registry API Key.' + rest_endpoint: '- (Optional String) The REST endpoint of the Schema Registry cluster, for example, https://psrc-00000.us-central1.gcp.confluent.cloud:443).' + schema_registry_cluster: '- (Optional Configuration Block) supports the following:' + secret: '- (Required String, Sensitive) The Schema Registry API Secret.' + importStatements: + - |- + $ export IMPORT_SCHEMA_REGISTRY_API_KEY="" + $ export IMPORT_SCHEMA_REGISTRY_API_SECRET="" + $ export IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT="" + $ terraform import confluent_business_metadata_binding.main lsrc-8wrx70/PII/lsrc-8wrx70:.:100001/sr_schema + confluent_byok_key Resource - terraform-provider-confluent: + subCategory: "" + name: confluent_byok_key Resource - terraform-provider-confluent + title: confluent_byok_key Resource - terraform-provider-confluent + argumentDocs: + application_id: '- (Optional String) The Application ID created for this key-environment combination.' + aws: '(Optional Configuration Block) supports the following:' + azure: '(Optional Configuration Block) supports the following:' + id: '- (Required String) The ID of the BYOK key, for example, cck-abcde.' + key_arn: '- (Required String) The Amazon Resource Name (ARN) of an AWS KMS key.' + key_identifier: '- (Required String) The unique Key Object Identifier URL of an Azure Key Vault key.' + key_vault_id: '- (Required String) Key Vault ID containing the key.' + roles: '- (Optional List of Strings) The Amazon Resource Names (ARNs) of IAM Roles created for this key-environment' + tenant_id: '- (Required String) Tenant ID (uuid) hosting the Key Vault containing the key.' + importStatements: + - |- + $ export CONFLUENT_CLOUD_API_KEY="" + $ export CONFLUENT_CLOUD_API_SECRET="" + $ terraform import confluent_byok_key.aws_key cck-abcde confluent_cluster_link Resource - terraform-provider-confluent: subCategory: "" name: confluent_cluster_link Resource - terraform-provider-confluent @@ -39,18 +106,21 @@ resources: config: '- (Optional Map) The custom cluster link settings to set:' connection_mode: (Optional String) The connection mode of the cluster link. The supported values are "INBOUND" and "OUTBOUND". Defaults to "OUTBOUND". credentials: '(Optional Configuration Block) supports the following:' - destination_kafka_cluster: '- (Required Configuration Block) supports the following:' + destination_kafka_cluster: '- (Optional Configuration Block) supports the following:' id: '- (Required String) The ID of the source Kafka cluster, for example, lkc-abc123.' key: '- (Required String) The Kafka API Key.' - link_mode: (Optional String) The mode of the cluster link. The supported values are "DESTINATION" and "SOURCE". Defaults to "DESTINATION". + link_mode: (Optional String) The mode of the cluster link. The supported values are "DESTINATION", "SOURCE", and "BIDIRECTIONAL". Defaults to "DESTINATION". link_name: '- (Required String) The name of the cluster link, for example, my-cluster-link.' + local_kafka_cluster: '- (Optional Configuration Block) supports the following:' name: '- (Required String) The setting name, for example, acl.sync.ms.' + remote_kafka_cluster: '- (Optional Configuration Block) supports the following:' rest_endpoint: '- (Optional String) The REST endpoint of the source Kafka cluster, for example, https://pkc-00000.us-central1.gcp.confluent.cloud:443).' secret: '- (Required String, Sensitive) The Kafka API Secret.' - source_kafka_cluster: '- (Required Configuration Block) supports the following:' + source_kafka_cluster: '- (Optional Configuration Block) supports the following:' value: '- (Required String) The setting value, for example, 12345.' importStatements: - |- + # Option #1 when using source-initiated or destination-initiated cluster links $ export IMPORT_SOURCE_KAFKA_BOOTSTRAP_ENDPOINT="" $ export IMPORT_SOURCE_KAFKA_API_KEY="" $ export IMPORT_SOURCE_KAFKA_API_SECRET="" @@ -58,6 +128,15 @@ resources: $ export IMPORT_DESTINATION_KAFKA_API_KEY="" $ export IMPORT_DESTINATION_KAFKA_API_SECRET="" $ terraform import confluent_cluster_link.my_cluster_link my-cluster-link/DESTINATION/OUTBOUND/lkc-abc123/lkc-xyz456 + - |- + # Option #2 when using bidirectional cluster links + $ export IMPORT_LOCAL_KAFKA_BOOTSTRAP_ENDPOINT="" + $ export IMPORT_LOCAL_KAFKA_API_KEY="" + $ export IMPORT_LOCAL_KAFKA_API_SECRET="" + $ export IMPORT_REMOTE_KAFKA_REST_ENDPOINT="" + $ export IMPORT_REMOTE_KAFKA_API_KEY="" + $ export IMPORT_REMOTE_KAFKA_API_SECRET="" + $ terraform import confluent_cluster_link.my_cluster_link my-cluster-link/BIDIRECTIONAL/OUTBOUND/lkc-abc123/lkc-xyz456 confluent_connector Resource - terraform-provider-confluent: subCategory: "" name: confluent_connector Resource - terraform-provider-confluent @@ -76,6 +155,24 @@ resources: $ export CONFLUENT_CLOUD_API_KEY="" $ export CONFLUENT_CLOUD_API_SECRET="" $ terraform import confluent_connector.my_connector "env-abc123/lkc-abc123/S3_SINKConnector_0" + confluent_custom_connector_plugin Resource - terraform-provider-confluent: + subCategory: "" + name: confluent_custom_connector_plugin Resource - terraform-provider-confluent + title: confluent_custom_connector_plugin Resource - terraform-provider-confluent + argumentDocs: + connector_class: '- (Required String) The Java class or alias for the connector. You can get the connector class from the connector documentation provided by the developer.' + connector_type: '- (Required String) The type of the Custom Connector Plugin. Accepted values are: SOURCE, SINK.' + description: '- (Optional String) The description of the Custom Connector Plugin.' + display_name: '- (Required String) The name of the Custom Connector Plugin.' + documentation_link: '- (Optional String) The documentation link of the Custom Connector Plugin.' + filename: '- (Required String) The path to the Custom Connector Plugin archive to be uploaded. Accepted archive formats are: .jar, .zip.' + id: '- (Required String) The ID of the Custom Connector Plugin, for example, ccp-abc123xyz.' + sensitive_config_properties: '- (Required String) The list of sensitive properties. A sensitive property is a connector configuration property that must be hidden after a user enters the property value when setting up the connector, for example, passwords, keys, and tokens. Refer to the developer documentation and add all required and optional sensitive properties that a user could potentially configure for the connector. Marking a property as sensitive ensures that these fields are handled appropriately within the Confluent infrastructure. This includes masking fields, for example in exception logging, and encrypting field values in the underlying data store. You must identify all sensitive properties. Failure to identify sensitive properties can result in the sensitive property value being stored in plain text rather than in encrypted format. Only add connector-specific sensitive properties. Kafka keys, passwords, and service account information should not be entered here.' + importStatements: + - |- + $ export CONFLUENT_CLOUD_API_KEY="" + $ export CONFLUENT_CLOUD_API_SECRET="" + $ terraform import confluent_custom_connector_plugin.main ccp-abc123xyz confluent_environment Resource - terraform-provider-confluent: subCategory: "" name: confluent_environment Resource - terraform-provider-confluent @@ -89,6 +186,27 @@ resources: $ export CONFLUENT_CLOUD_API_KEY="" $ export CONFLUENT_CLOUD_API_SECRET="" $ terraform import confluent_environment.my_env env-abc123 + confluent_flink_compute_pool Resource - terraform-provider-confluent: + subCategory: "" + name: confluent_flink_compute_pool Resource - terraform-provider-confluent + title: confluent_flink_compute_pool Resource - terraform-provider-confluent + argumentDocs: + api_version: '- (Required String) The API Version of the schema version of the Flink Compute Pool, for example, fcpm/v2.' + cloud: '- (Required String) The cloud service provider that runs the Flink Compute Pool.' + current_cfu: '- (Required Integer) The number of Confluent Flink Units (CFUs) currently allocated to this Flink compute pool.' + display_name: '- (Required String) The name of the Flink Compute Pool.' + environment: '(Required Configuration Block) supports the following:' + id: '- (Required String) The ID of the Environment that the Flink Compute Pool belongs to, for example, env-abc123.' + kind: '- (Required String) The kind of the Flink Compute Pool, for example, ComputePool.' + max_cfu: '- (Required Integer) Maximum number of Confluent Flink Units (CFUs) that the Flink compute pool should auto-scale to. The accepted values are: 5 and 10.' + region: '- (Required String) The cloud service provider region that hosts the Flink Compute Pool.' + resource_name: '- (Required String) The Confluent Resource Name of the Flink Compute Pool.' + rest_endpoint: '- (Required String) The API endpoint of the Flink Compute Pool.' + importStatements: + - |- + $ export CONFLUENT_CLOUD_API_KEY="" + $ export CONFLUENT_CLOUD_API_SECRET="" + $ terraform import confluent_flink_compute_pool.main env-abc123/lfcp-abc123 confluent_identity_pool Resource - terraform-provider-confluent: subCategory: "" name: confluent_identity_pool Resource - terraform-provider-confluent @@ -120,6 +238,24 @@ resources: $ export CONFLUENT_CLOUD_API_KEY="" $ export CONFLUENT_CLOUD_API_SECRET="" $ terraform import confluent_identity_provider.example op-abc123 + confluent_invitation Resource - terraform-provider-confluent: + subCategory: "" + name: confluent_invitation Resource - terraform-provider-confluent + title: confluent_invitation Resource - terraform-provider-confluent + argumentDocs: + accepted_at: '- (Optional String) The timestamp that the invitation was accepted.' + auth_type: '- (Optional String) Accepted values are: AUTH_TYPE_LOCAL and AUTH_TYPE_SSO. The user/invitee''s authentication type. Note that only the OrganizationAdmin role can invite AUTH_TYPE_LOCAL users to SSO organizations. The user''s auth_type is set as AUTH_TYPE_SSO by default if the organization has SSO enabled. Otherwise, the user''s auth_type is AUTH_TYPE_LOCAL by default.' + creator: '- (Required Configuration Block) supports the following:' + email: '- (Required String) The user/invitee''s email address.' + expires_at: '- (Optional String) The timestamp that the invitation will expire.' + id: '- (Required String) The ID of the Invitation, for example, i-zyw30.' + status: '- (Optional String) The status of invitations. Accepted values are: INVITE_STATUS_SENT,INVITE_STATUS_STAGED,INVITE_STATUS_ACCEPTED,INVITE_STATUS_EXPIRED, and INVITE_STATUS_DEACTIVATED.' + user: '- (Required Configuration Block) supports the following:' + importStatements: + - |- + $ export CONFLUENT_CLOUD_API_KEY="" + $ export CONFLUENT_CLOUD_API_SECRET="" + $ terraform import confluent_invitation.main i-gxxn1 confluent_kafka_acl Resource - terraform-provider-confluent: subCategory: "" name: confluent_kafka_acl Resource - terraform-provider-confluent @@ -130,19 +266,17 @@ resources: id: '- (Required String) The ID of the Kafka cluster, for example, lkc-abc123.' kafka_cluster: '- (Optional Configuration Block) supports the following:' key: '- (Required String) The Kafka API Key.' - operation: '- (Required String) The operation type for the ACL. Accepted values are: UNKNOWN, ANY, ALL, READ, WRITE, CREATE, DELETE, ALTER, DESCRIBE, CLUSTER_ACTION, DESCRIBE_CONFIGS, ALTER_CONFIGS, and IDEMPOTENT_WRITE. See Authorization using ACLs to find mappings of (resource_type, operation) to one or more Kafka APIs or request types.' + operation: '- (Required String) The operation type for the ACL. Accepted values are: ALL, READ, WRITE, CREATE, DELETE, ALTER, DESCRIBE, CLUSTER_ACTION, DESCRIBE_CONFIGS, ALTER_CONFIGS, and IDEMPOTENT_WRITE. See Authorization using ACLs to find mappings of (resource_type, operation) to one or more Kafka APIs or request types.' pattern_type: '- (Required String) The pattern type for the ACL. Accepted values are: LITERAL and PREFIXED.' - permission: '- (Required String) The permission for the ACL. Accepted values are: UNKNOWN, ANY, DENY, and ALLOW.' + permission: '- (Required String) The permission for the ACL. Accepted values are: DENY and ALLOW.' principal: '- (Required String) The principal for the ACL.' resource_name: '- (Required String) The resource name for the ACL. Must be kafka-cluster if resource_type equals to CLUSTER.' - resource_type: '- (Required String) The type of the resource. Accepted values are: UNKNOWN, ANY, TOPIC, GROUP, CLUSTER, TRANSACTIONAL_ID, DELEGATION_TOKEN. See Authorization using ACLs to find definitions of resource types and mappings of (resource_type, operation) to one or more Kafka APIs or request types.' + resource_type: '- (Required String) The type of the resource. Accepted values are: TOPIC, GROUP, CLUSTER, TRANSACTIONAL_ID, DELEGATION_TOKEN. See Authorization using ACLs to find definitions of resource types and mappings of (resource_type, operation) to one or more Kafka APIs or request types.' rest_endpoint: '- (Optional String) The REST endpoint of the Kafka cluster, for example, https://pkc-00000.us-central1.gcp.confluent.cloud:443.' secret: '- (Required String, Sensitive) The Kafka API Secret.' importStatements: - |- # Option #1: Manage 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="" @@ -159,10 +293,10 @@ resources: argumentDocs: description: '- (Optional String) The description of the Kafka Client Quota.' display_name: '- (Required String) The name of the Kafka Client Quota.' - egress_byte_rate: '- (Optional String) The egress throughput limit in bytes per second.' + egress_byte_rate: '- (Required String) The egress throughput limit in bytes per second.' environment: '(Required Configuration Block) supports the following:' id: '- (Required String) The ID of the Kafka Cluster where the Kafka Client Quota is applied, for example, lkc-abc123.' - ingress_byte_rate: '- (Optional String) The ingress throughput limit in bytes per second.' + ingress_byte_rate: '- (Required String) The ingress throughput limit in bytes per second.' kafka_cluster: '(Required Configuration Block) supports the following:' principals: '- (Required Set of Strings) The list of principals (i.e., service accounts or identity pools) to apply the Kafka Client Quota to. Use the special name, "", to represent the default quota for all users and service accounts.' throughput: '(Required Configuration Block) supports the following:' @@ -179,6 +313,7 @@ resources: api_version: '- (Required String) An API Version of the schema version of the Kafka cluster, for example, cmk/v2.' availability: '- (Required String) The availability zone configuration of the Kafka cluster. Accepted values are: SINGLE_ZONE and MULTI_ZONE.' basic: '- (Optional Configuration Block) The configuration of the Basic Kafka cluster.' + basic.byok_key: '(Optional Configuration Block) supports the following:' basic.environment: '(Required Configuration Block) supports the following:' basic.network: '(Optional Configuration Block) supports the following:' bootstrap_endpoint: '- (Required String) The bootstrap endpoint used by Kafka clients to connect to the Kafka cluster. (e.g., SASL_SSL://pkc-00000.us-central1.gcp.confluent.cloud:9092).' @@ -186,13 +321,18 @@ resources: cloud: '- (Required String) The cloud service provider that runs the Kafka cluster. Accepted values are: AWS, AZURE, and GCP.' dedicated: '- (Optional Configuration Block) The configuration of the Dedicated Kafka cluster. It supports the following:' display_name: '- (Required String) The name of the Kafka cluster.' - encryption_key: '- (Optional String) The ID of the encryption key that is used to encrypt the data in the Kafka cluster, for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab (key Amazon Resource Name) for AWS or projects/my-test-project/locations/global/keyRings/test-byok/cryptoKeys/test for GCP. Append required permissions to the key policy before creating a Kafka cluster, see Encrypt Confluent Cloud Clusters using Self-Managed Keys for more details. At the moment, self-managed encryption keys are only available for the Dedicated clusters on AWS or GCP.' + enterprise: '- (Optional Configuration Block) The configuration of the Enterprise Kafka cluster.' id: '- (Required String) The ID of the Environment that the Kafka cluster belongs to, for example, env-abc123.' kind: '- (Required String) A kind of the Kafka cluster, for example, Cluster.' rbac_crn: '- (Required String) The Confluent Resource Name of the Kafka cluster, for example, crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-abc123/cloud-cluster=lkc-abc123.' region: '- (Required String) The cloud service provider region where the Kafka cluster is running, for example, us-west-2. See Cloud Providers and Regions for a full list of options for AWS, Azure, and GCP.' rest_endpoint: '- (Required String) The REST endpoint of the Kafka cluster (e.g., https://pkc-00000.us-central1.gcp.confluent.cloud:443).' standard: '- (Optional Configuration Block) The configuration of the Standard Kafka cluster.' + zones: |- + - (Required List of String) The list of zones the cluster is in. + On AWS, zones are AWS AZ IDs, for example, use1-az3. + On GCP, zones are GCP zones, for example, us-central1-c. + On Azure, zones are Confluent-chosen names (for example, 1, 2, 3) since Azure does not have universal zone identifiers. importStatements: - |- $ export CONFLUENT_CLOUD_API_KEY="" @@ -302,29 +442,33 @@ resources: account: '- (Required String) The AWS account ID associated with the Confluent Cloud VPC.' aws: '- (Optional Configuration Block) The AWS-specific network details if available. It supports the following:' azure: '- (Optional Configuration Block) The Azure-specific network details if available. It supports the following:' - cidr: '- (Required String) The IPv4 CIDR block to used for the network. Must be /16. Required for VPC peering and AWS TransitGateway.' + cidr: '- (Optional String) The IPv4 CIDR block to be used for the network. Must be /16. Required for VPC peering and AWS TransitGateway.' cloud: '- (Required String) The cloud service provider in which the network exists. Accepted values are: AWS, AZURE, and GCP.' - connection_types: '- (Required List of String) The list of connection types that may be used with the network. Accepted connection types are: PEERING, TRANSITGATEWAY, and PRIVATELINK.' display_name: '- (Required String) The name of the Network.' - dns_config: '(Optional Configuration Block) Network DNS config. It applies only to the PRIVATELINK network connection type. It supports the following:' + dns_config.resolution: |- + - (Required String) Network DNS resolution. + When resolution is CHASED_PRIVATE, clusters in this network require both public and private DNS to resolve cluster endpoints. + When resolution is PRIVATE, clusters in this network only require private DNS to resolve cluster endpoints. dns_domain: '- (Optional String) The root DNS domain for the network, for example, pr123a.us-east-2.aws.confluent.cloud if applicable. Present on Networks that support Private Link.' - environment: '(Required Configuration Block) supports the following:' + environment.id: '- (Required String) The ID of the Environment that the Network belongs to, for example, env-abc123.' gcp: '- (Optional Configuration Block) The GCP-specific network details if available. It supports the following:' - id: '- (Required String) The ID of the Environment that the Network belongs to, for example, env-abc123.' + id: '- (Required String) The ID of the Network, for example, n-abc123.' private_link_endpoint_service: '- (Optional String) The endpoint service of the Confluent Cloud VPC (used for PrivateLink) if available.' private_link_service_aliases: '- (Optional Map) The mapping of zones to Private Link Service Aliases if available. Keys are zone names, for example, 1 and values are Azure Private Link Service Aliases, for example, s-nk99e-privatelink-1.8c43dcd0-695c-1234-bc35-11fe6abb303a.centralus.azure.privatelinkservice.' private_service_connect_service_attachments: '- (Optional Map) The mapping of zones to Private Service Connect Service Attachments if available. Keys are zones and values are GCP Private Service Connect service attachment.' project: '- (Required String) The GCP Project ID associated with the Confluent Cloud VPC.' region: '- (Required String) The cloud provider region where the network exists.' - resolution: |- - - (Required String) Network DNS resolution. - When resolution is CHASED_PRIVATE, clusters in this network require both public and private DNS to resolve cluster endpoints. - When resolution is PRIVATE, clusters in this network only require private DNS to resolve cluster endpoints. + reserved_cidr: '- (Optional String) The reserved IPv4 CIDR block to be used for the network. Must be /24. If not specified, Confluent Cloud Network uses 172.20.255.0/24.' resource_name: '- (Required String) The Confluent Resource Name of the Network.' vpc: '- (Required String) The Confluent Cloud VPC ID.' vpc_network: '- (Required String) The network name of the Confluent Cloud VPC.' zonal_subdomains: '- (Optional Map) The DNS subdomain for each zone. Present on networks that support Private Link. Keys are zone names, for example, use2-az1 and values are DNS domains, for example, use2-az1.pr123a.us-east-2.aws.confluent.cloud.' - zones: |- + zone_id: '- (Required String) Cloud provider zone ID.' + zone_info: '(Optional Configuration Blocks) Each item represents information related to a single zone. It supports the following:' + zone_info.connection_types: '- (Required List of String) The list of connection types that may be used with the network. Accepted connection types are: PEERING, TRANSITGATEWAY, and PRIVATELINK.' + zone_info.dns_config: '(Optional Configuration Block) Network DNS config. It applies only to the PRIVATELINK network connection type. When omitted, resolution defaults to CHASED_PRIVATE. It supports the following:' + zone_info.environment: '(Required Configuration Block) supports the following:' + zone_info.zones: |- - (Optional List of String) The 3 availability zones for this network. They can optionally be specified for AWS networks used with PrivateLink, for GCP networks used with Private Service Connect, and for AWS and GCP networks used with Peering. Otherwise, they are automatically chosen by Confluent Cloud. @@ -336,6 +480,42 @@ resources: $ export CONFLUENT_CLOUD_API_KEY="" $ export CONFLUENT_CLOUD_API_SECRET="" $ terraform import confluent_network.my_network env-abc123/n-abc123 + confluent_network_link_endpoint Resource - terraform-provider-confluent: + subCategory: "" + name: confluent_network_link_endpoint Resource - terraform-provider-confluent + title: confluent_network_link_endpoint Resource - terraform-provider-confluent + argumentDocs: + description: '- (Optional String) The description of the Network Link Endpoint.' + display_name: '- (Optional String) The name of the Network Link Endpoint.' + environment: '(Required Configuration Block) supports the following:' + id: '- (Required String) The ID of the Network that the Network Link Endpoint belongs to, for example, n-abc123.' + network: '(Required Configuration Block) supports the following:' + network_link_service: '(Required Configuration Block) supports the following:' + resource_name: (Required String) The Confluent Resource Name of the Network Link Endpoint. + importStatements: + - |- + $ export CONFLUENT_CLOUD_API_KEY="" + $ export CONFLUENT_CLOUD_API_SECRET="" + $ terraform import confluent_network_link_endpoint.my_nle env-abc123/nle-abc123 + confluent_network_link_service Resource - terraform-provider-confluent: + subCategory: "" + name: confluent_network_link_service Resource - terraform-provider-confluent + title: confluent_network_link_service Resource - terraform-provider-confluent + argumentDocs: + accept: '(Optional Configuration Block) supports the following:' + description: '- (Optional String) The description of the Network Link Service.' + display_name: '- (Optional String) The name of the Network Link Service.' + environment: '(Required Configuration Block) supports the following:' + environments: '- (Optional List of Strings) List of environments ids from which connections can be accepted. All networks within the list of environment will be allowed.' + id: '- (Required String) The ID of the Environment that the Network Link Service belongs to, for example, env-abc123.' + network: '(Required Configuration Block) supports the following:' + networks: '- (Optional List of Strings) List of network ids from which connections can be accepted.' + resource_name: (Required String) The Confluent Resource Name of the Network Link Service. + importStatements: + - |- + $ export CONFLUENT_CLOUD_API_KEY="" + $ export CONFLUENT_CLOUD_API_SECRET="" + $ terraform import confluent_network_link_service.my_nls env-abc123/nls-abc123 confluent_peering Resource - terraform-provider-confluent: subCategory: "" name: confluent_peering Resource - terraform-provider-confluent @@ -382,6 +562,42 @@ resources: $ export CONFLUENT_CLOUD_API_KEY="" $ export CONFLUENT_CLOUD_API_SECRET="" $ terraform import confluent_private_link_access.my_pla env-abc123/pla-abc123 + confluent_private_link_attachment Resource - terraform-provider-confluent: + subCategory: "" + name: confluent_private_link_attachment Resource - terraform-provider-confluent + title: confluent_private_link_attachment Resource - terraform-provider-confluent + argumentDocs: + aws: '- (Optional Configuration Block) supports the following:' + cloud: '- (Required String) The cloud service provider that hosts the resources to access with the Private Link Attachment.' + display_name: '- (Optional String) The name of the Private Link Attachment.' + dns_domain: '- (Required String) The root DNS domain for the Private Link Attachment, for example, `pr123a.us-east-2.aws.confluent.' + environment: '(Required Configuration Block) supports the following:' + id: '- (Required String) The ID of the Environment that the Private Link Attachment belongs to, for example env-xyz456.' + region: '- (Required String) The cloud service provider region where the resources to be accessed using the Private Link Attachment are located.' + resource_name: '- (Required String) The Confluent Resource Name of the Private Link Attachment, for example crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-75gxp2/private-link-attachment=platt-1q0ky0.' + vpc_endpoint_service_name: '- (Required String) AWS VPC Endpoint Service that can be used to establish connections for all zones, for example com.amazonaws.vpce.us-west-2.vpce-svc-0d3be37e21708ecd3.' + importStatements: + - |- + $ export CONFLUENT_CLOUD_API_KEY="" + $ export CONFLUENT_CLOUD_API_SECRET="" + $ terraform import confluent_private_link_attachment.main env-abc123/platt-abc123 + confluent_private_link_attachment_connection Resource - terraform-provider-confluent: + subCategory: "" + name: confluent_private_link_attachment_connection Resource - terraform-provider-confluent + title: confluent_private_link_attachment_connection Resource - terraform-provider-confluent + argumentDocs: + aws: '- (Optional Configuration Block) supports the following:' + display_name: '- (Optional String) The name of the Private Link Attachment Connection.' + environment: '(Required Configuration Block) supports the following:' + id: '- (Required String) The ID of the Environment that the Private Link Attachment Connection belongs to, for example env-xyz456.' + private_link_attachment: '(Required Configuration Block) supports the following:' + resource_name: '- (Required String) The Confluent Resource Name of the Private Link Attachment Connection, for example crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-75gxp2/private-link-attachment=platt-1q0ky0/private-link-attachment-connection=plattc-77zq2w.' + vpc_endpoint_id: '- (Required String) Id of a VPC Endpoint that is connected to the VPC Endpoint service.' + importStatements: + - |- + $ export CONFLUENT_CLOUD_API_KEY="" + $ export CONFLUENT_CLOUD_API_SECRET="" + $ terraform import confluent_private_link_attachment_connection.main env-abc123/plattc-abc123 confluent_role_binding Resource - terraform-provider-confluent: subCategory: "" name: confluent_role_binding Resource - terraform-provider-confluent @@ -404,7 +620,7 @@ resources: credentials: '(Optional Configuration Block) supports the following:' credentials.format: '- (Required String) The format of the schema. Accepted values are: AVRO, PROTOBUF, and JSON.' credentials.hard_delete: '- (Optional Boolean) An optional flag to control whether a schema should be soft or hard deleted. Set it to true if you want to hard delete a schema on destroy (see Schema Deletion Guidelines for more details). Must be unset when importing. Defaults to false (soft delete).' - credentials.recreate_on_update: '- (Optional Boolean) An optional flag to control whether a schema should be recreated on an update. Set it to true if you want to manage different schema versions using different resource instances. Must be set to the target value when importing. Defaults to false (resource instance always points to the latest schema by supporting in-place updates).' + credentials.recreate_on_update: '- (Optional Boolean) An optional flag to control whether a schema should be recreated on an update. Set it to true if you want to manage different schema versions using different resource instances. Must be set to the target value when importing. Defaults to false, which manages the latest schema version only. The resource instance always points to the latest schema version by supporting in-place updates.' credentials.schema: '- (Required String) The schema string, for example, file("./schema_version_1.avsc").' credentials.schema_reference: '- (Optional List) The list of referenced schemas (see Schema References for more details):' credentials.subject_name: '- (Required String) The name of the subject (in other words, the namespace), representing the subject under which the schema will be registered, for example, test-subject. Schemas evolve safely, following a compatibility mode defined, under a subject name.' @@ -423,13 +639,42 @@ resources: $ export IMPORT_SCHEMA_REGISTRY_API_KEY="" $ export IMPORT_SCHEMA_REGISTRY_API_SECRET="" $ export IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT="" + $ export SCHEMA_CONTENT="" # for example, export SCHEMA_CONTENT=$(cat schemas/proto/purchase.proto) $ terraform import confluent_schema.my_schema_1 lsrc-abc123/test-subject/latest # Option B: recreate_on_update = true $ export IMPORT_SCHEMA_REGISTRY_API_KEY="" $ export IMPORT_SCHEMA_REGISTRY_API_SECRET="" $ export IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT="" + $ export SCHEMA_CONTENT="" # for example, export SCHEMA_CONTENT=$(cat schemas/proto/purchase.proto) $ terraform import confluent_schema.my_schema_1 lsrc-abc123/test-subject/100003 + confluent_schema_exporter Resource - terraform-provider-confluent: + subCategory: "" + name: confluent_schema_exporter Resource - terraform-provider-confluent + title: confluent_schema_exporter Resource - terraform-provider-confluent + argumentDocs: + config: '- (Optional Map) Block for custom nonsensitive configuration properties:' + context: '- (Optional String) Customized context of the exporter if context_type is set to CUSTOM.' + context_type: '- (Optional String) Context type of the exporter. Accepted values are: CUSTOM, NONE or AUTO. Defaults to AUTO.' + credentials: '(Optional Configuration Block) supports the following:' + destination_schema_registry_cluster: '- (Required Configuration Block) supports the following:' + id: '- (Required String) The ID of the Schema Registry cluster, for example, lsrc-abc123.' + key: '- (Required String) The Schema Registry API Key.' + name: '- (Required String) Name of the Schema Exporter.' + reset_on_update: '- (Optional Boolean) The flag to control whether to reset the exporter when updating configs. Defaults to false.' + rest_endpoint: '- (Optional String) The REST endpoint of the Schema Registry cluster, for example, https://psrc-00000.us-central1.gcp.confluent.cloud:443).' + schema_registry_cluster: '- (Optional Configuration Block) supports the following:' + secret: '- (Required String, Sensitive) The Schema Registry API Secret.' + status: '- (Optional String) The status of the schema exporter. Accepted values are: RUNNING and PAUSED.' + subject_rename_format: '- (Optional String) 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.' + subjects: '- (Optional List of Strings) Name of each exporter subject.' + value: '- (Required String) The configuration setting value.' + importStatements: + - |- + $ export IMPORT_SCHEMA_REGISTRY_API_KEY="" + $ export IMPORT_SCHEMA_REGISTRY_API_SECRET="" + $ export IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT="" + $ terraform import confluent_schema_exporter.main lsrc-8wrx70/test-exporter confluent_schema_registry_cluster Resource - terraform-provider-confluent: subCategory: "" name: confluent_schema_registry_cluster Resource - terraform-provider-confluent @@ -538,6 +783,55 @@ resources: $ export IMPORT_SCHEMA_REGISTRY_API_SECRET="" $ export IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT="" $ terraform import confluent_subject_mode.example lsrc-abc123/test-subject + confluent_tag Resource - terraform-provider-confluent: + subCategory: "" + name: confluent_tag Resource - terraform-provider-confluent + title: confluent_tag Resource - terraform-provider-confluent + argumentDocs: + credentials: '(Optional Configuration Block) supports the following:' + description: '- (Optional String) The description of the tag.' + entity_types: '- (Optional List of String) The entity types of the tag, this always returns ["cf_entity"]. Refer to the Entity types to learn more about entity types.' + id: '- (Required String) The ID of the Schema Registry cluster, for example, lsrc-abc123.' + key: '- (Required String) The Schema Registry API Key.' + name: '- (Required String) The name of the tag, for example, PII. The name must not be empty and consist of a letter followed by a sequence of letter, number, space, or _ characters.' + rest_endpoint: '- (Optional String) The REST endpoint of the Schema Registry cluster, for example, https://psrc-00000.us-central1.gcp.confluent.cloud:443).' + schema_registry_cluster: '- (Optional Configuration Block) supports the following:' + secret: '- (Required String, Sensitive) The Schema Registry API Secret.' + version: '- (Optional Integer) The version, for example, 1.' + importStatements: + - |- + $ export IMPORT_SCHEMA_REGISTRY_API_KEY="" + $ export IMPORT_SCHEMA_REGISTRY_API_SECRET="" + $ export IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT="" + $ terraform import confluent_tag.pii lsrc-8wrx70/PII + confluent_tag_binding Resource - terraform-provider-confluent: + subCategory: "" + name: confluent_tag_binding Resource - terraform-provider-confluent + title: confluent_tag_binding Resource - terraform-provider-confluent + argumentDocs: + credentials: '(Optional Configuration Block) supports the following:' + entity_name: '- (Required String) The qualified name of the entity., for example, ${confluent_schema_registry_cluster.main.id}:.:${confluent_schema.purchase.schema_identifier}, ${confluent_schema_registry_cluster.main.id}:${confluent_kafka_cluster.basic.id}:${confluent_kafka_topic.purchase.topic_name}.' + entity_type: '- (Required String) The entity type, for example, sr_schema. Refer to the Entity types to learn more about entity types.' + id: '- (Required String) The ID of the Schema Registry cluster, for example, lsrc-abc123.' + key: '- (Required String) The Schema Registry API Key.' + rest_endpoint: '- (Optional String) The REST endpoint of the Schema Registry cluster, for example, https://psrc-00000.us-central1.gcp.confluent.cloud:443).' + schema_registry_cluster: '- (Optional Configuration Block) supports the following:' + secret: '- (Required String, Sensitive) The Schema Registry API Secret.' + tag_name: '- (Required String) The name of the tag to be applied, for example, PII. The name must not be empty and consist of a letter followed by a sequence of letter, number, space, or _ characters.' + importStatements: + - |- + $ export IMPORT_SCHEMA_REGISTRY_API_KEY="" + $ export IMPORT_SCHEMA_REGISTRY_API_SECRET="" + $ export IMPORT_SCHEMA_REGISTRY_REST_ENDPOINT="" + $ terraform import confluent_tag_binding.main lsrc-8wrx70/PII/lsrc-8wrx70:.:100001/sr_schema + confluent_tf_importer Resource - terraform-provider-confluent: + subCategory: "" + name: confluent_tf_importer Resource - terraform-provider-confluent + title: confluent_tf_importer Resource - terraform-provider-confluent + argumentDocs: + output_path: '- (Optional Strings) An absolute path to a folder for outputting generated TF state and TF configuration files for your infrastructure. The folder is created if it doesn''t exist. Defaults to ./imported_confluent_infrastructure.' + resources: '- (Optional List of Strings) A list of resources names to export. Defaults to all exportable resources.' + importStatements: [] confluent_transit_gateway_attachment Resource - terraform-provider-confluent: subCategory: "" name: confluent_transit_gateway_attachment Resource - terraform-provider-confluent diff --git a/config/schema.json b/config/schema.json index bffde45..c7c7d71 100644 --- a/config/schema.json +++ b/config/schema.json @@ -1 +1 @@ -{"format_version":"1.0","provider_schemas":{"registry.terraform.io/confluentinc/confluent":{"provider":{"version":0,"block":{"attributes":{"cloud_api_key":{"type":"string","description":"The Confluent Cloud API Key.","description_kind":"markdown","optional":true,"sensitive":true},"cloud_api_secret":{"type":"string","description":"The Confluent Cloud API Secret.","description_kind":"markdown","optional":true,"sensitive":true},"endpoint":{"type":"string","description":"The base endpoint of Confluent Cloud API. Defaults to `https://api.confluent.cloud`.","description_kind":"markdown","optional":true},"kafka_api_key":{"type":"string","description":"The Kafka Cluster API Key.","description_kind":"markdown","optional":true,"sensitive":true},"kafka_api_secret":{"type":"string","description":"The Kafka Cluster API Secret.","description_kind":"markdown","optional":true,"sensitive":true},"kafka_id":{"type":"string","description":"The Kafka Cluster ID.","description_kind":"markdown","optional":true},"kafka_rest_endpoint":{"type":"string","description":"The Kafka Cluster REST Endpoint.","description_kind":"markdown","optional":true},"max_retries":{"type":"number","description":"Maximum number of retries of HTTP client. Defaults to 4.","description_kind":"markdown","optional":true},"schema_registry_api_key":{"type":"string","description":"The Schema Registry Cluster API Key.","description_kind":"markdown","optional":true,"sensitive":true},"schema_registry_api_secret":{"type":"string","description":"The Schema Registry Cluster API Secret.","description_kind":"markdown","optional":true,"sensitive":true},"schema_registry_id":{"type":"string","description":"The Schema Registry Cluster ID.","description_kind":"markdown","optional":true},"schema_registry_rest_endpoint":{"type":"string","description":"The Schema Registry Cluster REST Endpoint.","description_kind":"markdown","optional":true}},"description_kind":"plain"}},"resource_schemas":{"confluent_api_key":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"A free-form description of the API key.","description_kind":"markdown","optional":true},"disable_wait_for_ready":{"type":"bool","description":"Defaults to `false`.","description_kind":"markdown","optional":true},"display_name":{"type":"string","description":"A human-readable name for the API key.","description_kind":"markdown","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"secret":{"type":"string","description":"The API Key Secret.","description_kind":"markdown","computed":true,"sensitive":true}},"block_types":{"managed_resource":{"nesting_mode":"list","block":{"attributes":{"api_version":{"type":"string","description":"The API version of the referred owner.","description_kind":"markdown","required":true},"id":{"type":"string","description":"The unique identifier for the referred resource.","description_kind":"markdown","required":true},"kind":{"type":"string","description":"The kind of the referred resource.","description_kind":"markdown","required":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1}},"description":"The resource associated with this object. The only resource that is supported is 'cmk.v2.Cluster', 'srcm.v2.Cluster'.","description_kind":"markdown"},"max_items":1},"owner":{"nesting_mode":"list","block":{"attributes":{"api_version":{"type":"string","description":"The API version of the referred owner.","description_kind":"markdown","required":true},"id":{"type":"string","description":"The unique identifier for the referred owner.","description_kind":"markdown","required":true},"kind":{"type":"string","description":"The kind of the referred owner.","description_kind":"markdown","required":true}},"description":"The owner to which the API Key belongs. The owner can be one of 'iam.v2.User', 'iam.v2.ServiceAccount'.","description_kind":"markdown"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_cluster_link":{"version":0,"block":{"attributes":{"config":{"type":["map","string"],"description":"The custom cluster link settings to set (e.g., `\"acl.sync.ms\" = \"5100\"`).","description_kind":"markdown","optional":true,"computed":true},"connection_mode":{"type":"string","description":"The connection mode of the Cluster Link. Defaults to `OUTBOUND`.","description_kind":"markdown","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"link_mode":{"type":"string","description":"The mode of the Cluster Link. Defaults to `DESTINATION`.","description_kind":"markdown","optional":true},"link_name":{"type":"string","description":"The name of the Cluster Link.","description_kind":"markdown","required":true}},"block_types":{"destination_kafka_cluster":{"nesting_mode":"list","block":{"attributes":{"bootstrap_endpoint":{"type":"string","description":"The bootstrap endpoint used by Kafka clients to connect to the Kafka cluster. (e.g., `SASL_SSL://pkc-00000.us-central1.gcp.confluent.cloud:9092` or pkc-00000.us-central1.gcp.confluent.cloud:9092`).","description_kind":"markdown","optional":true},"id":{"type":"string","description":"The unique identifier for the referred Kafka cluster.","description_kind":"markdown","required":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Kafka cluster (e.g., `https://pkc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Kafka API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Kafka API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Kafka API Credentials.","description_kind":"markdown"},"max_items":1}},"description_kind":"plain"},"min_items":1,"max_items":1},"source_kafka_cluster":{"nesting_mode":"list","block":{"attributes":{"bootstrap_endpoint":{"type":"string","description":"The bootstrap endpoint used by Kafka clients to connect to the Kafka cluster. (e.g., `SASL_SSL://pkc-00000.us-central1.gcp.confluent.cloud:9092` or pkc-00000.us-central1.gcp.confluent.cloud:9092`).","description_kind":"markdown","optional":true},"id":{"type":"string","description":"The unique identifier for the referred Kafka cluster.","description_kind":"markdown","required":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Kafka cluster (e.g., `https://pkc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Kafka API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Kafka API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Kafka API Credentials.","description_kind":"markdown"},"max_items":1}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_connector":{"version":0,"block":{"attributes":{"config_nonsensitive":{"type":["map","string"],"description":"The nonsensitive configuration settings to set (e.g., `\"time.interval\" = \"DAILY\"`).","description_kind":"markdown","required":true},"config_sensitive":{"type":["map","string"],"description":"The sensitive configuration settings to set (e.g., `\"gcs.credentials.config\" = \"**REDACTED***\"`). Should not be set for an import operation.","description_kind":"markdown","optional":true,"computed":true,"sensitive":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"status":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1},"kafka_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Kafka cluster ID (e.g., `lkc-12345`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"confluent_environment":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"A human-readable name for the Environment.","description_kind":"markdown","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"resource_name":{"type":"string","description":"The Confluent Resource Name of the Environment.","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"confluent_identity_pool":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"A description of the Identity Pool.","description_kind":"markdown","required":true},"display_name":{"type":"string","description":"A name for the Identity Pool.","description_kind":"markdown","required":true},"filter":{"type":"string","description":"A filter expression that must be evaluated to be true to use this identity pool.","description_kind":"markdown","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identity_claim":{"type":"string","description":"A JWT claim to extract the authenticating principal to Confluent resources.","description_kind":"markdown","required":true}},"block_types":{"identity_provider":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the Identity Provider.","description_kind":"markdown","required":true}},"description":"Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud.","description_kind":"markdown"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_identity_provider":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"A description of the Identity Provider.","description_kind":"markdown","required":true},"display_name":{"type":"string","description":"A name for the Identity Provider.","description_kind":"markdown","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"issuer":{"type":"string","description":"A publicly reachable issuer URI for the Identity Provider.","description_kind":"markdown","required":true},"jwks_uri":{"type":"string","description":"A publicly reachable JWKS URI for the Identity Provider.","description_kind":"markdown","required":true}},"description_kind":"plain"}},"confluent_kafka_acl":{"version":2,"block":{"attributes":{"host":{"type":"string","description":"The host for the ACL.","description_kind":"markdown","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"operation":{"type":"string","description":"The operation type for the ACL.","description_kind":"markdown","required":true},"pattern_type":{"type":"string","description":"The pattern type for the ACL.","description_kind":"markdown","required":true},"permission":{"type":"string","description":"The permission for the ACL.","description_kind":"markdown","required":true},"principal":{"type":"string","description":"The principal for the ACL.","description_kind":"markdown","required":true},"resource_name":{"type":"string","description":"The resource name for the ACL.","description_kind":"markdown","required":true},"resource_type":{"type":"string","description":"The type of the resource.","description_kind":"markdown","required":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Kafka cluster (e.g., `https://pkc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"kafka_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Kafka cluster ID (e.g., `lkc-12345`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_kafka_client_quota":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"A description of the Kafka Client Quota.","description_kind":"markdown","optional":true},"display_name":{"type":"string","description":"The name of the Kafka Client Quota.","description_kind":"markdown","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"principals":{"type":["set","string"],"description":"A list of service accounts and identity pools. Special name \"default\" can be used to represent the default quota for all users and service accounts.","description_kind":"markdown","required":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1},"kafka_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Kafka cluster ID (e.g., `lkc-12345`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"throughput":{"nesting_mode":"list","block":{"attributes":{"egress_byte_rate":{"type":"string","description":"The egress throughput limit in bytes per second.","description_kind":"markdown","required":true},"ingress_byte_rate":{"type":"string","description":"The ingress throughput limit in bytes per second.","description_kind":"markdown","required":true}},"description":"Block for representing a Kafka Quota.","description_kind":"markdown"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_kafka_cluster":{"version":1,"block":{"attributes":{"api_version":{"type":"string","description":"API Version defines the schema version of this representation of a Kafka cluster.","description_kind":"markdown","computed":true},"availability":{"type":"string","description":"The availability zone configuration of the Kafka cluster.","description_kind":"markdown","required":true},"bootstrap_endpoint":{"type":"string","description":"The bootstrap endpoint used by Kafka clients to connect to the Kafka cluster.","description_kind":"markdown","computed":true},"cloud":{"type":"string","description":"The cloud service provider that runs the Kafka cluster.","description_kind":"markdown","required":true},"display_name":{"type":"string","description":"The name of the Kafka cluster.","description_kind":"markdown","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kind":{"type":"string","description":"Kind defines the object Kafka cluster represents.","description_kind":"markdown","computed":true},"rbac_crn":{"type":"string","description":"The Confluent Resource Name of the Kafka cluster suitable for confluent_role_binding's crn_pattern.","description_kind":"markdown","computed":true},"region":{"type":"string","description":"The cloud service provider region where the Kafka cluster is running.","description_kind":"markdown","required":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Kafka cluster.","description_kind":"markdown","computed":true}},"block_types":{"basic":{"nesting_mode":"list","block":{"description_kind":"plain"}},"dedicated":{"nesting_mode":"list","block":{"attributes":{"cku":{"type":"number","description":"The number of Confluent Kafka Units (CKUs) for Dedicated cluster types. MULTI_ZONE dedicated clusters must have at least two CKUs.","description_kind":"markdown","required":true},"encryption_key":{"type":"string","description":"The ID of the encryption key that is used to encrypt the data in the Kafka cluster.","description_kind":"markdown","optional":true}},"description_kind":"plain"},"max_items":1},"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1},"network":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the network.","description_kind":"markdown","required":true}},"description":"Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider accounts.","description_kind":"markdown"},"max_items":1},"standard":{"nesting_mode":"list","block":{"description_kind":"plain"}},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"confluent_kafka_cluster_config":{"version":0,"block":{"attributes":{"config":{"type":["map","string"],"description":"The custom cluster settings to set (e.g., `\"num.partitions\" = \"8\"`).","description_kind":"markdown","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Kafka cluster (e.g., `https://pkc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"kafka_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Kafka cluster ID (e.g., `lkc-12345`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_kafka_mirror_topic":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mirror_topic_name":{"type":"string","description":"Name of the topic to be mirrored over the Kafka Mirror Topic, i.e. the source topic's name. Only required when there is a prefix configured on the link.","description_kind":"markdown","optional":true,"computed":true},"status":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"cluster_link":{"nesting_mode":"list","block":{"attributes":{"link_name":{"type":"string","description":"The name of the Cluster Link.","description_kind":"markdown","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"kafka_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the referred Kafka cluster.","description_kind":"markdown","required":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Kafka cluster (e.g., `https://pkc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Kafka API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Kafka API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Kafka API Credentials.","description_kind":"markdown"},"max_items":1}},"description_kind":"plain"},"min_items":1,"max_items":1},"source_kafka_topic":{"nesting_mode":"list","block":{"attributes":{"topic_name":{"type":"string","description":"The name of the Source Kafka topic.","description_kind":"markdown","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_kafka_topic":{"version":2,"block":{"attributes":{"config":{"type":["map","string"],"description":"The custom topic settings to set (e.g., `\"cleanup.policy\" = \"compact\"`).","description_kind":"markdown","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"partitions_count":{"type":"number","description":"The number of partitions to create in the topic. Defaults to `6`.","description_kind":"markdown","optional":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Kafka cluster (e.g., `https://pkc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true},"topic_name":{"type":"string","description":"The name of the topic, for example, `orders-1`.","description_kind":"markdown","required":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"kafka_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Kafka cluster ID (e.g., `lkc-12345`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_ksql_cluster":{"version":0,"block":{"attributes":{"api_version":{"type":"string","description_kind":"plain","computed":true},"csu":{"type":"number","description":"The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster.","description_kind":"markdown","required":true},"display_name":{"type":"string","description":"The name of the ksqlDB cluster.","description_kind":"markdown","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kind":{"type":"string","description_kind":"plain","computed":true},"resource_name":{"type":"string","description":"The Confluent Resource Name of the ksqlDB cluster.","description_kind":"markdown","computed":true},"rest_endpoint":{"type":"string","description":"The API endpoint of the ksqlDB cluster.","description_kind":"markdown","computed":true},"storage":{"type":"number","description":"The amount of storage (in GB) provisioned to the ksqlDB cluster.","description_kind":"markdown","computed":true},"topic_prefix":{"type":"string","description":"Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use.","description_kind":"markdown","computed":true},"use_detailed_processing_log":{"type":"bool","description":"Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. Defaults to `true`.","description_kind":"markdown","optional":true}},"block_types":{"credential_identity":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The credential_identity to which this belongs. The credential_identity can be one of iam.v2.User, iam.v2.ServiceAccount.","description_kind":"markdown","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1},"kafka_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Kafka cluster ID (e.g., `lkc-12345`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"confluent_network":{"version":0,"block":{"attributes":{"cidr":{"type":"string","description":"The IPv4 CIDR block to used for this network. Must be /16. Required for VPC peering and AWS TransitGateway.","description_kind":"markdown","optional":true,"computed":true},"cloud":{"type":"string","description":"The cloud service provider in which the network exists.","description_kind":"markdown","required":true},"connection_types":{"type":["list","string"],"description_kind":"plain","required":true},"display_name":{"type":"string","description":"The name of the Network.","description_kind":"markdown","optional":true,"computed":true},"dns_domain":{"type":"string","description":"The root DNS domain for the network if applicable. Present on networks that support PrivateLink.","description_kind":"markdown","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"region":{"type":"string","description":"The cloud service provider region where the network exists.","description_kind":"markdown","required":true},"resource_name":{"type":"string","description":"The Confluent Resource Name of the Network.","description_kind":"markdown","computed":true},"zonal_subdomains":{"type":["map","string"],"description":"The DNS subdomain for each zone. Present on networks that support PrivateLink. Keys are zones and values are DNS domains.","description_kind":"markdown","computed":true},"zones":{"type":["list","string"],"description":"The 3 availability zones for this network. They can optionally be specified for only AWS networks used with PrivateLink. Otherwise, they are automatically chosen by Confluent Cloud.","description_kind":"markdown","optional":true,"computed":true}},"block_types":{"aws":{"nesting_mode":"list","block":{"attributes":{"account":{"type":"string","description":"The AWS account ID associated with the Confluent Cloud VPC.","description_kind":"markdown","computed":true},"private_link_endpoint_service":{"type":"string","description":"The endpoint service of the Confluent Cloud VPC (used for PrivateLink) if available.","description_kind":"markdown","computed":true},"vpc":{"type":"string","description":"The Confluent Cloud VPC ID.","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"azure":{"nesting_mode":"list","block":{"attributes":{"private_link_service_aliases":{"type":["map","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"dns_config":{"nesting_mode":"list","block":{"attributes":{"resolution":{"type":"string","description":"Network DNS resolution.","description_kind":"markdown","required":true}},"description":"Network DNS config. It applies only to the PRIVATELINK network connection type.","description_kind":"markdown"},"max_items":1},"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1},"gcp":{"nesting_mode":"list","block":{"attributes":{"private_service_connect_service_attachments":{"type":["map","string"],"description":"The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7).","description_kind":"markdown","computed":true},"project":{"type":"string","description":"The GCP project.","description_kind":"markdown","computed":true},"vpc_network":{"type":"string","description":"The GCP VPC network name.","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"confluent_peering":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"The name of the Peering.","description_kind":"markdown","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"aws":{"nesting_mode":"list","block":{"attributes":{"account":{"type":"string","description":"AWS account for VPC to peer with the network.","description_kind":"markdown","required":true},"customer_region":{"type":"string","description":"Region of customer VPC.","description_kind":"markdown","required":true},"routes":{"type":["list","string"],"description":"List of routes for the peering.","description_kind":"markdown","required":true},"vpc":{"type":"string","description":"The id of the AWS VPC to peer with.","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1},"azure":{"nesting_mode":"list","block":{"attributes":{"customer_region":{"type":"string","description":"Region of customer VNet.","description_kind":"markdown","required":true},"tenant":{"type":"string","description":"Customer Azure tenant.","description_kind":"markdown","required":true},"vnet":{"type":"string","description":"Customer VNet to peer with.","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1},"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1},"gcp":{"nesting_mode":"list","block":{"attributes":{"import_custom_routes":{"type":"bool","description":"Enable customer route import. Defaults to `false`.","description_kind":"markdown","optional":true},"project":{"type":"string","description":"The name of the GCP project.","description_kind":"markdown","required":true},"vpc_network":{"type":"string","description":"The name of the GCP VPC network to peer with.","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1},"network":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the network.","description_kind":"markdown","required":true}},"description":"Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider accounts.","description_kind":"markdown"},"min_items":1,"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"confluent_private_link_access":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"The name of the PrivateLink access.","description_kind":"markdown","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"aws":{"nesting_mode":"list","block":{"attributes":{"account":{"type":"string","description":"AWS Account ID to allow for PrivateLink access. Find here (https://console.aws.amazon.com/billing/home?#/account) under My Account in your AWS Management Console.","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1},"azure":{"nesting_mode":"list","block":{"attributes":{"subscription":{"type":"string","description":"Azure subscription to allow for PrivateLink access.","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1},"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1},"gcp":{"nesting_mode":"list","block":{"attributes":{"project":{"type":"string","description":"The GCP project ID to allow for Private Service Connect access.","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1},"network":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the network.","description_kind":"markdown","required":true}},"description":"Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider accounts.","description_kind":"markdown"},"min_items":1,"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"confluent_role_binding":{"version":0,"block":{"attributes":{"crn_pattern":{"type":"string","description":"A CRN that specifies the scope and resource patterns necessary for the role to bind.","description_kind":"markdown","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"principal":{"type":"string","description":"The principal User to bind the role to.","description_kind":"markdown","required":true},"role_name":{"type":"string","description":"The name of the role to bind to the principal.","description_kind":"markdown","required":true}},"description_kind":"plain"}},"confluent_schema":{"version":0,"block":{"attributes":{"format":{"type":"string","description":"The format of the Schema.","description_kind":"markdown","required":true},"hard_delete":{"type":"bool","description":"Controls whether a schema should be soft or hard deleted. Set it to `true` if you want to hard delete a schema on destroy. Defaults to `false` (soft delete). Defaults to `false`.","description_kind":"markdown","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"recreate_on_update":{"type":"bool","description":"Controls whether a schema should be recreated on update. Defaults to `false`.","description_kind":"markdown","optional":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true},"schema":{"type":"string","description":"The definition of the Schema.","description_kind":"markdown","required":true},"schema_identifier":{"type":"number","description":"Globally unique identifier of the Schema returned for a creation request. It should be used to retrieve this schema from the schemas resource and is different from the schema’s version which is associated with the subject.","description_kind":"markdown","computed":true},"subject_name":{"type":"string","description":"The name of the Schema Registry Subject.","description_kind":"markdown","required":true},"version":{"type":"number","description":"The version number of the Schema.","description_kind":"markdown","computed":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_reference":{"nesting_mode":"list","block":{"attributes":{"name":{"type":"string","description":"The name of the Schema references (for example, \"io.confluent.kafka.example.User\"). For Avro, the reference name is the fully qualified schema name, for JSON Schema it is a URL, and for Protobuf, it is the name of another Protobuf file.","description_kind":"markdown","required":true},"subject_name":{"type":"string","description":"The name of the referenced Schema Registry Subject (for example, \"User\").","description_kind":"markdown","required":true},"version":{"type":"number","description":"The version of the referenced Schema.","description_kind":"markdown","required":true}},"description":"The list of references to other Schemas.","description_kind":"markdown"}},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_schema_registry_cluster":{"version":0,"block":{"attributes":{"api_version":{"type":"string","description":"API Version defines the schema version of this representation of a Schema Registry Cluster.","description_kind":"markdown","computed":true},"display_name":{"type":"string","description":"The name of the Schema Registry Cluster.","description_kind":"markdown","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kind":{"type":"string","description":"Kind defines the object Schema Registry Cluster represents.","description_kind":"markdown","computed":true},"package":{"type":"string","description":"The billing package.","description_kind":"markdown","required":true},"resource_name":{"type":"string","description":"The Confluent Resource Name of the Schema Registry Cluster.","description_kind":"markdown","computed":true},"rest_endpoint":{"type":"string","description":"The API endpoint of the Schema Registry Cluster.","description_kind":"markdown","computed":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1},"region":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the Schema Registry Region.","description_kind":"markdown","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_schema_registry_cluster_config":{"version":0,"block":{"attributes":{"compatibility_level":{"type":"string","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_schema_registry_cluster_mode":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mode":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_service_account":{"version":0,"block":{"attributes":{"api_version":{"type":"string","description":"API Version defines the schema version of this representation of a Service Account.","description_kind":"markdown","computed":true},"description":{"type":"string","description":"A free-form description of the Service Account.","description_kind":"markdown","optional":true},"display_name":{"type":"string","description":"A human-readable name for the Service Account.","description_kind":"markdown","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kind":{"type":"string","description":"Kind defines the object Service Account represents.","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"confluent_subject_config":{"version":0,"block":{"attributes":{"compatibility_level":{"type":"string","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true},"subject_name":{"type":"string","description":"The name of the Schema Registry Subject.","description_kind":"markdown","required":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_subject_mode":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mode":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true},"subject_name":{"type":"string","description":"The name of the Schema Registry Subject.","description_kind":"markdown","required":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_transit_gateway_attachment":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"The name of the Transit Gateway Attachment.","description_kind":"markdown","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"aws":{"nesting_mode":"list","block":{"attributes":{"ram_resource_share_arn":{"type":"string","description":"The Amazon Resource Name (ARN) of the Resource Access Manager (RAM) Resource Share of the transit gateway your Confluent Cloud network attaches to.","description_kind":"markdown","required":true},"routes":{"type":["list","string"],"description":"List of destination routes for traffic from Confluent VPC to customer VPC via Transit Gateway.","description_kind":"markdown","required":true},"transit_gateway_attachment_id":{"type":"string","description":"The ID of the AWS Transit Gateway VPC Attachment that attaches Confluent VPC to Transit Gateway.","description_kind":"markdown","computed":true},"transit_gateway_id":{"type":"string","description":"The ID of the AWS Transit Gateway that your Confluent Cloud network attaches to.","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1},"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1},"network":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the network.","description_kind":"markdown","required":true}},"description":"Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider accounts.","description_kind":"markdown"},"min_items":1,"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}}},"data_source_schemas":{"confluent_environment":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"A human-readable name for the Environment.","description_kind":"markdown","optional":true,"computed":true},"id":{"type":"string","description":"The ID of the Environment (e.g., `env-abc123`).","description_kind":"markdown","optional":true,"computed":true},"resource_name":{"type":"string","description":"The Confluent Resource Name of the Environment.","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"confluent_identity_pool":{"version":0,"block":{"attributes":{"description":{"type":"string","description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"filter":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identity_claim":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"identity_provider":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_identity_provider":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"A description of the Identity Provider.","description_kind":"markdown","computed":true},"display_name":{"type":"string","description":"A name for the Identity Provider.","description_kind":"markdown","optional":true,"computed":true},"id":{"type":"string","description":"The ID of the Identity Provider (e.g., `op-abc123`).","description_kind":"markdown","optional":true,"computed":true},"issuer":{"type":"string","description":"A publicly reachable issuer URI for the Identity Provider.","description_kind":"markdown","computed":true},"jwks_uri":{"type":"string","description":"A publicly reachable JWKS URI for the Identity Provider.","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"confluent_kafka_client_quota":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"A description of the Kafka Client Quota.","description_kind":"markdown","computed":true},"display_name":{"type":"string","description":"The name of the Kafka Client Quota.","description_kind":"markdown","computed":true},"environment":{"type":["list",["object",{"id":"string"}]],"description_kind":"plain","computed":true},"id":{"type":"string","description":"The ID of the Kafka Client Quota (e.g., `rb-abc123`).","description_kind":"markdown","required":true},"kafka_cluster":{"type":["list",["object",{"id":"string"}]],"description_kind":"plain","computed":true},"principals":{"type":["set","string"],"description":"A list of service accounts and identity pools. Special name \"default\" can be used to represent the default quota for all users and service accounts.","description_kind":"markdown","computed":true},"throughput":{"type":["list",["object",{"egress_byte_rate":"string","ingress_byte_rate":"string"}]],"description":"Block for representing a Kafka Quota.","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"confluent_kafka_cluster":{"version":1,"block":{"attributes":{"api_version":{"type":"string","description_kind":"plain","computed":true},"availability":{"type":"string","description_kind":"plain","computed":true},"bootstrap_endpoint":{"type":"string","description_kind":"plain","computed":true},"cloud":{"type":"string","description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"The ID of the Kafka cluster, for example, `lkc-abc123`.","description_kind":"markdown","optional":true,"computed":true},"kind":{"type":"string","description_kind":"plain","computed":true},"network":{"type":["list",["object",{"id":"string"}]],"description":"Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider accounts.","description_kind":"markdown","computed":true},"rbac_crn":{"type":"string","description_kind":"plain","computed":true},"region":{"type":"string","description_kind":"plain","computed":true},"rest_endpoint":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"basic":{"nesting_mode":"list","block":{"description_kind":"plain"}},"dedicated":{"nesting_mode":"list","block":{"attributes":{"cku":{"type":"number","description":"The number of Confluent Kafka Units (CKUs) for Dedicated cluster types. MULTI_ZONE dedicated clusters must have at least two CKUs.","description_kind":"markdown","computed":true},"encryption_key":{"type":"string","description":"The ID of the encryption key that is used to encrypt the data in the Kafka cluster.","description_kind":"markdown","computed":true}},"description_kind":"plain"},"max_items":1},"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"standard":{"nesting_mode":"list","block":{"description_kind":"plain"}}},"description_kind":"plain"}},"confluent_kafka_topic":{"version":2,"block":{"attributes":{"config":{"type":["map","string"],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"partitions_count":{"type":"number","description_kind":"plain","computed":true},"rest_endpoint":{"type":"string","description_kind":"plain","required":true},"topic_name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"kafka_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_ksql_cluster":{"version":0,"block":{"attributes":{"api_version":{"type":"string","description_kind":"plain","computed":true},"credential_identity":{"type":["list",["object",{"id":"string"}]],"description_kind":"plain","computed":true},"csu":{"type":"number","description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kafka_cluster":{"type":["list",["object",{"id":"string"}]],"description_kind":"plain","computed":true},"kind":{"type":"string","description_kind":"plain","computed":true},"resource_name":{"type":"string","description_kind":"plain","computed":true},"rest_endpoint":{"type":"string","description":"The dataplane endpoint of the ksqlDB cluster.","description_kind":"markdown","computed":true},"storage":{"type":"number","description":"Amount of storage (in GB) provisioned to this cluster.","description_kind":"markdown","computed":true},"topic_prefix":{"type":"string","description":"Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use.","description_kind":"markdown","computed":true},"use_detailed_processing_log":{"type":"bool","description_kind":"plain","computed":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_network":{"version":0,"block":{"attributes":{"cidr":{"type":"string","description_kind":"plain","computed":true},"cloud":{"type":"string","description_kind":"plain","computed":true},"connection_types":{"type":["list","string"],"description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"dns_domain":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description":"The ID of the Network, for example, `n-abc123`.","description_kind":"markdown","optional":true,"computed":true},"region":{"type":"string","description_kind":"plain","computed":true},"resource_name":{"type":"string","description_kind":"plain","computed":true},"zonal_subdomains":{"type":["map","string"],"description":"The DNS subdomain for each zone. Present on networks that support PrivateLink. Keys are zones and values are DNS domains.","description_kind":"markdown","computed":true},"zones":{"type":["list","string"],"description_kind":"plain","computed":true}},"block_types":{"aws":{"nesting_mode":"list","block":{"attributes":{"account":{"type":"string","description":"The AWS account ID associated with the Confluent Cloud VPC.","description_kind":"markdown","computed":true},"private_link_endpoint_service":{"type":"string","description":"The endpoint service of the Confluent Cloud VPC (used for PrivateLink) if available.","description_kind":"markdown","computed":true},"vpc":{"type":"string","description":"The Confluent Cloud VPC ID.","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"azure":{"nesting_mode":"list","block":{"attributes":{"private_link_service_aliases":{"type":["map","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"dns_config":{"nesting_mode":"list","block":{"attributes":{"resolution":{"type":"string","description":"Network DNS resolution.","description_kind":"markdown","computed":true}},"description":"Network DNS config. It applies only to the PRIVATELINK network connection type.","description_kind":"markdown"}},"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"gcp":{"nesting_mode":"list","block":{"attributes":{"private_service_connect_service_attachments":{"type":["map","string"],"description":"The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7).","description_kind":"markdown","computed":true},"project":{"type":"string","description":"The GCP project.","description_kind":"markdown","computed":true},"vpc_network":{"type":"string","description":"The GCP VPC network name.","description_kind":"markdown","computed":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"confluent_organization":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The ID of the Organization (e.g., `1111aaaa-11aa-11aa-11aa-111111aaaaaa`).","description_kind":"markdown","computed":true},"resource_name":{"type":"string","description":"The Confluent Resource Name of the Organization.","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"confluent_peering":{"version":0,"block":{"attributes":{"aws":{"type":["list",["object",{"account":"string","customer_region":"string","routes":["list","string"],"vpc":"string"}]],"description_kind":"plain","computed":true},"azure":{"type":["list",["object",{"customer_region":"string","tenant":"string","vnet":"string"}]],"description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"gcp":{"type":["list",["object",{"import_custom_routes":"bool","project":"string","vpc_network":"string"}]],"description_kind":"plain","computed":true},"id":{"type":"string","description":"The ID of the Peering, for example, `pla-abc123`.","description_kind":"markdown","optional":true,"computed":true},"network":{"type":["list",["object",{"id":"string"}]],"description_kind":"plain","computed":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_private_link_access":{"version":0,"block":{"attributes":{"aws":{"type":["list",["object",{"account":"string"}]],"description_kind":"plain","computed":true},"azure":{"type":["list",["object",{"subscription":"string"}]],"description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"gcp":{"type":["list",["object",{"project":"string"}]],"description_kind":"plain","computed":true},"id":{"type":"string","description":"The ID of the Private Link Access, for example, `pla-abc123`.","description_kind":"markdown","optional":true,"computed":true},"network":{"type":["list",["object",{"id":"string"}]],"description_kind":"plain","computed":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_role_binding":{"version":0,"block":{"attributes":{"crn_pattern":{"type":"string","description":"A CRN that specifies the scope and resource patterns necessary for the role to bind.","description_kind":"markdown","computed":true},"id":{"type":"string","description":"The ID of the Role Binding (e.g., `rb-abc123`).","description_kind":"markdown","required":true},"principal":{"type":"string","description":"The principal User to bind the role to.","description_kind":"markdown","computed":true},"role_name":{"type":"string","description":"The name of the role to bind to the principal.","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"confluent_schema":{"version":0,"block":{"attributes":{"format":{"type":"string","description":"The format of the Schema.","description_kind":"markdown","computed":true},"hard_delete":{"type":"bool","description":"Controls whether a schema should be soft or hard deleted. Set it to `true` if you want to hard delete a schema on destroy. Defaults to `false` (soft delete).","description_kind":"markdown","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"recreate_on_update":{"type":"bool","description":"Controls whether a schema should be recreated on update.","description_kind":"markdown","computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true},"schema":{"type":"string","description":"The definition of the Schema.","description_kind":"markdown","computed":true},"schema_identifier":{"type":"number","description":"Globally unique identifier of the Schema returned for a creation request. It should be used to retrieve this schema from the schemas resource and is different from the schema’s version which is associated with the subject.","description_kind":"markdown","required":true},"schema_reference":{"type":["list",["object",{"name":"string","subject_name":"string","version":"number"}]],"description":"The list of references to other Schemas.","description_kind":"markdown","computed":true},"subject_name":{"type":"string","description":"The name of the Schema Registry Subject.","description_kind":"markdown","required":true},"version":{"type":"number","description":"The version number of the Schema.","description_kind":"markdown","computed":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_schema_registry_cluster":{"version":0,"block":{"attributes":{"api_version":{"type":"string","description":"API Version defines the schema version of this representation of a Schema Registry Cluster.","description_kind":"markdown","computed":true},"display_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"The ID of the Schema Registry cluster, for example, `lsrc-755ogo`.","description_kind":"markdown","optional":true,"computed":true},"kind":{"type":"string","description":"Kind defines the object Schema Registry Cluster represents.","description_kind":"markdown","computed":true},"package":{"type":"string","description":"The billing package.","description_kind":"markdown","computed":true},"region":{"type":["list",["object",{"id":"string"}]],"description_kind":"plain","computed":true},"resource_name":{"type":"string","description":"The Confluent Resource Name of the Schema Registry Cluster.","description_kind":"markdown","computed":true},"rest_endpoint":{"type":"string","description":"The API endpoint of the Schema Registry Cluster.","description_kind":"markdown","computed":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_schema_registry_cluster_config":{"version":0,"block":{"attributes":{"compatibility_level":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_schema_registry_cluster_mode":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mode":{"type":"string","description_kind":"plain","computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_schema_registry_region":{"version":0,"block":{"attributes":{"cloud":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description":"The ID of the Schema Registry Region (e.g., `sgreg-123`).","description_kind":"markdown","computed":true},"package":{"type":"string","description":"The billing package.","description_kind":"markdown","required":true},"region":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"confluent_service_account":{"version":0,"block":{"attributes":{"api_version":{"type":"string","description":"API Version defines the schema version of this representation of a Service Account.","description_kind":"markdown","computed":true},"description":{"type":"string","description":"A free-form description of the Service Account.","description_kind":"markdown","computed":true},"display_name":{"type":"string","description":"A human-readable name for the Service Account.","description_kind":"markdown","optional":true,"computed":true},"id":{"type":"string","description":"The ID of the Service Account (e.g., `sa-abc123`).","description_kind":"markdown","optional":true,"computed":true},"kind":{"type":"string","description":"Kind defines the object Service Account represents.","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"confluent_subject_config":{"version":0,"block":{"attributes":{"compatibility_level":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true},"subject_name":{"type":"string","description":"The name of the Schema Registry Subject.","description_kind":"markdown","required":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_subject_mode":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mode":{"type":"string","description_kind":"plain","computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true},"subject_name":{"type":"string","description":"The name of the Schema Registry Subject.","description_kind":"markdown","required":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_transit_gateway_attachment":{"version":0,"block":{"attributes":{"aws":{"type":["list",["object",{"ram_resource_share_arn":"string","routes":["list","string"],"transit_gateway_attachment_id":"string","transit_gateway_id":"string"}]],"description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"The ID of the TransitGatewayAttachment, for example, `pla-abc123`.","description_kind":"markdown","optional":true,"computed":true},"network":{"type":["list",["object",{"id":"string"}]],"description_kind":"plain","computed":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_user":{"version":0,"block":{"attributes":{"api_version":{"type":"string","description":"API Version defines the schema version of this representation of a User.","description_kind":"markdown","computed":true},"email":{"type":"string","description":"The email address of the User.","description_kind":"markdown","optional":true,"computed":true},"full_name":{"type":"string","description":"The full name of the User.","description_kind":"markdown","optional":true,"computed":true},"id":{"type":"string","description":"The ID of the User (e.g., `u-abc123`).","description_kind":"markdown","optional":true,"computed":true},"kind":{"type":"string","description":"Kind defines the object User represents.","description_kind":"markdown","computed":true}},"description_kind":"plain"}}}}}} +{"format_version":"1.0","provider_schemas":{"registry.terraform.io/confluentinc/confluent":{"provider":{"version":0,"block":{"attributes":{"cloud_api_key":{"type":"string","description":"The Confluent Cloud API Key.","description_kind":"markdown","optional":true,"sensitive":true},"cloud_api_secret":{"type":"string","description":"The Confluent Cloud API Secret.","description_kind":"markdown","optional":true,"sensitive":true},"endpoint":{"type":"string","description":"The base endpoint of Confluent Cloud API. Defaults to `https://api.confluent.cloud`.","description_kind":"markdown","optional":true},"kafka_api_key":{"type":"string","description":"The Kafka Cluster API Key.","description_kind":"markdown","optional":true,"sensitive":true},"kafka_api_secret":{"type":"string","description":"The Kafka Cluster API Secret.","description_kind":"markdown","optional":true,"sensitive":true},"kafka_id":{"type":"string","description":"The Kafka Cluster ID.","description_kind":"markdown","optional":true},"kafka_rest_endpoint":{"type":"string","description":"The Kafka Cluster REST Endpoint.","description_kind":"markdown","optional":true},"max_retries":{"type":"number","description":"Maximum number of retries of HTTP client. Defaults to 4.","description_kind":"markdown","optional":true},"schema_registry_api_key":{"type":"string","description":"The Schema Registry Cluster API Key.","description_kind":"markdown","optional":true,"sensitive":true},"schema_registry_api_secret":{"type":"string","description":"The Schema Registry Cluster API Secret.","description_kind":"markdown","optional":true,"sensitive":true},"schema_registry_id":{"type":"string","description":"The Schema Registry Cluster ID.","description_kind":"markdown","optional":true},"schema_registry_rest_endpoint":{"type":"string","description":"The Schema Registry Cluster REST Endpoint.","description_kind":"markdown","optional":true}},"description_kind":"plain"}},"resource_schemas":{"confluent_api_key":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"A free-form description of the API key.","description_kind":"markdown","optional":true},"disable_wait_for_ready":{"type":"bool","description":"Defaults to `false`.","description_kind":"markdown","optional":true},"display_name":{"type":"string","description":"A human-readable name for the API key.","description_kind":"markdown","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"secret":{"type":"string","description":"The API Key Secret.","description_kind":"markdown","computed":true,"sensitive":true}},"block_types":{"managed_resource":{"nesting_mode":"list","block":{"attributes":{"api_version":{"type":"string","description":"The API version of the referred owner.","description_kind":"markdown","required":true},"id":{"type":"string","description":"The unique identifier for the referred resource.","description_kind":"markdown","required":true},"kind":{"type":"string","description":"The kind of the referred resource.","description_kind":"markdown","required":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1}},"description":"The resource associated with this object. The only resource that is supported is 'cmk.v2.Cluster', 'srcm.v2.Cluster'.","description_kind":"markdown"},"max_items":1},"owner":{"nesting_mode":"list","block":{"attributes":{"api_version":{"type":"string","description":"The API version of the referred owner.","description_kind":"markdown","required":true},"id":{"type":"string","description":"The unique identifier for the referred owner.","description_kind":"markdown","required":true},"kind":{"type":"string","description":"The kind of the referred owner.","description_kind":"markdown","required":true}},"description":"The owner to which the API Key belongs. The owner can be one of 'iam.v2.User', 'iam.v2.ServiceAccount'.","description_kind":"markdown"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_business_metadata":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"The description of the Business Metadata to be created.","description_kind":"markdown","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the Business Metadata to be created.","description_kind":"markdown","required":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true},"version":{"type":"number","description":"The version.","description_kind":"markdown","computed":true}},"block_types":{"attribute_definition":{"nesting_mode":"set","block":{"attributes":{"default_value":{"type":"string","description_kind":"plain","optional":true,"computed":true},"description":{"type":"string","description_kind":"plain","optional":true,"computed":true},"is_optional":{"type":"bool","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"options":{"type":["map","string"],"description_kind":"plain","computed":true},"type":{"type":"string","description_kind":"plain","computed":true}},"description_kind":"plain"}},"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_business_metadata_binding":{"version":0,"block":{"attributes":{"attributes":{"type":["map","string"],"description":"The attributes.","description_kind":"markdown","optional":true,"computed":true},"business_metadata_name":{"type":"string","description":"The name of the business metadata to be applied.","description_kind":"markdown","required":true},"entity_name":{"type":"string","description":"The qualified name of the entity.","description_kind":"markdown","required":true},"entity_type":{"type":"string","description":"The entity type.","description_kind":"markdown","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_byok_key":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"aws":{"nesting_mode":"list","block":{"attributes":{"key_arn":{"type":"string","description_kind":"plain","required":true},"roles":{"type":["set","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"},"max_items":1},"azure":{"nesting_mode":"list","block":{"attributes":{"application_id":{"type":"string","description_kind":"plain","computed":true},"key_identifier":{"type":"string","description_kind":"plain","required":true},"key_vault_id":{"type":"string","description_kind":"plain","required":true},"tenant_id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_cluster_link":{"version":0,"block":{"attributes":{"config":{"type":["map","string"],"description":"The custom cluster link settings to set (e.g., `\"acl.sync.ms\" = \"5100\"`).","description_kind":"markdown","optional":true,"computed":true},"connection_mode":{"type":"string","description":"The connection mode of the Cluster Link. Defaults to `OUTBOUND`.","description_kind":"markdown","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"link_mode":{"type":"string","description":"The mode of the Cluster Link. Defaults to `DESTINATION`.","description_kind":"markdown","optional":true},"link_name":{"type":"string","description":"The name of the Cluster Link.","description_kind":"markdown","required":true}},"block_types":{"destination_kafka_cluster":{"nesting_mode":"list","block":{"attributes":{"bootstrap_endpoint":{"type":"string","description":"The bootstrap endpoint used by Kafka clients to connect to the Kafka cluster. (e.g., `SASL_SSL://pkc-00000.us-central1.gcp.confluent.cloud:9092` or pkc-00000.us-central1.gcp.confluent.cloud:9092`).","description_kind":"markdown","optional":true},"id":{"type":"string","description":"The unique identifier for the referred Kafka cluster.","description_kind":"markdown","required":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Kafka cluster (e.g., `https://pkc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Kafka API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Kafka API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Kafka API Credentials.","description_kind":"markdown"},"max_items":1}},"description_kind":"plain"},"max_items":1},"local_kafka_cluster":{"nesting_mode":"list","block":{"attributes":{"bootstrap_endpoint":{"type":"string","description":"The bootstrap endpoint used by Kafka clients to connect to the Kafka cluster. (e.g., `SASL_SSL://pkc-00000.us-central1.gcp.confluent.cloud:9092` or pkc-00000.us-central1.gcp.confluent.cloud:9092`).","description_kind":"markdown","optional":true},"id":{"type":"string","description":"The unique identifier for the referred Kafka cluster.","description_kind":"markdown","required":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Kafka cluster (e.g., `https://pkc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Kafka API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Kafka API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Kafka API Credentials.","description_kind":"markdown"},"max_items":1}},"description_kind":"plain"},"max_items":1},"remote_kafka_cluster":{"nesting_mode":"list","block":{"attributes":{"bootstrap_endpoint":{"type":"string","description":"The bootstrap endpoint used by Kafka clients to connect to the Kafka cluster. (e.g., `SASL_SSL://pkc-00000.us-central1.gcp.confluent.cloud:9092` or pkc-00000.us-central1.gcp.confluent.cloud:9092`).","description_kind":"markdown","optional":true},"id":{"type":"string","description":"The unique identifier for the referred Kafka cluster.","description_kind":"markdown","required":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Kafka cluster (e.g., `https://pkc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Kafka API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Kafka API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Kafka API Credentials.","description_kind":"markdown"},"max_items":1}},"description_kind":"plain"},"max_items":1},"source_kafka_cluster":{"nesting_mode":"list","block":{"attributes":{"bootstrap_endpoint":{"type":"string","description":"The bootstrap endpoint used by Kafka clients to connect to the Kafka cluster. (e.g., `SASL_SSL://pkc-00000.us-central1.gcp.confluent.cloud:9092` or pkc-00000.us-central1.gcp.confluent.cloud:9092`).","description_kind":"markdown","optional":true},"id":{"type":"string","description":"The unique identifier for the referred Kafka cluster.","description_kind":"markdown","required":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Kafka cluster (e.g., `https://pkc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Kafka API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Kafka API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Kafka API Credentials.","description_kind":"markdown"},"max_items":1}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_connector":{"version":0,"block":{"attributes":{"config_nonsensitive":{"type":["map","string"],"description":"The nonsensitive configuration settings to set (e.g., `\"time.interval\" = \"DAILY\"`).","description_kind":"markdown","required":true},"config_sensitive":{"type":["map","string"],"description":"The sensitive configuration settings to set (e.g., `\"gcs.credentials.config\" = \"**REDACTED***\"`). Should not be set for an import operation.","description_kind":"markdown","optional":true,"computed":true,"sensitive":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"status":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1},"kafka_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Kafka cluster ID (e.g., `lkc-12345`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"confluent_custom_connector_plugin":{"version":0,"block":{"attributes":{"connector_class":{"type":"string","description":"Java class or alias for connector. You can get connector class from connector documentation provided by developer.","description_kind":"markdown","required":true},"connector_type":{"type":"string","description":"Custom Connector type.","description_kind":"markdown","required":true},"description":{"type":"string","description":"A free-form description of the Custom Connector Plugin.","description_kind":"markdown","optional":true},"display_name":{"type":"string","description":"A human-readable name for the Custom Connector Plugin.","description_kind":"markdown","required":true},"documentation_link":{"type":"string","description":"A documentation link of the Custom Connector Plugin.","description_kind":"markdown","optional":true},"filename":{"type":"string","description":"The path to the file that will be created.","description_kind":"markdown","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"sensitive_config_properties":{"type":["list","string"],"description":"A list of sensitive properties where a sensitive property is a connector configuration property that must be hidden after a user enters property value when setting up connector.","description_kind":"markdown","optional":true}},"description_kind":"plain"}},"confluent_environment":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"A human-readable name for the Environment.","description_kind":"markdown","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"resource_name":{"type":"string","description":"The Confluent Resource Name of the Environment.","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"confluent_flink_compute_pool":{"version":0,"block":{"attributes":{"api_version":{"type":"string","description_kind":"plain","computed":true},"cloud":{"type":"string","description":"The cloud service provider that runs the compute pool.","description_kind":"markdown","required":true},"current_cfu":{"type":"number","description":"The number of Confluent Flink Units (CFUs) currently allocated to this Flink compute pool.","description_kind":"markdown","computed":true},"display_name":{"type":"string","description":"The name of the Flink compute pool.","description_kind":"markdown","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kind":{"type":"string","description_kind":"plain","computed":true},"max_cfu":{"type":"number","description":"Maximum number of Confluent Flink Units (CFUs) that the Flink compute pool should auto-scale to.","description_kind":"markdown","optional":true,"computed":true},"region":{"type":"string","description":"The cloud service provider region that hosts the Flink compute pool.","description_kind":"markdown","required":true},"resource_name":{"type":"string","description":"The Confluent Resource Name of the Flink compute pool.","description_kind":"markdown","computed":true},"rest_endpoint":{"type":"string","description":"The API endpoint of the ksqlDB cluster.","description_kind":"markdown","computed":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"confluent_identity_pool":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"A description of the Identity Pool.","description_kind":"markdown","required":true},"display_name":{"type":"string","description":"A name for the Identity Pool.","description_kind":"markdown","required":true},"filter":{"type":"string","description":"A filter expression that must be evaluated to be true to use this identity pool.","description_kind":"markdown","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identity_claim":{"type":"string","description":"A JWT claim to extract the authenticating principal to Confluent resources.","description_kind":"markdown","required":true}},"block_types":{"identity_provider":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the Identity Provider.","description_kind":"markdown","required":true}},"description":"Identity Provider objects represent external OAuth/OpenID Connect providers within Confluent Cloud.","description_kind":"markdown"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_identity_provider":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"A description of the Identity Provider.","description_kind":"markdown","required":true},"display_name":{"type":"string","description":"A name for the Identity Provider.","description_kind":"markdown","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"issuer":{"type":"string","description":"A publicly reachable issuer URI for the Identity Provider.","description_kind":"markdown","required":true},"jwks_uri":{"type":"string","description":"A publicly reachable JWKS URI for the Identity Provider.","description_kind":"markdown","required":true}},"description_kind":"plain"}},"confluent_invitation":{"version":0,"block":{"attributes":{"accepted_at":{"type":"string","description_kind":"plain","computed":true},"auth_type":{"type":"string","description_kind":"plain","optional":true,"computed":true},"creator":{"type":["list",["object",{"id":"string"}]],"description_kind":"plain","computed":true},"email":{"type":"string","description_kind":"plain","required":true},"expires_at":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"status":{"type":"string","description_kind":"plain","computed":true},"user":{"type":["list",["object",{"id":"string"}]],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"confluent_kafka_acl":{"version":2,"block":{"attributes":{"host":{"type":"string","description":"The host for the ACL.","description_kind":"markdown","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"operation":{"type":"string","description":"The operation type for the ACL.","description_kind":"markdown","required":true},"pattern_type":{"type":"string","description":"The pattern type for the ACL.","description_kind":"markdown","required":true},"permission":{"type":"string","description":"The permission for the ACL.","description_kind":"markdown","required":true},"principal":{"type":"string","description":"The principal for the ACL.","description_kind":"markdown","required":true},"resource_name":{"type":"string","description":"The resource name for the ACL.","description_kind":"markdown","required":true},"resource_type":{"type":"string","description":"The type of the resource.","description_kind":"markdown","required":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Kafka cluster (e.g., `https://pkc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"kafka_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Kafka cluster ID (e.g., `lkc-12345`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_kafka_client_quota":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"A description of the Kafka Client Quota.","description_kind":"markdown","optional":true},"display_name":{"type":"string","description":"The name of the Kafka Client Quota.","description_kind":"markdown","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"principals":{"type":["set","string"],"description":"A list of service accounts and identity pools. Special name \"default\" can be used to represent the default quota for all users and service accounts.","description_kind":"markdown","required":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1},"kafka_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Kafka cluster ID (e.g., `lkc-12345`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"throughput":{"nesting_mode":"list","block":{"attributes":{"egress_byte_rate":{"type":"string","description":"The egress throughput limit in bytes per second.","description_kind":"markdown","required":true},"ingress_byte_rate":{"type":"string","description":"The ingress throughput limit in bytes per second.","description_kind":"markdown","required":true}},"description":"Block for representing a Kafka Quota.","description_kind":"markdown"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_kafka_cluster":{"version":1,"block":{"attributes":{"api_version":{"type":"string","description":"API Version defines the schema version of this representation of a Kafka cluster.","description_kind":"markdown","computed":true},"availability":{"type":"string","description":"The availability zone configuration of the Kafka cluster.","description_kind":"markdown","required":true},"bootstrap_endpoint":{"type":"string","description":"The bootstrap endpoint used by Kafka clients to connect to the Kafka cluster.","description_kind":"markdown","computed":true},"cloud":{"type":"string","description":"The cloud service provider that runs the Kafka cluster.","description_kind":"markdown","required":true},"display_name":{"type":"string","description":"The name of the Kafka cluster.","description_kind":"markdown","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kind":{"type":"string","description":"Kind defines the object Kafka cluster represents.","description_kind":"markdown","computed":true},"rbac_crn":{"type":"string","description":"The Confluent Resource Name of the Kafka cluster suitable for confluent_role_binding's crn_pattern.","description_kind":"markdown","computed":true},"region":{"type":"string","description":"The cloud service provider region where the Kafka cluster is running.","description_kind":"markdown","required":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Kafka cluster.","description_kind":"markdown","computed":true}},"block_types":{"basic":{"nesting_mode":"list","block":{"description_kind":"plain"}},"byok_key":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The ID of the Confluent key that is used to encrypt the data in the Kafka cluster.","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1},"dedicated":{"nesting_mode":"list","block":{"attributes":{"cku":{"type":"number","description":"The number of Confluent Kafka Units (CKUs) for Dedicated cluster types. MULTI_ZONE dedicated clusters must have at least two CKUs.","description_kind":"markdown","required":true},"encryption_key":{"type":"string","description":"The ID of the encryption key that is used to encrypt the data in the Kafka cluster.","description_kind":"markdown","optional":true},"zones":{"type":["list","string"],"description":"The list of zones the cluster is in.","description_kind":"markdown","computed":true}},"description_kind":"plain"},"max_items":1},"enterprise":{"nesting_mode":"list","block":{"description_kind":"plain"}},"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1},"network":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the network.","description_kind":"markdown","required":true}},"description":"Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider accounts.","description_kind":"markdown"},"max_items":1},"standard":{"nesting_mode":"list","block":{"description_kind":"plain"}},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"update":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"confluent_kafka_cluster_config":{"version":0,"block":{"attributes":{"config":{"type":["map","string"],"description":"The custom cluster settings to set (e.g., `\"num.partitions\" = \"8\"`).","description_kind":"markdown","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Kafka cluster (e.g., `https://pkc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"kafka_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Kafka cluster ID (e.g., `lkc-12345`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_kafka_mirror_topic":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mirror_topic_name":{"type":"string","description":"Name of the topic to be mirrored over the Kafka Mirror Topic, i.e. the source topic's name. Only required when there is a prefix configured on the link.","description_kind":"markdown","optional":true,"computed":true},"status":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"cluster_link":{"nesting_mode":"list","block":{"attributes":{"link_name":{"type":"string","description":"The name of the Cluster Link.","description_kind":"markdown","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"kafka_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the referred Kafka cluster.","description_kind":"markdown","required":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Kafka cluster (e.g., `https://pkc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Kafka API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Kafka API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Kafka API Credentials.","description_kind":"markdown"},"max_items":1}},"description_kind":"plain"},"min_items":1,"max_items":1},"source_kafka_topic":{"nesting_mode":"list","block":{"attributes":{"topic_name":{"type":"string","description":"The name of the Source Kafka topic.","description_kind":"markdown","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_kafka_topic":{"version":2,"block":{"attributes":{"config":{"type":["map","string"],"description":"The custom topic settings to set (e.g., `\"cleanup.policy\" = \"compact\"`).","description_kind":"markdown","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"partitions_count":{"type":"number","description":"The number of partitions to create in the topic. Defaults to `6`.","description_kind":"markdown","optional":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Kafka cluster (e.g., `https://pkc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true},"topic_name":{"type":"string","description":"The name of the topic, for example, `orders-1`.","description_kind":"markdown","required":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"kafka_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Kafka cluster ID (e.g., `lkc-12345`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_ksql_cluster":{"version":0,"block":{"attributes":{"api_version":{"type":"string","description_kind":"plain","computed":true},"csu":{"type":"number","description":"The number of Confluent Streaming Units (CSUs) for the ksqlDB cluster.","description_kind":"markdown","required":true},"display_name":{"type":"string","description":"The name of the ksqlDB cluster.","description_kind":"markdown","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kind":{"type":"string","description_kind":"plain","computed":true},"resource_name":{"type":"string","description":"The Confluent Resource Name of the ksqlDB cluster.","description_kind":"markdown","computed":true},"rest_endpoint":{"type":"string","description":"The API endpoint of the ksqlDB cluster.","description_kind":"markdown","computed":true},"storage":{"type":"number","description":"The amount of storage (in GB) provisioned to the ksqlDB cluster.","description_kind":"markdown","computed":true},"topic_prefix":{"type":"string","description":"Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use.","description_kind":"markdown","computed":true},"use_detailed_processing_log":{"type":"bool","description":"Controls whether the row data should be included in the processing log topic. Set it to `false` if you don't want to emit sensitive information to the processing log. Defaults to `true`. Defaults to `true`.","description_kind":"markdown","optional":true}},"block_types":{"credential_identity":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The credential_identity to which this belongs. The credential_identity can be one of iam.v2.User, iam.v2.ServiceAccount.","description_kind":"markdown","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1},"kafka_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Kafka cluster ID (e.g., `lkc-12345`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"confluent_network":{"version":0,"block":{"attributes":{"cidr":{"type":"string","description":"The IPv4 CIDR block to used for this network. Must be /16. Required for VPC peering and AWS TransitGateway.","description_kind":"markdown","optional":true,"computed":true},"cloud":{"type":"string","description":"The cloud service provider in which the network exists.","description_kind":"markdown","required":true},"connection_types":{"type":["list","string"],"description_kind":"plain","required":true},"display_name":{"type":"string","description":"The name of the Network.","description_kind":"markdown","optional":true,"computed":true},"dns_domain":{"type":"string","description":"The root DNS domain for the network if applicable. Present on networks that support PrivateLink.","description_kind":"markdown","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"region":{"type":"string","description":"The cloud service provider region where the network exists.","description_kind":"markdown","required":true},"reserved_cidr":{"type":"string","description":"The IPv4 CIDR block reserved for Confluent Cloud Network. Must be /24. If not specified, Confluent Cloud Network uses 172.20.255.0/24","description_kind":"markdown","optional":true,"computed":true},"resource_name":{"type":"string","description":"The Confluent Resource Name of the Network.","description_kind":"markdown","computed":true},"zonal_subdomains":{"type":["map","string"],"description":"The DNS subdomain for each zone. Present on networks that support PrivateLink. Keys are zones and values are DNS domains.","description_kind":"markdown","computed":true},"zones":{"type":["list","string"],"description":"The 3 availability zones for this network. They can optionally be specified for only AWS networks used with PrivateLink. Otherwise, they are automatically chosen by Confluent Cloud.","description_kind":"markdown","optional":true,"computed":true}},"block_types":{"aws":{"nesting_mode":"list","block":{"attributes":{"account":{"type":"string","description":"The AWS account ID associated with the Confluent Cloud VPC.","description_kind":"markdown","computed":true},"private_link_endpoint_service":{"type":"string","description":"The endpoint service of the Confluent Cloud VPC (used for PrivateLink) if available.","description_kind":"markdown","computed":true},"vpc":{"type":"string","description":"The Confluent Cloud VPC ID.","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"azure":{"nesting_mode":"list","block":{"attributes":{"private_link_service_aliases":{"type":["map","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"dns_config":{"nesting_mode":"list","block":{"attributes":{"resolution":{"type":"string","description":"Network DNS resolution.","description_kind":"markdown","required":true}},"description":"Network DNS config. It applies only to the PRIVATELINK network connection type.","description_kind":"markdown"},"max_items":1},"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1},"gcp":{"nesting_mode":"list","block":{"attributes":{"private_service_connect_service_attachments":{"type":["map","string"],"description":"The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7).","description_kind":"markdown","computed":true},"project":{"type":"string","description":"The GCP project.","description_kind":"markdown","computed":true},"vpc_network":{"type":"string","description":"The GCP VPC network name.","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}},"zone_info":{"nesting_mode":"list","block":{"attributes":{"cidr":{"type":"string","description_kind":"plain","optional":true,"computed":true},"zone_id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description":"Each item represents information related to a single zone.","description_kind":"markdown"}}},"description_kind":"plain"}},"confluent_network_link_endpoint":{"version":0,"block":{"attributes":{"description":{"type":"string","description_kind":"plain","optional":true,"computed":true},"display_name":{"type":"string","description":"The display name of the Network Link Endpoint.","description_kind":"markdown","optional":true,"computed":true},"id":{"type":"string","description":"The ID of the Network Link Endpoint, for example, `nle-a1b2c`.","description_kind":"markdown","computed":true},"resource_name":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1},"network":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the network.","description_kind":"markdown","required":true}},"description":"Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider accounts.","description_kind":"markdown"},"min_items":1,"max_items":1},"network_link_service":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the Network Link Endpoint.","description_kind":"markdown","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_network_link_service":{"version":0,"block":{"attributes":{"description":{"type":"string","description_kind":"plain","optional":true,"computed":true},"display_name":{"type":"string","description":"The display name of the Network Link Service.","description_kind":"markdown","optional":true,"computed":true},"id":{"type":"string","description":"The ID of the Network Link Service, for example, `nls-a1b2c`.","description_kind":"markdown","computed":true},"resource_name":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"accept":{"nesting_mode":"list","block":{"attributes":{"environments":{"type":["set","string"],"description_kind":"plain","optional":true,"computed":true},"networks":{"type":["set","string"],"description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"},"max_items":1},"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1},"network":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the network.","description_kind":"markdown","required":true}},"description":"Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider accounts.","description_kind":"markdown"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_peering":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"The name of the Peering.","description_kind":"markdown","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"aws":{"nesting_mode":"list","block":{"attributes":{"account":{"type":"string","description":"AWS account for VPC to peer with the network.","description_kind":"markdown","required":true},"customer_region":{"type":"string","description":"Region of customer VPC.","description_kind":"markdown","required":true},"routes":{"type":["list","string"],"description":"List of routes for the peering.","description_kind":"markdown","required":true},"vpc":{"type":"string","description":"The id of the AWS VPC to peer with.","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1},"azure":{"nesting_mode":"list","block":{"attributes":{"customer_region":{"type":"string","description":"Region of customer VNet.","description_kind":"markdown","required":true},"tenant":{"type":"string","description":"Customer Azure tenant.","description_kind":"markdown","required":true},"vnet":{"type":"string","description":"Customer VNet to peer with.","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1},"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1},"gcp":{"nesting_mode":"list","block":{"attributes":{"import_custom_routes":{"type":"bool","description":"Enable customer route import. Defaults to `false`.","description_kind":"markdown","optional":true},"project":{"type":"string","description":"The name of the GCP project.","description_kind":"markdown","required":true},"vpc_network":{"type":"string","description":"The name of the GCP VPC network to peer with.","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1},"network":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the network.","description_kind":"markdown","required":true}},"description":"Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider accounts.","description_kind":"markdown"},"min_items":1,"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"confluent_private_link_access":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"The name of the PrivateLink access.","description_kind":"markdown","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"aws":{"nesting_mode":"list","block":{"attributes":{"account":{"type":"string","description":"AWS Account ID to allow for PrivateLink access. Find here (https://console.aws.amazon.com/billing/home?#/account) under My Account in your AWS Management Console.","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1},"azure":{"nesting_mode":"list","block":{"attributes":{"subscription":{"type":"string","description":"Azure subscription to allow for PrivateLink access.","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1},"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1},"gcp":{"nesting_mode":"list","block":{"attributes":{"project":{"type":"string","description":"The GCP project ID to allow for Private Service Connect access.","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1},"network":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the network.","description_kind":"markdown","required":true}},"description":"Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider accounts.","description_kind":"markdown"},"min_items":1,"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"confluent_private_link_attachment":{"version":0,"block":{"attributes":{"aws":{"type":["list",["object",{"vpc_endpoint_service_name":"string"}]],"description_kind":"plain","computed":true},"azure":{"type":["set",["object",{"private_link_service_alias":"string","private_link_service_resource_id":"string","zone":"string"}]],"description_kind":"plain","computed":true},"cloud":{"type":"string","description":"The cloud service provider that hosts the resources to access with the PrivateLink attachment.","description_kind":"markdown","required":true},"display_name":{"type":"string","description":"The name of the Private Link Attachment.","description_kind":"markdown","optional":true,"computed":true},"dns_domain":{"type":"string","description":"The root DNS domain for the private link attachment.","description_kind":"markdown","computed":true},"gcp":{"type":["set",["object",{"private_service_connect_service_attachment":"string","zone":"string"}]],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"region":{"type":"string","description":"The cloud service provider region where the resources to be accessed using the PrivateLink attachment are located.","description_kind":"markdown","required":true},"resource_name":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_private_link_attachment_connection":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"The name of the Private Link Attachment Connection.","description_kind":"markdown","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"resource_name":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"aws":{"nesting_mode":"list","block":{"attributes":{"vpc_endpoint_id":{"type":"string","description":"Id of a VPC Endpoint that is connected to the VPC Endpoint service.","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1},"azure":{"nesting_mode":"list","block":{"attributes":{"private_endpoint_resource_id":{"type":"string","description":"Resource Id of the PrivateEndpoint that is connected to the PrivateLink service.","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1},"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1},"gcp":{"nesting_mode":"list","block":{"attributes":{"private_service_connect_connection_id":{"type":"string","description":"Id of the Private Service connection.","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1},"private_link_attachment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the private link attachment.","description_kind":"markdown","required":true}},"description":"The private_link_attachment to which this belongs.","description_kind":"markdown"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_role_binding":{"version":0,"block":{"attributes":{"crn_pattern":{"type":"string","description":"A CRN that specifies the scope and resource patterns necessary for the role to bind.","description_kind":"markdown","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"principal":{"type":"string","description":"The principal User to bind the role to.","description_kind":"markdown","required":true},"role_name":{"type":"string","description":"The name of the role to bind to the principal.","description_kind":"markdown","required":true}},"description_kind":"plain"}},"confluent_schema":{"version":0,"block":{"attributes":{"format":{"type":"string","description":"The format of the Schema.","description_kind":"markdown","required":true},"hard_delete":{"type":"bool","description":"Controls whether a schema should be soft or hard deleted. Set it to `true` if you want to hard delete a schema on destroy. Defaults to `false` (soft delete). Defaults to `false`.","description_kind":"markdown","optional":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"recreate_on_update":{"type":"bool","description":"Controls whether a schema should be recreated on update. Defaults to `false`.","description_kind":"markdown","optional":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true},"schema":{"type":"string","description":"The definition of the Schema.","description_kind":"markdown","optional":true,"computed":true},"schema_identifier":{"type":"number","description":"Globally unique identifier of the Schema returned for a creation request. It should be used to retrieve this schema from the schemas resource and is different from the schema’s version which is associated with the subject.","description_kind":"markdown","computed":true},"subject_name":{"type":"string","description":"The name of the Schema Registry Subject.","description_kind":"markdown","required":true},"version":{"type":"number","description":"The version number of the Schema.","description_kind":"markdown","computed":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_reference":{"nesting_mode":"set","block":{"attributes":{"name":{"type":"string","description":"The name of the Schema references (for example, \"io.confluent.kafka.example.User\"). For Avro, the reference name is the fully qualified schema name, for JSON Schema it is a URL, and for Protobuf, it is the name of another Protobuf file.","description_kind":"markdown","required":true},"subject_name":{"type":"string","description":"The name of the referenced Schema Registry Subject (for example, \"User\").","description_kind":"markdown","required":true},"version":{"type":"number","description":"The version of the referenced Schema.","description_kind":"markdown","required":true}},"description":"The list of references to other Schemas.","description_kind":"markdown"}},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_schema_exporter":{"version":0,"block":{"attributes":{"config":{"type":["map","string"],"description_kind":"plain","optional":true,"computed":true},"context":{"type":"string","description_kind":"plain","optional":true,"computed":true},"context_type":{"type":"string","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description_kind":"plain","required":true},"reset_on_update":{"type":"bool","description":"Defaults to `false`.","description_kind":"markdown","optional":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true},"status":{"type":"string","description_kind":"plain","optional":true,"computed":true},"subject_rename_format":{"type":"string","description_kind":"plain","optional":true,"computed":true},"subjects":{"type":["set","string"],"description_kind":"plain","optional":true,"computed":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"destination_schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"rest_endpoint":{"type":"string","description_kind":"plain","required":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description_kind":"plain","required":true,"sensitive":true},"secret":{"type":"string","description_kind":"plain","required":true,"sensitive":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"},"min_items":1,"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_schema_registry_cluster":{"version":0,"block":{"attributes":{"api_version":{"type":"string","description":"API Version defines the schema version of this representation of a Schema Registry Cluster.","description_kind":"markdown","computed":true},"display_name":{"type":"string","description":"The name of the Schema Registry Cluster.","description_kind":"markdown","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kind":{"type":"string","description":"Kind defines the object Schema Registry Cluster represents.","description_kind":"markdown","computed":true},"package":{"type":"string","description":"The billing package.","description_kind":"markdown","required":true},"resource_name":{"type":"string","description":"The Confluent Resource Name of the Schema Registry Cluster.","description_kind":"markdown","computed":true},"rest_endpoint":{"type":"string","description":"The API endpoint of the Schema Registry Cluster.","description_kind":"markdown","computed":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1},"region":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the Schema Registry Region.","description_kind":"markdown","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_schema_registry_cluster_config":{"version":0,"block":{"attributes":{"compatibility_level":{"type":"string","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_schema_registry_cluster_mode":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mode":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_service_account":{"version":0,"block":{"attributes":{"api_version":{"type":"string","description":"API Version defines the schema version of this representation of a Service Account.","description_kind":"markdown","computed":true},"description":{"type":"string","description":"A free-form description of the Service Account.","description_kind":"markdown","optional":true},"display_name":{"type":"string","description":"A human-readable name for the Service Account.","description_kind":"markdown","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kind":{"type":"string","description":"Kind defines the object Service Account represents.","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"confluent_subject_config":{"version":0,"block":{"attributes":{"compatibility_level":{"type":"string","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true},"subject_name":{"type":"string","description":"The name of the Schema Registry Subject.","description_kind":"markdown","required":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_subject_mode":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mode":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true},"subject_name":{"type":"string","description":"The name of the Schema Registry Subject.","description_kind":"markdown","required":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_tag":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"The description of the tag to be created.","description_kind":"markdown","optional":true},"entity_types":{"type":["set","string"],"description":"The entity type of the tag to be created.","description_kind":"markdown","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"name":{"type":"string","description":"The name of the tag to be created.","description_kind":"markdown","required":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true},"version":{"type":"number","description":"The version.","description_kind":"markdown","computed":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_tag_binding":{"version":0,"block":{"attributes":{"entity_name":{"type":"string","description":"The qualified name of the entity.","description_kind":"markdown","required":true},"entity_type":{"type":"string","description":"The entity type.","description_kind":"markdown","required":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true},"tag_name":{"type":"string","description":"The name of the tag to be applied.","description_kind":"markdown","required":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_tf_importer":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"output_path":{"type":"string","description":"Defaults to `./imported_confluent_infrastructure`.","description_kind":"markdown","optional":true},"resources":{"type":["list","string"],"description":"A list of resources to Import. Defaults to all Importable resources.","description_kind":"markdown","optional":true}},"description_kind":"plain"}},"confluent_transit_gateway_attachment":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"The name of the Transit Gateway Attachment.","description_kind":"markdown","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"block_types":{"aws":{"nesting_mode":"list","block":{"attributes":{"ram_resource_share_arn":{"type":"string","description":"The Amazon Resource Name (ARN) of the Resource Access Manager (RAM) Resource Share of the transit gateway your Confluent Cloud network attaches to.","description_kind":"markdown","required":true},"routes":{"type":["list","string"],"description":"List of destination routes for traffic from Confluent VPC to customer VPC via Transit Gateway.","description_kind":"markdown","required":true},"transit_gateway_attachment_id":{"type":"string","description":"The ID of the AWS Transit Gateway VPC Attachment that attaches Confluent VPC to Transit Gateway.","description_kind":"markdown","computed":true},"transit_gateway_id":{"type":"string","description":"The ID of the AWS Transit Gateway that your Confluent Cloud network attaches to.","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1},"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the environment.","description_kind":"markdown","required":true}},"description":"Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.","description_kind":"markdown"},"min_items":1,"max_items":1},"network":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The unique identifier for the network.","description_kind":"markdown","required":true}},"description":"Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider accounts.","description_kind":"markdown"},"min_items":1,"max_items":1},"timeouts":{"nesting_mode":"single","block":{"attributes":{"create":{"type":"string","description_kind":"plain","optional":true},"delete":{"type":"string","description_kind":"plain","optional":true}},"description_kind":"plain"}}},"description_kind":"plain"}}},"data_source_schemas":{"confluent_business_metadata":{"version":0,"block":{"attributes":{"attribute_definition":{"type":["set",["object",{"default_value":"string","description":"string","is_optional":"bool","name":"string","options":["map","string"],"type":"string"}]],"description_kind":"plain","computed":true},"description":{"type":"string","description":"The description of the Business Metadata.","description_kind":"markdown","computed":true},"id":{"type":"string","description":"The id of the Business Metadata.","description_kind":"markdown","computed":true},"name":{"type":"string","description":"The name of the Business Metadata.","description_kind":"markdown","required":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true},"version":{"type":"number","description":"The version.","description_kind":"markdown","computed":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_business_metadata_binding":{"version":0,"block":{"attributes":{"attributes":{"type":["map","string"],"description":"The attributes.","description_kind":"markdown","computed":true},"business_metadata_name":{"type":"string","description":"The name of the business metadata.","description_kind":"markdown","required":true},"entity_name":{"type":"string","description":"The qualified name of the entity.","description_kind":"markdown","required":true},"entity_type":{"type":"string","description":"The entity type.","description_kind":"markdown","required":true},"id":{"type":"string","description":"The id of the business metadata binding.","description_kind":"markdown","computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_byok_key":{"version":0,"block":{"attributes":{"aws":{"type":["list",["object",{"key_arn":"string","roles":["set","string"]}]],"description_kind":"plain","computed":true},"azure":{"type":["list",["object",{"application_id":"string","key_identifier":"string","key_vault_id":"string","tenant_id":"string"}]],"description_kind":"plain","computed":true},"id":{"type":"string","description":"The id of the BYOK key","description_kind":"markdown","required":true}},"description_kind":"plain"}},"confluent_environment":{"version":0,"block":{"attributes":{"display_name":{"type":"string","description":"A human-readable name for the Environment.","description_kind":"markdown","optional":true,"computed":true},"id":{"type":"string","description":"The ID of the Environment (e.g., `env-abc123`).","description_kind":"markdown","optional":true,"computed":true},"resource_name":{"type":"string","description":"The Confluent Resource Name of the Environment.","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"confluent_environments":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ids":{"type":["list","string"],"description":"List of environments","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"confluent_flink_compute_pool":{"version":0,"block":{"attributes":{"api_version":{"type":"string","description_kind":"plain","computed":true},"cloud":{"type":"string","description_kind":"plain","computed":true},"current_cfu":{"type":"number","description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"The ID of the Compute Pool, for example, `lfcp-abc123`.","description_kind":"markdown","optional":true,"computed":true},"kind":{"type":"string","description_kind":"plain","computed":true},"max_cfu":{"type":"number","description_kind":"plain","computed":true},"region":{"type":"string","description_kind":"plain","computed":true},"resource_name":{"type":"string","description_kind":"plain","computed":true},"rest_endpoint":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_identity_pool":{"version":0,"block":{"attributes":{"description":{"type":"string","description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"filter":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"identity_claim":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"identity_provider":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_identity_provider":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"A description of the Identity Provider.","description_kind":"markdown","computed":true},"display_name":{"type":"string","description":"A name for the Identity Provider.","description_kind":"markdown","optional":true,"computed":true},"id":{"type":"string","description":"The ID of the Identity Provider (e.g., `op-abc123`).","description_kind":"markdown","optional":true,"computed":true},"issuer":{"type":"string","description":"A publicly reachable issuer URI for the Identity Provider.","description_kind":"markdown","computed":true},"jwks_uri":{"type":"string","description":"A publicly reachable JWKS URI for the Identity Provider.","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"confluent_invitation":{"version":0,"block":{"attributes":{"accepted_at":{"type":"string","description_kind":"plain","computed":true},"auth_type":{"type":"string","description_kind":"plain","computed":true},"creator":{"type":["list",["object",{"id":"string"}]],"description_kind":"plain","computed":true},"email":{"type":"string","description_kind":"plain","computed":true},"expires_at":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description":"The ID of the invitation, for example, `dlz-f3a90de`.","description_kind":"markdown","required":true},"status":{"type":"string","description_kind":"plain","computed":true},"user":{"type":["list",["object",{"id":"string"}]],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"confluent_ip_addresses":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ip_addresses":{"type":["list",["object",{"address_type":"string","api_version":"string","cloud":"string","ip_prefix":"string","kind":"string","region":"string","services":["list","string"]}]],"description_kind":"plain","computed":true}},"block_types":{"filter":{"nesting_mode":"list","block":{"attributes":{"address_types":{"type":["list","string"],"description":"Filter the results by exact match for address_type. Pass multiple times to see results matching any of the values.","description_kind":"markdown","optional":true},"clouds":{"type":["list","string"],"description":"Filter the results by exact match for cloud. Pass multiple times to see results matching any of the values.","description_kind":"markdown","optional":true},"regions":{"type":["list","string"],"description":"Filter the results by exact match for region. Pass multiple times to see results matching any of the values.","description_kind":"markdown","optional":true},"services":{"type":["list","string"],"description":"Filter the results by exact match for services. Pass multiple times to see results matching any of the values.","description_kind":"markdown","optional":true}},"description":"Schema filters.","description_kind":"markdown"},"max_items":1}},"description_kind":"plain"}},"confluent_kafka_client_quota":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"A description of the Kafka Client Quota.","description_kind":"markdown","computed":true},"display_name":{"type":"string","description":"The name of the Kafka Client Quota.","description_kind":"markdown","computed":true},"environment":{"type":["list",["object",{"id":"string"}]],"description_kind":"plain","computed":true},"id":{"type":"string","description":"The ID of the Kafka Client Quota (e.g., `rb-abc123`).","description_kind":"markdown","required":true},"kafka_cluster":{"type":["list",["object",{"id":"string"}]],"description_kind":"plain","computed":true},"principals":{"type":["set","string"],"description":"A list of service accounts and identity pools. Special name \"default\" can be used to represent the default quota for all users and service accounts.","description_kind":"markdown","computed":true},"throughput":{"type":["list",["object",{"egress_byte_rate":"string","ingress_byte_rate":"string"}]],"description":"Block for representing a Kafka Quota.","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"confluent_kafka_cluster":{"version":1,"block":{"attributes":{"api_version":{"type":"string","description_kind":"plain","computed":true},"availability":{"type":"string","description_kind":"plain","computed":true},"bootstrap_endpoint":{"type":"string","description_kind":"plain","computed":true},"byok_key":{"type":["list",["object",{"id":"string"}]],"description_kind":"plain","computed":true},"cloud":{"type":"string","description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"The ID of the Kafka cluster, for example, `lkc-abc123`.","description_kind":"markdown","optional":true,"computed":true},"kind":{"type":"string","description_kind":"plain","computed":true},"network":{"type":["list",["object",{"id":"string"}]],"description":"Network represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud provider accounts.","description_kind":"markdown","computed":true},"rbac_crn":{"type":"string","description_kind":"plain","computed":true},"region":{"type":"string","description_kind":"plain","computed":true},"rest_endpoint":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"basic":{"nesting_mode":"list","block":{"description_kind":"plain"}},"dedicated":{"nesting_mode":"list","block":{"attributes":{"cku":{"type":"number","description":"The number of Confluent Kafka Units (CKUs) for Dedicated cluster types. MULTI_ZONE dedicated clusters must have at least two CKUs.","description_kind":"markdown","computed":true},"encryption_key":{"type":"string","description":"The ID of the encryption key that is used to encrypt the data in the Kafka cluster.","description_kind":"markdown","computed":true},"zones":{"type":["list","string"],"description":"The list of zones the cluster is in.","description_kind":"markdown","computed":true}},"description_kind":"plain"},"max_items":1},"enterprise":{"nesting_mode":"list","block":{"description_kind":"plain"}},"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"standard":{"nesting_mode":"list","block":{"description_kind":"plain"}}},"description_kind":"plain"}},"confluent_kafka_topic":{"version":2,"block":{"attributes":{"config":{"type":["map","string"],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"partitions_count":{"type":"number","description_kind":"plain","computed":true},"rest_endpoint":{"type":"string","description_kind":"plain","required":true},"topic_name":{"type":"string","description_kind":"plain","required":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"kafka_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_ksql_cluster":{"version":0,"block":{"attributes":{"api_version":{"type":"string","description_kind":"plain","computed":true},"credential_identity":{"type":["list",["object",{"id":"string"}]],"description_kind":"plain","computed":true},"csu":{"type":"number","description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"kafka_cluster":{"type":["list",["object",{"id":"string"}]],"description_kind":"plain","computed":true},"kind":{"type":"string","description_kind":"plain","computed":true},"resource_name":{"type":"string","description_kind":"plain","computed":true},"rest_endpoint":{"type":"string","description":"The dataplane endpoint of the ksqlDB cluster.","description_kind":"markdown","computed":true},"storage":{"type":"number","description":"Amount of storage (in GB) provisioned to this cluster.","description_kind":"markdown","computed":true},"topic_prefix":{"type":"string","description":"Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use.","description_kind":"markdown","computed":true},"use_detailed_processing_log":{"type":"bool","description_kind":"plain","computed":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_network":{"version":0,"block":{"attributes":{"cidr":{"type":"string","description_kind":"plain","computed":true},"cloud":{"type":"string","description_kind":"plain","computed":true},"connection_types":{"type":["list","string"],"description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"dns_domain":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description":"The ID of the Network, for example, `n-abc123`.","description_kind":"markdown","optional":true,"computed":true},"region":{"type":"string","description_kind":"plain","computed":true},"reserved_cidr":{"type":"string","description":"The IPv4 CIDR block reserved for Confluent Cloud Network. Must be /24. If not specified, Confluent Cloud Network uses 172.20.255.0/24","description_kind":"markdown","computed":true},"resource_name":{"type":"string","description_kind":"plain","computed":true},"zonal_subdomains":{"type":["map","string"],"description":"The DNS subdomain for each zone. Present on networks that support PrivateLink. Keys are zones and values are DNS domains.","description_kind":"markdown","computed":true},"zone_info":{"type":["list",["object",{"cidr":"string","zone_id":"string"}]],"description":"Each item represents information related to a single zone.","description_kind":"markdown","computed":true},"zones":{"type":["list","string"],"description_kind":"plain","computed":true}},"block_types":{"aws":{"nesting_mode":"list","block":{"attributes":{"account":{"type":"string","description":"The AWS account ID associated with the Confluent Cloud VPC.","description_kind":"markdown","computed":true},"private_link_endpoint_service":{"type":"string","description":"The endpoint service of the Confluent Cloud VPC (used for PrivateLink) if available.","description_kind":"markdown","computed":true},"vpc":{"type":"string","description":"The Confluent Cloud VPC ID.","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"azure":{"nesting_mode":"list","block":{"attributes":{"private_link_service_aliases":{"type":["map","string"],"description_kind":"plain","computed":true}},"description_kind":"plain"}},"dns_config":{"nesting_mode":"list","block":{"attributes":{"resolution":{"type":"string","description":"Network DNS resolution.","description_kind":"markdown","computed":true}},"description":"Network DNS config. It applies only to the PRIVATELINK network connection type.","description_kind":"markdown"}},"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1},"gcp":{"nesting_mode":"list","block":{"attributes":{"private_service_connect_service_attachments":{"type":["map","string"],"description":"The mapping of zones to Private Service Connect service attachments if available. Keys are zones and values are [GCP Private Service Connect service attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7).","description_kind":"markdown","computed":true},"project":{"type":"string","description":"The GCP project.","description_kind":"markdown","computed":true},"vpc_network":{"type":"string","description":"The GCP VPC network name.","description_kind":"markdown","computed":true}},"description_kind":"plain"}}},"description_kind":"plain"}},"confluent_network_link_endpoint":{"version":0,"block":{"attributes":{"description":{"type":"string","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name of the network link endpoint.","description_kind":"markdown","computed":true},"id":{"type":"string","description":"The ID of the network link endpoint, for example, `nle-a1b2c`.","description_kind":"markdown","required":true},"network":{"type":["list",["object",{"id":"string"}]],"description_kind":"plain","computed":true},"network_link_service":{"type":["list",["object",{"id":"string"}]],"description_kind":"plain","computed":true},"resource_name":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_network_link_service":{"version":0,"block":{"attributes":{"description":{"type":"string","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name of the network link service.","description_kind":"markdown","computed":true},"id":{"type":"string","description":"The ID of the network link service, for example, `nls-a1b2c`.","description_kind":"markdown","required":true},"network":{"type":["list",["object",{"id":"string"}]],"description_kind":"plain","computed":true},"resource_name":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"accept":{"nesting_mode":"list","block":{"attributes":{"environments":{"type":["set","string"],"description_kind":"plain","optional":true,"computed":true},"networks":{"type":["set","string"],"description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"},"max_items":1},"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_organization":{"version":0,"block":{"attributes":{"id":{"type":"string","description":"The ID of the Organization (e.g., `1111aaaa-11aa-11aa-11aa-111111aaaaaa`).","description_kind":"markdown","computed":true},"resource_name":{"type":"string","description":"The Confluent Resource Name of the Organization.","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"confluent_peering":{"version":0,"block":{"attributes":{"aws":{"type":["list",["object",{"account":"string","customer_region":"string","routes":["list","string"],"vpc":"string"}]],"description_kind":"plain","computed":true},"azure":{"type":["list",["object",{"customer_region":"string","tenant":"string","vnet":"string"}]],"description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"gcp":{"type":["list",["object",{"import_custom_routes":"bool","project":"string","vpc_network":"string"}]],"description_kind":"plain","computed":true},"id":{"type":"string","description":"The ID of the Peering, for example, `pla-abc123`.","description_kind":"markdown","optional":true,"computed":true},"network":{"type":["list",["object",{"id":"string"}]],"description_kind":"plain","computed":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_private_link_access":{"version":0,"block":{"attributes":{"aws":{"type":["list",["object",{"account":"string"}]],"description_kind":"plain","computed":true},"azure":{"type":["list",["object",{"subscription":"string"}]],"description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"gcp":{"type":["list",["object",{"project":"string"}]],"description_kind":"plain","computed":true},"id":{"type":"string","description":"The ID of the Private Link Access, for example, `pla-abc123`.","description_kind":"markdown","optional":true,"computed":true},"network":{"type":["list",["object",{"id":"string"}]],"description_kind":"plain","computed":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_private_link_attachment":{"version":0,"block":{"attributes":{"aws":{"type":["list",["object",{"vpc_endpoint_service_name":"string"}]],"description_kind":"plain","computed":true},"azure":{"type":["set",["object",{"private_link_service_alias":"string","private_link_service_resource_id":"string","zone":"string"}]],"description_kind":"plain","computed":true},"cloud":{"type":"string","description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The display name of the Private Link Attachment.","description_kind":"markdown","computed":true},"dns_domain":{"type":"string","description":"The root DNS domain for the private link attachment.","description_kind":"markdown","computed":true},"gcp":{"type":["set",["object",{"private_service_connect_service_attachment":"string","zone":"string"}]],"description_kind":"plain","computed":true},"id":{"type":"string","description":"The ID of the Private Link Attachment, for example, `platt-61ovvd`.","description_kind":"markdown","required":true},"region":{"type":"string","description_kind":"plain","computed":true},"resource_name":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_private_link_attachment_connection":{"version":0,"block":{"attributes":{"aws":{"type":["list",["object",{"vpc_endpoint_id":"string"}]],"description_kind":"plain","computed":true},"azure":{"type":["list",["object",{"private_endpoint_resource_id":"string"}]],"description_kind":"plain","computed":true},"display_name":{"type":"string","description":"The name of the Private Link Attachment Connection.","description_kind":"markdown","computed":true},"gcp":{"type":["list",["object",{"private_service_connect_connection_id":"string"}]],"description_kind":"plain","computed":true},"id":{"type":"string","description":"The ID of the Private Link Attachment Connection, for example, `plattc-61ovvd`.","description_kind":"markdown","required":true},"private_link_attachment":{"type":["list",["object",{"id":"string"}]],"description":"The private_link_attachment to which this belongs.","description_kind":"markdown","computed":true},"resource_name":{"type":"string","description_kind":"plain","computed":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_role_binding":{"version":0,"block":{"attributes":{"crn_pattern":{"type":"string","description":"A CRN that specifies the scope and resource patterns necessary for the role to bind.","description_kind":"markdown","computed":true},"id":{"type":"string","description":"The ID of the Role Binding (e.g., `rb-abc123`).","description_kind":"markdown","required":true},"principal":{"type":"string","description":"The principal User to bind the role to.","description_kind":"markdown","computed":true},"role_name":{"type":"string","description":"The name of the role to bind to the principal.","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"confluent_schema":{"version":0,"block":{"attributes":{"format":{"type":"string","description":"The format of the Schema.","description_kind":"markdown","computed":true},"hard_delete":{"type":"bool","description":"Controls whether a schema should be soft or hard deleted. Set it to `true` if you want to hard delete a schema on destroy. Defaults to `false` (soft delete).","description_kind":"markdown","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"recreate_on_update":{"type":"bool","description":"Controls whether a schema should be recreated on update.","description_kind":"markdown","computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true},"schema":{"type":"string","description":"The definition of the Schema.","description_kind":"markdown","computed":true},"schema_identifier":{"type":"number","description":"Globally unique identifier of the Schema returned for a creation request. It should be used to retrieve this schema from the schemas resource and is different from the schema’s version which is associated with the subject.","description_kind":"markdown","required":true},"schema_reference":{"type":["list",["object",{"name":"string","subject_name":"string","version":"number"}]],"description":"The list of references to other Schemas.","description_kind":"markdown","computed":true},"subject_name":{"type":"string","description":"The name of the Schema Registry Subject.","description_kind":"markdown","required":true},"version":{"type":"number","description":"The version number of the Schema.","description_kind":"markdown","computed":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_schema_registry_cluster":{"version":0,"block":{"attributes":{"api_version":{"type":"string","description":"API Version defines the schema version of this representation of a Schema Registry Cluster.","description_kind":"markdown","computed":true},"display_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"The ID of the Schema Registry cluster, for example, `lsrc-755ogo`.","description_kind":"markdown","optional":true,"computed":true},"kind":{"type":"string","description":"Kind defines the object Schema Registry Cluster represents.","description_kind":"markdown","computed":true},"package":{"type":"string","description":"The billing package.","description_kind":"markdown","computed":true},"region":{"type":["list",["object",{"id":"string"}]],"description_kind":"plain","computed":true},"resource_name":{"type":"string","description":"The Confluent Resource Name of the Schema Registry Cluster.","description_kind":"markdown","computed":true},"rest_endpoint":{"type":"string","description":"The API endpoint of the Schema Registry Cluster.","description_kind":"markdown","computed":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_schema_registry_cluster_config":{"version":0,"block":{"attributes":{"compatibility_level":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_schema_registry_cluster_mode":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mode":{"type":"string","description_kind":"plain","computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_schema_registry_clusters":{"version":0,"block":{"attributes":{"clusters":{"type":["set",["object",{"api_version":"string","display_name":"string","environment":["list",["object",{"id":"string"}]],"id":"string","kind":"string","package":"string","region":["list",["object",{"id":"string"}]],"resource_name":"string","rest_endpoint":"string"}]],"description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true}},"description_kind":"plain"}},"confluent_schema_registry_region":{"version":0,"block":{"attributes":{"cloud":{"type":"string","description_kind":"plain","required":true},"id":{"type":"string","description":"The ID of the Schema Registry Region (e.g., `sgreg-123`).","description_kind":"markdown","computed":true},"package":{"type":"string","description":"The billing package.","description_kind":"markdown","required":true},"region":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"}},"confluent_schemas":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true},"schemas":{"type":["list",["object",{"format":"string","schema":"string","schema_identifier":"number","schema_reference":["list",["object",{"name":"string","subject_name":"string","version":"number"}]],"subject_name":"string","version":"number"}]],"description":"List of schemas","description_kind":"markdown","computed":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"filter":{"nesting_mode":"list","block":{"attributes":{"deleted":{"type":"bool","description":"Whether to return latest schema versions only for each matching subject. Defaults to `false`.","description_kind":"markdown","optional":true},"latest_only":{"type":"bool","description":"Whether to return soft deleted schemas. Defaults to `false`.","description_kind":"markdown","optional":true},"subject_prefix":{"type":"string","description":"The prefix of the Schema Registry Subject.","description_kind":"markdown","optional":true}},"description":"Schema filters.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_service_account":{"version":0,"block":{"attributes":{"api_version":{"type":"string","description":"API Version defines the schema version of this representation of a Service Account.","description_kind":"markdown","computed":true},"description":{"type":"string","description":"A free-form description of the Service Account.","description_kind":"markdown","computed":true},"display_name":{"type":"string","description":"A human-readable name for the Service Account.","description_kind":"markdown","optional":true,"computed":true},"id":{"type":"string","description":"The ID of the Service Account (e.g., `sa-abc123`).","description_kind":"markdown","optional":true,"computed":true},"kind":{"type":"string","description":"Kind defines the object Service Account represents.","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"confluent_subject_config":{"version":0,"block":{"attributes":{"compatibility_level":{"type":"string","description_kind":"plain","computed":true},"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true},"subject_name":{"type":"string","description":"The name of the Schema Registry Subject.","description_kind":"markdown","required":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_subject_mode":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"mode":{"type":"string","description_kind":"plain","computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true},"subject_name":{"type":"string","description":"The name of the Schema Registry Subject.","description_kind":"markdown","required":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_tag":{"version":0,"block":{"attributes":{"description":{"type":"string","description":"The description of the tag to be created.","description_kind":"markdown","computed":true},"entity_types":{"type":["set","string"],"description":"The entity types of the tag to be created.","description_kind":"markdown","computed":true},"id":{"type":"string","description":"The id of the tag to be created.","description_kind":"markdown","computed":true},"name":{"type":"string","description":"The name of the tag to be created.","description_kind":"markdown","required":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true},"version":{"type":"number","description":"The version.","description_kind":"markdown","computed":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_tag_binding":{"version":0,"block":{"attributes":{"entity_name":{"type":"string","description":"The qualified name of the entity.","description_kind":"markdown","required":true},"entity_type":{"type":"string","description":"The entity type.","description_kind":"markdown","required":true},"id":{"type":"string","description":"The id of the tag binding to be created.","description_kind":"markdown","computed":true},"rest_endpoint":{"type":"string","description":"The REST endpoint of the Schema Registry cluster, for example, `https://psrc-00000.us-central1.gcp.confluent.cloud:443`).","description_kind":"markdown","optional":true},"tag_name":{"type":"string","description":"The name of the tag to be applied.","description_kind":"markdown","required":true}},"block_types":{"credentials":{"nesting_mode":"list","block":{"attributes":{"key":{"type":"string","description":"The Cluster API Key for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true},"secret":{"type":"string","description":"The Cluster API Secret for your Confluent Cloud cluster.","description_kind":"markdown","required":true,"sensitive":true}},"description":"The Cluster API Credentials.","description_kind":"markdown"},"max_items":1},"schema_registry_cluster":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description":"The Schema Registry cluster ID (e.g., `lsrc-abc123`).","description_kind":"markdown","required":true}},"description_kind":"plain"},"max_items":1}},"description_kind":"plain"}},"confluent_transit_gateway_attachment":{"version":0,"block":{"attributes":{"aws":{"type":["list",["object",{"ram_resource_share_arn":"string","routes":["list","string"],"transit_gateway_attachment_id":"string","transit_gateway_id":"string"}]],"description_kind":"plain","computed":true},"display_name":{"type":"string","description_kind":"plain","optional":true,"computed":true},"id":{"type":"string","description":"The ID of the TransitGatewayAttachment, for example, `pla-abc123`.","description_kind":"markdown","optional":true,"computed":true},"network":{"type":["list",["object",{"id":"string"}]],"description_kind":"plain","computed":true}},"block_types":{"environment":{"nesting_mode":"list","block":{"attributes":{"id":{"type":"string","description_kind":"plain","required":true}},"description_kind":"plain"},"min_items":1,"max_items":1}},"description_kind":"plain"}},"confluent_user":{"version":0,"block":{"attributes":{"api_version":{"type":"string","description":"API Version defines the schema version of this representation of a User.","description_kind":"markdown","computed":true},"email":{"type":"string","description":"The email address of the User.","description_kind":"markdown","optional":true,"computed":true},"full_name":{"type":"string","description":"The full name of the User.","description_kind":"markdown","optional":true,"computed":true},"id":{"type":"string","description":"The ID of the User (e.g., `u-abc123`).","description_kind":"markdown","optional":true,"computed":true},"kind":{"type":"string","description":"Kind defines the object User represents.","description_kind":"markdown","computed":true}},"description_kind":"plain"}},"confluent_users":{"version":0,"block":{"attributes":{"id":{"type":"string","description_kind":"plain","optional":true,"computed":true},"ids":{"type":["list","string"],"description":"List of users","description_kind":"markdown","computed":true}},"description_kind":"plain"}}}}}} diff --git a/package/crds/confluent.crossplane.io_clusters.yaml b/package/crds/confluent.crossplane.io_clusters.yaml index 78a9355..ab9e90b 100644 --- a/package/crds/confluent.crossplane.io_clusters.yaml +++ b/package/crds/confluent.crossplane.io_clusters.yaml @@ -75,6 +75,17 @@ spec: items: type: object type: array + byokKey: + items: + properties: + id: + description: The ID of the Confluent key that is used to + encrypt the data in the Kafka cluster. + type: string + required: + - id + type: object + type: array cloud: description: The cloud service provider that runs the Kafka cluster. type: string @@ -97,6 +108,10 @@ spec: displayName: description: The name of the Kafka cluster. type: string + enterprise: + items: + type: object + type: array environment: description: Environment objects represent an isolated namespace for your Confluent resources for organizational purposes. @@ -424,6 +439,15 @@ spec: description: The bootstrap endpoint used by Kafka clients to connect to the Kafka cluster. type: string + byokKey: + items: + properties: + id: + description: The ID of the Confluent key that is used to + encrypt the data in the Kafka cluster. + type: string + type: object + type: array cloud: description: The cloud service provider that runs the Kafka cluster. type: string @@ -439,11 +463,20 @@ spec: description: The ID of the encryption key that is used to encrypt the data in the Kafka cluster. type: string + zones: + description: The list of zones the cluster is in. + items: + type: string + type: array type: object type: array displayName: description: The name of the Kafka cluster. type: string + enterprise: + items: + type: object + type: array environment: description: Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.