Skip to content

Commit

Permalink
Add vpn membership policy definition resource and data source
Browse files Browse the repository at this point in the history
  • Loading branch information
danischm committed Jul 16, 2023
1 parent f44d39d commit a7beb28
Show file tree
Hide file tree
Showing 15 changed files with 825 additions and 0 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
- Add `sdwan_hub_and_spoke_topology_policy_definition` resource and data source
- Add `sdwan_mesh_topology_policy_definition` resource and data source
- Add `sdwan_custom_control_topology_policy_definition` resource and data source
- Add `sdwan_vpn_membership_policy_definition` resource and data source

## 0.2.0

Expand Down
44 changes: 44 additions & 0 deletions docs/data-sources/vpn_membership_policy_definition.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "sdwan_vpn_membership_policy_definition Data Source - terraform-provider-sdwan"
subcategory: "Centralized Policies"
description: |-
This data source can read the VPN Membership policy definition.
---

# sdwan_vpn_membership_policy_definition (Data Source)

This data source can read the VPN Membership policy definition.

## Example Usage

```terraform
data "sdwan_vpn_membership_policy_definition" "example" {
id = "f6b2c44c-693c-4763-b010-895aa3d236bd"
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Required

- `id` (String) The id of the policy definition

### Read-Only

- `description` (String) The description of the policy definition
- `name` (String) The name of the policy definition
- `sites` (Attributes List) List of sites (see [below for nested schema](#nestedatt--sites))
- `type` (String) The policy definition type
- `version` (Number) The version of the policy definition

<a id="nestedatt--sites"></a>
### Nested Schema for `sites`

Read-Only:

- `site_list_id` (String) Site list ID
- `site_list_version` (Number) Site list version
- `vpn_list_ids` (List of String) VPN list IDs
- `vpn_list_versions` (List of String) VPN list versions
1 change: 1 addition & 0 deletions docs/guides/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ description: |-
- Add `sdwan_hub_and_spoke_topology_policy_definition` resource and data source
- Add `sdwan_mesh_topology_policy_definition` resource and data source
- Add `sdwan_custom_control_topology_policy_definition` resource and data source
- Add `sdwan_vpn_membership_policy_definition` resource and data source

## 0.2.0

Expand Down
59 changes: 59 additions & 0 deletions docs/resources/vpn_membership_policy_definition.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "sdwan_vpn_membership_policy_definition Resource - terraform-provider-sdwan"
subcategory: "Centralized Policies"
description: |-
This resource can manage a VPN Membership policy definition.
---

# sdwan_vpn_membership_policy_definition (Resource)

This resource can manage a VPN Membership policy definition.

## Example Usage

```terraform
resource "sdwan_vpn_membership_policy_definition" "example" {
name = "Example"
description = "My description"
sites = [
{
site_list_id = "e858e1c4-6aa8-4de7-99df-c3adbf80290d"
vpn_list_ids = ["04fcbb0b-efbf-43d2-a04b-847d3a7b104e"]
}
]
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Required

- `description` (String) The description of the policy definition
- `name` (String) The name of the policy definition
- `sites` (Attributes List) List of sites (see [below for nested schema](#nestedatt--sites))

### Read-Only

- `id` (String) The id of the policy definition
- `type` (String) The policy defintion type
- `version` (Number) The version of the policy definition

<a id="nestedatt--sites"></a>
### Nested Schema for `sites`

Optional:

- `site_list_id` (String) Site list ID
- `site_list_version` (Number) Site list version
- `vpn_list_ids` (List of String) VPN list IDs
- `vpn_list_versions` (List of String) VPN list versions

## Import

Import is supported using the following syntax:

```shell
terraform import sdwan_vpn_membership_policy_definition.example "f6b2c44c-693c-4763-b010-895aa3d236bd"
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
data "sdwan_vpn_membership_policy_definition" "example" {
id = "f6b2c44c-693c-4763-b010-895aa3d236bd"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
terraform import sdwan_vpn_membership_policy_definition.example "f6b2c44c-693c-4763-b010-895aa3d236bd"
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
resource "sdwan_vpn_membership_policy_definition" "example" {
name = "Example"
description = "My description"
sites = [
{
site_list_id = "e858e1c4-6aa8-4de7-99df-c3adbf80290d"
vpn_list_ids = ["04fcbb0b-efbf-43d2-a04b-847d3a7b104e"]
}
]
}
33 changes: 33 additions & 0 deletions gen/definitions/policy_definitions/vpn_membership.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
name: VPN Membership
type: vpnMembershipGroup
root_element: definition
doc_category: Centralized Policies
skip_templates: [model.go, resource.go, data_source.go]
attributes:
- model_name: sites
tf_name: sites
type: List
mandatory: true
description: List of sites
attributes:
- model_name: siteList
tf_name: site_list_id
type: String
description: Site list ID
example: e858e1c4-6aa8-4de7-99df-c3adbf80290d
- tf_name: site_list_version
tf_only: true
type: Int64
description: Site list version
exclude_test: true
- model_name: vpnList
tf_name: vpn_list_ids
type: ListString
description: VPN list IDs
example: '["04fcbb0b-efbf-43d2-a04b-847d3a7b104e"]'
- tf_name: vpn_list_versions
tf_only: true
type: ListString
description: VPN list versions
exclude_test: true

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit a7beb28

Please sign in to comment.