diff --git a/README.md b/README.md
index 01ef094dd..19a5f6c7c 100644
--- a/README.md
+++ b/README.md
@@ -95,6 +95,7 @@ Name | Description |
[linode.cloud.placement_group_info](./docs/modules/placement_group_info.md)|Get info about a Linode Placement Group.|
[linode.cloud.profile_info](./docs/modules/profile_info.md)|Get info about a Linode Profile.|
[linode.cloud.region_info](./docs/modules/region_info.md)|Get info about a Linode Region.|
+[linode.cloud.region_vpc_availability_info](./docs/modules/region_vpc_availability_info.md)|Get info about a Linode Region VPC Availability.|
[linode.cloud.ssh_key_info](./docs/modules/ssh_key_info.md)|Get info about a Linode SSH Key.|
[linode.cloud.stackscript_info](./docs/modules/stackscript_info.md)|Get info about a Linode StackScript.|
[linode.cloud.token_info](./docs/modules/token_info.md)|Get info about a Linode Personal Access Token.|
@@ -144,6 +145,7 @@ Name | Description |
[linode.cloud.object_storage_quota_list](./docs/modules/object_storage_quota_list.md)|List and filter on Object Storage Quotas.|
[linode.cloud.placement_group_list](./docs/modules/placement_group_list.md)|List and filter on Placement Groups.|
[linode.cloud.region_list](./docs/modules/region_list.md)|List and filter on Regions.|
+[linode.cloud.regions_vpc_availability_list](./docs/modules/regions_vpc_availability_list.md)|List and filter on Regions VPC Availability.|
[linode.cloud.ssh_key_list](./docs/modules/ssh_key_list.md)|List and filter on SSH Keys.|
[linode.cloud.stackscript_list](./docs/modules/stackscript_list.md)|List and filter on StackScripts.|
[linode.cloud.token_list](./docs/modules/token_list.md)|List and filter on Tokens.|
diff --git a/docs/modules/region_vpc_availability_info.md b/docs/modules/region_vpc_availability_info.md
new file mode 100644
index 000000000..f7f465866
--- /dev/null
+++ b/docs/modules/region_vpc_availability_info.md
@@ -0,0 +1,50 @@
+# region_vpc_availability_info
+
+Get info about a Linode Region VPC Availability.
+
+WARNING! This module makes use of beta endpoints and requires the C(api_version) field be explicitly set to C(v4beta).
+
+- [Minimum Required Fields](#minimum-required-fields)
+- [Examples](#examples)
+- [Parameters](#parameters)
+- [Return Values](#return-values)
+
+## Minimum Required Fields
+| Field | Type | Required | Description |
+|-------------|-------|--------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `api_token` | `str` | **Required** | The Linode account personal access token. It is necessary to run the module.
It can be exposed by the environment variable `LINODE_API_TOKEN` instead.
See details in [Usage](https://github.com/linode/ansible_linode?tab=readme-ov-file#usage). |
+
+## Examples
+
+```yaml
+- name: Get Info of a Linode Region VPC Availability
+ linode.cloud.region_vpc_availability_info:
+ api_version: v4beta
+ id: us-mia
+```
+
+
+## Parameters
+
+| Field | Type | Required | Description |
+|-----------|------|----------|------------------------------------------------------------------------------|
+| `id` |
`str` | **Required** | The ID of the Region VPC Availability to resolve. |
+
+## Return Values
+
+- `region_vpc_availability` - The returned Region VPC Availability.
+
+ - Sample Response:
+ ```json
+ {
+ "region": "us-mia",
+ "available": true,
+ "available_ipv6_prefix_lengths": [
+ 48,
+ 52
+ ]
+ }
+ ```
+ - See the [Linode API response documentation](https://techdocs.akamai.com/linode-api/reference/get-region-vpc-availability) for a list of returned fields
+
+
diff --git a/docs/modules/regions_vpc_availability_list.md b/docs/modules/regions_vpc_availability_list.md
new file mode 100644
index 000000000..2c20fa681
--- /dev/null
+++ b/docs/modules/regions_vpc_availability_list.md
@@ -0,0 +1,77 @@
+# regions_vpc_availability_list
+
+List and filter on Regions VPC Availability.
+
+WARNING! This module makes use of beta endpoints and requires the C(api_version) field be explicitly set to C(v4beta).
+
+- [Minimum Required Fields](#minimum-required-fields)
+- [Examples](#examples)
+- [Parameters](#parameters)
+- [Return Values](#return-values)
+
+## Minimum Required Fields
+| Field | Type | Required | Description |
+|-------------|-------|--------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| `api_token` | `str` | **Required** | The Linode account personal access token. It is necessary to run the module.
It can be exposed by the environment variable `LINODE_API_TOKEN` instead.
See details in [Usage](https://github.com/linode/ansible_linode?tab=readme-ov-file#usage). |
+
+## Examples
+
+```yaml
+- name: List all of the Linode regions VPC availability
+ linode.cloud.regions_vpc_availability_list:
+ api_version: v4beta
+```
+
+
+## Parameters
+
+| Field | Type | Required | Description |
+|-----------|------|----------|------------------------------------------------------------------------------|
+| `order` | `str` | Optional | The order to list Regions VPC Availability in. **(Choices: `desc`, `asc`; Default: `asc`)** |
+| `order_by` | `str` | Optional | The attribute to order Regions VPC Availability by. |
+| [`filters` (sub-options)](#filters) | `list` | Optional | A list of filters to apply to the resulting Regions VPC Availability. |
+| `count` | `int` | Optional | The number of Regions VPC Availability to return. If undefined, all results will be returned. |
+
+### filters
+
+| Field | Type | Required | Description |
+|-----------|------|----------|------------------------------------------------------------------------------|
+| `name` | `str` | **Required** | The name of the field to filter on. Valid filterable fields can be found [here](https://techdocs.akamai.com/linode-api/reference/get-regions-vpc-availability). |
+| `values` | `list` | **Required** | A list of values to allow for this field. Fields will pass this filter if at least one of these values matches. |
+
+## Return Values
+
+- `regions_vpc_availability` - The returned Regions VPC Availability.
+
+ - Sample Response:
+ ```json
+ [
+ {
+ "region": "nl-ams",
+ "available": true,
+ "available_ipv6_prefix_lengths": [
+ 48,
+ 52
+ ]
+ },
+ {
+ "region": "fr-par-2",
+ "available": true,
+ "available_ipv6_prefix_lengths": [
+ 48,
+ 52
+ ]
+ },
+ {
+ "region": "jp-tyo-3",
+ "available": true,
+ "available_ipv6_prefix_lengths": [
+ 48,
+ 52
+ ]
+ }
+ ]
+ ```
+ - See the [Linode API response documentation](https://techdocs.akamai.com/linode-api/reference/get-regions-vpc-availability) for a list of returned fields
+
+
diff --git a/plugins/module_utils/doc_fragments/region_vpc_availability_info.py b/plugins/module_utils/doc_fragments/region_vpc_availability_info.py
new file mode 100644
index 000000000..983250d28
--- /dev/null
+++ b/plugins/module_utils/doc_fragments/region_vpc_availability_info.py
@@ -0,0 +1,16 @@
+"""Documentation fragments for the region_vpc_availability_info module"""
+
+specdoc_examples = ['''
+- name: Get Info of a Linode Region VPC Availability
+ linode.cloud.region_vpc_availability_info:
+ api_version: v4beta
+ id: us-mia''']
+
+result_region_vpc_availability_samples = ['''{
+ "region": "us-mia",
+ "available": true,
+ "available_ipv6_prefix_lengths": [
+ 48,
+ 52
+ ]
+}''']
diff --git a/plugins/module_utils/doc_fragments/regions_vpc_availability_list.py b/plugins/module_utils/doc_fragments/regions_vpc_availability_list.py
new file mode 100644
index 000000000..fc9d6304a
--- /dev/null
+++ b/plugins/module_utils/doc_fragments/regions_vpc_availability_list.py
@@ -0,0 +1,33 @@
+"""Documentation fragments for the regions_vpc_availability_list module"""
+
+specdoc_examples = ['''
+- name: List all of the Linode regions VPC availability
+ linode.cloud.regions_vpc_availability_list:
+ api_version: v4beta''']
+
+result_regions_vpc_availability_samples = ['''[
+ {
+ "region": "nl-ams",
+ "available": true,
+ "available_ipv6_prefix_lengths": [
+ 48,
+ 52
+ ]
+ },
+ {
+ "region": "fr-par-2",
+ "available": true,
+ "available_ipv6_prefix_lengths": [
+ 48,
+ 52
+ ]
+ },
+ {
+ "region": "jp-tyo-3",
+ "available": true,
+ "available_ipv6_prefix_lengths": [
+ 48,
+ 52
+ ]
+ }
+]''']
diff --git a/plugins/modules/region_vpc_availability_info.py b/plugins/modules/region_vpc_availability_info.py
new file mode 100644
index 000000000..49f220168
--- /dev/null
+++ b/plugins/modules/region_vpc_availability_info.py
@@ -0,0 +1,51 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
+"""This module allows users to retrieve information about a Linode Region VPC Availability."""
+
+from __future__ import absolute_import, division, print_function
+
+from ansible_collections.linode.cloud.plugins.module_utils.doc_fragments import (
+ region_vpc_availability_info as docs,
+)
+from ansible_collections.linode.cloud.plugins.module_utils.linode_common_info import (
+ InfoModule,
+ InfoModuleAttr,
+ InfoModuleResult,
+)
+from ansible_specdoc.objects import FieldType
+from linode_api4 import Region
+
+module = InfoModule(
+ examples=docs.specdoc_examples,
+ primary_result=InfoModuleResult(
+ display_name="Region VPC Availability",
+ field_name="region_vpc_availability",
+ field_type=FieldType.dict,
+ docs_url="https://techdocs.akamai.com/linode-api/reference/get-region-vpc-availability",
+ samples=docs.result_region_vpc_availability_samples,
+ ),
+ attributes=[
+ InfoModuleAttr(
+ name="id",
+ display_name="ID",
+ type=FieldType.string,
+ get=lambda client, params: client.load(
+ Region, params.get("id")
+ ).vpc_availability.dict,
+ ),
+ ],
+ requires_beta=True,
+)
+
+SPECDOC_META = module.spec
+
+DOCUMENTATION = r"""
+"""
+EXAMPLES = r"""
+"""
+RETURN = r"""
+"""
+
+if __name__ == "__main__":
+ module.run()
diff --git a/plugins/modules/regions_vpc_availability_list.py b/plugins/modules/regions_vpc_availability_list.py
new file mode 100644
index 000000000..a5d813f0d
--- /dev/null
+++ b/plugins/modules/regions_vpc_availability_list.py
@@ -0,0 +1,35 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
+"""This module allows users to list Linode regions VPC availability."""
+
+from __future__ import absolute_import, division, print_function
+
+from ansible_collections.linode.cloud.plugins.module_utils.doc_fragments import (
+ regions_vpc_availability_list as docs,
+)
+from ansible_collections.linode.cloud.plugins.module_utils.linode_common_list import (
+ ListModule,
+)
+
+module = ListModule(
+ result_display_name="Regions VPC Availability",
+ result_field_name="regions_vpc_availability",
+ endpoint_template="/regions/vpc-availability",
+ result_docs_url="https://techdocs.akamai.com/linode-api/reference/get-regions-vpc-availability",
+ requires_beta=True,
+ examples=docs.specdoc_examples,
+ result_samples=docs.result_regions_vpc_availability_samples,
+)
+
+SPECDOC_META = module.spec
+
+DOCUMENTATION = r"""
+"""
+EXAMPLES = r"""
+"""
+RETURN = r"""
+"""
+
+if __name__ == "__main__":
+ module.run()
diff --git a/tests/integration/targets/region_vpc_availability_info/tasks/main.yaml b/tests/integration/targets/region_vpc_availability_info/tasks/main.yaml
new file mode 100644
index 000000000..d1f91c0b2
--- /dev/null
+++ b/tests/integration/targets/region_vpc_availability_info/tasks/main.yaml
@@ -0,0 +1,20 @@
+- name: region_vpc_availability_info
+ block:
+ - name: Get Info of a Linode Region VPC Availability
+ linode.cloud.region_vpc_availability_info:
+ id: us-mia
+ register: result
+
+ - name: Assert region_vpc_availability_info
+ assert:
+ that:
+ - result.region_vpc_availability.region == 'us-mia'
+ - result.region_vpc_availability.available == true
+ - result.region_vpc_availability.available_ipv6_prefix_lengths == [48, 52]
+
+ environment:
+ LINODE_UA_PREFIX: '{{ ua_prefix }}'
+ LINODE_API_TOKEN: '{{ api_token }}'
+ LINODE_API_URL: '{{ api_url }}'
+ LINODE_API_VERSION: '{{ api_version }}'
+ LINODE_CA: '{{ ca_file or "" }}'
diff --git a/tests/integration/targets/regions_vpc_availability_list/tasks/main.yaml b/tests/integration/targets/regions_vpc_availability_list/tasks/main.yaml
new file mode 100644
index 000000000..839b907f3
--- /dev/null
+++ b/tests/integration/targets/regions_vpc_availability_list/tasks/main.yaml
@@ -0,0 +1,17 @@
+- name: regions_vpc_availability_list
+ block:
+ - name: List regions VPC availability
+ linode.cloud.regions_vpc_availability_list:
+ register: result
+
+ - name: Assert regions_vpc_availability_list
+ assert:
+ that:
+ - result.regions_vpc_availability | length >= 0
+
+ environment:
+ LINODE_UA_PREFIX: '{{ ua_prefix }}'
+ LINODE_API_TOKEN: '{{ api_token }}'
+ LINODE_API_URL: '{{ api_url }}'
+ LINODE_API_VERSION: '{{ api_version }}'
+ LINODE_CA: '{{ ca_file or "" }}'