# aws 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**

- `hashicorp/aws`: `= 6.62.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 |
| --- | --- | --- | --- |
| `aws_alb_target_group` | `resource` | [`load-balancer-component`](#aws-concept-load-balancer-component) | [`alb-target-group`](#rule-alb-target-group) |
| `aws_alb` | `resource` | [`load-balancer`](#aws-concept-load-balancer) | [`alb`](#rule-alb) |
| `aws_api_gateway_integration` | `resource` | [`api-component`](#aws-concept-api-component) | [`api-gateway-integration`](#rule-api-gateway-integration) |
| `aws_api_gateway_model` | `resource` | [`api-component`](#aws-concept-api-component) | [`api-gateway-model`](#rule-api-gateway-model) |
| `aws_api_gateway_resource` | `resource` | [`api-component`](#aws-concept-api-component) | [`api-gateway-resource`](#rule-api-gateway-resource) |
| `aws_api_gateway_rest_api` | `resource` | [`api-gateway`](#aws-concept-api-gateway) | [`api-gateway-rest-api`](#rule-api-gateway-rest-api) |
| `aws_api_gateway_stage` | `resource` | [`api-component`](#aws-concept-api-component) | [`api-gateway-stage`](#rule-api-gateway-stage) |
| `aws_apigatewayv2_api` | `resource` | [`api-gateway`](#aws-concept-api-gateway) | [`apigatewayv2-api`](#rule-apigatewayv2-api) |
| `aws_apigatewayv2_model` | `resource` | [`api-component`](#aws-concept-api-component) | [`apigatewayv2-model`](#rule-apigatewayv2-model) |
| `aws_appsync_datasource` | `resource` | [`appsync-component`](#aws-concept-appsync-component) | [`appsync-datasource`](#rule-appsync-datasource) |
| `aws_appsync_function` | `resource` | [`appsync-component`](#aws-concept-appsync-component) | [`appsync-function`](#rule-appsync-function) |
| `aws_appsync_graphql_api` | `resource` | [`appsync-api`](#aws-concept-appsync-api) | [`appsync-graphql-api`](#rule-appsync-graphql-api) |
| `aws_appsync_resolver` | `resource` | [`appsync-component`](#aws-concept-appsync-component) | [`appsync-resolver`](#rule-appsync-resolver) |
| `aws_bedrockagent_agent_action_group` | `resource` | [`bedrock-agent-component`](#aws-concept-bedrock-agent-component) | [`bedrockagent-agent-action-group`](#rule-bedrockagent-agent-action-group) |
| `aws_bedrockagent_agent` | `resource` | [`bedrockagent-agent`](#aws-concept-bedrockagent-agent) | [`bedrockagent-agent`](#rule-bedrockagent-agent) |
| `aws_cloudwatch_event_bus` | `resource` | [`event-bus`](#aws-concept-event-bus) | [`cloudwatch-event-bus`](#rule-cloudwatch-event-bus) |
| `aws_cloudwatch_event_rule` | `resource` | [`event-component`](#aws-concept-event-component) | [`cloudwatch-event-rule`](#rule-cloudwatch-event-rule) |
| `aws_cloudwatch_event_target` | `resource` | [`event-component`](#aws-concept-event-component) | [`cloudwatch-event-target`](#rule-cloudwatch-event-target) |
| `aws_cognito_user_group` | `resource` | [`cognito-component`](#aws-concept-cognito-component) | [`cognito-user-group`](#rule-cognito-user-group) |
| `aws_cognito_user_pool_domain` | `resource` | [`cognito-component`](#aws-concept-cognito-component) | [`cognito-user-pool-domain`](#rule-cognito-user-pool-domain) |
| `aws_cognito_user_pool` | `resource` | [`cognito-user-pool`](#aws-concept-cognito-user-pool) | [`cognito-user-pool`](#rule-cognito-user-pool) |
| `aws_connect_contact_flow` | `resource` | [`connect-component`](#aws-concept-connect-component) | [`connect-contact-flow`](#rule-connect-contact-flow) |
| `aws_connect_instance` | `resource` | [`connect-instance`](#aws-concept-connect-instance) | [`connect-instance`](#rule-connect-instance) |
| `aws_connect_queue` | `resource` | [`connect-component`](#aws-concept-connect-component) | [`connect-queue`](#rule-connect-queue) |
| `aws_connect_routing_profile` | `resource` | [`connect-component`](#aws-concept-connect-component) | [`connect-routing-profile`](#rule-connect-routing-profile) |
| `aws_connect_security_profile` | `resource` | [`connect-component`](#aws-concept-connect-component) | [`connect-security-profile`](#rule-connect-security-profile) |
| `aws_connect_user_hierarchy_group` | `resource` | [`connect-component`](#aws-concept-connect-component) | [`connect-user-hierarchy-group`](#rule-connect-user-hierarchy-group) |
| `aws_dax_cluster` | `resource` | [`managed-cache`](#aws-concept-managed-cache) | [`dax-cluster`](#rule-dax-cluster) |
| `aws_db_instance` | `resource` | [`managed-database`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-managed-database) | [`db-instance`](#rule-db-instance) |
| `aws_db_proxy_default_target_group` | `resource` | [`db-proxy-component`](#aws-concept-db-proxy-component) | [`db-proxy-default-target-group`](#rule-db-proxy-default-target-group) |
| `aws_db_proxy_endpoint` | `resource` | [`db-proxy-component`](#aws-concept-db-proxy-component) | [`db-proxy-endpoint`](#rule-db-proxy-endpoint) |
| `aws_db_proxy` | `resource` | [`db-proxy`](#aws-concept-db-proxy) | [`db-proxy`](#rule-db-proxy) |
| `aws_docdb_cluster_instance` | `resource` | [`managed-database-component`](#aws-concept-managed-database-component) | [`docdb-cluster-instance`](#rule-docdb-cluster-instance) |
| `aws_docdb_cluster` | `resource` | [`managed-database`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-managed-database) | [`docdb-cluster`](#rule-docdb-cluster) |
| `aws_dsql_cluster` | `resource` | [`managed-database`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-managed-database) | [`dsql-cluster`](#rule-dsql-cluster) |
| `aws_dynamodb_global_secondary_index` | `resource` | [`dynamodb-component`](#aws-concept-dynamodb-component) | [`dynamodb-global-secondary-index`](#rule-dynamodb-global-secondary-index) |
| `aws_dynamodb_table` | `resource` | [`dynamodb-table`](#aws-concept-dynamodb-table) | [`dynamodb-table`](#rule-dynamodb-table) |
| `aws_ec2_transit_gateway_vpc_attachment` | `resource` | [`transit-gateway-attachment`](#aws-concept-transit-gateway-attachment) | [`ec2-transit-gateway-vpc-attachment`](#rule-ec2-transit-gateway-vpc-attachment) |
| `aws_ec2_transit_gateway` | `resource` | [`transit-gateway`](#aws-concept-transit-gateway) | [`ec2-transit-gateway`](#rule-ec2-transit-gateway) |
| `aws_ecr_lifecycle_policy` | `resource` | [`repository-configuration`](#aws-concept-repository-configuration) | [`ecr-lifecycle-policy`](#rule-ecr-lifecycle-policy) |
| `aws_ecr_repository` | `resource` | [`container-repository`](#aws-concept-container-repository) | [`ecr-repository`](#rule-ecr-repository) |
| `aws_ecs_cluster` | `resource` | [`ecs-cluster`](#aws-concept-ecs-cluster) | [`ecs-cluster`](#rule-ecs-cluster) |
| `aws_ecs_service` | `resource` | [`ecs-service`](#aws-concept-ecs-service) | [`ecs-service`](#rule-ecs-service) |
| `aws_efs_file_system` | `resource` | [`managed-file-storage`](#aws-concept-managed-file-storage) | [`efs-file-system`](#rule-efs-file-system) |
| `aws_eks_cluster` | `resource` | [`kubernetes-cluster`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-kubernetes-cluster) | [`eks-cluster`](#rule-eks-cluster) |
| `aws_eks_fargate_profile` | `resource` | [`eks-compute-profile`](#aws-concept-eks-compute-profile) | [`eks-fargate-profile`](#rule-eks-fargate-profile) |
| `aws_eks_node_group` | `resource` | [`kubernetes-node-pool`](#aws-concept-kubernetes-node-pool) | [`eks-node-group`](#rule-eks-node-group) |
| `aws_elasticache_cluster` | `resource` | [`managed-cache`](#aws-concept-managed-cache) | [`elasticache-cluster`](#rule-elasticache-cluster) |
| `aws_elasticache_replication_group` | `resource` | [`managed-cache`](#aws-concept-managed-cache) | [`elasticache-replication-group`](#rule-elasticache-replication-group) |
| `aws_elb` | `resource` | [`load-balancer`](#aws-concept-load-balancer) | [`elb`](#rule-elb) |
| `aws_emr_cluster` | `resource` | [`emr-cluster`](#aws-concept-emr-cluster) | [`emr-cluster`](#rule-emr-cluster) |
| `aws_emr_instance_fleet` | `resource` | [`emr-cluster-component`](#aws-concept-emr-cluster-component) | [`emr-instance-fleet`](#rule-emr-instance-fleet) |
| `aws_emr_instance_group` | `resource` | [`emr-cluster-component`](#aws-concept-emr-cluster-component) | [`emr-instance-group`](#rule-emr-instance-group) |
| `aws_fsx_lustre_file_system` | `resource` | [`managed-file-storage`](#aws-concept-managed-file-storage) | [`fsx-lustre-file-system`](#rule-fsx-lustre-file-system) |
| `aws_fsx_ontap_file_system` | `resource` | [`managed-file-storage`](#aws-concept-managed-file-storage) | [`fsx-ontap-file-system`](#rule-fsx-ontap-file-system) |
| `aws_fsx_openzfs_file_system` | `resource` | [`managed-file-storage`](#aws-concept-managed-file-storage) | [`fsx-openzfs-file-system`](#rule-fsx-openzfs-file-system) |
| `aws_fsx_windows_file_system` | `resource` | [`managed-file-storage`](#aws-concept-managed-file-storage) | [`fsx-windows-file-system`](#rule-fsx-windows-file-system) |
| `aws_globalaccelerator_accelerator` | `resource` | [`global-accelerator`](#aws-concept-global-accelerator) | [`globalaccelerator-accelerator`](#rule-globalaccelerator-accelerator) |
| `aws_globalaccelerator_custom_routing_accelerator` | `resource` | [`global-accelerator`](#aws-concept-global-accelerator) | [`globalaccelerator-custom-routing-accelerator`](#rule-globalaccelerator-custom-routing-accelerator) |
| `aws_globalaccelerator_custom_routing_endpoint_group` | `resource` | [`global-accelerator-component`](#aws-concept-global-accelerator-component) | [`globalaccelerator-custom-routing-endpoint-group`](#rule-globalaccelerator-custom-routing-endpoint-group) |
| `aws_globalaccelerator_custom_routing_listener` | `resource` | [`global-accelerator-component`](#aws-concept-global-accelerator-component) | [`globalaccelerator-custom-routing-listener`](#rule-globalaccelerator-custom-routing-listener) |
| `aws_globalaccelerator_endpoint_group` | `resource` | [`global-accelerator-component`](#aws-concept-global-accelerator-component) | [`globalaccelerator-endpoint-group`](#rule-globalaccelerator-endpoint-group) |
| `aws_globalaccelerator_listener` | `resource` | [`global-accelerator-component`](#aws-concept-global-accelerator-component) | [`globalaccelerator-listener`](#rule-globalaccelerator-listener) |
| `aws_iam_group` | `resource` | [`identity-group`](#aws-concept-identity-group) | [`iam-group`](#rule-iam-group) |
| `aws_iam_instance_profile` | `resource` | [`instance-profile`](#aws-concept-instance-profile) | [`iam-instance-profile`](#rule-iam-instance-profile) |
| `aws_iam_role_policy_attachment` | `resource` | [`service-identity-binding`](#aws-concept-service-identity-binding) | [`iam-role-policy-attachment`](#rule-iam-role-policy-attachment) |
| `aws_iam_role` | `resource` | [`iam-role`](#aws-concept-iam-role) | [`iam-role`](#rule-iam-role) |
| `aws_identitystore_group` | `resource` | [`identity-group`](#aws-concept-identity-group) | [`identitystore-group`](#rule-identitystore-group) |
| `aws_instance` | `resource` | [`compute-instance`](#aws-concept-compute-instance) | [`instance`](#rule-instance) |
| `aws_internet_gateway` | `resource` | [`internet-gateway`](#aws-concept-internet-gateway) | [`internet-gateway`](#rule-internet-gateway) |
| `aws_kms_alias` | `resource` | [`key-alias`](#aws-concept-key-alias) | [`kms-alias`](#rule-kms-alias) |
| `aws_kms_key` | `resource` | [`encryption-key`](#aws-concept-encryption-key) | [`kms-key`](#rule-kms-key) |
| `aws_lb_listener` | `resource` | [`load-balancer-component`](#aws-concept-load-balancer-component) | [`lb-listener`](#rule-lb-listener) |
| `aws_lb_target_group` | `resource` | [`load-balancer-component`](#aws-concept-load-balancer-component) | [`lb-target-group`](#rule-lb-target-group) |
| `aws_lb` | `resource` | [`load-balancer`](#aws-concept-load-balancer) | [`lb`](#rule-lb) |
| `aws_memorydb_cluster` | `resource` | [`managed-cache`](#aws-concept-managed-cache) | [`memorydb-cluster`](#rule-memorydb-cluster) |
| `aws_nat_gateway` | `resource` | [`managed-nat`](#aws-concept-managed-nat) | [`nat-gateway`](#rule-nat-gateway) |
| `aws_neptune_cluster_instance` | `resource` | [`managed-database-component`](#aws-concept-managed-database-component) | [`neptune-cluster-instance`](#rule-neptune-cluster-instance) |
| `aws_neptune_cluster` | `resource` | [`managed-database`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-managed-database) | [`neptune-cluster`](#rule-neptune-cluster) |
| `aws_network_acl` | `resource` | [`network-acl`](#aws-concept-network-acl) | [`network-acl`](#rule-network-acl) |
| `aws_pinpoint_adm_channel` | `resource` | [`pinpoint-component`](#aws-concept-pinpoint-component) | [`pinpoint-adm-channel`](#rule-pinpoint-adm-channel) |
| `aws_pinpoint_apns_channel` | `resource` | [`pinpoint-component`](#aws-concept-pinpoint-component) | [`pinpoint-apns-channel`](#rule-pinpoint-apns-channel) |
| `aws_pinpoint_apns_sandbox_channel` | `resource` | [`pinpoint-component`](#aws-concept-pinpoint-component) | [`pinpoint-apns-sandbox-channel`](#rule-pinpoint-apns-sandbox-channel) |
| `aws_pinpoint_apns_voip_channel` | `resource` | [`pinpoint-component`](#aws-concept-pinpoint-component) | [`pinpoint-apns-voip-channel`](#rule-pinpoint-apns-voip-channel) |
| `aws_pinpoint_apns_voip_sandbox_channel` | `resource` | [`pinpoint-component`](#aws-concept-pinpoint-component) | [`pinpoint-apns-voip-sandbox-channel`](#rule-pinpoint-apns-voip-sandbox-channel) |
| `aws_pinpoint_app` | `resource` | [`pinpoint-app`](#aws-concept-pinpoint-app) | [`pinpoint-app`](#rule-pinpoint-app) |
| `aws_pinpoint_baidu_channel` | `resource` | [`pinpoint-component`](#aws-concept-pinpoint-component) | [`pinpoint-baidu-channel`](#rule-pinpoint-baidu-channel) |
| `aws_pinpoint_email_channel` | `resource` | [`pinpoint-component`](#aws-concept-pinpoint-component) | [`pinpoint-email-channel`](#rule-pinpoint-email-channel) |
| `aws_pinpoint_event_stream` | `resource` | [`pinpoint-component`](#aws-concept-pinpoint-component) | [`pinpoint-event-stream`](#rule-pinpoint-event-stream) |
| `aws_pinpoint_gcm_channel` | `resource` | [`pinpoint-component`](#aws-concept-pinpoint-component) | [`pinpoint-gcm-channel`](#rule-pinpoint-gcm-channel) |
| `aws_pinpoint_sms_channel` | `resource` | [`pinpoint-component`](#aws-concept-pinpoint-component) | [`pinpoint-sms-channel`](#rule-pinpoint-sms-channel) |
| `aws_rds_cluster_activity_stream` | `resource` | [`managed-database-component`](#aws-concept-managed-database-component) | [`rds-cluster-activity-stream`](#rule-rds-cluster-activity-stream) |
| `aws_rds_cluster_endpoint` | `resource` | [`managed-database-component`](#aws-concept-managed-database-component) | [`rds-cluster-endpoint`](#rule-rds-cluster-endpoint) |
| `aws_rds_cluster_instance` | `resource` | [`managed-database-component`](#aws-concept-managed-database-component) | [`rds-cluster-instance`](#rule-rds-cluster-instance) |
| `aws_rds_cluster` | `resource` | [`managed-database`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-managed-database) | [`rds-cluster`](#rule-rds-cluster) |
| `aws_route_table` | `resource` | [`route-table`](#aws-concept-route-table) | [`route-table`](#rule-route-table) |
| `aws_s3_bucket_server_side_encryption_configuration` | `resource` | [`storage-configuration`](#aws-concept-storage-configuration) | [`s3-bucket-server-side-encryption-configuration`](#rule-s3-bucket-server-side-encryption-configuration) |
| `aws_s3_bucket_versioning` | `resource` | [`storage-configuration`](#aws-concept-storage-configuration) | [`s3-bucket-versioning`](#rule-s3-bucket-versioning) |
| `aws_s3_bucket` | `resource` | [`object-storage-container`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-object-storage-container) | [`s3-bucket`](#rule-s3-bucket) |
| `aws_s3_directory_bucket` | `resource` | [`object-storage-container`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-object-storage-container) | [`s3-directory-bucket`](#rule-s3-directory-bucket) |
| `aws_security_group` | `resource` | [`security-group`](#aws-concept-security-group) | [`security-group`](#rule-security-group) |
| `aws_sns_topic_subscription` | `resource` | [`message-subscription`](#aws-concept-message-subscription) | [`sns-topic-subscription`](#rule-sns-topic-subscription) |
| `aws_sns_topic` | `resource` | [`message-topic`](#aws-concept-message-topic) | [`sns-topic`](#rule-sns-topic) |
| `aws_subnet` | `resource` | [`subnet`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-subnet) | [`subnet`](#rule-subnet) |
| `aws_vpc_endpoint` | `resource` | [`private-endpoint`](#aws-concept-private-endpoint) | [`vpc-endpoint`](#rule-vpc-endpoint) |
| `aws_vpc` | `resource` | [`virtual-network`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-virtual-network) | [`vpc`](#rule-vpc) |
| `aws_vpn_connection` | `resource` | [`vpn-connection`](#aws-concept-vpn-connection) | [`vpn-connection`](#rule-vpn-connection) |
| `aws_vpn_gateway` | `resource` | [`vpn-gateway`](#aws-concept-vpn-gateway) | [`vpn-gateway`](#rule-vpn-gateway) |

## Local vocabulary

### Concepts

<dl>

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

A managed endpoint that serves model inference requests.

</dd>
<dd>

No Rule in this Dialect uses this definition.

</dd>
</div>

<div>
<dt id="aws-concept-api-component"><code>aws.concept.api-component</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/api-integration/concepts.rf.hcl#L2-L4">Source</a></dt>
<dd>

A route, stage, integration, or model contributing to an AWS API boundary.

</dd>
<dd>


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

- [`api-gateway-integration`](#rule-api-gateway-integration)
- [`api-gateway-model`](#rule-api-gateway-model)
- [`api-gateway-resource`](#rule-api-gateway-resource)
- [`api-gateway-stage`](#rule-api-gateway-stage)
- [`apigatewayv2-model`](#rule-apigatewayv2-model)

</details>

</dd>
</div>

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

A managed gateway that exposes and governs APIs.

</dd>
<dd>


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

- [`api-gateway-integration`](#rule-api-gateway-integration)
- [`api-gateway-model`](#rule-api-gateway-model)
- [`api-gateway-resource`](#rule-api-gateway-resource)
- [`api-gateway-rest-api`](#rule-api-gateway-rest-api)
- [`api-gateway-stage`](#rule-api-gateway-stage)
- [`apigatewayv2-api`](#rule-apigatewayv2-api)
- [`apigatewayv2-model`](#rule-apigatewayv2-model)

</details>

</dd>
</div>

<div>
<dt id="aws-concept-appsync-api"><code>aws.concept.appsync-api</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/api-integration/appsync.rf.hcl#L2-L4">Source</a></dt>
<dd>

An AWS AppSync GraphQL API boundary.

</dd>
<dd>


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

- [`appsync-datasource`](#rule-appsync-datasource)
- [`appsync-function`](#rule-appsync-function)
- [`appsync-graphql-api`](#rule-appsync-graphql-api)
- [`appsync-resolver`](#rule-appsync-resolver)

</details>

</dd>
</div>

<div>
<dt id="aws-concept-appsync-component"><code>aws.concept.appsync-component</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/api-integration/appsync.rf.hcl#L6-L8">Source</a></dt>
<dd>

An AWS AppSync data source, function, or resolver contributing to an API.

</dd>
<dd>

Used by [`appsync-datasource`](#rule-appsync-datasource), [`appsync-function`](#rule-appsync-function), [`appsync-resolver`](#rule-appsync-resolver).

</dd>
</div>

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

A managed policy scheduling and retaining backups.

</dd>
<dd>

No Rule in this Dialect uses this definition.

</dd>
</div>

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

A managed vault storing protected recovery data.

</dd>
<dd>

No Rule in this Dialect uses this definition.

</dd>
</div>

<div>
<dt id="aws-concept-bedrock-agent-component"><code>aws.concept.bedrock-agent-component</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/ai-ml/bedrock-agents.rf.hcl#L2-L4">Source</a></dt>
<dd>

Configuration contributing to an Amazon Bedrock agent.

</dd>
<dd>

Used by [`bedrockagent-agent-action-group`](#rule-bedrockagent-agent-action-group).

</dd>
</div>

<div>
<dt id="aws-concept-bedrockagent-agent"><code>aws.concept.bedrockagent-agent</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/ai-ml/bedrock-agents.rf.hcl#L6-L8">Source</a></dt>
<dd>

Amazon Bedrock agent as a durable AWS architecture entity.

</dd>
<dd>

Used by [`bedrockagent-agent`](#rule-bedrockagent-agent), [`bedrockagent-agent-action-group`](#rule-bedrockagent-agent-action-group).

</dd>
</div>

<div>
<dt id="aws-concept-block-storage-volume"><code>aws.concept.block-storage-volume</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/vocabulary.rf.hcl#L17-L19">Source</a></dt>
<dd>

A durable block-storage volume attachable to compute workloads.

</dd>
<dd>

No Rule in this Dialect uses this definition.

</dd>
</div>

<div>
<dt id="aws-concept-cognito-component"><code>aws.concept.cognito-component</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/identity-iam/cognito-user-pools.rf.hcl#L2-L4">Source</a></dt>
<dd>

Configuration contributing to an Amazon Cognito user pool.

</dd>
<dd>

Used by [`cognito-user-group`](#rule-cognito-user-group), [`cognito-user-pool-domain`](#rule-cognito-user-pool-domain).

</dd>
</div>

<div>
<dt id="aws-concept-cognito-user-pool"><code>aws.concept.cognito-user-pool</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/identity-iam/cognito-user-pools.rf.hcl#L6-L8">Source</a></dt>
<dd>

Amazon Cognito user pool as a durable AWS architecture scope.

</dd>
<dd>

Used by [`cognito-user-group`](#rule-cognito-user-group), [`cognito-user-pool`](#rule-cognito-user-pool), [`cognito-user-pool-domain`](#rule-cognito-user-pool-domain).

</dd>
</div>

<div>
<dt id="aws-concept-compute-instance"><code>aws.concept.compute-instance</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/vocabulary.rf.hcl#L21-L23">Source</a></dt>
<dd>

A provisioned compute instance running a workload.

</dd>
<dd>

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

</dd>
</div>

<div>
<dt id="aws-concept-connect-component"><code>aws.concept.connect-component</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/media-communication/connect.rf.hcl#L2-L4">Source</a></dt>
<dd>

Routing or contact configuration contributing to an Amazon Connect instance.

</dd>
<dd>


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

- [`connect-contact-flow`](#rule-connect-contact-flow)
- [`connect-queue`](#rule-connect-queue)
- [`connect-routing-profile`](#rule-connect-routing-profile)
- [`connect-security-profile`](#rule-connect-security-profile)
- [`connect-user-hierarchy-group`](#rule-connect-user-hierarchy-group)

</details>

</dd>
</div>

<div>
<dt id="aws-concept-connect-instance"><code>aws.concept.connect-instance</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/media-communication/connect.rf.hcl#L6-L8">Source</a></dt>
<dd>

Amazon Connect instance as a durable AWS architecture entity.

</dd>
<dd>


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

- [`connect-contact-flow`](#rule-connect-contact-flow)
- [`connect-instance`](#rule-connect-instance)
- [`connect-queue`](#rule-connect-queue)
- [`connect-routing-profile`](#rule-connect-routing-profile)
- [`connect-security-profile`](#rule-connect-security-profile)
- [`connect-user-hierarchy-group`](#rule-connect-user-hierarchy-group)

</details>

</dd>
</div>

<div>
<dt id="aws-concept-container-repository"><code>aws.concept.container-repository</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/containers/ecr.rf.hcl#L2-L4">Source</a></dt>
<dd>

An Amazon ECR repository storing container images.

</dd>
<dd>

Used by [`ecr-lifecycle-policy`](#rule-ecr-lifecycle-policy), [`ecr-repository`](#rule-ecr-repository).

</dd>
</div>

<div>
<dt id="aws-concept-db-proxy"><code>aws.concept.db-proxy</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/databases/rds.rf.hcl#L2-L4">Source</a></dt>
<dd>

Amazon RDS DB proxy as a durable AWS architecture entity.

</dd>
<dd>

Used by [`db-proxy`](#rule-db-proxy), [`db-proxy-default-target-group`](#rule-db-proxy-default-target-group), [`db-proxy-endpoint`](#rule-db-proxy-endpoint).

</dd>
</div>

<div>
<dt id="aws-concept-db-proxy-component"><code>aws.concept.db-proxy-component</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/databases/rds.rf.hcl#L6-L8">Source</a></dt>
<dd>

An endpoint or target group contributing to an Amazon RDS Proxy.

</dd>
<dd>

Used by [`db-proxy-default-target-group`](#rule-db-proxy-default-target-group), [`db-proxy-endpoint`](#rule-db-proxy-endpoint).

</dd>
</div>

<div>
<dt id="aws-concept-dedicated-interconnect"><code>aws.concept.dedicated-interconnect</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/vocabulary.rf.hcl#L25-L27">Source</a></dt>
<dd>

A dedicated private connection between an external network and a cloud provider.

</dd>
<dd>

No Rule in this Dialect uses this definition.

</dd>
</div>

<div>
<dt id="aws-concept-dns-zone"><code>aws.concept.dns-zone</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/vocabulary.rf.hcl#L29-L31">Source</a></dt>
<dd>

A managed DNS namespace containing resource records.

</dd>
<dd>

No Rule in this Dialect uses this definition.

</dd>
</div>

<div>
<dt id="aws-concept-dynamodb-component"><code>aws.concept.dynamodb-component</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/databases/dynamodb.rf.hcl#L2-L4">Source</a></dt>
<dd>

An index contributing to an Amazon DynamoDB table.

</dd>
<dd>

Used by [`dynamodb-global-secondary-index`](#rule-dynamodb-global-secondary-index).

</dd>
</div>

<div>
<dt id="aws-concept-dynamodb-table"><code>aws.concept.dynamodb-table</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/databases/dynamodb.rf.hcl#L7-L9">Source</a></dt>
<dd>

An Amazon DynamoDB table, distinct from a managed database service instance.

</dd>
<dd>

Used by [`dynamodb-global-secondary-index`](#rule-dynamodb-global-secondary-index), [`dynamodb-table`](#rule-dynamodb-table).

</dd>
</div>

<div>
<dt id="aws-concept-ecs-cluster"><code>aws.concept.ecs-cluster</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/containers/ecs.rf.hcl#L2-L4">Source</a></dt>
<dd>

An Amazon ECS cluster providing container scheduling capacity.

</dd>
<dd>

Used by [`ecs-cluster`](#rule-ecs-cluster), [`ecs-service`](#rule-ecs-service).

</dd>
</div>

<div>
<dt id="aws-concept-ecs-service"><code>aws.concept.ecs-service</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/containers/ecs.rf.hcl#L7-L9">Source</a></dt>
<dd>

An Amazon ECS service maintaining a container workload.

</dd>
<dd>

Used by [`ecs-service`](#rule-ecs-service).

</dd>
</div>

<div>
<dt id="aws-concept-eks-compute-profile"><code>aws.concept.eks-compute-profile</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/containers/eks.rf.hcl#L2-L4">Source</a></dt>
<dd>

An Amazon EKS Fargate profile contributing serverless pod capacity.

</dd>
<dd>

Used by [`eks-fargate-profile`](#rule-eks-fargate-profile).

</dd>
</div>

<div>
<dt id="aws-concept-emr-cluster"><code>aws.concept.emr-cluster</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/data-analytics/emr.rf.hcl#L2-L4">Source</a></dt>
<dd>

AWS EMR cluster as a durable AWS architecture entity.

</dd>
<dd>

Used by [`emr-cluster`](#rule-emr-cluster), [`emr-instance-fleet`](#rule-emr-instance-fleet), [`emr-instance-group`](#rule-emr-instance-group).

</dd>
</div>

<div>
<dt id="aws-concept-emr-cluster-component"><code>aws.concept.emr-cluster-component</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/data-analytics/emr.rf.hcl#L6-L8">Source</a></dt>
<dd>

Capacity contributing to an Amazon EMR cluster.

</dd>
<dd>

Used by [`emr-instance-fleet`](#rule-emr-instance-fleet), [`emr-instance-group`](#rule-emr-instance-group).

</dd>
</div>

<div>
<dt id="aws-concept-encryption-key"><code>aws.concept.encryption-key</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/vocabulary.rf.hcl#L33-L35">Source</a></dt>
<dd>

A managed key used for cryptographic operations.

</dd>
<dd>

Used by [`kms-alias`](#rule-kms-alias), [`kms-key`](#rule-kms-key).

</dd>
</div>

<div>
<dt id="aws-concept-event-bus"><code>aws.concept.event-bus</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/messaging-eventing/eventbridge.rf.hcl#L4-L6">Source</a></dt>
<dd>

An Amazon EventBridge event bus.

</dd>
<dd>

Used by [`cloudwatch-event-bus`](#rule-cloudwatch-event-bus), [`cloudwatch-event-rule`](#rule-cloudwatch-event-rule).

</dd>
</div>

<div>
<dt id="aws-concept-event-component"><code>aws.concept.event-component</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/messaging-eventing/eventbridge.rf.hcl#L8-L10">Source</a></dt>
<dd>

An Amazon EventBridge rule or target contributing to an event bus.

</dd>
<dd>

Used by [`cloudwatch-event-rule`](#rule-cloudwatch-event-rule), [`cloudwatch-event-target`](#rule-cloudwatch-event-target).

</dd>
</div>

<div>
<dt id="aws-concept-global-accelerator"><code>aws.concept.global-accelerator</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/load-balancing/global-accelerator.rf.hcl#L2-L4">Source</a></dt>
<dd>

An AWS Global Accelerator traffic entry point.

</dd>
<dd>


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

- [`globalaccelerator-accelerator`](#rule-globalaccelerator-accelerator)
- [`globalaccelerator-custom-routing-accelerator`](#rule-globalaccelerator-custom-routing-accelerator)
- [`globalaccelerator-custom-routing-listener`](#rule-globalaccelerator-custom-routing-listener)
- [`globalaccelerator-listener`](#rule-globalaccelerator-listener)

</details>

</dd>
</div>

<div>
<dt id="aws-concept-global-accelerator-component"><code>aws.concept.global-accelerator-component</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/load-balancing/global-accelerator.rf.hcl#L6-L8">Source</a></dt>
<dd>

A listener or endpoint group contributing to an AWS Global Accelerator.

</dd>
<dd>


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

- [`globalaccelerator-custom-routing-endpoint-group`](#rule-globalaccelerator-custom-routing-endpoint-group)
- [`globalaccelerator-custom-routing-listener`](#rule-globalaccelerator-custom-routing-listener)
- [`globalaccelerator-endpoint-group`](#rule-globalaccelerator-endpoint-group)
- [`globalaccelerator-listener`](#rule-globalaccelerator-listener)

</details>

</dd>
</div>

<div>
<dt id="aws-concept-iam-role"><code>aws.concept.iam-role</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/identity-iam/iam.rf.hcl#L6-L8">Source</a></dt>
<dd>

An AWS IAM role, distinct from an explicitly non-human service principal.

</dd>
<dd>

Used by [`iam-instance-profile`](#rule-iam-instance-profile), [`iam-role`](#rule-iam-role), [`iam-role-policy-attachment`](#rule-iam-role-policy-attachment).

</dd>
</div>

<div>
<dt id="aws-concept-identity-group"><code>aws.concept.identity-group</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/vocabulary.rf.hcl#L37-L39">Source</a></dt>
<dd>

A managed group principal used to assign access collectively.

</dd>
<dd>

Used by [`iam-group`](#rule-iam-group), [`identitystore-group`](#rule-identitystore-group).

</dd>
</div>

<div>
<dt id="aws-concept-instance-profile"><code>aws.concept.instance-profile</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/identity-iam/iam.rf.hcl#L2-L4">Source</a></dt>
<dd>

An AWS IAM instance profile associating an IAM role with compute.

</dd>
<dd>

Used by [`iam-instance-profile`](#rule-iam-instance-profile).

</dd>
</div>

<div>
<dt id="aws-concept-internet-gateway"><code>aws.concept.internet-gateway</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/network/ec2.rf.hcl#L8-L10">Source</a></dt>
<dd>

Amazon VPC internet gateway as a durable AWS architecture entity.

</dd>
<dd>

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

</dd>
</div>

<div>
<dt id="aws-concept-key-alias"><code>aws.concept.key-alias</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/security/kms.rf.hcl#L2-L4">Source</a></dt>
<dd>

An AWS KMS alias contributing to an encryption key.

</dd>
<dd>

Used by [`kms-alias`](#rule-kms-alias).

</dd>
</div>

<div>
<dt id="aws-concept-kubernetes-node-pool"><code>aws.concept.kubernetes-node-pool</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/vocabulary.rf.hcl#L41-L43">Source</a></dt>
<dd>

A node pool contributing compute capacity to a Kubernetes cluster.

</dd>
<dd>

Used by [`eks-node-group`](#rule-eks-node-group).

</dd>
</div>

<div>
<dt id="aws-concept-load-balancer"><code>aws.concept.load-balancer</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/vocabulary.rf.hcl#L45-L47">Source</a></dt>
<dd>

A load-balancing service composed from routing infrastructure.

</dd>
<dd>


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

- [`alb`](#rule-alb)
- [`elb`](#rule-elb)
- [`lb`](#rule-lb)
- [`lb-listener`](#rule-lb-listener)

</details>

</dd>
</div>

<div>
<dt id="aws-concept-load-balancer-component"><code>aws.concept.load-balancer-component</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/load-balancing/elastic-load-balancing.rf.hcl#L2-L4">Source</a></dt>
<dd>

A listener or target group contributing to an AWS load balancer.

</dd>
<dd>

Used by [`alb-target-group`](#rule-alb-target-group), [`lb-listener`](#rule-lb-listener), [`lb-target-group`](#rule-lb-target-group).

</dd>
</div>

<div>
<dt id="aws-concept-managed-cache"><code>aws.concept.managed-cache</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/vocabulary.rf.hcl#L49-L51">Source</a></dt>
<dd>

A managed in-memory cache service.

</dd>
<dd>


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

- [`dax-cluster`](#rule-dax-cluster)
- [`elasticache-cluster`](#rule-elasticache-cluster)
- [`elasticache-replication-group`](#rule-elasticache-replication-group)
- [`memorydb-cluster`](#rule-memorydb-cluster)

</details>

</dd>
</div>

<div>
<dt id="aws-concept-managed-database-component"><code>aws.concept.managed-database-component</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/databases/concepts.rf.hcl#L2-L4">Source</a></dt>
<dd>

Capacity or an endpoint contributing to a managed database.

</dd>
<dd>


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

- [`docdb-cluster-instance`](#rule-docdb-cluster-instance)
- [`neptune-cluster-instance`](#rule-neptune-cluster-instance)
- [`rds-cluster-activity-stream`](#rule-rds-cluster-activity-stream)
- [`rds-cluster-endpoint`](#rule-rds-cluster-endpoint)
- [`rds-cluster-instance`](#rule-rds-cluster-instance)

</details>

</dd>
</div>

<div>
<dt id="aws-concept-managed-file-storage"><code>aws.concept.managed-file-storage</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/vocabulary.rf.hcl#L53-L55">Source</a></dt>
<dd>

A managed shared file-storage service.

</dd>
<dd>


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

- [`efs-file-system`](#rule-efs-file-system)
- [`fsx-lustre-file-system`](#rule-fsx-lustre-file-system)
- [`fsx-ontap-file-system`](#rule-fsx-ontap-file-system)
- [`fsx-openzfs-file-system`](#rule-fsx-openzfs-file-system)
- [`fsx-windows-file-system`](#rule-fsx-windows-file-system)

</details>

</dd>
</div>

<div>
<dt id="aws-concept-managed-nat"><code>aws.concept.managed-nat</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/vocabulary.rf.hcl#L57-L59">Source</a></dt>
<dd>

A managed network address translation service.

</dd>
<dd>

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

</dd>
</div>

<div>
<dt id="aws-concept-managed-secret"><code>aws.concept.managed-secret</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/vocabulary.rf.hcl#L61-L63">Source</a></dt>
<dd>

A managed secret identity whose sensitive value stays outside architecture output.

</dd>
<dd>

No Rule in this Dialect uses this definition.

</dd>
</div>

<div>
<dt id="aws-concept-message-queue"><code>aws.concept.message-queue</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/vocabulary.rf.hcl#L65-L67">Source</a></dt>
<dd>

A managed queue buffering work or messages for asynchronous consumers.

</dd>
<dd>

No Rule in this Dialect uses this definition.

</dd>
</div>

<div>
<dt id="aws-concept-message-subscription"><code>aws.concept.message-subscription</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/vocabulary.rf.hcl#L69-L71">Source</a></dt>
<dd>

A durable subscription consuming messages from a topic.

</dd>
<dd>

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

</dd>
</div>

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

A messaging topic receiving messages from publishers.

</dd>
<dd>

Used by [`sns-topic`](#rule-sns-topic), [`sns-topic-subscription`](#rule-sns-topic-subscription).

</dd>
</div>

<div>
<dt id="aws-concept-network-acl"><code>aws.concept.network-acl</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/network/ec2.rf.hcl#L12-L14">Source</a></dt>
<dd>

Amazon VPC network ACL as a durable AWS architecture entity.

</dd>
<dd>

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

</dd>
</div>

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

A direct private connectivity agreement between virtual networks.

</dd>
<dd>

No Rule in this Dialect uses this definition.

</dd>
</div>

<div>
<dt id="aws-concept-pinpoint-app"><code>aws.concept.pinpoint-app</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/media-communication/pinpoint.rf.hcl#L2-L4">Source</a></dt>
<dd>

AWS End User Messaging app as a durable AWS architecture entity.

</dd>
<dd>


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

- [`pinpoint-adm-channel`](#rule-pinpoint-adm-channel)
- [`pinpoint-apns-channel`](#rule-pinpoint-apns-channel)
- [`pinpoint-apns-sandbox-channel`](#rule-pinpoint-apns-sandbox-channel)
- [`pinpoint-apns-voip-channel`](#rule-pinpoint-apns-voip-channel)
- [`pinpoint-apns-voip-sandbox-channel`](#rule-pinpoint-apns-voip-sandbox-channel)
- [`pinpoint-app`](#rule-pinpoint-app)
- [`pinpoint-baidu-channel`](#rule-pinpoint-baidu-channel)
- [`pinpoint-email-channel`](#rule-pinpoint-email-channel)
- [`pinpoint-event-stream`](#rule-pinpoint-event-stream)
- [`pinpoint-gcm-channel`](#rule-pinpoint-gcm-channel)
- [`pinpoint-sms-channel`](#rule-pinpoint-sms-channel)

</details>

</dd>
</div>

<div>
<dt id="aws-concept-pinpoint-component"><code>aws.concept.pinpoint-component</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/media-communication/pinpoint.rf.hcl#L6-L8">Source</a></dt>
<dd>

A channel or event stream contributing to an AWS End User Messaging application.

</dd>
<dd>


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

- [`pinpoint-adm-channel`](#rule-pinpoint-adm-channel)
- [`pinpoint-apns-channel`](#rule-pinpoint-apns-channel)
- [`pinpoint-apns-sandbox-channel`](#rule-pinpoint-apns-sandbox-channel)
- [`pinpoint-apns-voip-channel`](#rule-pinpoint-apns-voip-channel)
- [`pinpoint-apns-voip-sandbox-channel`](#rule-pinpoint-apns-voip-sandbox-channel)
- [`pinpoint-baidu-channel`](#rule-pinpoint-baidu-channel)
- [`pinpoint-email-channel`](#rule-pinpoint-email-channel)
- [`pinpoint-event-stream`](#rule-pinpoint-event-stream)
- [`pinpoint-gcm-channel`](#rule-pinpoint-gcm-channel)
- [`pinpoint-sms-channel`](#rule-pinpoint-sms-channel)

</details>

</dd>
</div>

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

A private endpoint exposing a service inside a virtual network.

</dd>
<dd>

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

</dd>
</div>

<div>
<dt id="aws-concept-repository-configuration"><code>aws.concept.repository-configuration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/containers/ecr.rf.hcl#L6-L8">Source</a></dt>
<dd>

Configuration contributing to an AWS artifact repository.

</dd>
<dd>

Used by [`ecr-lifecycle-policy`](#rule-ecr-lifecycle-policy).

</dd>
</div>

<div>
<dt id="aws-concept-route-table"><code>aws.concept.route-table</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/network/ec2.rf.hcl#L16-L18">Source</a></dt>
<dd>

Amazon VPC route table as a durable AWS architecture entity.

</dd>
<dd>

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

</dd>
</div>

<div>
<dt id="aws-concept-security-group"><code>aws.concept.security-group</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/network/ec2.rf.hcl#L20-L22">Source</a></dt>
<dd>

Amazon VPC security group as a durable AWS architecture entity.

</dd>
<dd>

Used by [`security-group`](#rule-security-group).

</dd>
</div>

<div>
<dt id="aws-concept-serverless-function"><code>aws.concept.serverless-function</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/vocabulary.rf.hcl#L85-L87">Source</a></dt>
<dd>

A managed event-driven function runtime.

</dd>
<dd>

No Rule in this Dialect uses this definition.

</dd>
</div>

<div>
<dt id="aws-concept-service-identity-binding"><code>aws.concept.service-identity-binding</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/vocabulary.rf.hcl#L89-L91">Source</a></dt>
<dd>

An access-control binding that contributes to a service identity.

</dd>
<dd>

Used by [`iam-role-policy-attachment`](#rule-iam-role-policy-attachment).

</dd>
</div>

<div>
<dt id="aws-concept-storage-configuration"><code>aws.concept.storage-configuration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/storage/s3.rf.hcl#L2-L4">Source</a></dt>
<dd>

Configuration contributing to an AWS storage container.

</dd>
<dd>

Used by [`s3-bucket-server-side-encryption-configuration`](#rule-s3-bucket-server-side-encryption-configuration), [`s3-bucket-versioning`](#rule-s3-bucket-versioning).

</dd>
</div>

<div>
<dt id="aws-concept-transit-gateway"><code>aws.concept.transit-gateway</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/network/ec2.rf.hcl#L24-L26">Source</a></dt>
<dd>

An AWS Transit Gateway connecting multiple networks.

</dd>
<dd>

Used by [`ec2-transit-gateway`](#rule-ec2-transit-gateway), [`ec2-transit-gateway-vpc-attachment`](#rule-ec2-transit-gateway-vpc-attachment), [`vpn-connection`](#rule-vpn-connection).

</dd>
</div>

<div>
<dt id="aws-concept-transit-gateway-attachment"><code>aws.concept.transit-gateway-attachment</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/network/ec2.rf.hcl#L28-L30">Source</a></dt>
<dd>

A network attachment contributing to an AWS Transit Gateway.

</dd>
<dd>

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

</dd>
</div>

<div>
<dt id="aws-concept-vpn-connection"><code>aws.concept.vpn-connection</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/vocabulary.rf.hcl#L93-L95">Source</a></dt>
<dd>

A virtual private network connection between network endpoints.

</dd>
<dd>

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

</dd>
</div>

<div>
<dt id="aws-concept-vpn-gateway"><code>aws.concept.vpn-gateway</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/vocabulary.rf.hcl#L97-L99">Source</a></dt>
<dd>

A managed gateway terminating virtual private network connections.

</dd>
<dd>

Used by [`vpn-connection`](#rule-vpn-connection), [`vpn-gateway`](#rule-vpn-gateway).

</dd>
</div>

<div>
<dt id="aws-concept-workflow"><code>aws.concept.workflow</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/vocabulary.rf.hcl#L101-L103">Source</a></dt>
<dd>

A managed workflow coordinating steps and service calls.

</dd>
<dd>

No Rule in this Dialect uses this definition.

</dd>
</div>

</dl>

### Relations

<dl>

<div>
<dt id="aws-relation-subscribes-to"><code>aws.relation.subscribes-to</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/messaging-eventing/sns-sqs.rf.hcl#L25-L35">Source</a></dt>
<dd>

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

</dd>
</div>

</dl>

## RF Vocabulary used

- [`rf.concept.kubernetes-cluster`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-kubernetes-cluster)
- [`rf.concept.managed-database`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-managed-database)
- [`rf.concept.object-storage-container`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-object-storage-container)
- [`rf.concept.subnet`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-subnet)
- [`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>aws.rule.alb-target-group</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/load-balancing/elastic-load-balancing-topology.rf.hcl#L46-L52">Source</a></summary>

