@robinmordasiewicz/f5xc-terraform-mcp 3.4.0 → 3.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +283 -104
- package/dist/docs/data-sources/bgp.md +2 -2
- package/dist/docs/data-sources/discovery.md +2 -2
- package/dist/docs/data-sources/site.md +2 -2
- package/dist/docs/index.md +276 -0
- package/dist/docs/resources/bgp.md +205 -37
- package/dist/docs/resources/discovery.md +259 -8
- package/dist/docs/resources/securemesh_site.md +253 -1614
- package/dist/docs/resources/site.md +200 -911
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +75 -4
- package/dist/index.js.map +1 -1
- package/dist/metadata/error-patterns.json +192 -0
- package/dist/metadata/resource-metadata.json +13095 -0
- package/dist/metadata/validation-patterns.json +69 -0
- package/dist/schemas/common.d.ts +33 -0
- package/dist/schemas/common.d.ts.map +1 -1
- package/dist/schemas/common.js +32 -0
- package/dist/schemas/common.js.map +1 -1
- package/dist/services/documentation.d.ts.map +1 -1
- package/dist/services/documentation.js +9 -0
- package/dist/services/documentation.js.map +1 -1
- package/dist/services/metadata.d.ts +193 -0
- package/dist/services/metadata.d.ts.map +1 -0
- package/dist/services/metadata.js +367 -0
- package/dist/services/metadata.js.map +1 -0
- package/dist/tools/discover.d.ts.map +1 -1
- package/dist/tools/discover.js +8 -0
- package/dist/tools/discover.js.map +1 -1
- package/dist/tools/metadata.d.ts +19 -0
- package/dist/tools/metadata.d.ts.map +1 -0
- package/dist/tools/metadata.js +612 -0
- package/dist/tools/metadata.js.map +1 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
---
|
|
2
|
+
page_title: "F5XC Provider"
|
|
3
|
+
description: |-
|
|
4
|
+
Terraform provider for F5 Distributed Cloud (F5XC) enabling infrastructure as code for load balancers, security policies, sites, and networking. Community-maintained provider built from public F5 API documentation.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# F5XC Provider
|
|
8
|
+
|
|
9
|
+
The F5XC Terraform provider enables infrastructure as code management for F5 Distributed Cloud (F5XC) resources. Configure HTTP/TCP load balancers, origin pools, application firewalls, service policies, cloud sites, and more through declarative Terraform configurations.
|
|
10
|
+
|
|
11
|
+
This is a community-maintained provider built from public F5 API documentation.
|
|
12
|
+
|
|
13
|
+
## Requirements
|
|
14
|
+
|
|
15
|
+
| Name | Version |
|
|
16
|
+
|-----------|---------|
|
|
17
|
+
| terraform | >= 1.8 |
|
|
18
|
+
|
|
19
|
+
-> **Note:** This provider uses provider-defined functions which require Terraform 1.8 or later. For details, see the [Functions](/docs/functions) documentation.
|
|
20
|
+
|
|
21
|
+
## Authenticating to F5 Distributed Cloud
|
|
22
|
+
|
|
23
|
+
The F5XC Terraform provider supports multiple authentication methods:
|
|
24
|
+
|
|
25
|
+
1. **API Token** - Simplest method using a personal API token
|
|
26
|
+
2. **P12 Certificate** - Certificate-based authentication using PKCS#12 bundle
|
|
27
|
+
3. **PEM Certificate** - Certificate-based authentication using separate cert/key files
|
|
28
|
+
|
|
29
|
+
Learn more about [how to generate API credentials](https://docs.cloud.f5.com/docs/how-to/user-mgmt/credentials).
|
|
30
|
+
|
|
31
|
+
## Example Usage
|
|
32
|
+
|
|
33
|
+
```terraform
|
|
34
|
+
# Configure the F5XC Provider with API Token Authentication
|
|
35
|
+
provider "f5xc" {
|
|
36
|
+
api_url = "https://your-tenant.console.ves.volterra.io"
|
|
37
|
+
api_token = var.f5xc_api_token
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
# Alternatively, use environment variables:
|
|
41
|
+
# export F5XC_API_URL="https://your-tenant.console.ves.volterra.io"
|
|
42
|
+
# export F5XC_API_TOKEN="your-api-token"
|
|
43
|
+
|
|
44
|
+
variable "f5xc_api_token" {
|
|
45
|
+
description = "F5 Distributed Cloud API Token"
|
|
46
|
+
type = string
|
|
47
|
+
sensitive = true
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
# Or use P12 Certificate Authentication:
|
|
51
|
+
# provider "f5xc" {
|
|
52
|
+
# api_url = "https://your-tenant.console.ves.volterra.io"
|
|
53
|
+
# api_p12_file = "/path/to/certificate.p12"
|
|
54
|
+
# p12_password = var.f5xc_p12_password
|
|
55
|
+
# }
|
|
56
|
+
#
|
|
57
|
+
# Environment variables for P12 authentication:
|
|
58
|
+
# export F5XC_API_URL="https://your-tenant.console.ves.volterra.io"
|
|
59
|
+
# export F5XC_P12_FILE="/path/to/certificate.p12"
|
|
60
|
+
# export F5XC_P12_PASSWORD="your-p12-password"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Argument Reference
|
|
64
|
+
|
|
65
|
+
### Required (one of the following authentication methods)
|
|
66
|
+
|
|
67
|
+
* `api_token` - F5 Distributed Cloud API Token (`String`, Sensitive). Can also be set via `F5XC_API_TOKEN` environment variable.
|
|
68
|
+
|
|
69
|
+
* `api_p12_file` - Path to PKCS#12 certificate bundle file (`String`). Can also be set via `F5XC_P12_FILE` environment variable. Requires `p12_password`.
|
|
70
|
+
|
|
71
|
+
* `api_cert` and `api_key` - Paths to PEM-encoded certificate and private key files (`String`). Can also be set via `F5XC_CERT` and `F5XC_KEY` environment variables.
|
|
72
|
+
|
|
73
|
+
### Optional
|
|
74
|
+
|
|
75
|
+
* `api_url` - F5 Distributed Cloud API URL (`String`). Base URL **without** `/api` suffix. Defaults to `https://console.ves.volterra.io`. Can also be set via `F5XC_API_URL` environment variable.
|
|
76
|
+
|
|
77
|
+
* `p12_password` - Password for PKCS#12 certificate bundle (`String`, Sensitive). Required when using `api_p12_file`. Can also be set via `F5XC_P12_PASSWORD` environment variable.
|
|
78
|
+
|
|
79
|
+
* `api_ca_cert` - Path to PEM-encoded CA certificate file (`String`). Optional, used for server certificate verification. Can also be set via `F5XC_CACERT` environment variable.
|
|
80
|
+
|
|
81
|
+
## Authentication Options
|
|
82
|
+
|
|
83
|
+
### Option 1: API Token Authentication
|
|
84
|
+
|
|
85
|
+
The simplest authentication method using a personal API token.
|
|
86
|
+
|
|
87
|
+
**Provider Configuration:**
|
|
88
|
+
|
|
89
|
+
```hcl
|
|
90
|
+
provider "f5xc" {
|
|
91
|
+
api_url = "https://your-tenant.console.ves.volterra.io"
|
|
92
|
+
api_token = var.f5xc_api_token
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Environment Variables:**
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
export F5XC_API_URL="https://your-tenant.console.ves.volterra.io"
|
|
100
|
+
export F5XC_API_TOKEN="your-api-token"
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Option 2: P12 Certificate Authentication
|
|
104
|
+
|
|
105
|
+
Certificate-based authentication using a PKCS#12 bundle downloaded from F5 Distributed Cloud.
|
|
106
|
+
|
|
107
|
+
**Provider Configuration:**
|
|
108
|
+
|
|
109
|
+
```hcl
|
|
110
|
+
provider "f5xc" {
|
|
111
|
+
api_url = "https://your-tenant.console.ves.volterra.io"
|
|
112
|
+
api_p12_file = "/path/to/certificate.p12"
|
|
113
|
+
p12_password = var.f5xc_p12_password
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
**Environment Variables:**
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
export F5XC_API_URL="https://your-tenant.console.ves.volterra.io"
|
|
121
|
+
export F5XC_P12_FILE="/path/to/certificate.p12"
|
|
122
|
+
export F5XC_P12_PASSWORD="your-p12-password"
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Option 3: PEM Certificate Authentication
|
|
126
|
+
|
|
127
|
+
Certificate-based authentication using separate PEM-encoded certificate and key files.
|
|
128
|
+
|
|
129
|
+
**Provider Configuration:**
|
|
130
|
+
|
|
131
|
+
```hcl
|
|
132
|
+
provider "f5xc" {
|
|
133
|
+
api_url = "https://your-tenant.console.ves.volterra.io"
|
|
134
|
+
api_cert = "/path/to/certificate.crt"
|
|
135
|
+
api_key = "/path/to/private.key"
|
|
136
|
+
api_ca_cert = "/path/to/ca-certificate.crt" # Optional
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**Environment Variables:**
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
export F5XC_API_URL="https://your-tenant.console.ves.volterra.io"
|
|
144
|
+
export F5XC_CERT="/path/to/certificate.crt"
|
|
145
|
+
export F5XC_KEY="/path/to/private.key"
|
|
146
|
+
export F5XC_CACERT="/path/to/ca-certificate.crt" # Optional
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
-> **Note:** Environment variables are the recommended approach for CI/CD pipelines and to avoid storing sensitive credentials in version control.
|
|
150
|
+
|
|
151
|
+
## Getting Started
|
|
152
|
+
|
|
153
|
+
1. **Generate API Credentials**: Navigate to your F5 Distributed Cloud console, go to **Administration** > **Personal Management** > **Credentials**, and create either an API Token or download a certificate bundle.
|
|
154
|
+
|
|
155
|
+
2. **Configure the Provider**: Add the provider configuration to your Terraform files using one of the authentication options above.
|
|
156
|
+
|
|
157
|
+
3. **Create Resources**: Start managing F5XC resources like namespaces, load balancers, and origin pools.
|
|
158
|
+
|
|
159
|
+
### Example: Create a Namespace
|
|
160
|
+
|
|
161
|
+
```hcl
|
|
162
|
+
resource "f5xc_namespace" "example" {
|
|
163
|
+
name = "example-namespace"
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Example: Create an HTTP Load Balancer
|
|
168
|
+
|
|
169
|
+
```hcl
|
|
170
|
+
resource "f5xc_http_loadbalancer" "example" {
|
|
171
|
+
name = "example-load-balancer"
|
|
172
|
+
namespace = "example-namespace"
|
|
173
|
+
domains = ["example.com"]
|
|
174
|
+
}
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
## MCP Configuration
|
|
178
|
+
|
|
179
|
+
This provider includes a Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with F5 Distributed Cloud resources. The MCP server provides schema information, documentation, and example configurations.
|
|
180
|
+
|
|
181
|
+
### Quick Setup for Claude Desktop
|
|
182
|
+
|
|
183
|
+
Add the following to your Claude Desktop configuration file:
|
|
184
|
+
|
|
185
|
+
**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
186
|
+
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
|
|
187
|
+
|
|
188
|
+
```json
|
|
189
|
+
{
|
|
190
|
+
"mcpServers": {
|
|
191
|
+
"f5xc-terraform": {
|
|
192
|
+
"command": "npx",
|
|
193
|
+
"args": ["@robinmordasiewicz/f5xc-terraform-mcp"]
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### Quick Setup for Claude Code (CLI)
|
|
200
|
+
|
|
201
|
+
Install the MCP server with a single command:
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
claude mcp add f5xc-terraform -- npx -y @robinmordasiewicz/f5xc-terraform-mcp
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
**Scope Options:**
|
|
208
|
+
|
|
209
|
+
* `--scope local` (default) - Available only in the current directory
|
|
210
|
+
* `--scope user` - Available in all your Claude Code sessions
|
|
211
|
+
* `--scope project` - Shared with anyone who clones the repository (saved in `.mcp.json`)
|
|
212
|
+
|
|
213
|
+
Example with user scope (recommended for personal use):
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
claude mcp add --scope user f5xc-terraform -- npx -y @robinmordasiewicz/f5xc-terraform-mcp
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
**Verify Installation:**
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
claude mcp list
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
You should see `f5xc-terraform` listed with a `✓ Connected` status.
|
|
226
|
+
|
|
227
|
+
### Quick Setup for Visual Studio Code
|
|
228
|
+
|
|
229
|
+
VS Code 1.99+ supports MCP servers through GitHub Copilot. Choose the installation method that best fits your environment:
|
|
230
|
+
|
|
231
|
+
#### Option 1: Workspace Configuration (Recommended)
|
|
232
|
+
|
|
233
|
+
Create a `.vscode/mcp.json` file in your workspace:
|
|
234
|
+
|
|
235
|
+
```json
|
|
236
|
+
{
|
|
237
|
+
"servers": {
|
|
238
|
+
"f5xc-terraform": {
|
|
239
|
+
"command": "npx",
|
|
240
|
+
"args": ["-y", "@robinmordasiewicz/f5xc-terraform-mcp"]
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
#### Option 2: Corporate Environments (No Node.js Required)
|
|
247
|
+
|
|
248
|
+
For environments where npm/Node.js cannot be installed:
|
|
249
|
+
|
|
250
|
+
1. Download the latest `.mcpb` bundle from [GitHub Releases](https://github.com/robinmordasiewicz/terraform-provider-f5xc/releases)
|
|
251
|
+
2. Place the file in a known location (e.g., `~/.mcp/f5xc-terraform-mcp.mcpb`)
|
|
252
|
+
3. Create a `.vscode/mcp.json` file:
|
|
253
|
+
|
|
254
|
+
```json
|
|
255
|
+
{
|
|
256
|
+
"servers": {
|
|
257
|
+
"f5xc-terraform": {
|
|
258
|
+
"command": "/path/to/f5xc-terraform-mcp.mcpb"
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
#### Verify Installation
|
|
265
|
+
|
|
266
|
+
1. Press `Ctrl+Shift+P` / `Cmd+Shift+P`
|
|
267
|
+
2. Run `MCP: List Servers`
|
|
268
|
+
3. Look for `f5xc-terraform` with a green status indicator
|
|
269
|
+
|
|
270
|
+
For complete MCP server documentation including all available tools and advanced configuration options, see the [NPM package page](https://www.npmjs.com/package/@robinmordasiewicz/f5xc-terraform-mcp).
|
|
271
|
+
|
|
272
|
+
## Resources and Data Sources
|
|
273
|
+
|
|
274
|
+
Browse the documentation sidebar for the complete list of resources and data sources organized by category.
|
|
275
|
+
|
|
276
|
+
<!-- Template version: 1.0.1 - MCP token optimization (#592) -->
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
page_title: "f5xc_bgp Resource - terraform-provider-f5xc"
|
|
3
3
|
subcategory: "Networking"
|
|
4
4
|
description: |-
|
|
5
|
-
Manages a BGP resource in F5 Distributed Cloud for bgp
|
|
5
|
+
Manages a BGP resource in F5 Distributed Cloud for bgp object is the configuration for peering with external bgp servers. it is created by users in system namespace. configuration.
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# f5xc_bgp (Resource)
|
|
9
9
|
|
|
10
|
-
Manages a BGP resource in F5 Distributed Cloud for bgp
|
|
10
|
+
Manages a BGP resource in F5 Distributed Cloud for bgp object is the configuration for peering with external bgp servers. it is created by users in system namespace. configuration.
|
|
11
11
|
|
|
12
12
|
~> **Note** For more information about this resource, please refer to the [F5 XC API Documentation](https://docs.cloud.f5.com/docs/api/).
|
|
13
13
|
|
|
@@ -15,7 +15,7 @@ Manages a BGP resource in F5 Distributed Cloud for bgp routing policy is a list
|
|
|
15
15
|
|
|
16
16
|
```terraform
|
|
17
17
|
# BGP Resource Example
|
|
18
|
-
# Manages a BGP resource in F5 Distributed Cloud for bgp
|
|
18
|
+
# Manages a BGP resource in F5 Distributed Cloud for bgp object is the configuration for peering with external bgp servers. it is created by users in system namespace. configuration.
|
|
19
19
|
|
|
20
20
|
# Basic BGP configuration
|
|
21
21
|
resource "f5xc_bgp" "example" {
|
|
@@ -73,10 +73,14 @@ resource "f5xc_bgp" "example" {
|
|
|
73
73
|
|
|
74
74
|
### Spec Argument Reference
|
|
75
75
|
|
|
76
|
-
<a id="
|
|
76
|
+
<a id="bgp-parameters"></a>• [`bgp_parameters`](#bgp-parameters) - Optional Block<br>BGP Parameters. BGP parameters for the local site<br>See [BGP Parameters](#bgp-parameters) below for details.
|
|
77
|
+
|
|
78
|
+
<a id="peers"></a>• [`peers`](#peers) - Optional Block<br>Peers. List of peers<br>See [Peers](#peers) below for details.
|
|
77
79
|
|
|
78
80
|
<a id="timeouts"></a>• [`timeouts`](#timeouts) - Optional Block<br>See [Timeouts](#timeouts) below for details.
|
|
79
81
|
|
|
82
|
+
<a id="where"></a>• [`where`](#where) - Optional Block<br>Site or Virtual Site Reference. VirtualSiteSiteRefSelector defines a union of reference to site or reference to virtual_site It used to refer site or a group of sites indicated by virtual site<br>See [Where](#where) below for details.
|
|
83
|
+
|
|
80
84
|
### Attributes Reference
|
|
81
85
|
|
|
82
86
|
In addition to all arguments above, the following attributes are exported:
|
|
@@ -85,71 +89,175 @@ In addition to all arguments above, the following attributes are exported:
|
|
|
85
89
|
|
|
86
90
|
---
|
|
87
91
|
|
|
88
|
-
####
|
|
92
|
+
#### BGP Parameters
|
|
93
|
+
|
|
94
|
+
A [`bgp_parameters`](#bgp-parameters) block supports the following:
|
|
95
|
+
|
|
96
|
+
<a id="bgp-parameters-asn"></a>• [`asn`](#bgp-parameters-asn) - Optional Number<br>ASN. Autonomous System Number
|
|
97
|
+
|
|
98
|
+
<a id="bgp-parameters-from-site"></a>• [`from_site`](#bgp-parameters-from-site) - Optional Block<br>Enable this option
|
|
99
|
+
|
|
100
|
+
<a id="bgp-parameters-ip-address"></a>• [`ip_address`](#bgp-parameters-ip-address) - Optional String<br>IP Address. Use the configured IPv4 Address as Router ID
|
|
101
|
+
|
|
102
|
+
<a id="bgp-parameters-local-address"></a>• [`local_address`](#bgp-parameters-local-address) - Optional Block<br>Enable this option
|
|
103
|
+
|
|
104
|
+
#### Peers
|
|
105
|
+
|
|
106
|
+
A [`peers`](#peers) block supports the following:
|
|
107
|
+
|
|
108
|
+
<a id="peers-bfd-disabled"></a>• [`bfd_disabled`](#peers-bfd-disabled) - Optional Block<br>Enable this option
|
|
109
|
+
|
|
110
|
+
<a id="peers-bfd-enabled"></a>• [`bfd_enabled`](#peers-bfd-enabled) - Optional Block<br>BFD. BFD parameters<br>See [Bfd Enabled](#peers-bfd-enabled) below.
|
|
111
|
+
|
|
112
|
+
<a id="peers-disable"></a>• [`disable`](#peers-disable) - Optional Block<br>Enable this option
|
|
113
|
+
|
|
114
|
+
<a id="peers-external"></a>• [`external`](#peers-external) - Optional Block<br>External BGP Peer. External BGP Peer parameters<br>See [External](#peers-external) below.
|
|
115
|
+
|
|
116
|
+
<a id="peers-label"></a>• [`label`](#peers-label) - Optional String<br>Label. Specify whether this peer should be
|
|
117
|
+
|
|
118
|
+
<a id="peers-metadata"></a>• [`metadata`](#peers-metadata) - Optional Block<br>Message Metadata. MessageMetaType is metadata (common attributes) of a message that only certain messages have. This information is propagated to the metadata of a child object that gets created from the containing message during view processing. The information in this type can be specified by user during create and replace APIs<br>See [Metadata](#peers-metadata) below.
|
|
119
|
+
|
|
120
|
+
<a id="peers-passive-mode-disabled"></a>• [`passive_mode_disabled`](#peers-passive-mode-disabled) - Optional Block<br>Enable this option
|
|
121
|
+
|
|
122
|
+
<a id="peers-passive-mode-enabled"></a>• [`passive_mode_enabled`](#peers-passive-mode-enabled) - Optional Block<br>Enable this option
|
|
123
|
+
|
|
124
|
+
<a id="peers-routing-policies"></a>• [`routing_policies`](#peers-routing-policies) - Optional Block<br>BGP Routing Policy. List of rules which can be applied on all or particular nodes<br>See [Routing Policies](#peers-routing-policies) below.
|
|
125
|
+
|
|
126
|
+
#### Peers Bfd Enabled
|
|
127
|
+
|
|
128
|
+
A [`bfd_enabled`](#peers-bfd-enabled) block (within [`peers`](#peers)) supports the following:
|
|
129
|
+
|
|
130
|
+
<a id="peers-bfd-enabled-multiplier"></a>• [`multiplier`](#peers-bfd-enabled-multiplier) - Optional Number<br>Multiplier. Specify Number of missed packets to bring session down'
|
|
131
|
+
|
|
132
|
+
<a id="milliseconds-dab8b3"></a>• [`receive_interval_milliseconds`](#milliseconds-dab8b3) - Optional Number<br>Minimum Receive Interval. BFD receive interval timer, in milliseconds
|
|
133
|
+
|
|
134
|
+
<a id="milliseconds-135c29"></a>• [`transmit_interval_milliseconds`](#milliseconds-135c29) - Optional Number<br>Transmit Interval. BFD transmit interval timer, in milliseconds
|
|
135
|
+
|
|
136
|
+
#### Peers External
|
|
137
|
+
|
|
138
|
+
An [`external`](#peers-external) block (within [`peers`](#peers)) supports the following:
|
|
139
|
+
|
|
140
|
+
<a id="peers-external-address"></a>• [`address`](#peers-external-address) - Optional String<br>Peer Address. Specify IPv4 peer address
|
|
141
|
+
|
|
142
|
+
<a id="peers-external-address-ipv6"></a>• [`address_ipv6`](#peers-external-address-ipv6) - Optional String<br>Peer IPv6 Address. Specify peer IPv6 address
|
|
143
|
+
|
|
144
|
+
<a id="peers-external-asn"></a>• [`asn`](#peers-external-asn) - Optional Number<br>ASN. Autonomous System Number for BGP peer
|
|
145
|
+
|
|
146
|
+
<a id="peers-external-default-gateway"></a>• [`default_gateway`](#peers-external-default-gateway) - Optional Block<br>Enable this option
|
|
147
|
+
|
|
148
|
+
<a id="peers-external-default-gateway-v6"></a>• [`default_gateway_v6`](#peers-external-default-gateway-v6) - Optional Block<br>Enable this option
|
|
149
|
+
|
|
150
|
+
<a id="peers-external-disable"></a>• [`disable`](#peers-external-disable) - Optional Block<br>Enable this option
|
|
151
|
+
|
|
152
|
+
<a id="peers-external-disable-v6"></a>• [`disable_v6`](#peers-external-disable-v6) - Optional Block<br>Enable this option
|
|
153
|
+
|
|
154
|
+
<a id="peers-external-external-connector"></a>• [`external_connector`](#peers-external-external-connector) - Optional Block<br>Enable this option
|
|
155
|
+
|
|
156
|
+
<a id="peers-external-family-inet"></a>• [`family_inet`](#peers-external-family-inet) - Optional Block<br>BGP Family Inet. Parameters for inet family<br>See [Family Inet](#peers-external-family-inet) below.
|
|
157
|
+
|
|
158
|
+
<a id="peers-external-from-site"></a>• [`from_site`](#peers-external-from-site) - Optional Block<br>Enable this option
|
|
159
|
+
|
|
160
|
+
<a id="peers-external-from-site-v6"></a>• [`from_site_v6`](#peers-external-from-site-v6) - Optional Block<br>Enable this option
|
|
161
|
+
|
|
162
|
+
<a id="peers-external-interface"></a>• [`interface`](#peers-external-interface) - Optional Block<br>Object reference. This type establishes a direct reference from one object(the referrer) to another(the referred). Such a reference is in form of tenant/namespace/name<br>See [Interface](#peers-external-interface) below.
|
|
163
|
+
|
|
164
|
+
<a id="peers-external-interface-list"></a>• [`interface_list`](#peers-external-interface-list) - Optional Block<br>Interface List. List of network interfaces<br>See [Interface List](#peers-external-interface-list) below.
|
|
165
|
+
|
|
166
|
+
<a id="peers-external-md5-auth-key"></a>• [`md5_auth_key`](#peers-external-md5-auth-key) - Optional String<br>MD5 Authentication Key. MD5 key for protecting BGP Sessions (RFC 2385)
|
|
167
|
+
|
|
168
|
+
<a id="peers-external-no-authentication"></a>• [`no_authentication`](#peers-external-no-authentication) - Optional Block<br>Enable this option
|
|
169
|
+
|
|
170
|
+
<a id="peers-external-port"></a>• [`port`](#peers-external-port) - Optional Number<br>Peer Port. Peer TCP port number
|
|
171
|
+
|
|
172
|
+
<a id="peers-external-subnet-begin-offset"></a>• [`subnet_begin_offset`](#peers-external-subnet-begin-offset) - Optional Number<br>Offset From Beginning Of Subnet. Calculate peer address using offset from the beginning of the subnet
|
|
89
173
|
|
|
90
|
-
|
|
174
|
+
<a id="peers-external-subnet-begin-offset-v6"></a>• [`subnet_begin_offset_v6`](#peers-external-subnet-begin-offset-v6) - Optional Number<br>Offset From Beginning Of Subnet. Calculate peer address using offset from the beginning of the subnet
|
|
91
175
|
|
|
92
|
-
<a id="
|
|
176
|
+
<a id="peers-external-subnet-end-offset"></a>• [`subnet_end_offset`](#peers-external-subnet-end-offset) - Optional Number<br>Offset From End Of Subnet. Calculate peer address using offset from the end of the subnet
|
|
93
177
|
|
|
94
|
-
<a id="
|
|
178
|
+
<a id="peers-external-subnet-end-offset-v6"></a>• [`subnet_end_offset_v6`](#peers-external-subnet-end-offset-v6) - Optional Number<br>Offset From End Of Subnet. Calculate peer address using offset from the end of the subnet
|
|
95
179
|
|
|
96
|
-
####
|
|
180
|
+
#### Peers External Family Inet
|
|
97
181
|
|
|
98
|
-
|
|
182
|
+
A [`family_inet`](#peers-external-family-inet) block (within [`peers.external`](#peers-external)) supports the following:
|
|
99
183
|
|
|
100
|
-
<a id="
|
|
184
|
+
<a id="peers-external-family-inet-disable"></a>• [`disable`](#peers-external-family-inet-disable) - Optional Block<br>Enable this option
|
|
101
185
|
|
|
102
|
-
<a id="
|
|
186
|
+
<a id="peers-external-family-inet-enable"></a>• [`enable`](#peers-external-family-inet-enable) - Optional Block<br>Enable this option
|
|
103
187
|
|
|
104
|
-
|
|
188
|
+
#### Peers External Interface
|
|
105
189
|
|
|
106
|
-
|
|
190
|
+
An [`interface`](#peers-external-interface) block (within [`peers.external`](#peers-external)) supports the following:
|
|
107
191
|
|
|
108
|
-
<a id="
|
|
192
|
+
<a id="peers-external-interface-name"></a>• [`name`](#peers-external-interface-name) - Optional String<br>Name. When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object's(e.g. Route's) name
|
|
109
193
|
|
|
110
|
-
<a id="
|
|
194
|
+
<a id="peers-external-interface-namespace"></a>• [`namespace`](#peers-external-interface-namespace) - Optional String<br>Namespace. When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object's(e.g. Route's) namespace
|
|
111
195
|
|
|
112
|
-
<a id="
|
|
196
|
+
<a id="peers-external-interface-tenant"></a>• [`tenant`](#peers-external-interface-tenant) - Optional String<br>Tenant. When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object's(e.g. Route's) tenant
|
|
113
197
|
|
|
114
|
-
####
|
|
198
|
+
#### Peers External Interface List
|
|
115
199
|
|
|
116
|
-
|
|
200
|
+
An [`interface_list`](#peers-external-interface-list) block (within [`peers.external`](#peers-external)) supports the following:
|
|
117
201
|
|
|
118
|
-
<a id="
|
|
202
|
+
<a id="interfaces-2564cf"></a>• [`interfaces`](#interfaces-2564cf) - Optional Block<br>Interface List. List of network interfaces<br>See [Interfaces](#interfaces-2564cf) below.
|
|
119
203
|
|
|
120
|
-
####
|
|
204
|
+
#### Peers External Interface List Interfaces
|
|
121
205
|
|
|
122
|
-
|
|
206
|
+
An [`interfaces`](#interfaces-2564cf) block (within [`peers.external.interface_list`](#peers-external-interface-list)) supports the following:
|
|
123
207
|
|
|
124
|
-
<a id="
|
|
208
|
+
<a id="name-25eca0"></a>• [`name`](#name-25eca0) - Optional String<br>Name. When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object's(e.g. Route's) name
|
|
125
209
|
|
|
126
|
-
<a id="
|
|
210
|
+
<a id="namespace-7cb7a8"></a>• [`namespace`](#namespace-7cb7a8) - Optional String<br>Namespace. When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object's(e.g. Route's) namespace
|
|
127
211
|
|
|
128
|
-
<a id="
|
|
212
|
+
<a id="tenant-5d2baa"></a>• [`tenant`](#tenant-5d2baa) - Optional String<br>Tenant. When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object's(e.g. Route's) tenant
|
|
129
213
|
|
|
130
|
-
####
|
|
214
|
+
#### Peers Metadata
|
|
131
215
|
|
|
132
|
-
A [`
|
|
216
|
+
A [`metadata`](#peers-metadata) block (within [`peers`](#peers)) supports the following:
|
|
133
217
|
|
|
134
|
-
<a id="
|
|
218
|
+
<a id="peers-metadata-description-spec"></a>• [`description_spec`](#peers-metadata-description-spec) - Optional String<br>Description. Human readable description
|
|
135
219
|
|
|
136
|
-
|
|
220
|
+
<a id="peers-metadata-name"></a>• [`name`](#peers-metadata-name) - Optional String<br>Name. This is the name of the message. The value of name has to follow DNS-1035 format
|
|
137
221
|
|
|
138
|
-
|
|
222
|
+
#### Peers Routing Policies
|
|
139
223
|
|
|
140
|
-
|
|
224
|
+
A [`routing_policies`](#peers-routing-policies) block (within [`peers`](#peers)) supports the following:
|
|
141
225
|
|
|
142
|
-
|
|
226
|
+
<a id="peers-routing-policies-route-policy"></a>• [`route_policy`](#peers-routing-policies-route-policy) - Optional Block<br>BGP Routing policy. Route policy to be applied<br>See [Route Policy](#peers-routing-policies-route-policy) below.
|
|
143
227
|
|
|
144
|
-
|
|
228
|
+
#### Peers Routing Policies Route Policy
|
|
145
229
|
|
|
146
|
-
|
|
230
|
+
A [`route_policy`](#peers-routing-policies-route-policy) block (within [`peers.routing_policies`](#peers-routing-policies)) supports the following:
|
|
147
231
|
|
|
148
|
-
<a id="
|
|
232
|
+
<a id="nodes-761998"></a>• [`all_nodes`](#nodes-761998) - Optional Block<br>Enable this option
|
|
149
233
|
|
|
150
|
-
<a id="
|
|
234
|
+
<a id="inbound-bbe39d"></a>• [`inbound`](#inbound-bbe39d) - Optional Block<br>Enable this option
|
|
151
235
|
|
|
152
|
-
<a id="
|
|
236
|
+
<a id="name-e2301f"></a>• [`node_name`](#name-e2301f) - Optional Block<br>Nodes. List of nodes on which BGP routing policy has to be applied<br>See [Node Name](#name-e2301f) below.
|
|
237
|
+
|
|
238
|
+
<a id="refs-6e5457"></a>• [`object_refs`](#refs-6e5457) - Optional Block<br>BGP routing policy. Select route policy to apply<br>See [Object Refs](#refs-6e5457) below.
|
|
239
|
+
|
|
240
|
+
<a id="outbound-195eea"></a>• [`outbound`](#outbound-195eea) - Optional Block<br>Enable this option
|
|
241
|
+
|
|
242
|
+
#### Peers Routing Policies Route Policy Node Name
|
|
243
|
+
|
|
244
|
+
A [`node_name`](#name-e2301f) block (within [`peers.routing_policies.route_policy`](#peers-routing-policies-route-policy)) supports the following:
|
|
245
|
+
|
|
246
|
+
<a id="node-a4a8b2"></a>• [`node`](#node-a4a8b2) - Optional List<br>Node of choice. Select BGP Session on which policy will be applied
|
|
247
|
+
|
|
248
|
+
#### Peers Routing Policies Route Policy Object Refs
|
|
249
|
+
|
|
250
|
+
An [`object_refs`](#refs-6e5457) block (within [`peers.routing_policies.route_policy`](#peers-routing-policies-route-policy)) supports the following:
|
|
251
|
+
|
|
252
|
+
<a id="kind-8c3ca2"></a>• [`kind`](#kind-8c3ca2) - Optional String<br>Kind. When a configuration object(e.g. Virtual_host) refers to another(e.g route) then kind will hold the referred object's kind (e.g. 'route')
|
|
253
|
+
|
|
254
|
+
<a id="name-7f5085"></a>• [`name`](#name-7f5085) - Optional String<br>Name. When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object's(e.g. Route's) name
|
|
255
|
+
|
|
256
|
+
<a id="namespace-7ab467"></a>• [`namespace`](#namespace-7ab467) - Optional String<br>Namespace. When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object's(e.g. Route's) namespace
|
|
257
|
+
|
|
258
|
+
<a id="tenant-685165"></a>• [`tenant`](#tenant-685165) - Optional String<br>Tenant. When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object's(e.g. Route's) tenant
|
|
259
|
+
|
|
260
|
+
<a id="uid-965d22"></a>• [`uid`](#uid-965d22) - Optional String<br>UID. When a configuration object(e.g. Virtual_host) refers to another(e.g route) then uid will hold the referred object's(e.g. Route's) uid
|
|
153
261
|
|
|
154
262
|
#### Timeouts
|
|
155
263
|
|
|
@@ -163,6 +271,66 @@ A [`timeouts`](#timeouts) block supports the following:
|
|
|
163
271
|
|
|
164
272
|
<a id="timeouts-update"></a>• [`update`](#timeouts-update) - Optional String (Defaults to `10 minutes`)<br>Used when updating the resource
|
|
165
273
|
|
|
274
|
+
#### Where
|
|
275
|
+
|
|
276
|
+
A [`where`](#where) block supports the following:
|
|
277
|
+
|
|
278
|
+
<a id="where-site"></a>• [`site`](#where-site) - Optional Block<br>Site Reference. This specifies a direct reference to a site configuration object<br>See [Site](#where-site) below.
|
|
279
|
+
|
|
280
|
+
<a id="where-virtual-site"></a>• [`virtual_site`](#where-virtual-site) - Optional Block<br>Virtual Site. A reference to virtual_site object<br>See [Virtual Site](#where-virtual-site) below.
|
|
281
|
+
|
|
282
|
+
#### Where Site
|
|
283
|
+
|
|
284
|
+
A [`site`](#where-site) block (within [`where`](#where)) supports the following:
|
|
285
|
+
|
|
286
|
+
<a id="where-site-disable-internet-vip"></a>• [`disable_internet_vip`](#where-site-disable-internet-vip) - Optional Block<br>Enable this option
|
|
287
|
+
|
|
288
|
+
<a id="where-site-enable-internet-vip"></a>• [`enable_internet_vip`](#where-site-enable-internet-vip) - Optional Block<br>Enable this option
|
|
289
|
+
|
|
290
|
+
<a id="where-site-network-type"></a>• [`network_type`](#where-site-network-type) - Optional String Defaults to `VIRTUAL_NETWORK_SITE_LOCAL`<br>Possible values are `VIRTUAL_NETWORK_SITE_LOCAL`, `VIRTUAL_NETWORK_SITE_LOCAL_INSIDE`, `VIRTUAL_NETWORK_PER_SITE`, `VIRTUAL_NETWORK_PUBLIC`, `VIRTUAL_NETWORK_GLOBAL`, `VIRTUAL_NETWORK_SITE_SERVICE`, `VIRTUAL_NETWORK_VER_INTERNAL`, `VIRTUAL_NETWORK_SITE_LOCAL_INSIDE_OUTSIDE`, `VIRTUAL_NETWORK_IP_AUTO`, `VIRTUAL_NETWORK_VOLTADN_PRIVATE_NETWORK`, `VIRTUAL_NETWORK_SRV6_NETWORK`, `VIRTUAL_NETWORK_IP_FABRIC`, `VIRTUAL_NETWORK_SEGMENT`<br>[Enum: VIRTUAL_NETWORK_SITE_LOCAL|VIRTUAL_NETWORK_SITE_LOCAL_INSIDE|VIRTUAL_NETWORK_PER_SITE|VIRTUAL_NETWORK_PUBLIC|VIRTUAL_NETWORK_GLOBAL|VIRTUAL_NETWORK_SITE_SERVICE|VIRTUAL_NETWORK_VER_INTERNAL|VIRTUAL_NETWORK_SITE_LOCAL_INSIDE_OUTSIDE|VIRTUAL_NETWORK_IP_AUTO|VIRTUAL_NETWORK_VOLTADN_PRIVATE_NETWORK|VIRTUAL_NETWORK_SRV6_NETWORK|VIRTUAL_NETWORK_IP_FABRIC|VIRTUAL_NETWORK_SEGMENT] Virtual Network Type. Different types of virtual networks understood by the system Virtual-network of type VIRTUAL_NETWORK_SITE_LOCAL provides connectivity to public (outside) network. This is an insecure network and is connected to public internet via NAT Gateways/firwalls Virtual-network of this type is local to every site. Two virtual networks of this type on different sites are neither related nor connected. Constraints: There can be atmost one virtual network of this type in a given site. This network type is supported on CE sites. This network is created automatically and present on all sites Virtual-network of type VIRTUAL_NETWORK_SITE_LOCAL_INSIDE is a private network inside site. It is a secure network and is not connected to public network. Virtual-network of this type is local to every site. Two virtual networks of this type on different sites are neither related nor connected. Constraints: There can be atmost one virtual network of this type in a given site. This network type is supported on CE sites. This network is created during provisioning of site User defined per-site virtual network. Scope of this virtual network is limited to the site. This is not yet supported Virtual-network of type VIRTUAL_NETWORK_PUBLIC directly conects to the public internet. Virtual-network of this type is local to every site. Two virtual networks of this type on different sites are neither related nor connected. Constraints: There can be atmost one virtual network of this type in a given site. This network type is supported on RE sites only It is an internally created by the system. They must not be created by user Virtual Neworks with global scope across different sites in F5XC domain. An example global virtual-network called 'AIN Network' is created for every tenant. For F5 Distributed Cloud fabric Constraints: It is currently only supported as internally created by the system. VK8s service network for a given tenant. Used to advertise a virtual host only to vk8s pods for that tenant Constraints: It is an internally created by the system. Must not be created by user VER internal network for the site. It can only be used for virtual hosts with SMA_PROXY type proxy Constraints: It is an internally created by the system. Must not be created by user Virtual-network of type VIRTUAL_NETWORK_SITE_LOCAL_INSIDE_OUTSIDE represents both VIRTUAL_NETWORK_SITE_LOCAL and VIRTUAL_NETWORK_SITE_LOCAL_INSIDE Constraints: This network type is only meaningful in an advertise policy When virtual-network of type VIRTUAL_NETWORK_IP_AUTO is selected for an endpoint, VER will try to determine the network based on the provided IP address Constraints: This network type is only meaningful in an endpoint VoltADN Private Network is used on F5 Distributed Cloud RE(s) to connect to customer private networks This network is created by opening a support ticket This network is per site srv6 network VER IP Fabric network for the site. This Virtual network type is used for exposing virtual host on IP Fabric network on the VER site or for endpoint in IP Fabric network Constraints: It is an internally created by the system. Must not be created by user Network internally created for a segment Constraints: It is an internally created by the system. Must not be created by user
|
|
291
|
+
|
|
292
|
+
<a id="where-site-ref"></a>• [`ref`](#where-site-ref) - Optional Block<br>Reference. A site direct reference<br>See [Ref](#where-site-ref) below.
|
|
293
|
+
|
|
294
|
+
#### Where Site Ref
|
|
295
|
+
|
|
296
|
+
A [`ref`](#where-site-ref) block (within [`where.site`](#where-site)) supports the following:
|
|
297
|
+
|
|
298
|
+
<a id="where-site-ref-kind"></a>• [`kind`](#where-site-ref-kind) - Optional String<br>Kind. When a configuration object(e.g. Virtual_host) refers to another(e.g route) then kind will hold the referred object's kind (e.g. 'route')
|
|
299
|
+
|
|
300
|
+
<a id="where-site-ref-name"></a>• [`name`](#where-site-ref-name) - Optional String<br>Name. When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object's(e.g. Route's) name
|
|
301
|
+
|
|
302
|
+
<a id="where-site-ref-namespace"></a>• [`namespace`](#where-site-ref-namespace) - Optional String<br>Namespace. When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object's(e.g. Route's) namespace
|
|
303
|
+
|
|
304
|
+
<a id="where-site-ref-tenant"></a>• [`tenant`](#where-site-ref-tenant) - Optional String<br>Tenant. When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object's(e.g. Route's) tenant
|
|
305
|
+
|
|
306
|
+
<a id="where-site-ref-uid"></a>• [`uid`](#where-site-ref-uid) - Optional String<br>UID. When a configuration object(e.g. Virtual_host) refers to another(e.g route) then uid will hold the referred object's(e.g. Route's) uid
|
|
307
|
+
|
|
308
|
+
#### Where Virtual Site
|
|
309
|
+
|
|
310
|
+
A [`virtual_site`](#where-virtual-site) block (within [`where`](#where)) supports the following:
|
|
311
|
+
|
|
312
|
+
<a id="where-virtual-site-disable-internet-vip"></a>• [`disable_internet_vip`](#where-virtual-site-disable-internet-vip) - Optional Block<br>Enable this option
|
|
313
|
+
|
|
314
|
+
<a id="where-virtual-site-enable-internet-vip"></a>• [`enable_internet_vip`](#where-virtual-site-enable-internet-vip) - Optional Block<br>Enable this option
|
|
315
|
+
|
|
316
|
+
<a id="where-virtual-site-network-type"></a>• [`network_type`](#where-virtual-site-network-type) - Optional String Defaults to `VIRTUAL_NETWORK_SITE_LOCAL`<br>Possible values are `VIRTUAL_NETWORK_SITE_LOCAL`, `VIRTUAL_NETWORK_SITE_LOCAL_INSIDE`, `VIRTUAL_NETWORK_PER_SITE`, `VIRTUAL_NETWORK_PUBLIC`, `VIRTUAL_NETWORK_GLOBAL`, `VIRTUAL_NETWORK_SITE_SERVICE`, `VIRTUAL_NETWORK_VER_INTERNAL`, `VIRTUAL_NETWORK_SITE_LOCAL_INSIDE_OUTSIDE`, `VIRTUAL_NETWORK_IP_AUTO`, `VIRTUAL_NETWORK_VOLTADN_PRIVATE_NETWORK`, `VIRTUAL_NETWORK_SRV6_NETWORK`, `VIRTUAL_NETWORK_IP_FABRIC`, `VIRTUAL_NETWORK_SEGMENT`<br>[Enum: VIRTUAL_NETWORK_SITE_LOCAL|VIRTUAL_NETWORK_SITE_LOCAL_INSIDE|VIRTUAL_NETWORK_PER_SITE|VIRTUAL_NETWORK_PUBLIC|VIRTUAL_NETWORK_GLOBAL|VIRTUAL_NETWORK_SITE_SERVICE|VIRTUAL_NETWORK_VER_INTERNAL|VIRTUAL_NETWORK_SITE_LOCAL_INSIDE_OUTSIDE|VIRTUAL_NETWORK_IP_AUTO|VIRTUAL_NETWORK_VOLTADN_PRIVATE_NETWORK|VIRTUAL_NETWORK_SRV6_NETWORK|VIRTUAL_NETWORK_IP_FABRIC|VIRTUAL_NETWORK_SEGMENT] Virtual Network Type. Different types of virtual networks understood by the system Virtual-network of type VIRTUAL_NETWORK_SITE_LOCAL provides connectivity to public (outside) network. This is an insecure network and is connected to public internet via NAT Gateways/firwalls Virtual-network of this type is local to every site. Two virtual networks of this type on different sites are neither related nor connected. Constraints: There can be atmost one virtual network of this type in a given site. This network type is supported on CE sites. This network is created automatically and present on all sites Virtual-network of type VIRTUAL_NETWORK_SITE_LOCAL_INSIDE is a private network inside site. It is a secure network and is not connected to public network. Virtual-network of this type is local to every site. Two virtual networks of this type on different sites are neither related nor connected. Constraints: There can be atmost one virtual network of this type in a given site. This network type is supported on CE sites. This network is created during provisioning of site User defined per-site virtual network. Scope of this virtual network is limited to the site. This is not yet supported Virtual-network of type VIRTUAL_NETWORK_PUBLIC directly conects to the public internet. Virtual-network of this type is local to every site. Two virtual networks of this type on different sites are neither related nor connected. Constraints: There can be atmost one virtual network of this type in a given site. This network type is supported on RE sites only It is an internally created by the system. They must not be created by user Virtual Neworks with global scope across different sites in F5XC domain. An example global virtual-network called 'AIN Network' is created for every tenant. For F5 Distributed Cloud fabric Constraints: It is currently only supported as internally created by the system. VK8s service network for a given tenant. Used to advertise a virtual host only to vk8s pods for that tenant Constraints: It is an internally created by the system. Must not be created by user VER internal network for the site. It can only be used for virtual hosts with SMA_PROXY type proxy Constraints: It is an internally created by the system. Must not be created by user Virtual-network of type VIRTUAL_NETWORK_SITE_LOCAL_INSIDE_OUTSIDE represents both VIRTUAL_NETWORK_SITE_LOCAL and VIRTUAL_NETWORK_SITE_LOCAL_INSIDE Constraints: This network type is only meaningful in an advertise policy When virtual-network of type VIRTUAL_NETWORK_IP_AUTO is selected for an endpoint, VER will try to determine the network based on the provided IP address Constraints: This network type is only meaningful in an endpoint VoltADN Private Network is used on F5 Distributed Cloud RE(s) to connect to customer private networks This network is created by opening a support ticket This network is per site srv6 network VER IP Fabric network for the site. This Virtual network type is used for exposing virtual host on IP Fabric network on the VER site or for endpoint in IP Fabric network Constraints: It is an internally created by the system. Must not be created by user Network internally created for a segment Constraints: It is an internally created by the system. Must not be created by user
|
|
317
|
+
|
|
318
|
+
<a id="where-virtual-site-ref"></a>• [`ref`](#where-virtual-site-ref) - Optional Block<br>Reference. A virtual_site direct reference<br>See [Ref](#where-virtual-site-ref) below.
|
|
319
|
+
|
|
320
|
+
#### Where Virtual Site Ref
|
|
321
|
+
|
|
322
|
+
A [`ref`](#where-virtual-site-ref) block (within [`where.virtual_site`](#where-virtual-site)) supports the following:
|
|
323
|
+
|
|
324
|
+
<a id="where-virtual-site-ref-kind"></a>• [`kind`](#where-virtual-site-ref-kind) - Optional String<br>Kind. When a configuration object(e.g. Virtual_host) refers to another(e.g route) then kind will hold the referred object's kind (e.g. 'route')
|
|
325
|
+
|
|
326
|
+
<a id="where-virtual-site-ref-name"></a>• [`name`](#where-virtual-site-ref-name) - Optional String<br>Name. When a configuration object(e.g. Virtual_host) refers to another(e.g route) then name will hold the referred object's(e.g. Route's) name
|
|
327
|
+
|
|
328
|
+
<a id="where-virtual-site-ref-namespace"></a>• [`namespace`](#where-virtual-site-ref-namespace) - Optional String<br>Namespace. When a configuration object(e.g. Virtual_host) refers to another(e.g route) then namespace will hold the referred object's(e.g. Route's) namespace
|
|
329
|
+
|
|
330
|
+
<a id="where-virtual-site-ref-tenant"></a>• [`tenant`](#where-virtual-site-ref-tenant) - Optional String<br>Tenant. When a configuration object(e.g. Virtual_host) refers to another(e.g route) then tenant will hold the referred object's(e.g. Route's) tenant
|
|
331
|
+
|
|
332
|
+
<a id="where-virtual-site-ref-uid"></a>• [`uid`](#where-virtual-site-ref-uid) - Optional String<br>UID. When a configuration object(e.g. Virtual_host) refers to another(e.g route) then uid will hold the referred object's(e.g. Route's) uid
|
|
333
|
+
|
|
166
334
|
---
|
|
167
335
|
|
|
168
336
|
## Common Types
|