# confluent Dialect

See which types this Dialect interprets and which architectural facts its Rules can establish.

<!-- Generated by scripts/generate-provider-coverage.ts from official Dialect sources. -->

<details>
<summary>Version and compatibility</summary>

**Version:** `0.1.0`.

**Provider bindings and declared compatibility**

- `confluentinc/confluent`: `= 2.83.0`.

[All official Dialects](https://docs.rootform.dev/reference/provider-coverage/)

</details>

## Interpreted types

Each row identifies a type and instance kind. Conditional Rules retain their individual conditions in the details below.

| Terraform type | Kind | Classification | Rules |
| --- | --- | --- | --- |
| `confluent_access_point` | `resource` | [`private-endpoint`](#confluent-concept-private-endpoint) | [`access-point`](#rule-access-point) |
| `confluent_business_metadata_binding` | `resource` | [`governance-configuration`](#confluent-concept-governance-configuration) | [`business-metadata-binding`](#rule-business-metadata-binding) |
| `confluent_business_metadata` | `resource` | [`governance-configuration`](#confluent-concept-governance-configuration) | [`business-metadata`](#rule-business-metadata) |
| `confluent_byok_key` | `resource` | [`byok-key`](#confluent-concept-byok-key) | [`byok-key`](#rule-byok-key) |
| `confluent_catalog_entity_attributes` | `resource` | [`governance-configuration`](#confluent-concept-governance-configuration) | [`catalog-entity-attributes`](#rule-catalog-entity-attributes) |
| `confluent_catalog_integration` | `resource` | [`catalog-integration`](#confluent-concept-catalog-integration) | [`catalog-integration`](#rule-catalog-integration) |
| `confluent_certificate_authority` | `resource` | [`certificate-authority`](#confluent-concept-certificate-authority) | [`certificate-authority`](#rule-certificate-authority) |
| `confluent_certificate_pool` | `resource` | [`certificate-pool`](#confluent-concept-certificate-pool) | [`certificate-pool`](#rule-certificate-pool) |
| `confluent_cluster_link` | `resource` | [`cluster-link`](#confluent-concept-cluster-link) | [`cluster-link`](#rule-cluster-link) |
| `confluent_connect_artifact` | `resource` | [`connector-artifact`](#confluent-concept-connector-artifact) | [`connect-artifact`](#rule-connect-artifact) |
| `confluent_connector` | `resource` | [`connector`](#confluent-concept-connector) | [`connector`](#rule-connector) |
| `confluent_custom_connector_plugin_version` | `resource` | [`connector-artifact`](#confluent-concept-connector-artifact) | [`custom-connector-plugin-version`](#rule-custom-connector-plugin-version) |
| `confluent_custom_connector_plugin` | `resource` | [`connector-artifact`](#confluent-concept-connector-artifact) | [`custom-connector-plugin`](#rule-custom-connector-plugin) |
| `confluent_dns_forwarder` | `resource` | [`dns-forwarder`](#confluent-concept-dns-forwarder) | [`dns-forwarder`](#rule-dns-forwarder) |
| `confluent_dns_record` | `resource` | [`network-configuration`](#confluent-concept-network-configuration) | [`dns-record`](#rule-dns-record) |
| `confluent_environment` | `resource` | [`environment`](#confluent-concept-environment) | [`environment`](#rule-environment) |
| `confluent_flink_artifact` | `resource` | [`flink-artifact`](#confluent-concept-flink-artifact) | [`flink-artifact`](#rule-flink-artifact) |
| `confluent_flink_compute_pool_config` | `resource` | [`flink-configuration`](#confluent-concept-flink-configuration) | [`flink-compute-pool-config`](#rule-flink-compute-pool-config) |
| `confluent_flink_compute_pool` | `resource` | [`flink-compute-pool`](#confluent-concept-flink-compute-pool) | [`flink-compute-pool`](#rule-flink-compute-pool) |
| `confluent_flink_connection` | `resource` | [`flink-connection`](#confluent-concept-flink-connection) | [`flink-connection`](#rule-flink-connection) |
| `confluent_flink_materialized_table` | `resource` | [`flink-materialized-table`](#confluent-concept-flink-materialized-table) | [`flink-materialized-table`](#rule-flink-materialized-table) |
| `confluent_flink_statement` | `resource` | [`flink-configuration`](#confluent-concept-flink-configuration) | [`flink-statement`](#rule-flink-statement) |
| `confluent_gateway` | `resource` | [`network-gateway`](#confluent-concept-network-gateway) | [`gateway`](#rule-gateway) |
| `confluent_group_mapping` | `resource` | [`identity-access-configuration`](#confluent-concept-identity-access-configuration) | [`group-mapping`](#rule-group-mapping) |
| `confluent_identity_pool` | `resource` | [`identity-pool`](#confluent-concept-identity-pool) | [`identity-pool`](#rule-identity-pool) |
| `confluent_identity_provider` | `resource` | [`identity-provider`](#confluent-concept-identity-provider) | [`identity-provider`](#rule-identity-provider) |
| `confluent_ip_filter` | `resource` | [`identity-access-configuration`](#confluent-concept-identity-access-configuration) | [`ip-filter`](#rule-ip-filter) |
| `confluent_ip_group` | `resource` | [`identity-access-configuration`](#confluent-concept-identity-access-configuration) | [`ip-group`](#rule-ip-group) |
| `confluent_kafka_acl` | `resource` | [`kafka-configuration`](#confluent-concept-kafka-configuration) | [`kafka-acl`](#rule-kafka-acl) |
| `confluent_kafka_client_quota` | `resource` | [`kafka-configuration`](#confluent-concept-kafka-configuration) | [`kafka-client-quota`](#rule-kafka-client-quota) |
| `confluent_kafka_cluster_config` | `resource` | [`kafka-configuration`](#confluent-concept-kafka-configuration) | [`kafka-cluster-config`](#rule-kafka-cluster-config) |
| `confluent_kafka_cluster` | `resource` | [`kafka-cluster`](#confluent-concept-kafka-cluster) | [`kafka-cluster`](#rule-kafka-cluster) |
| `confluent_kafka_mirror_topic` | `resource` | [`message-topic`](#confluent-concept-message-topic) | [`kafka-mirror-topic`](#rule-kafka-mirror-topic) |
| `confluent_kafka_topic` | `resource` | [`message-topic`](#confluent-concept-message-topic) | [`kafka-topic`](#rule-kafka-topic) |
| `confluent_ksql_cluster` | `resource` | [`ksqldb-cluster`](#confluent-concept-ksqldb-cluster) | [`ksqldb-cluster`](#rule-ksqldb-cluster) |
| `confluent_network_link_endpoint` | `resource` | [`network-link-endpoint`](#confluent-concept-network-link-endpoint) | [`network-link-endpoint`](#rule-network-link-endpoint) |
| `confluent_network_link_service` | `resource` | [`network-link-service`](#confluent-concept-network-link-service) | [`network-link-service`](#rule-network-link-service) |
| `confluent_network` | `resource` | [`virtual-network`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-virtual-network) | [`network`](#rule-network) |
| `confluent_peering` | `resource` | [`network-peering`](#confluent-concept-network-peering) | [`network-peering`](#rule-network-peering) |
| `confluent_plugin` | `resource` | [`connector-artifact`](#confluent-concept-connector-artifact) | [`legacy-connector-plugin`](#rule-legacy-connector-plugin) |
| `confluent_private_link_access` | `resource` | [`network-configuration`](#confluent-concept-network-configuration) | [`private-link-access`](#rule-private-link-access) |
| `confluent_private_link_attachment_connection` | `resource` | [`private-endpoint`](#confluent-concept-private-endpoint) | [`private-link-attachment-connection`](#rule-private-link-attachment-connection) |
| `confluent_private_link_attachment` | `resource` | [`private-link-attachment`](#confluent-concept-private-link-attachment) | [`private-link-attachment`](#rule-private-link-attachment) |
| `confluent_provider_integration_authorization` | `resource` | [`security-configuration`](#confluent-concept-security-configuration) | [`provider-integration-authorization`](#rule-provider-integration-authorization) |
| `confluent_provider_integration_setup` | `resource` | [`security-configuration`](#confluent-concept-security-configuration) | [`provider-integration-setup`](#rule-provider-integration-setup) |
| `confluent_provider_integration` | `resource` | [`provider-integration`](#confluent-concept-provider-integration) | [`provider-integration`](#rule-provider-integration) |
| `confluent_role_binding` | `resource` | [`identity-access-configuration`](#confluent-concept-identity-access-configuration) | [`role-binding`](#rule-role-binding) |
| `confluent_rtce_topic` | `resource` | [`message-topic`](#confluent-concept-message-topic) | [`rtce-topic`](#rule-rtce-topic) |
| `confluent_schema_exporter` | `resource` | [`schema-link`](#confluent-concept-schema-link) | [`schema-exporter`](#rule-schema-exporter) |
| `confluent_schema_registry_cluster_config` | `resource` | [`schema-registry-configuration`](#confluent-concept-schema-registry-configuration) | [`schema-registry-cluster-config`](#rule-schema-registry-cluster-config) |
| `confluent_schema_registry_cluster_mode` | `resource` | [`schema-registry-configuration`](#confluent-concept-schema-registry-configuration) | [`schema-registry-cluster-mode`](#rule-schema-registry-cluster-mode) |
| `confluent_schema_registry_cluster` | `data` | [`schema-registry`](#confluent-concept-schema-registry) | [`schema-registry`](#rule-schema-registry) |
| `confluent_schema_registry_dek` | `resource` | [`schema-registry-configuration`](#confluent-concept-schema-registry-configuration) | [`schema-registry-dek`](#rule-schema-registry-dek) |
| `confluent_schema_registry_kek` | `resource` | [`schema-registry-configuration`](#confluent-concept-schema-registry-configuration) | [`schema-registry-kek`](#rule-schema-registry-kek) |
| `confluent_schema` | `resource` | [`schema-registry-configuration`](#confluent-concept-schema-registry-configuration) | [`schema`](#rule-schema) |
| `confluent_service_account` | `resource` | [`service-identity`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-service-identity) | [`service-account`](#rule-service-account) |
| `confluent_subject_config` | `resource` | [`schema-registry-configuration`](#confluent-concept-schema-registry-configuration) | [`subject-config`](#rule-subject-config) |
| `confluent_subject_mode` | `resource` | [`schema-registry-configuration`](#confluent-concept-schema-registry-configuration) | [`subject-mode`](#rule-subject-mode) |
| `confluent_tableflow_topic` | `resource` | [`tableflow-topic`](#confluent-concept-tableflow-topic) | [`tableflow-topic`](#rule-tableflow-topic) |
| `confluent_tag_binding` | `resource` | [`governance-configuration`](#confluent-concept-governance-configuration) | [`tag-binding`](#rule-tag-binding) |
| `confluent_tag` | `resource` | [`governance-configuration`](#confluent-concept-governance-configuration) | [`tag`](#rule-tag) |
| `confluent_transit_gateway_attachment` | `resource` | [`transit-gateway-attachment`](#confluent-concept-transit-gateway-attachment) | [`transit-gateway-attachment`](#rule-transit-gateway-attachment) |

## Local vocabulary

### Concepts

<dl>

<div>
<dt id="confluent-concept-byok-key"><code>confluent.concept.byok-key</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/security/encryption-certificates.rf.hcl#L1-L3">Source</a></dt>
<dd>

A customer-managed cloud encryption key registered for Confluent Cloud BYOK.

</dd>
<dd>

Used by [`byok-key`](#rule-byok-key), [`kafka-cluster`](#rule-kafka-cluster).

</dd>
</div>

<div>
<dt id="confluent-concept-catalog-integration"><code>confluent.concept.catalog-integration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/data-governance/catalog-tableflow.rf.hcl#L1-L3">Source</a></dt>
<dd>

A Confluent Cloud catalog integration with AWS Glue, Snowflake, or Unity Catalog.

</dd>
<dd>

Used by [`catalog-integration`](#rule-catalog-integration).

</dd>
</div>

<div>
<dt id="confluent-concept-certificate-authority"><code>confluent.concept.certificate-authority</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/security/encryption-certificates.rf.hcl#L5-L7">Source</a></dt>
<dd>

A certificate authority trusted by Confluent Cloud for mutual TLS authentication.

</dd>
<dd>

Used by [`certificate-authority`](#rule-certificate-authority), [`certificate-pool`](#rule-certificate-pool).

</dd>
</div>

<div>
<dt id="confluent-concept-certificate-pool"><code>confluent.concept.certificate-pool</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/security/encryption-certificates.rf.hcl#L9-L11">Source</a></dt>
<dd>

A Confluent Cloud certificate pool selecting trusted client certificates.

</dd>
<dd>

Used by [`certificate-pool`](#rule-certificate-pool).

</dd>
</div>

<div>
<dt id="confluent-concept-cluster-link"><code>confluent.concept.cluster-link</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/streaming/cluster-linking.rf.hcl#L1-L3">Source</a></dt>
<dd>

A Confluent Cloud Cluster Linking connection between Kafka clusters.

</dd>
<dd>

Used by [`cluster-link`](#rule-cluster-link), [`kafka-mirror-topic`](#rule-kafka-mirror-topic).

</dd>
</div>

<div>
<dt id="confluent-concept-connector"><code>confluent.concept.connector</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/connectors/connectors.rf.hcl#L1-L3">Source</a></dt>
<dd>

A managed Confluent Cloud connector moving data between Kafka and an external system.

</dd>
<dd>

Used by [`connector`](#rule-connector).

</dd>
</div>

<div>
<dt id="confluent-concept-connector-artifact"><code>confluent.concept.connector-artifact</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/connectors/connectors.rf.hcl#L5-L7">Source</a></dt>
<dd>

A managed or custom connector artifact, plugin, or version supporting connectors.

</dd>
<dd>


<details>
<summary>Used by 4 Rules</summary>

- [`connect-artifact`](#rule-connect-artifact)
- [`custom-connector-plugin`](#rule-custom-connector-plugin)
- [`custom-connector-plugin-version`](#rule-custom-connector-plugin-version)
- [`legacy-connector-plugin`](#rule-legacy-connector-plugin)

</details>

</dd>
</div>

<div>
<dt id="confluent-concept-dns-forwarder"><code>confluent.concept.dns-forwarder</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/network/networking.rf.hcl#L21-L23">Source</a></dt>
<dd>

A Confluent Cloud DNS forwarder associated with a gateway.

</dd>
<dd>

Used by [`dns-forwarder`](#rule-dns-forwarder).

</dd>
</div>

<div>
<dt id="confluent-concept-environment"><code>confluent.concept.environment</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/governance-management/environments.rf.hcl#L1-L3">Source</a></dt>
<dd>

An isolated Confluent Cloud namespace for organizational and lifecycle ownership.

</dd>
<dd>


<details>
<summary>Used by 18 Rules</summary>

- [`catalog-integration`](#rule-catalog-integration)
- [`connect-artifact`](#rule-connect-artifact)
- [`connector`](#rule-connector)
- [`custom-connector-plugin-version`](#rule-custom-connector-plugin-version)
- [`environment`](#rule-environment)
- [`flink-artifact`](#rule-flink-artifact)
- [`flink-compute-pool`](#rule-flink-compute-pool)
- [`flink-connection`](#rule-flink-connection)
- [`gateway`](#rule-gateway)
- [`kafka-cluster`](#rule-kafka-cluster)
- [`ksqldb-cluster`](#rule-ksqldb-cluster)
- [`network`](#rule-network)
- [`private-link-attachment`](#rule-private-link-attachment)
- [`provider-integration`](#rule-provider-integration)
- [`provider-integration-setup`](#rule-provider-integration-setup)
- [`rtce-topic`](#rule-rtce-topic)
- [`schema-registry`](#rule-schema-registry)
- [`tableflow-topic`](#rule-tableflow-topic)

</details>

</dd>
</div>

<div>
<dt id="confluent-concept-flink-artifact"><code>confluent.concept.flink-artifact</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/stream-processing/flink.rf.hcl#L13-L15">Source</a></dt>
<dd>

A user artifact available to Confluent Cloud for Apache Flink.

</dd>
<dd>

Used by [`flink-artifact`](#rule-flink-artifact).

</dd>
</div>

<div>
<dt id="confluent-concept-flink-compute-pool"><code>confluent.concept.flink-compute-pool</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/stream-processing/flink.rf.hcl#L1-L3">Source</a></dt>
<dd>

A regional Confluent Cloud for Apache Flink compute pool.

</dd>
<dd>


<details>
<summary>Used by 4 Rules</summary>

- [`flink-compute-pool`](#rule-flink-compute-pool)
- [`flink-connection`](#rule-flink-connection)
- [`flink-materialized-table`](#rule-flink-materialized-table)
- [`flink-statement`](#rule-flink-statement)

</details>

</dd>
</div>

<div>
<dt id="confluent-concept-flink-configuration"><code>confluent.concept.flink-configuration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/stream-processing/flink.rf.hcl#L17-L19">Source</a></dt>
<dd>

Compute-pool configuration or a Flink SQL statement contributing processing behavior.

</dd>
<dd>

Used by [`flink-compute-pool-config`](#rule-flink-compute-pool-config), [`flink-statement`](#rule-flink-statement).

</dd>
</div>

<div>
<dt id="confluent-concept-flink-connection"><code>confluent.concept.flink-connection</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/stream-processing/flink.rf.hcl#L5-L7">Source</a></dt>
<dd>

A managed connection available to Flink statements in a compute pool.

</dd>
<dd>

Used by [`flink-connection`](#rule-flink-connection).

</dd>
</div>

<div>
<dt id="confluent-concept-flink-materialized-table"><code>confluent.concept.flink-materialized-table</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/stream-processing/flink.rf.hcl#L9-L11">Source</a></dt>
<dd>

A Confluent Cloud for Apache Flink materialized table.

</dd>
<dd>

Used by [`flink-materialized-table`](#rule-flink-materialized-table).

</dd>
</div>

<div>
<dt id="confluent-concept-governance-configuration"><code>confluent.concept.governance-configuration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/governance-management/environments.rf.hcl#L5-L7">Source</a></dt>
<dd>

Business metadata, tags, or catalog attributes configuring Confluent Cloud governance.

</dd>
<dd>


<details>
<summary>Used by 5 Rules</summary>

- [`business-metadata`](#rule-business-metadata)
- [`business-metadata-binding`](#rule-business-metadata-binding)
- [`catalog-entity-attributes`](#rule-catalog-entity-attributes)
- [`tag`](#rule-tag)
- [`tag-binding`](#rule-tag-binding)

</details>

</dd>
</div>

<div>
<dt id="confluent-concept-identity-access-configuration"><code>confluent.concept.identity-access-configuration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/identity-iam/identities.rf.hcl#L9-L11">Source</a></dt>
<dd>

Identity mapping, role binding, or access configuration in Confluent Cloud.

</dd>
<dd>


<details>
<summary>Used by 4 Rules</summary>

- [`group-mapping`](#rule-group-mapping)
- [`ip-filter`](#rule-ip-filter)
- [`ip-group`](#rule-ip-group)
- [`role-binding`](#rule-role-binding)

</details>

</dd>
</div>

<div>
<dt id="confluent-concept-identity-pool"><code>confluent.concept.identity-pool</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/identity-iam/identities.rf.hcl#L5-L7">Source</a></dt>
<dd>

A Confluent Cloud identity pool mapping external identities to access.

</dd>
<dd>

Used by [`identity-pool`](#rule-identity-pool).

</dd>
</div>

<div>
<dt id="confluent-concept-identity-provider"><code>confluent.concept.identity-provider</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/identity-iam/identities.rf.hcl#L1-L3">Source</a></dt>
<dd>

An OpenID Connect identity provider trusted by Confluent Cloud.

</dd>
<dd>

Used by [`identity-pool`](#rule-identity-pool), [`identity-provider`](#rule-identity-provider).

</dd>
</div>

<div>
<dt id="confluent-concept-kafka-cluster"><code>confluent.concept.kafka-cluster</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/streaming/kafka.rf.hcl#L1-L3">Source</a></dt>
<dd>

A managed Apache Kafka cluster in Confluent Cloud.

</dd>
<dd>


<details>
<summary>Used by 13 Rules</summary>

- [`catalog-integration`](#rule-catalog-integration)
- [`cluster-link`](#rule-cluster-link)
- [`connector`](#rule-connector)
- [`flink-materialized-table`](#rule-flink-materialized-table)
- [`kafka-acl`](#rule-kafka-acl)
- [`kafka-client-quota`](#rule-kafka-client-quota)
- [`kafka-cluster`](#rule-kafka-cluster)
- [`kafka-cluster-config`](#rule-kafka-cluster-config)
- [`kafka-mirror-topic`](#rule-kafka-mirror-topic)
- [`kafka-topic`](#rule-kafka-topic)
- [`ksqldb-cluster`](#rule-ksqldb-cluster)
- [`rtce-topic`](#rule-rtce-topic)
- [`tableflow-topic`](#rule-tableflow-topic)

</details>

</dd>
</div>

<div>
<dt id="confluent-concept-kafka-configuration"><code>confluent.concept.kafka-configuration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/streaming/kafka.rf.hcl#L5-L7">Source</a></dt>
<dd>

Cluster, topic, quota, or access configuration supporting a Confluent Cloud Kafka cluster.

</dd>
<dd>

Used by [`kafka-acl`](#rule-kafka-acl), [`kafka-client-quota`](#rule-kafka-client-quota), [`kafka-cluster-config`](#rule-kafka-cluster-config).

</dd>
</div>

<div>
<dt id="confluent-concept-ksqldb-cluster"><code>confluent.concept.ksqldb-cluster</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/stream-processing/ksqldb.rf.hcl#L1-L3">Source</a></dt>
<dd>

A managed ksqlDB cluster in Confluent Cloud.

</dd>
<dd>

Used by [`ksqldb-cluster`](#rule-ksqldb-cluster).

</dd>
</div>

<div>
<dt id="confluent-concept-message-topic"><code>confluent.concept.message-topic</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/vocabulary.rf.hcl#L1-L3">Source</a></dt>
<dd>

A messaging topic receiving messages from publishers.

</dd>
<dd>

Used by [`kafka-mirror-topic`](#rule-kafka-mirror-topic), [`kafka-topic`](#rule-kafka-topic), [`rtce-topic`](#rule-rtce-topic).

</dd>
</div>

<div>
<dt id="confluent-concept-network-configuration"><code>confluent.concept.network-configuration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/network/networking.rf.hcl#L25-L27">Source</a></dt>
<dd>

Private access or DNS configuration supporting a Confluent Cloud network.

</dd>
<dd>

Used by [`dns-record`](#rule-dns-record), [`private-link-access`](#rule-private-link-access).

</dd>
</div>

<div>
<dt id="confluent-concept-network-gateway"><code>confluent.concept.network-gateway</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/network/networking.rf.hcl#L1-L3">Source</a></dt>
<dd>

A Confluent Cloud gateway for private ingress or egress connectivity.

</dd>
<dd>

Used by [`access-point`](#rule-access-point), [`dns-forwarder`](#rule-dns-forwarder), [`gateway`](#rule-gateway).

</dd>
</div>

<div>
<dt id="confluent-concept-network-link-endpoint"><code>confluent.concept.network-link-endpoint</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/network/networking.rf.hcl#L9-L11">Source</a></dt>
<dd>

A Confluent Cloud Network Linking endpoint consuming a link service.

</dd>
<dd>

Used by [`network-link-endpoint`](#rule-network-link-endpoint).

</dd>
</div>

<div>
<dt id="confluent-concept-network-link-service"><code>confluent.concept.network-link-service</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/network/networking.rf.hcl#L5-L7">Source</a></dt>
<dd>

A Confluent Cloud Network Linking service published to accepted networks.

</dd>
<dd>

Used by [`network-link-endpoint`](#rule-network-link-endpoint), [`network-link-service`](#rule-network-link-service).

</dd>
</div>

<div>
<dt id="confluent-concept-network-peering"><code>confluent.concept.network-peering</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/vocabulary.rf.hcl#L5-L7">Source</a></dt>
<dd>

A direct private connectivity agreement between virtual networks.

</dd>
<dd>

Used by [`network-peering`](#rule-network-peering).

</dd>
</div>

<div>
<dt id="confluent-concept-private-endpoint"><code>confluent.concept.private-endpoint</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/vocabulary.rf.hcl#L9-L11">Source</a></dt>
<dd>

A private endpoint exposing a service inside a virtual network.

</dd>
<dd>

Used by [`access-point`](#rule-access-point), [`private-link-attachment-connection`](#rule-private-link-attachment-connection).

</dd>
</div>

<div>
<dt id="confluent-concept-private-link-attachment"><code>confluent.concept.private-link-attachment</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/network/networking.rf.hcl#L13-L15">Source</a></dt>
<dd>

A Confluent Cloud Private Link Attachment publishing private service connectivity.

</dd>
<dd>

Used by [`private-link-attachment`](#rule-private-link-attachment), [`private-link-attachment-connection`](#rule-private-link-attachment-connection).

</dd>
</div>

<div>
<dt id="confluent-concept-provider-integration"><code>confluent.concept.provider-integration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/security/encryption-certificates.rf.hcl#L13-L15">Source</a></dt>
<dd>

A Confluent Cloud integration authorized to access a cloud provider account.

</dd>
<dd>


<details>
<summary>Used by 4 Rules</summary>

- [`catalog-integration`](#rule-catalog-integration)
- [`provider-integration`](#rule-provider-integration)
- [`provider-integration-authorization`](#rule-provider-integration-authorization)
- [`tableflow-topic`](#rule-tableflow-topic)

</details>

</dd>
</div>

<div>
<dt id="confluent-concept-schema-link"><code>confluent.concept.schema-link</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/data-governance/schema-registry.rf.hcl#L5-L7">Source</a></dt>
<dd>

A Schema Exporter link between source and destination Schema Registry clusters.

</dd>
<dd>

Used by [`schema-exporter`](#rule-schema-exporter).

</dd>
</div>

<div>
<dt id="confluent-concept-schema-registry"><code>confluent.concept.schema-registry</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/data-governance/schema-registry.rf.hcl#L1-L3">Source</a></dt>
<dd>

The Schema Registry cluster provisioned for a Confluent Cloud environment.

</dd>
<dd>


<details>
<summary>Used by 9 Rules</summary>

- [`schema`](#rule-schema)
- [`schema-exporter`](#rule-schema-exporter)
- [`schema-registry`](#rule-schema-registry)
- [`schema-registry-cluster-config`](#rule-schema-registry-cluster-config)
- [`schema-registry-cluster-mode`](#rule-schema-registry-cluster-mode)
- [`schema-registry-dek`](#rule-schema-registry-dek)
- [`schema-registry-kek`](#rule-schema-registry-kek)
- [`subject-config`](#rule-subject-config)
- [`subject-mode`](#rule-subject-mode)

</details>

</dd>
</div>

<div>
<dt id="confluent-concept-schema-registry-configuration"><code>confluent.concept.schema-registry-configuration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/data-governance/schema-registry.rf.hcl#L9-L11">Source</a></dt>
<dd>

A schema, subject, mode, compatibility, or encryption configuration supporting Schema Registry.

</dd>
<dd>


<details>
<summary>Used by 7 Rules</summary>

- [`schema`](#rule-schema)
- [`schema-registry-cluster-config`](#rule-schema-registry-cluster-config)
- [`schema-registry-cluster-mode`](#rule-schema-registry-cluster-mode)
- [`schema-registry-dek`](#rule-schema-registry-dek)
- [`schema-registry-kek`](#rule-schema-registry-kek)
- [`subject-config`](#rule-subject-config)
- [`subject-mode`](#rule-subject-mode)

</details>

</dd>
</div>

<div>
<dt id="confluent-concept-security-configuration"><code>confluent.concept.security-configuration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/security/encryption-certificates.rf.hcl#L17-L19">Source</a></dt>
<dd>

Authorization or setup configuration supporting a Confluent Cloud security integration.

</dd>
<dd>

Used by [`provider-integration-authorization`](#rule-provider-integration-authorization), [`provider-integration-setup`](#rule-provider-integration-setup).

</dd>
</div>

<div>
<dt id="confluent-concept-tableflow-topic"><code>confluent.concept.tableflow-topic</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/data-governance/catalog-tableflow.rf.hcl#L5-L7">Source</a></dt>
<dd>

A Kafka topic materialized as an Iceberg or Delta Lake table by Confluent Cloud Tableflow.

</dd>
<dd>

Used by [`tableflow-topic`](#rule-tableflow-topic).

</dd>
</div>

<div>
<dt id="confluent-concept-transit-gateway-attachment"><code>confluent.concept.transit-gateway-attachment</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/network/networking.rf.hcl#L17-L19">Source</a></dt>
<dd>

A Confluent Cloud attachment to an AWS Transit Gateway.

</dd>
<dd>

Used by [`transit-gateway-attachment`](#rule-transit-gateway-attachment).

</dd>
</div>

</dl>

### Contexts

<dl>

<div>
<dt id="confluent-context-ownership"><code>confluent.context.ownership</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/vocabulary.rf.hcl#L13-L15">Source</a></dt>
<dd>

Administrative or lifecycle ownership.

</dd>
<dd>


<details>
<summary>Used by 17 Rules</summary>

- [`catalog-integration`](#rule-catalog-integration)
- [`connect-artifact`](#rule-connect-artifact)
- [`connector`](#rule-connector)
- [`custom-connector-plugin-version`](#rule-custom-connector-plugin-version)
- [`flink-artifact`](#rule-flink-artifact)
- [`flink-compute-pool`](#rule-flink-compute-pool)
- [`flink-connection`](#rule-flink-connection)
- [`gateway`](#rule-gateway)
- [`kafka-cluster`](#rule-kafka-cluster)
- [`ksqldb-cluster`](#rule-ksqldb-cluster)
- [`network`](#rule-network)
- [`private-link-attachment`](#rule-private-link-attachment)
- [`provider-integration`](#rule-provider-integration)
- [`provider-integration-setup`](#rule-provider-integration-setup)
- [`rtce-topic`](#rule-rtce-topic)
- [`schema-registry`](#rule-schema-registry)
- [`tableflow-topic`](#rule-tableflow-topic)

</details>

</dd>
</div>

</dl>

### Relations

<dl>

<div>
<dt id="confluent-relation-connects-to"><code>confluent.relation.connects-to</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/network/networking.rf.hcl#L117-L127">Source</a></dt>
<dd>

Introduced by a labeled emission.
Used by [`access-point`](#rule-access-point), [`network-link-endpoint`](#rule-network-link-endpoint), [`private-link-attachment-connection`](#rule-private-link-attachment-connection).

</dd>
</div>

<div>
<dt id="confluent-relation-connects-to-attachment"><code>confluent.relation.connects-to-attachment</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/network/networking.rf.hcl#L292-L302">Source</a></dt>
<dd>

Introduced by a labeled emission.
Used by [`private-link-attachment-connection`](#rule-private-link-attachment-connection).

</dd>
</div>

<div>
<dt id="confluent-relation-destination-cluster"><code>confluent.relation.destination-cluster</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/streaming/cluster-linking.rf.hcl#L57-L67">Source</a></dt>
<dd>

Introduced by a labeled emission.
Used by [`cluster-link`](#rule-cluster-link).

</dd>
</div>

<div>
<dt id="confluent-relation-exports-from"><code>confluent.relation.exports-from</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/data-governance/schema-registry.rf.hcl#L191-L201">Source</a></dt>
<dd>

Introduced by a labeled emission.
Used by [`schema-exporter`](#rule-schema-exporter).

</dd>
</div>

<div>
<dt id="confluent-relation-exports-to"><code>confluent.relation.exports-to</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/data-governance/schema-registry.rf.hcl#L203-L213">Source</a></dt>
<dd>

Introduced by a labeled emission.
Used by [`schema-exporter`](#rule-schema-exporter).

</dd>
</div>

<div>
<dt id="confluent-relation-local-cluster"><code>confluent.relation.local-cluster</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/streaming/cluster-linking.rf.hcl#L21-L31">Source</a></dt>
<dd>

Introduced by a labeled emission.
Used by [`cluster-link`](#rule-cluster-link).

</dd>
</div>

<div>
<dt id="confluent-relation-mirrors"><code>confluent.relation.mirrors</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/streaming/cluster-linking.rf.hcl#L99-L109">Source</a></dt>
<dd>

Introduced by a labeled emission.
Used by [`kafka-mirror-topic`](#rule-kafka-mirror-topic).

</dd>
</div>

<div>
<dt id="confluent-relation-peers-with"><code>confluent.relation.peers-with</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/network/networking.rf.hcl#L177-L190">Source</a></dt>
<dd>

Introduced by a labeled emission.
Used by [`network-peering`](#rule-network-peering).

</dd>
</div>

<div>
<dt id="confluent-relation-remote-cluster"><code>confluent.relation.remote-cluster</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/streaming/cluster-linking.rf.hcl#L33-L43">Source</a></dt>
<dd>

Introduced by a labeled emission.
Used by [`cluster-link`](#rule-cluster-link).

</dd>
</div>

<div>
<dt id="confluent-relation-replicated-through"><code>confluent.relation.replicated-through</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/streaming/cluster-linking.rf.hcl#L111-L121">Source</a></dt>
<dd>

Introduced by a labeled emission.
Used by [`kafka-mirror-topic`](#rule-kafka-mirror-topic).

</dd>
</div>

<div>
<dt id="confluent-relation-source-cluster"><code>confluent.relation.source-cluster</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/streaming/cluster-linking.rf.hcl#L45-L55">Source</a></dt>
<dd>

Introduced by a labeled emission.
Used by [`cluster-link`](#rule-cluster-link).

</dd>
</div>

<div>
<dt id="confluent-relation-stores-in"><code>confluent.relation.stores-in</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/data-governance/catalog-tableflow.rf.hcl#L88-L93">Source</a></dt>
<dd>

Introduced by a labeled emission.
Used by [`tableflow-topic`](#rule-tableflow-topic).

</dd>
</div>

<div>
<dt id="confluent-relation-trusts"><code>confluent.relation.trusts</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/identity-iam/identities.rf.hcl#L54-L64">Source</a></dt>
<dd>

Introduced by a labeled emission.
Used by [`certificate-pool`](#rule-certificate-pool), [`identity-pool`](#rule-identity-pool).

</dd>
</div>

<div>
<dt id="confluent-relation-uses-gateway"><code>confluent.relation.uses-gateway</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/network/networking.rf.hcl#L105-L115">Source</a></dt>
<dd>

Introduced by a labeled emission.
Used by [`access-point`](#rule-access-point), [`dns-forwarder`](#rule-dns-forwarder).

</dd>
</div>

<div>
<dt id="confluent-relation-uses-kafka-cluster"><code>confluent.relation.uses-kafka-cluster</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/stream-processing/flink.rf.hcl#L128-L138">Source</a></dt>
<dd>

Introduced by a labeled emission.
Used by [`flink-materialized-table`](#rule-flink-materialized-table).

</dd>
</div>

<div>
<dt id="confluent-relation-uses-key"><code>confluent.relation.uses-key</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/streaming/kafka.rf.hcl#L54-L64">Source</a></dt>
<dd>

Introduced by a labeled emission.
Used by [`kafka-cluster`](#rule-kafka-cluster).

</dd>
</div>

<div>
<dt id="confluent-relation-uses-principal"><code>confluent.relation.uses-principal</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/stream-processing/flink.rf.hcl#L92-L105">Source</a></dt>
<dd>

Introduced by a labeled emission.
Used by [`flink-connection`](#rule-flink-connection), [`flink-materialized-table`](#rule-flink-materialized-table), [`ksqldb-cluster`](#rule-ksqldb-cluster).

</dd>
</div>

<div>
<dt id="confluent-relation-uses-provider-integration"><code>confluent.relation.uses-provider-integration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/data-governance/catalog-tableflow.rf.hcl#L42-L52">Source</a></dt>
<dd>

Introduced by a labeled emission.
Used by [`catalog-integration`](#rule-catalog-integration), [`tableflow-topic`](#rule-tableflow-topic).

</dd>
</div>

</dl>

## RF Vocabulary used

- [`rf.concept.object-storage-container`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-object-storage-container)
- [`rf.concept.service-identity`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-service-identity)
- [`rf.concept.virtual-network`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-virtual-network)
- [`rf.context.network`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-context-network)
- [`rf.context.runtime`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-context-runtime)

## Rule details

Open a Rule for its declared behavior and source. [Matching](https://docs.rootform.dev/language/reference/rules/#eligibility-pipeline), [emission resolution](https://docs.rootform.dev/language/reference/emissions/) and [composition](https://docs.rootform.dev/language/reference/composition/) define how evidence can establish it.

<details>
<summary><code>confluent.rule.access-point</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/network/networking.rf.hcl#L89-L152">Source</a></summary>

<div id="rule-access-point"></div>

Matches `resource` instances of `confluent_access_point`.

**Classification:** [`confluent.concept.private-endpoint`](#confluent-concept-private-endpoint).

**Relations**

- [`confluent.relation.uses-gateway`](#confluent-relation-uses-gateway): targets [`confluent.concept.network-gateway`](#confluent-concept-network-gateway) through `source.gateway[0].id`.
- [`confluent.relation.connects-to`](#confluent-relation-connects-to): targets [`confluent.concept.private-endpoint`](#confluent-concept-private-endpoint) through `source.aws_ingress_private_link_endpoint[0].vpc_endpoint_id`.
- [`confluent.relation.connects-to`](#confluent-relation-connects-to): targets [`confluent.concept.private-endpoint`](#confluent-concept-private-endpoint) through `source.azure_ingress_private_link_endpoint[0].private_endpoint_resource_id`.
- [`confluent.relation.connects-to`](#confluent-relation-connects-to): targets [`confluent.concept.private-endpoint`](#confluent-concept-private-endpoint) through `source.gcp_ingress_private_service_connect_endpoint[0].private_service_connect_connection_id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id"]`

**Relation through `source.gateway[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.aws_ingress_private_link_endpoint[0].vpc_endpoint_id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.azure_ingress_private_link_endpoint[0].private_endpoint_resource_id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.gcp_ingress_private_service_connect_endpoint[0].private_service_connect_connection_id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.business-metadata-binding</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/governance-management/environments.rf.hcl#L34-L40">Source</a></summary>

<div id="rule-business-metadata-binding"></div>

Matches `resource` instances of `confluent_business_metadata_binding`.

**Classification:** [`confluent.concept.governance-configuration`](#confluent-concept-governance-configuration).

</details>

<details>
<summary><code>confluent.rule.business-metadata</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/governance-management/environments.rf.hcl#L26-L32">Source</a></summary>

<div id="rule-business-metadata"></div>

Matches `resource` instances of `confluent_business_metadata`.

**Classification:** [`confluent.concept.governance-configuration`](#confluent-concept-governance-configuration).

</details>

<details>
<summary><code>confluent.rule.byok-key</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/security/encryption-certificates.rf.hcl#L21-L37">Source</a></summary>

<div id="rule-byok-key"></div>

Matches `resource` instances of `confluent_byok_key`.

**Classification:** [`confluent.concept.byok-key`](#confluent-concept-byok-key).

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id"]`

</details>

</details>

<details>
<summary><code>confluent.rule.catalog-entity-attributes</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/governance-management/environments.rf.hcl#L42-L48">Source</a></summary>

<div id="rule-catalog-entity-attributes"></div>

Matches `resource` instances of `confluent_catalog_entity_attributes`.

**Classification:** [`confluent.concept.governance-configuration`](#confluent-concept-governance-configuration).

</details>

<details>
<summary><code>confluent.rule.catalog-integration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/data-governance/catalog-tableflow.rf.hcl#L9-L53">Source</a></summary>

<div id="rule-catalog-integration"></div>

Matches `resource` instances of `confluent_catalog_integration`.

**Classification:** [`confluent.concept.catalog-integration`](#confluent-concept-catalog-integration).

**Contexts**

- [`confluent.context.ownership`](#confluent-context-ownership): targets [`confluent.concept.environment`](#confluent-concept-environment) through `source.environment[0].id`.
- [`rf.context.runtime`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-context-runtime): targets [`confluent.concept.kafka-cluster`](#confluent-concept-kafka-cluster) through `source.kafka_cluster[0].id`.

**Relations**

- [`confluent.relation.uses-provider-integration`](#confluent-relation-uses-provider-integration): targets [`confluent.concept.provider-integration`](#confluent-concept-provider-integration) through `source.aws_glue[0].provider_integration_id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Context through `source.environment[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Context through `source.kafka_cluster[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.aws_glue[0].provider_integration_id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.certificate-authority</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/security/encryption-certificates.rf.hcl#L39-L54">Source</a></summary>

<div id="rule-certificate-authority"></div>

Matches `resource` instances of `confluent_certificate_authority`.

**Classification:** [`confluent.concept.certificate-authority`](#confluent-concept-certificate-authority).

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id"]`

</details>

</details>

<details>
<summary><code>confluent.rule.certificate-pool</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/security/encryption-certificates.rf.hcl#L56-L74">Source</a></summary>

<div id="rule-certificate-pool"></div>

Matches `resource` instances of `confluent_certificate_pool`.

**Classification:** [`confluent.concept.certificate-pool`](#confluent-concept-certificate-pool).

**Relations**

- [`confluent.relation.trusts`](#confluent-relation-trusts): targets [`confluent.concept.certificate-authority`](#confluent-concept-certificate-authority) through `source.certificate_authority[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Relation through `source.certificate_authority[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.cluster-link</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/streaming/cluster-linking.rf.hcl#L5-L68">Source</a></summary>

<div id="rule-cluster-link"></div>

Matches `resource` instances of `confluent_cluster_link`.

**Classification:** [`confluent.concept.cluster-link`](#confluent-concept-cluster-link).

**Relations**

- [`confluent.relation.local-cluster`](#confluent-relation-local-cluster): targets [`confluent.concept.kafka-cluster`](#confluent-concept-kafka-cluster) through `source.local_kafka_cluster[0].id`.
- [`confluent.relation.remote-cluster`](#confluent-relation-remote-cluster): targets [`confluent.concept.kafka-cluster`](#confluent-concept-kafka-cluster) through `source.remote_kafka_cluster[0].id`.
- [`confluent.relation.source-cluster`](#confluent-relation-source-cluster): targets [`confluent.concept.kafka-cluster`](#confluent-concept-kafka-cluster) through `source.source_kafka_cluster[0].id`.
- [`confluent.relation.destination-cluster`](#confluent-relation-destination-cluster): targets [`confluent.concept.kafka-cluster`](#confluent-concept-kafka-cluster) through `source.destination_kafka_cluster[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["link_name"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id", "link_name"]`

**Relation through `source.local_kafka_cluster[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.remote_kafka_cluster[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.source_kafka_cluster[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.destination_kafka_cluster[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.connect-artifact</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/connectors/connectors.rf.hcl#L43-L62">Source</a></summary>

<div id="rule-connect-artifact"></div>

Matches `resource` instances of `confluent_connect_artifact`.

**Classification:** [`confluent.concept.connector-artifact`](#confluent-concept-connector-artifact).

**Contexts**

- [`confluent.context.ownership`](#confluent-context-ownership): targets [`confluent.concept.environment`](#confluent-concept-environment) through `source.environment[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Context through `source.environment[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.connector</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/connectors/connectors.rf.hcl#L9-L41">Source</a></summary>

<div id="rule-connector"></div>

Matches `resource` instances of `confluent_connector`.

**Classification:** [`confluent.concept.connector`](#confluent-concept-connector).

**Contexts**

- [`confluent.context.ownership`](#confluent-context-ownership): targets [`confluent.concept.environment`](#confluent-concept-environment) through `source.environment[0].id`.
- [`rf.context.runtime`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-context-runtime): targets [`confluent.concept.kafka-cluster`](#confluent-concept-kafka-cluster) through `source.kafka_cluster[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Context through `source.environment[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Context through `source.kafka_cluster[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.custom-connector-plugin-version</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/connectors/connectors.rf.hcl#L72-L91">Source</a></summary>

<div id="rule-custom-connector-plugin-version"></div>

Matches `resource` instances of `confluent_custom_connector_plugin_version`.

**Classification:** [`confluent.concept.connector-artifact`](#confluent-concept-connector-artifact).

**Contexts**

- [`confluent.context.ownership`](#confluent-context-ownership): targets [`confluent.concept.environment`](#confluent-concept-environment) through `source.environment[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Context through `source.environment[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.custom-connector-plugin</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/connectors/connectors.rf.hcl#L64-L70">Source</a></summary>

<div id="rule-custom-connector-plugin"></div>

Matches `resource` instances of `confluent_custom_connector_plugin`.

**Classification:** [`confluent.concept.connector-artifact`](#confluent-concept-connector-artifact).

</details>

<details>
<summary><code>confluent.rule.dns-forwarder</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/network/networking.rf.hcl#L434-L452">Source</a></summary>

<div id="rule-dns-forwarder"></div>

Matches `resource` instances of `confluent_dns_forwarder`.

**Classification:** [`confluent.concept.dns-forwarder`](#confluent-concept-dns-forwarder).

**Relations**

- [`confluent.relation.uses-gateway`](#confluent-relation-uses-gateway): targets [`confluent.concept.network-gateway`](#confluent-concept-network-gateway) through `source.gateway[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Relation through `source.gateway[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.dns-record</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/network/networking.rf.hcl#L454-L460">Source</a></summary>

<div id="rule-dns-record"></div>

Matches `resource` instances of `confluent_dns_record`.

**Classification:** [`confluent.concept.network-configuration`](#confluent-concept-network-configuration).

</details>

<details>
<summary><code>confluent.rule.environment</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/governance-management/environments.rf.hcl#L9-L24">Source</a></summary>

<div id="rule-environment"></div>

Matches `resource` instances of `confluent_environment`.

**Classification:** [`confluent.concept.environment`](#confluent-concept-environment).

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id"]`

</details>

</details>

<details>
<summary><code>confluent.rule.flink-artifact</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/stream-processing/flink.rf.hcl#L176-L195">Source</a></summary>

<div id="rule-flink-artifact"></div>

Matches `resource` instances of `confluent_flink_artifact`.

**Classification:** [`confluent.concept.flink-artifact`](#confluent-concept-flink-artifact).

**Contexts**

- [`confluent.context.ownership`](#confluent-context-ownership): targets [`confluent.concept.environment`](#confluent-concept-environment) through `source.environment[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Context through `source.environment[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.flink-compute-pool-config</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/stream-processing/flink.rf.hcl#L51-L57">Source</a></summary>

<div id="rule-flink-compute-pool-config"></div>

Matches `resource` instances of `confluent_flink_compute_pool_config`.

**Classification:** [`confluent.concept.flink-configuration`](#confluent-concept-flink-configuration).

</details>

<details>
<summary><code>confluent.rule.flink-compute-pool</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/stream-processing/flink.rf.hcl#L21-L49">Source</a></summary>

<div id="rule-flink-compute-pool"></div>

Matches `resource` instances of `confluent_flink_compute_pool`.

**Classification:** [`confluent.concept.flink-compute-pool`](#confluent-concept-flink-compute-pool).

**Contexts**

- [`confluent.context.ownership`](#confluent-context-ownership): targets [`confluent.concept.environment`](#confluent-concept-environment) through `source.environment[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id"]`

**Context through `source.environment[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.flink-connection</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/stream-processing/flink.rf.hcl#L59-L106">Source</a></summary>

<div id="rule-flink-connection"></div>

Matches `resource` instances of `confluent_flink_connection`.

**Classification:** [`confluent.concept.flink-connection`](#confluent-concept-flink-connection).

**Contexts**

- [`rf.context.runtime`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-context-runtime): targets [`confluent.concept.flink-compute-pool`](#confluent-concept-flink-compute-pool) through `source.compute_pool[0].id`.
- [`confluent.context.ownership`](#confluent-context-ownership): targets [`confluent.concept.environment`](#confluent-concept-environment) through `source.environment[0].id`.

**Relations**

- [`confluent.relation.uses-principal`](#confluent-relation-uses-principal): targets [`rf.concept.service-identity`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-service-identity) through `source.principal[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Context through `source.compute_pool[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Context through `source.environment[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.principal[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.flink-materialized-table</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/stream-processing/flink.rf.hcl#L108-L154">Source</a></summary>

<div id="rule-flink-materialized-table"></div>

Matches `resource` instances of `confluent_flink_materialized_table`.

**Classification:** [`confluent.concept.flink-materialized-table`](#confluent-concept-flink-materialized-table).

**Contexts**

- [`rf.context.runtime`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-context-runtime): targets [`confluent.concept.flink-compute-pool`](#confluent-concept-flink-compute-pool) through `source.compute_pool[0].id`.

**Relations**

- [`confluent.relation.uses-kafka-cluster`](#confluent-relation-uses-kafka-cluster): targets [`confluent.concept.kafka-cluster`](#confluent-concept-kafka-cluster) through `source.kafka_cluster[0].id`.
- [`confluent.relation.uses-principal`](#confluent-relation-uses-principal): targets [`rf.concept.service-identity`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-service-identity) through `source.principal[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Context through `source.compute_pool[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.kafka_cluster[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.principal[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.flink-statement</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/stream-processing/flink.rf.hcl#L156-L174">Source</a></summary>

<div id="rule-flink-statement"></div>

Matches `resource` instances of `confluent_flink_statement`.

**Classification:** [`confluent.concept.flink-configuration`](#confluent-concept-flink-configuration).

**Contributions**

- targets [`confluent.concept.flink-compute-pool`](#confluent-concept-flink-compute-pool) through `source.compute_pool[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Contribution through `source.compute_pool[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.gateway</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/network/networking.rf.hcl#L59-L87">Source</a></summary>

<div id="rule-gateway"></div>

Matches `resource` instances of `confluent_gateway`.

**Classification:** [`confluent.concept.network-gateway`](#confluent-concept-network-gateway).

**Contexts**

- [`confluent.context.ownership`](#confluent-context-ownership): targets [`confluent.concept.environment`](#confluent-concept-environment) through `source.environment[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id"]`

**Context through `source.environment[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.group-mapping</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/identity-iam/identities.rf.hcl#L67-L73">Source</a></summary>

<div id="rule-group-mapping"></div>

Matches `resource` instances of `confluent_group_mapping`.

**Classification:** [`confluent.concept.identity-access-configuration`](#confluent-concept-identity-access-configuration).

</details>

<details>
<summary><code>confluent.rule.identity-pool</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/identity-iam/identities.rf.hcl#L47-L65">Source</a></summary>

<div id="rule-identity-pool"></div>

Matches `resource` instances of `confluent_identity_pool`.

**Classification:** [`confluent.concept.identity-pool`](#confluent-concept-identity-pool).

**Relations**

- [`confluent.relation.trusts`](#confluent-relation-trusts): targets [`confluent.concept.identity-provider`](#confluent-concept-identity-provider) through `source.identity_provider[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Relation through `source.identity_provider[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.identity-provider</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/identity-iam/identities.rf.hcl#L30-L45">Source</a></summary>

<div id="rule-identity-provider"></div>

Matches `resource` instances of `confluent_identity_provider`.

**Classification:** [`confluent.concept.identity-provider`](#confluent-concept-identity-provider).

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id"]`

</details>

</details>

<details>
<summary><code>confluent.rule.ip-filter</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/identity-iam/identities.rf.hcl#L91-L97">Source</a></summary>

<div id="rule-ip-filter"></div>

Matches `resource` instances of `confluent_ip_filter`.

**Classification:** [`confluent.concept.identity-access-configuration`](#confluent-concept-identity-access-configuration).

</details>

<details>
<summary><code>confluent.rule.ip-group</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/identity-iam/identities.rf.hcl#L83-L89">Source</a></summary>

<div id="rule-ip-group"></div>

Matches `resource` instances of `confluent_ip_group`.

**Classification:** [`confluent.concept.identity-access-configuration`](#confluent-concept-identity-access-configuration).

</details>

<details>
<summary><code>confluent.rule.kafka-acl</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/streaming/kafka.rf.hcl#L140-L158">Source</a></summary>

<div id="rule-kafka-acl"></div>

Matches `resource` instances of `confluent_kafka_acl`.

**Classification:** [`confluent.concept.kafka-configuration`](#confluent-concept-kafka-configuration).

**Contributions**

- targets [`confluent.concept.kafka-cluster`](#confluent-concept-kafka-cluster) through `source.kafka_cluster[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Contribution through `source.kafka_cluster[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.kafka-client-quota</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/streaming/kafka.rf.hcl#L160-L178">Source</a></summary>

<div id="rule-kafka-client-quota"></div>

Matches `resource` instances of `confluent_kafka_client_quota`.

**Classification:** [`confluent.concept.kafka-configuration`](#confluent-concept-kafka-configuration).

**Contributions**

- targets [`confluent.concept.kafka-cluster`](#confluent-concept-kafka-cluster) through `source.kafka_cluster[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Contribution through `source.kafka_cluster[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.kafka-cluster-config</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/streaming/kafka.rf.hcl#L180-L198">Source</a></summary>

<div id="rule-kafka-cluster-config"></div>

Matches `resource` instances of `confluent_kafka_cluster_config`.

**Classification:** [`confluent.concept.kafka-configuration`](#confluent-concept-kafka-configuration).

**Contributions**

- targets [`confluent.concept.kafka-cluster`](#confluent-concept-kafka-cluster) through `source.kafka_cluster[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Contribution through `source.kafka_cluster[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.kafka-cluster</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/streaming/kafka.rf.hcl#L9-L65">Source</a></summary>

<div id="rule-kafka-cluster"></div>

Matches `resource` instances of `confluent_kafka_cluster`.

**Classification:** [`confluent.concept.kafka-cluster`](#confluent-concept-kafka-cluster).

**Contexts**

- [`confluent.context.ownership`](#confluent-context-ownership): targets [`confluent.concept.environment`](#confluent-concept-environment) through `source.environment[0].id`.
- [`rf.context.network`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-context-network): targets [`rf.concept.virtual-network`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-virtual-network) through `source.network[0].id`.

**Relations**

- [`confluent.relation.uses-key`](#confluent-relation-uses-key): targets [`confluent.concept.byok-key`](#confluent-concept-byok-key) through `source.byok_key[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id"]`

**Context through `source.environment[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Context through `source.network[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.byok_key[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.kafka-mirror-topic</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/streaming/cluster-linking.rf.hcl#L70-L122">Source</a></summary>

<div id="rule-kafka-mirror-topic"></div>

Matches `resource` instances of `confluent_kafka_mirror_topic`.

**Classification:** [`confluent.concept.message-topic`](#confluent-concept-message-topic).

**Contexts**

- [`rf.context.runtime`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-context-runtime): targets [`confluent.concept.kafka-cluster`](#confluent-concept-kafka-cluster) through `source.kafka_cluster[0].id`.

**Relations**

- [`confluent.relation.mirrors`](#confluent-relation-mirrors): targets [`confluent.concept.message-topic`](#confluent-concept-message-topic) through `source.source_kafka_topic[0].topic_name`.
- [`confluent.relation.replicated-through`](#confluent-relation-replicated-through): targets [`confluent.concept.cluster-link`](#confluent-concept-cluster-link) through `source.cluster_link[0].link_name`.

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["mirror_topic_name"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id", "mirror_topic_name"]`

**Context through `source.kafka_cluster[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.source_kafka_topic[0].topic_name`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.topic_name`
- `match.strategy`: `"exact"`

**Relation through `source.cluster_link[0].link_name`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.link_name`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.kafka-topic</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/streaming/kafka.rf.hcl#L67-L95">Source</a></summary>

<div id="rule-kafka-topic"></div>

Matches `resource` instances of `confluent_kafka_topic`.

**Classification:** [`confluent.concept.message-topic`](#confluent-concept-message-topic).

**Contexts**

- [`rf.context.runtime`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-context-runtime): targets [`confluent.concept.kafka-cluster`](#confluent-concept-kafka-cluster) through `source.kafka_cluster[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["topic_name"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id", "topic_name"]`

**Context through `source.kafka_cluster[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.ksqldb-cluster</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/stream-processing/ksqldb.rf.hcl#L5-L52">Source</a></summary>

<div id="rule-ksqldb-cluster"></div>

Matches `resource` instances of `confluent_ksql_cluster`.

**Classification:** [`confluent.concept.ksqldb-cluster`](#confluent-concept-ksqldb-cluster).

**Contexts**

- [`confluent.context.ownership`](#confluent-context-ownership): targets [`confluent.concept.environment`](#confluent-concept-environment) through `source.environment[0].id`.
- [`rf.context.runtime`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-context-runtime): targets [`confluent.concept.kafka-cluster`](#confluent-concept-kafka-cluster) through `source.kafka_cluster[0].id`.

**Relations**

- [`confluent.relation.uses-principal`](#confluent-relation-uses-principal): targets [`rf.concept.service-identity`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-service-identity) through `source.credential_identity[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Context through `source.environment[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Context through `source.kafka_cluster[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.credential_identity[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.network-link-endpoint</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/network/networking.rf.hcl#L374-L408">Source</a></summary>

<div id="rule-network-link-endpoint"></div>

Matches `resource` instances of `confluent_network_link_endpoint`.

**Classification:** [`confluent.concept.network-link-endpoint`](#confluent-concept-network-link-endpoint).

**Contexts**

- [`rf.context.network`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-context-network): targets [`rf.concept.virtual-network`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-virtual-network) through `source.network[0].id`.

**Relations**

- [`confluent.relation.connects-to`](#confluent-relation-connects-to): targets [`confluent.concept.network-link-service`](#confluent-concept-network-link-service) through `source.network_link_service[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Context through `source.network[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.network_link_service[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.network-link-service</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/network/networking.rf.hcl#L341-L372">Source</a></summary>

<div id="rule-network-link-service"></div>

Matches `resource` instances of `confluent_network_link_service`.

**Classification:** [`confluent.concept.network-link-service`](#confluent-concept-network-link-service).

**Contexts**

- [`rf.context.network`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-context-network): targets [`rf.concept.virtual-network`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-virtual-network) through `source.network[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id"]`

**Context through `source.network[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.network</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/network/networking.rf.hcl#L29-L57">Source</a></summary>

<div id="rule-network"></div>

Matches `resource` instances of `confluent_network`.

**Classification:** [`rf.concept.virtual-network`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-virtual-network).

**Contexts**

- [`confluent.context.ownership`](#confluent-context-ownership): targets [`confluent.concept.environment`](#confluent-concept-environment) through `source.environment[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id"]`

**Context through `source.environment[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.network-peering</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/network/networking.rf.hcl#L154-L221">Source</a></summary>

<div id="rule-network-peering"></div>

Matches `resource` instances of `confluent_peering`.

**Classification:** [`confluent.concept.network-peering`](#confluent-concept-network-peering).

**Contexts**

- [`rf.context.network`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-context-network): targets [`rf.concept.virtual-network`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-virtual-network) through `source.network[0].id`.

**Relations**

- [`confluent.relation.peers-with`](#confluent-relation-peers-with): targets [`rf.concept.virtual-network`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-virtual-network) through `source.aws[0].vpc`.
- [`confluent.relation.peers-with`](#confluent-relation-peers-with): targets [`rf.concept.virtual-network`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-virtual-network) through `source.azure[0].vnet`.
- [`confluent.relation.peers-with`](#confluent-relation-peers-with): targets [`rf.concept.virtual-network`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-virtual-network) through `source.gcp[0].vpc_network`.

<details>
<summary>Conditions, identity and resolution</summary>

**Context through `source.network[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.aws[0].vpc`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.azure[0].vnet`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.gcp[0].vpc_network`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.legacy-connector-plugin</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/connectors/connectors.rf.hcl#L93-L99">Source</a></summary>

<div id="rule-legacy-connector-plugin"></div>

Matches `resource` instances of `confluent_plugin`.

**Classification:** [`confluent.concept.connector-artifact`](#confluent-concept-connector-artifact).

</details>

<details>
<summary><code>confluent.rule.private-link-access</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/network/networking.rf.hcl#L223-L244">Source</a></summary>

<div id="rule-private-link-access"></div>

Matches `resource` instances of `confluent_private_link_access`.

**Classification:** [`confluent.concept.network-configuration`](#confluent-concept-network-configuration).

**Contributions**

- targets [`rf.concept.virtual-network`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-virtual-network) through `source.network[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Contribution through `source.network[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.private-link-attachment-connection</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/network/networking.rf.hcl#L276-L339">Source</a></summary>

<div id="rule-private-link-attachment-connection"></div>

Matches `resource` instances of `confluent_private_link_attachment_connection`.

**Classification:** [`confluent.concept.private-endpoint`](#confluent-concept-private-endpoint).

**Relations**

- [`confluent.relation.connects-to-attachment`](#confluent-relation-connects-to-attachment): targets [`confluent.concept.private-link-attachment`](#confluent-concept-private-link-attachment) through `source.private_link_attachment[0].id`.
- [`confluent.relation.connects-to`](#confluent-relation-connects-to): targets [`confluent.concept.private-endpoint`](#confluent-concept-private-endpoint) through `source.aws[0].vpc_endpoint_id`.
- [`confluent.relation.connects-to`](#confluent-relation-connects-to): targets [`confluent.concept.private-endpoint`](#confluent-concept-private-endpoint) through `source.azure[0].private_endpoint_resource_id`.
- [`confluent.relation.connects-to`](#confluent-relation-connects-to): targets [`confluent.concept.private-endpoint`](#confluent-concept-private-endpoint) through `source.gcp[0].private_service_connect_connection_id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id"]`

**Relation through `source.private_link_attachment[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.aws[0].vpc_endpoint_id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.azure[0].private_endpoint_resource_id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.gcp[0].private_service_connect_connection_id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.private-link-attachment</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/network/networking.rf.hcl#L246-L274">Source</a></summary>

<div id="rule-private-link-attachment"></div>

Matches `resource` instances of `confluent_private_link_attachment`.

**Classification:** [`confluent.concept.private-link-attachment`](#confluent-concept-private-link-attachment).

**Contexts**

- [`confluent.context.ownership`](#confluent-context-ownership): targets [`confluent.concept.environment`](#confluent-concept-environment) through `source.environment[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id"]`

**Context through `source.environment[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.provider-integration-authorization</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/security/encryption-certificates.rf.hcl#L107-L125">Source</a></summary>

<div id="rule-provider-integration-authorization"></div>

Matches `resource` instances of `confluent_provider_integration_authorization`.

**Classification:** [`confluent.concept.security-configuration`](#confluent-concept-security-configuration).

**Contributions**

- targets [`confluent.concept.provider-integration`](#confluent-concept-provider-integration) through `source.provider_integration_id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Contribution through `source.provider_integration_id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.provider-integration-setup</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/security/encryption-certificates.rf.hcl#L127-L146">Source</a></summary>

<div id="rule-provider-integration-setup"></div>

Matches `resource` instances of `confluent_provider_integration_setup`.

**Classification:** [`confluent.concept.security-configuration`](#confluent-concept-security-configuration).

**Contexts**

- [`confluent.context.ownership`](#confluent-context-ownership): targets [`confluent.concept.environment`](#confluent-concept-environment) through `source.environment[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Context through `source.environment[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.provider-integration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/security/encryption-certificates.rf.hcl#L76-L105">Source</a></summary>

<div id="rule-provider-integration"></div>

Matches `resource` instances of `confluent_provider_integration`.

**Classification:** [`confluent.concept.provider-integration`](#confluent-concept-provider-integration).

**Contexts**

- [`confluent.context.ownership`](#confluent-context-ownership): targets [`confluent.concept.environment`](#confluent-concept-environment) through `source.environment[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id"]`

**Context through `source.environment[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.role-binding</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/identity-iam/identities.rf.hcl#L75-L81">Source</a></summary>

<div id="rule-role-binding"></div>

Matches `resource` instances of `confluent_role_binding`.

**Classification:** [`confluent.concept.identity-access-configuration`](#confluent-concept-identity-access-configuration).

</details>

<details>
<summary><code>confluent.rule.rtce-topic</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/streaming/kafka.rf.hcl#L97-L138">Source</a></summary>

<div id="rule-rtce-topic"></div>

Matches `resource` instances of `confluent_rtce_topic`.

**Classification:** [`confluent.concept.message-topic`](#confluent-concept-message-topic).

**Contexts**

- [`confluent.context.ownership`](#confluent-context-ownership): targets [`confluent.concept.environment`](#confluent-concept-environment) through `source.environment[0].id`.
- [`rf.context.runtime`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-context-runtime): targets [`confluent.concept.kafka-cluster`](#confluent-concept-kafka-cluster) through `source.kafka_cluster[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["topic_name"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id", "topic_name"]`

**Context through `source.environment[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Context through `source.kafka_cluster[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.schema-exporter</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/data-governance/schema-registry.rf.hcl#L184-L214">Source</a></summary>

<div id="rule-schema-exporter"></div>

Matches `resource` instances of `confluent_schema_exporter`.

**Classification:** [`confluent.concept.schema-link`](#confluent-concept-schema-link).

**Relations**

- [`confluent.relation.exports-from`](#confluent-relation-exports-from): targets [`confluent.concept.schema-registry`](#confluent-concept-schema-registry) through `source.schema_registry_cluster[0].id`.
- [`confluent.relation.exports-to`](#confluent-relation-exports-to): targets [`confluent.concept.schema-registry`](#confluent-concept-schema-registry) through `source.destination_schema_registry_cluster[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Relation through `source.schema_registry_cluster[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.destination_schema_registry_cluster[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.schema-registry-cluster-config</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/data-governance/schema-registry.rf.hcl#L64-L82">Source</a></summary>

<div id="rule-schema-registry-cluster-config"></div>

Matches `resource` instances of `confluent_schema_registry_cluster_config`.

**Classification:** [`confluent.concept.schema-registry-configuration`](#confluent-concept-schema-registry-configuration).

**Contributions**

- targets [`confluent.concept.schema-registry`](#confluent-concept-schema-registry) through `source.schema_registry_cluster[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Contribution through `source.schema_registry_cluster[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.schema-registry-cluster-mode</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/data-governance/schema-registry.rf.hcl#L84-L102">Source</a></summary>

<div id="rule-schema-registry-cluster-mode"></div>

Matches `resource` instances of `confluent_schema_registry_cluster_mode`.

**Classification:** [`confluent.concept.schema-registry-configuration`](#confluent-concept-schema-registry-configuration).

**Contributions**

- targets [`confluent.concept.schema-registry`](#confluent-concept-schema-registry) through `source.schema_registry_cluster[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Contribution through `source.schema_registry_cluster[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.schema-registry</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/data-governance/schema-registry.rf.hcl#L13-L42">Source</a></summary>

<div id="rule-schema-registry"></div>

Matches `data` instances of `confluent_schema_registry_cluster`.

**Classification:** [`confluent.concept.schema-registry`](#confluent-concept-schema-registry).

**Contexts**

- [`confluent.context.ownership`](#confluent-context-ownership): targets [`confluent.concept.environment`](#confluent-concept-environment) through `source.environment[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id"]`

**Context through `source.environment[0].id`**

- `on_null`: `"indeterminate"`
- `on_empty`: `"indeterminate"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.schema-registry-dek</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/data-governance/schema-registry.rf.hcl#L104-L122">Source</a></summary>

<div id="rule-schema-registry-dek"></div>

Matches `resource` instances of `confluent_schema_registry_dek`.

**Classification:** [`confluent.concept.schema-registry-configuration`](#confluent-concept-schema-registry-configuration).

**Contributions**

- targets [`confluent.concept.schema-registry`](#confluent-concept-schema-registry) through `source.schema_registry_cluster[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Contribution through `source.schema_registry_cluster[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.schema-registry-kek</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/data-governance/schema-registry.rf.hcl#L124-L142">Source</a></summary>

<div id="rule-schema-registry-kek"></div>

Matches `resource` instances of `confluent_schema_registry_kek`.

**Classification:** [`confluent.concept.schema-registry-configuration`](#confluent-concept-schema-registry-configuration).

**Contributions**

- targets [`confluent.concept.schema-registry`](#confluent-concept-schema-registry) through `source.schema_registry_cluster[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Contribution through `source.schema_registry_cluster[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.schema</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/data-governance/schema-registry.rf.hcl#L44-L62">Source</a></summary>

<div id="rule-schema"></div>

Matches `resource` instances of `confluent_schema`.

**Classification:** [`confluent.concept.schema-registry-configuration`](#confluent-concept-schema-registry-configuration).

**Contributions**

- targets [`confluent.concept.schema-registry`](#confluent-concept-schema-registry) through `source.schema_registry_cluster[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Contribution through `source.schema_registry_cluster[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.service-account</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/identity-iam/identities.rf.hcl#L13-L28">Source</a></summary>

<div id="rule-service-account"></div>

Matches `resource` instances of `confluent_service_account`.

**Classification:** [`rf.concept.service-identity`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-service-identity).

<details>
<summary>Conditions, identity and resolution</summary>

**Identity**

- `attributes`: `["id"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["id"]`

</details>

</details>

<details>
<summary><code>confluent.rule.subject-config</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/data-governance/schema-registry.rf.hcl#L144-L162">Source</a></summary>

<div id="rule-subject-config"></div>

Matches `resource` instances of `confluent_subject_config`.

**Classification:** [`confluent.concept.schema-registry-configuration`](#confluent-concept-schema-registry-configuration).

**Contributions**

- targets [`confluent.concept.schema-registry`](#confluent-concept-schema-registry) through `source.schema_registry_cluster[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Contribution through `source.schema_registry_cluster[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.subject-mode</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/data-governance/schema-registry.rf.hcl#L164-L182">Source</a></summary>

<div id="rule-subject-mode"></div>

Matches `resource` instances of `confluent_subject_mode`.

**Classification:** [`confluent.concept.schema-registry-configuration`](#confluent-concept-schema-registry-configuration).

**Contributions**

- targets [`confluent.concept.schema-registry`](#confluent-concept-schema-registry) through `source.schema_registry_cluster[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Contribution through `source.schema_registry_cluster[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.tableflow-topic</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/data-governance/catalog-tableflow.rf.hcl#L55-L125">Source</a></summary>

<div id="rule-tableflow-topic"></div>

Matches `resource` instances of `confluent_tableflow_topic`.

**Classification:** [`confluent.concept.tableflow-topic`](#confluent-concept-tableflow-topic).

**Contexts**

- [`confluent.context.ownership`](#confluent-context-ownership): targets [`confluent.concept.environment`](#confluent-concept-environment) through `source.environment[0].id`.
- [`rf.context.runtime`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-context-runtime): targets [`confluent.concept.kafka-cluster`](#confluent-concept-kafka-cluster) through `source.kafka_cluster[0].id`.

**Relations**

- [`confluent.relation.stores-in`](#confluent-relation-stores-in): targets [`rf.concept.object-storage-container`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-object-storage-container) through `source.byob_aws[0].bucket_name`.
- [`confluent.relation.stores-in`](#confluent-relation-stores-in): targets [`rf.concept.object-storage-container`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-object-storage-container) through `source.azure_data_lake_storage_gen_2[0].container_name`.
- [`confluent.relation.uses-provider-integration`](#confluent-relation-uses-provider-integration): targets [`confluent.concept.provider-integration`](#confluent-concept-provider-integration) through `source.byob_aws[0].provider_integration_id`.
- [`confluent.relation.uses-provider-integration`](#confluent-relation-uses-provider-integration): targets [`confluent.concept.provider-integration`](#confluent-concept-provider-integration) through `source.azure_data_lake_storage_gen_2[0].provider_integration_id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Context through `source.environment[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Context through `source.kafka_cluster[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.byob_aws[0].bucket_name`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`

**Relation through `source.azure_data_lake_storage_gen_2[0].container_name`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`

**Relation through `source.byob_aws[0].provider_integration_id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

**Relation through `source.azure_data_lake_storage_gen_2[0].provider_integration_id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>

<details>
<summary><code>confluent.rule.tag-binding</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/governance-management/environments.rf.hcl#L58-L64">Source</a></summary>

<div id="rule-tag-binding"></div>

Matches `resource` instances of `confluent_tag_binding`.

**Classification:** [`confluent.concept.governance-configuration`](#confluent-concept-governance-configuration).

</details>

<details>
<summary><code>confluent.rule.tag</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/governance-management/environments.rf.hcl#L50-L56">Source</a></summary>

<div id="rule-tag"></div>

Matches `resource` instances of `confluent_tag`.

**Classification:** [`confluent.concept.governance-configuration`](#confluent-concept-governance-configuration).

</details>

<details>
<summary><code>confluent.rule.transit-gateway-attachment</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/confluent/network/networking.rf.hcl#L410-L432">Source</a></summary>

<div id="rule-transit-gateway-attachment"></div>

Matches `resource` instances of `confluent_transit_gateway_attachment`.

**Classification:** [`confluent.concept.transit-gateway-attachment`](#confluent-concept-transit-gateway-attachment).

**Contexts**

- [`rf.context.network`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-context-network): targets [`rf.concept.virtual-network`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-virtual-network) through `source.network[0].id`.

<details>
<summary>Conditions, identity and resolution</summary>

**Context through `source.network[0].id`**

- `on_null`: `"absent"`
- `on_empty`: `"absent"`
- `external`: `"allow"`
- `match.by`: `target.id`
- `match.strategy`: `"exact"`

</details>

</details>