<div id="rule-alb-target-group"></div>

Matches `resource` instances of `aws_alb_target_group`.

**Classification:** [`aws.concept.load-balancer-component`](#aws-concept-load-balancer-component).

</details>

<details>
<summary><code>aws.rule.alb</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/load-balancing/elastic-load-balancing.rf.hcl#L6-L21">Source</a></summary>

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

Matches `resource` instances of `aws_alb`.

**Classification:** [`aws.concept.load-balancer`](#aws-concept-load-balancer).

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

**Identity**

- `attributes`: `["arn"]`
- `scope`: `"global"`

**Endpoint**

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

</details>

</details>

<details>
<summary><code>aws.rule.api-gateway-integration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/api-integration/api-gateway-topology.rf.hcl#L38-L56">Source</a></summary>

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

Matches `resource` instances of `aws_api_gateway_integration`.

**Classification:** [`aws.concept.api-component`](#aws-concept-api-component).

**Contributions**

- targets [`aws.concept.api-gateway`](#aws-concept-api-gateway) through `source.rest_api_id`.

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

**Contribution through `source.rest_api_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.api-gateway-model</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/api-integration/api-gateway-topology.rf.hcl#L78-L96">Source</a></summary>

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

Matches `resource` instances of `aws_api_gateway_model`.

**Classification:** [`aws.concept.api-component`](#aws-concept-api-component).

**Contributions**

- targets [`aws.concept.api-gateway`](#aws-concept-api-gateway) through `source.rest_api_id`.

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

**Contribution through `source.rest_api_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.api-gateway-resource</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/api-integration/api-gateway-topology.rf.hcl#L58-L76">Source</a></summary>

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

Matches `resource` instances of `aws_api_gateway_resource`.

**Classification:** [`aws.concept.api-component`](#aws-concept-api-component).

**Contributions**

- targets [`aws.concept.api-gateway`](#aws-concept-api-gateway) through `source.rest_api_id`.

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

**Contribution through `source.rest_api_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.api-gateway-rest-api</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/api-integration/api-gateway-topology.rf.hcl#L1-L16">Source</a></summary>

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

Matches `resource` instances of `aws_api_gateway_rest_api`.

**Classification:** [`aws.concept.api-gateway`](#aws-concept-api-gateway).

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

**Identity**

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

**Endpoint**

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

</details>

</details>

<details>
<summary><code>aws.rule.api-gateway-stage</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/api-integration/api-gateway-topology.rf.hcl#L18-L36">Source</a></summary>

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

Matches `resource` instances of `aws_api_gateway_stage`.

**Classification:** [`aws.concept.api-component`](#aws-concept-api-component).

**Contributions**

- targets [`aws.concept.api-gateway`](#aws-concept-api-gateway) through `source.rest_api_id`.

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

**Contribution through `source.rest_api_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.apigatewayv2-api</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/api-integration/api-gateway-v2.rf.hcl#L2-L17">Source</a></summary>

<div id="rule-apigatewayv2-api"></div>

Matches `resource` instances of `aws_apigatewayv2_api`.

**Classification:** [`aws.concept.api-gateway`](#aws-concept-api-gateway).

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

**Identity**

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

**Endpoint**

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

</details>

</details>

<details>
<summary><code>aws.rule.apigatewayv2-model</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/api-integration/api-gateway-topology.rf.hcl#L98-L116">Source</a></summary>

<div id="rule-apigatewayv2-model"></div>

Matches `resource` instances of `aws_apigatewayv2_model`.

**Classification:** [`aws.concept.api-component`](#aws-concept-api-component).

**Contributions**

- targets [`aws.concept.api-gateway`](#aws-concept-api-gateway) through `source.api_id`.

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

**Contribution through `source.api_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.appsync-datasource</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/api-integration/appsync-topology.rf.hcl#L18-L36">Source</a></summary>

<div id="rule-appsync-datasource"></div>

Matches `resource` instances of `aws_appsync_datasource`.

**Classification:** [`aws.concept.appsync-component`](#aws-concept-appsync-component).

**Contributions**

- targets [`aws.concept.appsync-api`](#aws-concept-appsync-api) through `source.api_id`.

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

**Contribution through `source.api_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.appsync-function</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/api-integration/appsync-topology.rf.hcl#L38-L56">Source</a></summary>

<div id="rule-appsync-function"></div>

Matches `resource` instances of `aws_appsync_function`.

**Classification:** [`aws.concept.appsync-component`](#aws-concept-appsync-component).

**Contributions**

- targets [`aws.concept.appsync-api`](#aws-concept-appsync-api) through `source.api_id`.

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

**Contribution through `source.api_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.appsync-graphql-api</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/api-integration/appsync-topology.rf.hcl#L1-L16">Source</a></summary>

<div id="rule-appsync-graphql-api"></div>

Matches `resource` instances of `aws_appsync_graphql_api`.

**Classification:** [`aws.concept.appsync-api`](#aws-concept-appsync-api).

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

**Identity**

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

**Endpoint**

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

</details>

</details>

<details>
<summary><code>aws.rule.appsync-resolver</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/api-integration/appsync-topology.rf.hcl#L58-L76">Source</a></summary>

<div id="rule-appsync-resolver"></div>

Matches `resource` instances of `aws_appsync_resolver`.

**Classification:** [`aws.concept.appsync-component`](#aws-concept-appsync-component).

**Contributions**

- targets [`aws.concept.appsync-api`](#aws-concept-appsync-api) through `source.api_id`.

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

**Contribution through `source.api_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.bedrockagent-agent-action-group</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/ai-ml/bedrock-topology.rf.hcl#L1-L19">Source</a></summary>

<div id="rule-bedrockagent-agent-action-group"></div>

Matches `resource` instances of `aws_bedrockagent_agent_action_group`.

**Classification:** [`aws.concept.bedrock-agent-component`](#aws-concept-bedrock-agent-component).

**Contributions**

- targets [`aws.concept.bedrockagent-agent`](#aws-concept-bedrockagent-agent) through `source.agent_id`.

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

**Contribution through `source.agent_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.bedrockagent-agent</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/ai-ml/bedrock-agents.rf.hcl#L12-L27">Source</a></summary>

<div id="rule-bedrockagent-agent"></div>

Matches `resource` instances of `aws_bedrockagent_agent`.

**Classification:** [`aws.concept.bedrockagent-agent`](#aws-concept-bedrockagent-agent).

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

**Identity**

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

**Endpoint**

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

</details>

</details>

<details>
<summary><code>aws.rule.cloudwatch-event-bus</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/messaging-eventing/eventbridge-topology.rf.hcl#L1-L16">Source</a></summary>

<div id="rule-cloudwatch-event-bus"></div>

Matches `resource` instances of `aws_cloudwatch_event_bus`.

**Classification:** [`aws.concept.event-bus`](#aws-concept-event-bus).

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

**Identity**

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

**Endpoint**

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

</details>

</details>

<details>
<summary><code>aws.rule.cloudwatch-event-rule</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/messaging-eventing/eventbridge-topology.rf.hcl#L18-L36">Source</a></summary>

<div id="rule-cloudwatch-event-rule"></div>

Matches `resource` instances of `aws_cloudwatch_event_rule`.

**Classification:** [`aws.concept.event-component`](#aws-concept-event-component).

**Contributions**

- targets [`aws.concept.event-bus`](#aws-concept-event-bus) through `source.event_bus_name`.

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

**Contribution through `source.event_bus_name`**

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

</details>

</details>

<details>
<summary><code>aws.rule.cloudwatch-event-target</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/messaging-eventing/eventbridge-topology.rf.hcl#L38-L44">Source</a></summary>

<div id="rule-cloudwatch-event-target"></div>

Matches `resource` instances of `aws_cloudwatch_event_target`.

**Classification:** [`aws.concept.event-component`](#aws-concept-event-component).

</details>

<details>
<summary><code>aws.rule.cognito-user-group</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/identity-iam/cognito-topology.rf.hcl#L1-L19">Source</a></summary>

<div id="rule-cognito-user-group"></div>

Matches `resource` instances of `aws_cognito_user_group`.

**Classification:** [`aws.concept.cognito-component`](#aws-concept-cognito-component).

**Contributions**

- targets [`aws.concept.cognito-user-pool`](#aws-concept-cognito-user-pool) through `source.user_pool_id`.

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

**Contribution through `source.user_pool_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.cognito-user-pool-domain</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/identity-iam/cognito-topology.rf.hcl#L21-L39">Source</a></summary>

<div id="rule-cognito-user-pool-domain"></div>

Matches `resource` instances of `aws_cognito_user_pool_domain`.

**Classification:** [`aws.concept.cognito-component`](#aws-concept-cognito-component).

**Contributions**

- targets [`aws.concept.cognito-user-pool`](#aws-concept-cognito-user-pool) through `source.user_pool_id`.

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

**Contribution through `source.user_pool_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.cognito-user-pool</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/identity-iam/cognito-user-pools.rf.hcl#L10-L25">Source</a></summary>

<div id="rule-cognito-user-pool"></div>

Matches `resource` instances of `aws_cognito_user_pool`.

**Classification:** [`aws.concept.cognito-user-pool`](#aws-concept-cognito-user-pool).

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

**Identity**

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

**Endpoint**

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

</details>

</details>

<details>
<summary><code>aws.rule.connect-contact-flow</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/media-communication/connect-topology.rf.hcl#L1-L19">Source</a></summary>

<div id="rule-connect-contact-flow"></div>

Matches `resource` instances of `aws_connect_contact_flow`.

**Classification:** [`aws.concept.connect-component`](#aws-concept-connect-component).

**Contributions**

- targets [`aws.concept.connect-instance`](#aws-concept-connect-instance) through `source.instance_id`.

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

**Contribution through `source.instance_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.connect-instance</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/media-communication/connect.rf.hcl#L10-L25">Source</a></summary>

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

Matches `resource` instances of `aws_connect_instance`.

**Classification:** [`aws.concept.connect-instance`](#aws-concept-connect-instance).

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

**Identity**

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

**Endpoint**

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

</details>

</details>

<details>
<summary><code>aws.rule.connect-queue</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/media-communication/connect-topology.rf.hcl#L21-L39">Source</a></summary>

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

Matches `resource` instances of `aws_connect_queue`.

**Classification:** [`aws.concept.connect-component`](#aws-concept-connect-component).

**Contributions**

- targets [`aws.concept.connect-instance`](#aws-concept-connect-instance) through `source.instance_id`.

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

**Contribution through `source.instance_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.connect-routing-profile</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/media-communication/connect-topology.rf.hcl#L41-L59">Source</a></summary>

<div id="rule-connect-routing-profile"></div>

Matches `resource` instances of `aws_connect_routing_profile`.

**Classification:** [`aws.concept.connect-component`](#aws-concept-connect-component).

**Contributions**

- targets [`aws.concept.connect-instance`](#aws-concept-connect-instance) through `source.instance_id`.

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

**Contribution through `source.instance_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.connect-security-profile</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/media-communication/connect-topology.rf.hcl#L61-L79">Source</a></summary>

<div id="rule-connect-security-profile"></div>

Matches `resource` instances of `aws_connect_security_profile`.

**Classification:** [`aws.concept.connect-component`](#aws-concept-connect-component).

**Contributions**

- targets [`aws.concept.connect-instance`](#aws-concept-connect-instance) through `source.instance_id`.

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

**Contribution through `source.instance_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.connect-user-hierarchy-group</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/media-communication/connect-topology.rf.hcl#L81-L99">Source</a></summary>

<div id="rule-connect-user-hierarchy-group"></div>

Matches `resource` instances of `aws_connect_user_hierarchy_group`.

**Classification:** [`aws.concept.connect-component`](#aws-concept-connect-component).

**Contributions**

- targets [`aws.concept.connect-instance`](#aws-concept-connect-instance) through `source.instance_id`.

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

**Contribution through `source.instance_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.dax-cluster</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/databases/dax.rf.hcl#L2-L8">Source</a></summary>

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

Matches `resource` instances of `aws_dax_cluster`.

**Classification:** [`aws.concept.managed-cache`](#aws-concept-managed-cache).

</details>

<details>
<summary><code>aws.rule.db-instance</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/databases/rds-topology.rf.hcl#L1-L16">Source</a></summary>

<div id="rule-db-instance"></div>

Matches `resource` instances of `aws_db_instance`.

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

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

**Identity**

- `attributes`: `["arn", "identifier"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["arn", "id", "identifier"]`

</details>

</details>

<details>
<summary><code>aws.rule.db-proxy-default-target-group</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/databases/rds-topology.rf.hcl#L150-L168">Source</a></summary>

<div id="rule-db-proxy-default-target-group"></div>

Matches `resource` instances of `aws_db_proxy_default_target_group`.

**Classification:** [`aws.concept.db-proxy-component`](#aws-concept-db-proxy-component).

**Contributions**

- targets [`aws.concept.db-proxy`](#aws-concept-db-proxy) through `source.db_proxy_name`.

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

**Contribution through `source.db_proxy_name`**

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

</details>

</details>

<details>
<summary><code>aws.rule.db-proxy-endpoint</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/databases/rds-topology.rf.hcl#L170-L188">Source</a></summary>

<div id="rule-db-proxy-endpoint"></div>

Matches `resource` instances of `aws_db_proxy_endpoint`.

**Classification:** [`aws.concept.db-proxy-component`](#aws-concept-db-proxy-component).

**Contributions**

- targets [`aws.concept.db-proxy`](#aws-concept-db-proxy) through `source.db_proxy_name`.

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

**Contribution through `source.db_proxy_name`**

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

</details>

</details>

<details>
<summary><code>aws.rule.db-proxy</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/databases/rds.rf.hcl#L11-L26">Source</a></summary>

<div id="rule-db-proxy"></div>

Matches `resource` instances of `aws_db_proxy`.

**Classification:** [`aws.concept.db-proxy`](#aws-concept-db-proxy).

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

**Identity**

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

**Endpoint**

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

</details>

</details>

<details>
<summary><code>aws.rule.docdb-cluster-instance</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/databases/rds-topology.rf.hcl#L58-L79">Source</a></summary>

<div id="rule-docdb-cluster-instance"></div>

Matches `resource` instances of `aws_docdb_cluster_instance`.

**Classification:** [`aws.concept.managed-database-component`](#aws-concept-managed-database-component).

**Contributions**

- targets [`aws.rule.docdb-cluster`](#rule-docdb-cluster) through `source.cluster_identifier`.

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

**Contribution through `source.cluster_identifier`**

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

</details>

</details>

<details>
<summary><code>aws.rule.docdb-cluster</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/databases/docdb.rf.hcl#L3-L18">Source</a></summary>

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

Matches `resource` instances of `aws_docdb_cluster`.

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

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

**Identity**

- `attributes`: `["arn", "cluster_identifier"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["arn", "id", "cluster_identifier"]`

</details>

</details>

<details>
<summary><code>aws.rule.dsql-cluster</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/databases/dsql.rf.hcl#L2-L17">Source</a></summary>

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

Matches `resource` instances of `aws_dsql_cluster`.

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

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

**Identity**

- `attributes`: `["arn", "identifier"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["arn", "identifier"]`

</details>

</details>

<details>
<summary><code>aws.rule.dynamodb-global-secondary-index</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/databases/dynamodb-topology.rf.hcl#L1-L19">Source</a></summary>

<div id="rule-dynamodb-global-secondary-index"></div>

Matches `resource` instances of `aws_dynamodb_global_secondary_index`.

**Classification:** [`aws.concept.dynamodb-component`](#aws-concept-dynamodb-component).

**Contributions**

- targets [`aws.concept.dynamodb-table`](#aws-concept-dynamodb-table) through `source.table_name`.

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

**Contribution through `source.table_name`**

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

</details>

</details>

<details>
<summary><code>aws.rule.dynamodb-table</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/databases/dynamodb.rf.hcl#L12-L27">Source</a></summary>

<div id="rule-dynamodb-table"></div>

Matches `resource` instances of `aws_dynamodb_table`.

**Classification:** [`aws.concept.dynamodb-table`](#aws-concept-dynamodb-table).

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

**Identity**

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

**Endpoint**

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

</details>

</details>

<details>
<summary><code>aws.rule.ec2-transit-gateway-vpc-attachment</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/network/vpc.rf.hcl#L92-L126">Source</a></summary>

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

Matches `resource` instances of `aws_ec2_transit_gateway_vpc_attachment`.

**Classification:** [`aws.concept.transit-gateway-attachment`](#aws-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.vpc_id`.

**Contributions**

- targets [`aws.concept.transit-gateway`](#aws-concept-transit-gateway) through `source.transit_gateway_id`.

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

**Contribution through `source.transit_gateway_id`**

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

**Context through `source.vpc_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.ec2-transit-gateway</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/network/vpc.rf.hcl#L75-L90">Source</a></summary>

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

Matches `resource` instances of `aws_ec2_transit_gateway`.

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

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

**Identity**

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

**Endpoint**

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

</details>

</details>

<details>
<summary><code>aws.rule.ecr-lifecycle-policy</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/containers/ecr-topology.rf.hcl#L18-L36">Source</a></summary>

<div id="rule-ecr-lifecycle-policy"></div>

Matches `resource` instances of `aws_ecr_lifecycle_policy`.

**Classification:** [`aws.concept.repository-configuration`](#aws-concept-repository-configuration).

**Contributions**

- targets [`aws.concept.container-repository`](#aws-concept-container-repository) through `source.repository`.

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

**Contribution through `source.repository`**

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

</details>

</details>

<details>
<summary><code>aws.rule.ecr-repository</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/containers/ecr-topology.rf.hcl#L1-L16">Source</a></summary>

<div id="rule-ecr-repository"></div>

Matches `resource` instances of `aws_ecr_repository`.

**Classification:** [`aws.concept.container-repository`](#aws-concept-container-repository).

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

**Identity**

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

**Endpoint**

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

</details>

</details>

<details>
<summary><code>aws.rule.ecs-cluster</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/containers/eks-ecs.rf.hcl#L64-L79">Source</a></summary>

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

Matches `resource` instances of `aws_ecs_cluster`.

**Classification:** [`aws.concept.ecs-cluster`](#aws-concept-ecs-cluster).

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

**Identity**

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

**Endpoint**

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

</details>

</details>

<details>
<summary><code>aws.rule.ecs-service</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/containers/eks-ecs.rf.hcl#L81-L100">Source</a></summary>

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

Matches `resource` instances of `aws_ecs_service`.

**Classification:** [`aws.concept.ecs-service`](#aws-concept-ecs-service).

**Contexts**

- [`rf.context.runtime`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-context-runtime): targets [`aws.concept.ecs-cluster`](#aws-concept-ecs-cluster) through `source.cluster`.

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

**Context through `source.cluster`**

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

</details>

</details>

<details>
<summary><code>aws.rule.efs-file-system</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/storage/efs.rf.hcl#L4-L10">Source</a></summary>

<div id="rule-efs-file-system"></div>

Matches `resource` instances of `aws_efs_file_system`.

**Classification:** [`aws.concept.managed-file-storage`](#aws-concept-managed-file-storage).

</details>

<details>
<summary><code>aws.rule.eks-cluster</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/containers/eks-ecs.rf.hcl#L1-L16">Source</a></summary>

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

Matches `resource` instances of `aws_eks_cluster`.

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

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

**Identity**

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

**Endpoint**

- `attributes`: `["id", "name", "endpoint"]`

</details>

</details>

<details>
<summary><code>aws.rule.eks-fargate-profile</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/containers/eks-ecs.rf.hcl#L41-L62">Source</a></summary>

<div id="rule-eks-fargate-profile"></div>

Matches `resource` instances of `aws_eks_fargate_profile`.

**Classification:** [`aws.concept.eks-compute-profile`](#aws-concept-eks-compute-profile).

**Contributions**

- targets [`rf.concept.kubernetes-cluster`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-kubernetes-cluster) through `source.cluster_name`.

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

**Contribution through `source.cluster_name`**

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

</details>

</details>

<details>
<summary><code>aws.rule.eks-node-group</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/containers/eks-ecs.rf.hcl#L18-L39">Source</a></summary>

<div id="rule-eks-node-group"></div>

Matches `resource` instances of `aws_eks_node_group`.

**Classification:** [`aws.concept.kubernetes-node-pool`](#aws-concept-kubernetes-node-pool).

**Contributions**

- targets [`rf.concept.kubernetes-cluster`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-kubernetes-cluster) through `source.cluster_name`.

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

**Contribution through `source.cluster_name`**

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

</details>

</details>

<details>
<summary><code>aws.rule.elasticache-cluster</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/databases/elasticache.rf.hcl#L3-L9">Source</a></summary>

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

Matches `resource` instances of `aws_elasticache_cluster`.

**Classification:** [`aws.concept.managed-cache`](#aws-concept-managed-cache).

</details>

<details>
<summary><code>aws.rule.elasticache-replication-group</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/databases/elasticache.rf.hcl#L12-L18">Source</a></summary>

<div id="rule-elasticache-replication-group"></div>

Matches `resource` instances of `aws_elasticache_replication_group`.

**Classification:** [`aws.concept.managed-cache`](#aws-concept-managed-cache).

</details>

<details>
<summary><code>aws.rule.elb</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/load-balancing/elb.rf.hcl#L2-L17">Source</a></summary>

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

Matches `resource` instances of `aws_elb`.

**Classification:** [`aws.concept.load-balancer`](#aws-concept-load-balancer).

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

**Identity**

- `attributes`: `["arn"]`
- `scope`: `"global"`

**Endpoint**

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

</details>

</details>

<details>
<summary><code>aws.rule.emr-cluster</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/data-analytics/emr.rf.hcl#L10-L25">Source</a></summary>

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

Matches `resource` instances of `aws_emr_cluster`.

**Classification:** [`aws.concept.emr-cluster`](#aws-concept-emr-cluster).

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

**Identity**

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

**Endpoint**

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

</details>

</details>

<details>
<summary><code>aws.rule.emr-instance-fleet</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/data-analytics/emr-topology.rf.hcl#L1-L19">Source</a></summary>

<div id="rule-emr-instance-fleet"></div>

Matches `resource` instances of `aws_emr_instance_fleet`.

**Classification:** [`aws.concept.emr-cluster-component`](#aws-concept-emr-cluster-component).

**Contributions**

- targets [`aws.concept.emr-cluster`](#aws-concept-emr-cluster) through `source.cluster_id`.

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

**Contribution through `source.cluster_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.emr-instance-group</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/data-analytics/emr-topology.rf.hcl#L21-L39">Source</a></summary>

<div id="rule-emr-instance-group"></div>

Matches `resource` instances of `aws_emr_instance_group`.

**Classification:** [`aws.concept.emr-cluster-component`](#aws-concept-emr-cluster-component).

**Contributions**

- targets [`aws.concept.emr-cluster`](#aws-concept-emr-cluster) through `source.cluster_id`.

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

**Contribution through `source.cluster_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.fsx-lustre-file-system</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/storage/fsx.rf.hcl#L4-L10">Source</a></summary>

<div id="rule-fsx-lustre-file-system"></div>

Matches `resource` instances of `aws_fsx_lustre_file_system`.

**Classification:** [`aws.concept.managed-file-storage`](#aws-concept-managed-file-storage).

</details>

<details>
<summary><code>aws.rule.fsx-ontap-file-system</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/storage/fsx.rf.hcl#L12-L18">Source</a></summary>

<div id="rule-fsx-ontap-file-system"></div>

Matches `resource` instances of `aws_fsx_ontap_file_system`.

**Classification:** [`aws.concept.managed-file-storage`](#aws-concept-managed-file-storage).

</details>

<details>
<summary><code>aws.rule.fsx-openzfs-file-system</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/storage/fsx.rf.hcl#L21-L27">Source</a></summary>

<div id="rule-fsx-openzfs-file-system"></div>

Matches `resource` instances of `aws_fsx_openzfs_file_system`.

**Classification:** [`aws.concept.managed-file-storage`](#aws-concept-managed-file-storage).

</details>

<details>
<summary><code>aws.rule.fsx-windows-file-system</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/storage/fsx.rf.hcl#L30-L36">Source</a></summary>

<div id="rule-fsx-windows-file-system"></div>

Matches `resource` instances of `aws_fsx_windows_file_system`.

**Classification:** [`aws.concept.managed-file-storage`](#aws-concept-managed-file-storage).

</details>

<details>
<summary><code>aws.rule.globalaccelerator-accelerator</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/load-balancing/global-accelerator-topology.rf.hcl#L1-L16">Source</a></summary>

<div id="rule-globalaccelerator-accelerator"></div>

Matches `resource` instances of `aws_globalaccelerator_accelerator`.

**Classification:** [`aws.concept.global-accelerator`](#aws-concept-global-accelerator).

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

**Identity**

- `attributes`: `["arn"]`
- `scope`: `"global"`

**Endpoint**

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

</details>

</details>

<details>
<summary><code>aws.rule.globalaccelerator-custom-routing-accelerator</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/load-balancing/global-accelerator-topology.rf.hcl#L46-L61">Source</a></summary>

<div id="rule-globalaccelerator-custom-routing-accelerator"></div>

Matches `resource` instances of `aws_globalaccelerator_custom_routing_accelerator`.

**Classification:** [`aws.concept.global-accelerator`](#aws-concept-global-accelerator).

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

**Identity**

- `attributes`: `["arn"]`
- `scope`: `"global"`

**Endpoint**

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

</details>

</details>

<details>
<summary><code>aws.rule.globalaccelerator-custom-routing-endpoint-group</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/load-balancing/global-accelerator-topology.rf.hcl#L83-L89">Source</a></summary>

<div id="rule-globalaccelerator-custom-routing-endpoint-group"></div>

Matches `resource` instances of `aws_globalaccelerator_custom_routing_endpoint_group`.

**Classification:** [`aws.concept.global-accelerator-component`](#aws-concept-global-accelerator-component).

</details>

<details>
<summary><code>aws.rule.globalaccelerator-custom-routing-listener</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/load-balancing/global-accelerator-topology.rf.hcl#L63-L81">Source</a></summary>

<div id="rule-globalaccelerator-custom-routing-listener"></div>

Matches `resource` instances of `aws_globalaccelerator_custom_routing_listener`.

**Classification:** [`aws.concept.global-accelerator-component`](#aws-concept-global-accelerator-component).

**Contributions**

- targets [`aws.concept.global-accelerator`](#aws-concept-global-accelerator) through `source.accelerator_arn`.

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

**Contribution through `source.accelerator_arn`**

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

</details>

</details>

<details>
<summary><code>aws.rule.globalaccelerator-endpoint-group</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/load-balancing/global-accelerator-topology.rf.hcl#L38-L44">Source</a></summary>

<div id="rule-globalaccelerator-endpoint-group"></div>

Matches `resource` instances of `aws_globalaccelerator_endpoint_group`.

**Classification:** [`aws.concept.global-accelerator-component`](#aws-concept-global-accelerator-component).

</details>

<details>
<summary><code>aws.rule.globalaccelerator-listener</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/load-balancing/global-accelerator-topology.rf.hcl#L18-L36">Source</a></summary>

<div id="rule-globalaccelerator-listener"></div>

Matches `resource` instances of `aws_globalaccelerator_listener`.

**Classification:** [`aws.concept.global-accelerator-component`](#aws-concept-global-accelerator-component).

**Contributions**

- targets [`aws.concept.global-accelerator`](#aws-concept-global-accelerator) through `source.accelerator_arn`.

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

**Contribution through `source.accelerator_arn`**

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

</details>

</details>

<details>
<summary><code>aws.rule.iam-group</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/identity-iam/iam.rf.hcl#L10-L16">Source</a></summary>

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

Matches `resource` instances of `aws_iam_group`.

**Classification:** [`aws.concept.identity-group`](#aws-concept-identity-group).

</details>

<details>
<summary><code>aws.rule.iam-instance-profile</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/identity-iam/roles.rf.hcl#L41-L62">Source</a></summary>

<div id="rule-iam-instance-profile"></div>

Matches `resource` instances of `aws_iam_instance_profile`.

**Classification:** [`aws.concept.instance-profile`](#aws-concept-instance-profile).

**Contributions**

- targets [`aws.concept.iam-role`](#aws-concept-iam-role) through `source.role`.

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

**Contribution through `source.role`**

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

</details>

</details>

<details>
<summary><code>aws.rule.iam-role-policy-attachment</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/identity-iam/roles.rf.hcl#L18-L39">Source</a></summary>

<div id="rule-iam-role-policy-attachment"></div>

Matches `resource` instances of `aws_iam_role_policy_attachment`.

**Classification:** [`aws.concept.service-identity-binding`](#aws-concept-service-identity-binding).

**Contributions**

- targets [`aws.concept.iam-role`](#aws-concept-iam-role) through `source.role`.

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

**Contribution through `source.role`**

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

</details>

</details>

<details>
<summary><code>aws.rule.iam-role</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/identity-iam/roles.rf.hcl#L1-L16">Source</a></summary>

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

Matches `resource` instances of `aws_iam_role`.

**Classification:** [`aws.concept.iam-role`](#aws-concept-iam-role).

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

**Identity**

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

**Endpoint**

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

</details>

</details>

<details>
<summary><code>aws.rule.identitystore-group</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/identity-iam/identity-store.rf.hcl#L2-L8">Source</a></summary>

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

Matches `resource` instances of `aws_identitystore_group`.

**Classification:** [`aws.concept.identity-group`](#aws-concept-identity-group).

</details>

<details>
<summary><code>aws.rule.instance</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/compute/ec2-topology.rf.hcl#L1-L23">Source</a></summary>

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

Matches `resource` instances of `aws_instance`.

**Classification:** [`aws.concept.compute-instance`](#aws-concept-compute-instance).

**Contexts**

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

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

**Context through `source.subnet_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.internet-gateway</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/network/vpc.rf.hcl#L200-L222">Source</a></summary>

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

Matches `resource` instances of `aws_internet_gateway`.

**Classification:** [`aws.concept.internet-gateway`](#aws-concept-internet-gateway).

**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.vpc_id`.

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

**Context through `source.vpc_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.kms-alias</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/security/kms-secrets.rf.hcl#L18-L39">Source</a></summary>

<div id="rule-kms-alias"></div>

Matches `resource` instances of `aws_kms_alias`.

**Classification:** [`aws.concept.key-alias`](#aws-concept-key-alias).

**Contributions**

- targets [`aws.concept.encryption-key`](#aws-concept-encryption-key) through `source.target_key_id`.

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

**Contribution through `source.target_key_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.kms-key</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/security/kms-secrets.rf.hcl#L1-L16">Source</a></summary>

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

Matches `resource` instances of `aws_kms_key`.

**Classification:** [`aws.concept.encryption-key`](#aws-concept-encryption-key).

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

**Identity**

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

**Endpoint**

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

</details>

</details>

<details>
<summary><code>aws.rule.lb-listener</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/load-balancing/elastic-load-balancing-topology.rf.hcl#L18-L36">Source</a></summary>

<div id="rule-lb-listener"></div>

Matches `resource` instances of `aws_lb_listener`.

**Classification:** [`aws.concept.load-balancer-component`](#aws-concept-load-balancer-component).

**Contributions**

- targets [`aws.concept.load-balancer`](#aws-concept-load-balancer) through `source.load_balancer_arn`.

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

**Contribution through `source.load_balancer_arn`**

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

</details>

</details>

<details>
<summary><code>aws.rule.lb-target-group</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/load-balancing/elastic-load-balancing-topology.rf.hcl#L38-L44">Source</a></summary>

<div id="rule-lb-target-group"></div>

Matches `resource` instances of `aws_lb_target_group`.

**Classification:** [`aws.concept.load-balancer-component`](#aws-concept-load-balancer-component).

</details>

<details>
<summary><code>aws.rule.lb</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/load-balancing/elastic-load-balancing-topology.rf.hcl#L1-L16">Source</a></summary>

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

Matches `resource` instances of `aws_lb`.

**Classification:** [`aws.concept.load-balancer`](#aws-concept-load-balancer).

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

**Identity**

- `attributes`: `["arn"]`
- `scope`: `"global"`

**Endpoint**

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

</details>

</details>

<details>
<summary><code>aws.rule.memorydb-cluster</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/databases/memorydb.rf.hcl#L3-L9">Source</a></summary>

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

Matches `resource` instances of `aws_memorydb_cluster`.

**Classification:** [`aws.concept.managed-cache`](#aws-concept-managed-cache).

</details>

<details>
<summary><code>aws.rule.nat-gateway</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/network/vpc.rf.hcl#L224-L246">Source</a></summary>

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

Matches `resource` instances of `aws_nat_gateway`.

**Classification:** [`aws.concept.managed-nat`](#aws-concept-managed-nat).

**Contexts**

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

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

**Context through `source.subnet_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.neptune-cluster-instance</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/databases/rds-topology.rf.hcl#L81-L102">Source</a></summary>

<div id="rule-neptune-cluster-instance"></div>

Matches `resource` instances of `aws_neptune_cluster_instance`.

**Classification:** [`aws.concept.managed-database-component`](#aws-concept-managed-database-component).

**Contributions**

- targets [`aws.rule.neptune-cluster`](#rule-neptune-cluster) through `source.cluster_identifier`.

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

**Contribution through `source.cluster_identifier`**

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

</details>

</details>

<details>
<summary><code>aws.rule.neptune-cluster</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/databases/neptune.rf.hcl#L4-L19">Source</a></summary>

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

Matches `resource` instances of `aws_neptune_cluster`.

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

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

**Identity**

- `attributes`: `["arn", "cluster_identifier"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["arn", "id", "cluster_identifier"]`

</details>

</details>

<details>
<summary><code>aws.rule.network-acl</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/network/vpc.rf.hcl#L176-L198">Source</a></summary>

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

Matches `resource` instances of `aws_network_acl`.

**Classification:** [`aws.concept.network-acl`](#aws-concept-network-acl).

**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.vpc_id`.

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

**Context through `source.vpc_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.pinpoint-adm-channel</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/media-communication/pinpoint-topology.rf.hcl#L1-L19">Source</a></summary>

<div id="rule-pinpoint-adm-channel"></div>

Matches `resource` instances of `aws_pinpoint_adm_channel`.

**Classification:** [`aws.concept.pinpoint-component`](#aws-concept-pinpoint-component).

**Contributions**

- targets [`aws.concept.pinpoint-app`](#aws-concept-pinpoint-app) through `source.application_id`.

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

**Contribution through `source.application_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.pinpoint-apns-channel</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/media-communication/pinpoint-topology.rf.hcl#L21-L39">Source</a></summary>

<div id="rule-pinpoint-apns-channel"></div>

Matches `resource` instances of `aws_pinpoint_apns_channel`.

**Classification:** [`aws.concept.pinpoint-component`](#aws-concept-pinpoint-component).

**Contributions**

- targets [`aws.concept.pinpoint-app`](#aws-concept-pinpoint-app) through `source.application_id`.

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

**Contribution through `source.application_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.pinpoint-apns-sandbox-channel</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/media-communication/pinpoint-topology.rf.hcl#L41-L59">Source</a></summary>

<div id="rule-pinpoint-apns-sandbox-channel"></div>

Matches `resource` instances of `aws_pinpoint_apns_sandbox_channel`.

**Classification:** [`aws.concept.pinpoint-component`](#aws-concept-pinpoint-component).

**Contributions**

- targets [`aws.concept.pinpoint-app`](#aws-concept-pinpoint-app) through `source.application_id`.

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

**Contribution through `source.application_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.pinpoint-apns-voip-channel</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/media-communication/pinpoint-topology.rf.hcl#L61-L79">Source</a></summary>

<div id="rule-pinpoint-apns-voip-channel"></div>

Matches `resource` instances of `aws_pinpoint_apns_voip_channel`.

**Classification:** [`aws.concept.pinpoint-component`](#aws-concept-pinpoint-component).

**Contributions**

- targets [`aws.concept.pinpoint-app`](#aws-concept-pinpoint-app) through `source.application_id`.

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

**Contribution through `source.application_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.pinpoint-apns-voip-sandbox-channel</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/media-communication/pinpoint-topology.rf.hcl#L81-L99">Source</a></summary>

<div id="rule-pinpoint-apns-voip-sandbox-channel"></div>

Matches `resource` instances of `aws_pinpoint_apns_voip_sandbox_channel`.

**Classification:** [`aws.concept.pinpoint-component`](#aws-concept-pinpoint-component).

**Contributions**

- targets [`aws.concept.pinpoint-app`](#aws-concept-pinpoint-app) through `source.application_id`.

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

**Contribution through `source.application_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.pinpoint-app</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/media-communication/pinpoint.rf.hcl#L10-L25">Source</a></summary>

<div id="rule-pinpoint-app"></div>

Matches `resource` instances of `aws_pinpoint_app`.

**Classification:** [`aws.concept.pinpoint-app`](#aws-concept-pinpoint-app).

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

**Identity**

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

**Endpoint**

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

</details>

</details>

<details>
<summary><code>aws.rule.pinpoint-baidu-channel</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/media-communication/pinpoint-topology.rf.hcl#L101-L119">Source</a></summary>

<div id="rule-pinpoint-baidu-channel"></div>

Matches `resource` instances of `aws_pinpoint_baidu_channel`.

**Classification:** [`aws.concept.pinpoint-component`](#aws-concept-pinpoint-component).

**Contributions**

- targets [`aws.concept.pinpoint-app`](#aws-concept-pinpoint-app) through `source.application_id`.

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

**Contribution through `source.application_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.pinpoint-email-channel</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/media-communication/pinpoint-topology.rf.hcl#L121-L139">Source</a></summary>

<div id="rule-pinpoint-email-channel"></div>

Matches `resource` instances of `aws_pinpoint_email_channel`.

**Classification:** [`aws.concept.pinpoint-component`](#aws-concept-pinpoint-component).

**Contributions**

- targets [`aws.concept.pinpoint-app`](#aws-concept-pinpoint-app) through `source.application_id`.

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

**Contribution through `source.application_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.pinpoint-event-stream</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/media-communication/pinpoint-topology.rf.hcl#L141-L159">Source</a></summary>

<div id="rule-pinpoint-event-stream"></div>

Matches `resource` instances of `aws_pinpoint_event_stream`.

**Classification:** [`aws.concept.pinpoint-component`](#aws-concept-pinpoint-component).

**Contributions**

- targets [`aws.concept.pinpoint-app`](#aws-concept-pinpoint-app) through `source.application_id`.

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

**Contribution through `source.application_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.pinpoint-gcm-channel</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/media-communication/pinpoint-topology.rf.hcl#L161-L179">Source</a></summary>

<div id="rule-pinpoint-gcm-channel"></div>

Matches `resource` instances of `aws_pinpoint_gcm_channel`.

**Classification:** [`aws.concept.pinpoint-component`](#aws-concept-pinpoint-component).

**Contributions**

- targets [`aws.concept.pinpoint-app`](#aws-concept-pinpoint-app) through `source.application_id`.

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

**Contribution through `source.application_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.pinpoint-sms-channel</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/media-communication/pinpoint-topology.rf.hcl#L181-L199">Source</a></summary>

<div id="rule-pinpoint-sms-channel"></div>

Matches `resource` instances of `aws_pinpoint_sms_channel`.

**Classification:** [`aws.concept.pinpoint-component`](#aws-concept-pinpoint-component).

**Contributions**

- targets [`aws.concept.pinpoint-app`](#aws-concept-pinpoint-app) through `source.application_id`.

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

**Contribution through `source.application_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.rds-cluster-activity-stream</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/databases/rds-topology.rf.hcl#L127-L148">Source</a></summary>

<div id="rule-rds-cluster-activity-stream"></div>

Matches `resource` instances of `aws_rds_cluster_activity_stream`.

**Classification:** [`aws.concept.managed-database-component`](#aws-concept-managed-database-component).

**Contributions**

- targets [`rf.concept.managed-database`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-managed-database) through `source.resource_arn`.

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

**Contribution through `source.resource_arn`**

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

</details>

</details>

<details>
<summary><code>aws.rule.rds-cluster-endpoint</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/databases/rds-topology.rf.hcl#L104-L125">Source</a></summary>

<div id="rule-rds-cluster-endpoint"></div>

Matches `resource` instances of `aws_rds_cluster_endpoint`.

**Classification:** [`aws.concept.managed-database-component`](#aws-concept-managed-database-component).

**Contributions**

- targets [`aws.rule.rds-cluster`](#rule-rds-cluster) through `source.cluster_identifier`.

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

**Contribution through `source.cluster_identifier`**

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

</details>

</details>

<details>
<summary><code>aws.rule.rds-cluster-instance</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/databases/rds-topology.rf.hcl#L35-L56">Source</a></summary>

<div id="rule-rds-cluster-instance"></div>

Matches `resource` instances of `aws_rds_cluster_instance`.

**Classification:** [`aws.concept.managed-database-component`](#aws-concept-managed-database-component).

**Contributions**

- targets [`aws.rule.rds-cluster`](#rule-rds-cluster) through `source.cluster_identifier`.

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

**Contribution through `source.cluster_identifier`**

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

</details>

</details>

<details>
<summary><code>aws.rule.rds-cluster</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/databases/rds-topology.rf.hcl#L18-L33">Source</a></summary>

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

Matches `resource` instances of `aws_rds_cluster`.

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

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

**Identity**

- `attributes`: `["arn", "cluster_identifier"]`
- `scope`: `"provider"`

**Endpoint**

- `attributes`: `["arn", "id", "cluster_identifier"]`

</details>

</details>

<details>
<summary><code>aws.rule.route-table</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/network/vpc.rf.hcl#L128-L150">Source</a></summary>

<div id="rule-route-table"></div>

Matches `resource` instances of `aws_route_table`.

**Classification:** [`aws.concept.route-table`](#aws-concept-route-table).

**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.vpc_id`.

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

**Context through `source.vpc_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.s3-bucket-server-side-encryption-configuration</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/storage/s3-topology.rf.hcl#L41-L62">Source</a></summary>

<div id="rule-s3-bucket-server-side-encryption-configuration"></div>

Matches `resource` instances of `aws_s3_bucket_server_side_encryption_configuration`.

**Classification:** [`aws.concept.storage-configuration`](#aws-concept-storage-configuration).

**Contributions**

- targets [`rf.concept.object-storage-container`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-object-storage-container) through `source.bucket`.

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

**Contribution through `source.bucket`**

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

</details>

</details>

<details>
<summary><code>aws.rule.s3-bucket-versioning</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/storage/s3-topology.rf.hcl#L18-L39">Source</a></summary>

<div id="rule-s3-bucket-versioning"></div>

Matches `resource` instances of `aws_s3_bucket_versioning`.

**Classification:** [`aws.concept.storage-configuration`](#aws-concept-storage-configuration).

**Contributions**

- targets [`rf.concept.object-storage-container`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-concept-object-storage-container) through `source.bucket`.

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

**Contribution through `source.bucket`**

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

</details>

</details>

<details>
<summary><code>aws.rule.s3-bucket</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/storage/s3-topology.rf.hcl#L1-L16">Source</a></summary>

<div id="rule-s3-bucket"></div>

Matches `resource` instances of `aws_s3_bucket`.

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

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

**Identity**

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

**Endpoint**

- `attributes`: `["id", "bucket", "arn"]`

</details>

</details>

<details>
<summary><code>aws.rule.s3-directory-bucket</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/storage/s3.rf.hcl#L6-L21">Source</a></summary>

<div id="rule-s3-directory-bucket"></div>

Matches `resource` instances of `aws_s3_directory_bucket`.

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

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

**Identity**

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

**Endpoint**

- `attributes`: `["id", "bucket", "arn"]`

</details>

</details>

<details>
<summary><code>aws.rule.security-group</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/network/vpc.rf.hcl#L152-L174">Source</a></summary>

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

Matches `resource` instances of `aws_security_group`.

**Classification:** [`aws.concept.security-group`](#aws-concept-security-group).

**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.vpc_id`.

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

**Context through `source.vpc_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.sns-topic-subscription</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/messaging-eventing/sns-sqs.rf.hcl#L18-L36">Source</a></summary>

<div id="rule-sns-topic-subscription"></div>

Matches `resource` instances of `aws_sns_topic_subscription`.

**Classification:** [`aws.concept.message-subscription`](#aws-concept-message-subscription).

**Relations**

- [`aws.relation.subscribes-to`](#aws-relation-subscribes-to): targets [`aws.concept.message-topic`](#aws-concept-message-topic) through `source.topic_arn`.

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

**Relation through `source.topic_arn`**

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

</details>

</details>

<details>
<summary><code>aws.rule.sns-topic</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/messaging-eventing/sns-sqs.rf.hcl#L1-L16">Source</a></summary>

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

Matches `resource` instances of `aws_sns_topic`.

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

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

**Identity**

- `attributes`: `["arn"]`
- `scope`: `"global"`

**Endpoint**

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

</details>

</details>

<details>
<summary><code>aws.rule.subnet</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/network/vpc.rf.hcl#L18-L49">Source</a></summary>

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

Matches `resource` instances of `aws_subnet`.

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

**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.vpc_id`.

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

**Identity**

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

**Endpoint**

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

**Context through `source.vpc_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.vpc-endpoint</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/network/vpc.rf.hcl#L51-L73">Source</a></summary>

<div id="rule-vpc-endpoint"></div>

Matches `resource` instances of `aws_vpc_endpoint`.

**Classification:** [`aws.concept.private-endpoint`](#aws-concept-private-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.vpc_id`.

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

**Context through `source.vpc_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.vpc</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/network/vpc.rf.hcl#L1-L16">Source</a></summary>

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

Matches `resource` instances of `aws_vpc`.

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

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

**Identity**

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

**Endpoint**

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

</details>

</details>

<details>
<summary><code>aws.rule.vpn-connection</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/network/vpc.rf.hcl#L282-L314">Source</a></summary>

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

Matches `resource` instances of `aws_vpn_connection`.

**Classification:** [`aws.concept.vpn-connection`](#aws-concept-vpn-connection).

**Contexts**

- [`rf.context.network`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-context-network): targets [`aws.concept.vpn-gateway`](#aws-concept-vpn-gateway) through `source.vpn_gateway_id`.
- [`rf.context.network`](https://docs.rootform.dev/language/reference/rf-vocabulary/#rf-context-network): targets [`aws.concept.transit-gateway`](#aws-concept-transit-gateway) through `source.transit_gateway_id`.

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

**Context through `source.vpn_gateway_id`**

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

**Context through `source.transit_gateway_id`**

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

</details>

</details>

<details>
<summary><code>aws.rule.vpn-gateway</code> <a href="https://github.com/rootform-dev/rootform/blob/dev/dialects/aws/network/vpc.rf.hcl#L248-L279">Source</a></summary>

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

Matches `resource` instances of `aws_vpn_gateway`.

**Classification:** [`aws.concept.vpn-gateway`](#aws-concept-vpn-gateway).

**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.vpc_id`.

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

**Identity**

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

**Endpoint**

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

**Context through `source.vpc_id`**

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

</details>

</details>
