@robinmordasiewicz/f5xc-terraform-mcp 3.0.1 → 3.1.0
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/dist/docs/data-sources/addon_service.md +143 -0
- package/dist/docs/data-sources/addon_service_activation_status.md +144 -0
- package/dist/docs/data-sources/addon_subscription.md +134 -0
- package/dist/docs/data-sources/allowed_tenant.md +134 -0
- package/dist/docs/data-sources/api_credential.md +134 -0
- package/dist/docs/data-sources/bigip_irule.md +134 -0
- package/dist/docs/data-sources/child_tenant.md +134 -0
- package/dist/docs/data-sources/child_tenant_manager.md +134 -0
- package/dist/docs/data-sources/contact.md +134 -0
- package/dist/docs/data-sources/customer_support.md +134 -0
- package/dist/docs/data-sources/dns_lb_health_check.md +134 -0
- package/dist/docs/data-sources/dns_lb_pool.md +134 -0
- package/dist/docs/data-sources/dns_load_balancer.md +134 -0
- package/dist/docs/data-sources/dns_zone.md +145 -0
- package/dist/docs/data-sources/geo_location_set.md +134 -0
- package/dist/docs/data-sources/ike1.md +134 -0
- package/dist/docs/data-sources/ike2.md +134 -0
- package/dist/docs/data-sources/ike_phase1_profile.md +134 -0
- package/dist/docs/data-sources/ike_phase2_profile.md +134 -0
- package/dist/docs/data-sources/infraprotect_asn.md +134 -0
- package/dist/docs/data-sources/infraprotect_asn_prefix.md +134 -0
- package/dist/docs/data-sources/infraprotect_deny_list_rule.md +134 -0
- package/dist/docs/data-sources/infraprotect_firewall_rule.md +134 -0
- package/dist/docs/data-sources/infraprotect_firewall_rule_group.md +134 -0
- package/dist/docs/data-sources/infraprotect_internet_prefix_advertisement.md +134 -0
- package/dist/docs/data-sources/infraprotect_tunnel.md +134 -0
- package/dist/docs/data-sources/k8s_cluster.md +134 -0
- package/dist/docs/data-sources/k8s_cluster_role.md +134 -0
- package/dist/docs/data-sources/k8s_cluster_role_binding.md +134 -0
- package/dist/docs/data-sources/k8s_pod_security_admission.md +134 -0
- package/dist/docs/data-sources/k8s_pod_security_policy.md +134 -0
- package/dist/docs/data-sources/managed_tenant.md +134 -0
- package/dist/docs/data-sources/namespace.md +141 -0
- package/dist/docs/data-sources/oidc_provider.md +134 -0
- package/dist/docs/data-sources/quota.md +134 -0
- package/dist/docs/data-sources/registration.md +134 -0
- package/dist/docs/data-sources/report_config.md +134 -0
- package/dist/docs/data-sources/role.md +134 -0
- package/dist/docs/data-sources/secret_policy.md +134 -0
- package/dist/docs/data-sources/secret_policy_rule.md +134 -0
- package/dist/docs/data-sources/securemesh_site_v2.md +134 -0
- package/dist/docs/data-sources/srv6_network_slice.md +134 -0
- package/dist/docs/data-sources/tenant_profile.md +134 -0
- package/dist/docs/data-sources/ticket_tracking_system.md +134 -0
- package/dist/docs/data-sources/token.md +134 -0
- package/dist/docs/data-sources/tpm_api_key.md +134 -0
- package/dist/docs/data-sources/tpm_category.md +134 -0
- package/dist/docs/data-sources/tpm_manager.md +134 -0
- package/dist/docs/data-sources/virtual_k8s.md +134 -0
- package/dist/docs/data-sources/voltshare_admin_policy.md +134 -0
- package/dist/docs/resources/addon_subscription.md +213 -0
- package/dist/docs/resources/allowed_tenant.md +181 -0
- package/dist/docs/resources/api_credential.md +184 -0
- package/dist/docs/resources/bigip_irule.md +173 -0
- package/dist/docs/resources/child_tenant.md +237 -0
- package/dist/docs/resources/child_tenant_manager.md +201 -0
- package/dist/docs/resources/contact.md +187 -0
- package/dist/docs/resources/customer_support.md +253 -0
- package/dist/docs/resources/dns_lb_health_check.md +249 -0
- package/dist/docs/resources/dns_lb_pool.md +310 -0
- package/dist/docs/resources/dns_load_balancer.md +309 -0
- package/dist/docs/resources/dns_zone.md +790 -0
- package/dist/docs/resources/geo_location_set.md +180 -0
- package/dist/docs/resources/ike1.md +216 -0
- package/dist/docs/resources/ike2.md +210 -0
- package/dist/docs/resources/ike_phase1_profile.md +224 -0
- package/dist/docs/resources/ike_phase2_profile.md +214 -0
- package/dist/docs/resources/infraprotect_asn.md +183 -0
- package/dist/docs/resources/infraprotect_asn_prefix.md +181 -0
- package/dist/docs/resources/infraprotect_deny_list_rule.md +191 -0
- package/dist/docs/resources/infraprotect_firewall_rule.md +288 -0
- package/dist/docs/resources/infraprotect_firewall_rule_group.md +169 -0
- package/dist/docs/resources/infraprotect_internet_prefix_advertisement.md +191 -0
- package/dist/docs/resources/infraprotect_tunnel.md +289 -0
- package/dist/docs/resources/k8s_cluster.md +326 -0
- package/dist/docs/resources/k8s_cluster_role.md +222 -0
- package/dist/docs/resources/k8s_cluster_role_binding.md +207 -0
- package/dist/docs/resources/k8s_pod_security_admission.md +199 -0
- package/dist/docs/resources/k8s_pod_security_policy.md +337 -0
- package/dist/docs/resources/managed_tenant.md +193 -0
- package/dist/docs/resources/namespace.md +170 -0
- package/dist/docs/resources/oidc_provider.md +291 -0
- package/dist/docs/resources/quota.md +187 -0
- package/dist/docs/resources/registration.md +489 -0
- package/dist/docs/resources/report_config.md +237 -0
- package/dist/docs/resources/role.md +183 -0
- package/dist/docs/resources/secret_policy.md +240 -0
- package/dist/docs/resources/secret_policy_rule.md +198 -0
- package/dist/docs/resources/securemesh_site_v2.md +2027 -0
- package/dist/docs/resources/srv6_network_slice.md +175 -0
- package/dist/docs/resources/tenant_profile.md +233 -0
- package/dist/docs/resources/ticket_tracking_system.md +195 -0
- package/dist/docs/resources/token.md +170 -0
- package/dist/docs/resources/tpm_api_key.md +191 -0
- package/dist/docs/resources/tpm_category.md +191 -0
- package/dist/docs/resources/tpm_manager.md +167 -0
- package/dist/docs/resources/virtual_k8s.md +209 -0
- package/dist/docs/resources/voltshare_admin_policy.md +271 -0
- package/dist/docs/specifications/api/CHANGELOG.md +4 -4
- package/dist/docs/specifications/api/README.md +1 -1
- package/dist/docs/specifications/api/domains/admin_console_and_ui.json +25 -25
- package/dist/docs/specifications/api/domains/ai_services.json +21 -21
- package/dist/docs/specifications/api/domains/api.json +173 -173
- package/dist/docs/specifications/api/domains/authentication.json +45 -45
- package/dist/docs/specifications/api/domains/bigip.json +94 -94
- package/dist/docs/specifications/api/domains/billing_and_usage.json +63 -63
- package/dist/docs/specifications/api/domains/blindfold.json +109 -109
- package/dist/docs/specifications/api/domains/bot_and_threat_defense.json +65 -65
- package/dist/docs/specifications/api/domains/cdn.json +177 -177
- package/dist/docs/specifications/api/domains/ce_management.json +111 -111
- package/dist/docs/specifications/api/domains/certificates.json +75 -75
- package/dist/docs/specifications/api/domains/cloud_infrastructure.json +112 -112
- package/dist/docs/specifications/api/domains/container_services.json +91 -91
- package/dist/docs/specifications/api/domains/data_and_privacy_security.json +66 -66
- package/dist/docs/specifications/api/domains/data_intelligence.json +62 -62
- package/dist/docs/specifications/api/domains/ddos.json +154 -154
- package/dist/docs/specifications/api/domains/dns.json +148 -148
- package/dist/docs/specifications/api/domains/managed_kubernetes.json +85 -85
- package/dist/docs/specifications/api/domains/marketplace.json +103 -103
- package/dist/docs/specifications/api/domains/network.json +230 -230
- package/dist/docs/specifications/api/domains/network_security.json +187 -187
- package/dist/docs/specifications/api/domains/nginx_one.json +62 -62
- package/dist/docs/specifications/api/domains/object_storage.json +12 -12
- package/dist/docs/specifications/api/domains/observability.json +102 -102
- package/dist/docs/specifications/api/domains/rate_limiting.json +52 -52
- package/dist/docs/specifications/api/domains/secops_and_incident_response.json +36 -36
- package/dist/docs/specifications/api/domains/service_mesh.json +119 -119
- package/dist/docs/specifications/api/domains/shape.json +313 -313
- package/dist/docs/specifications/api/domains/sites.json +349 -349
- package/dist/docs/specifications/api/domains/statistics.json +225 -225
- package/dist/docs/specifications/api/domains/support.json +108 -108
- package/dist/docs/specifications/api/domains/telemetry_and_insights.json +72 -72
- package/dist/docs/specifications/api/domains/tenant_and_identity.json +268 -268
- package/dist/docs/specifications/api/domains/threat_campaign.json +66 -66
- package/dist/docs/specifications/api/domains/users.json +66 -66
- package/dist/docs/specifications/api/domains/virtual.json +244 -244
- package/dist/docs/specifications/api/domains/vpm_and_node_management.json +1 -1
- package/dist/docs/specifications/api/domains/waf.json +139 -139
- package/dist/docs/specifications/api/index.json +99 -4
- package/dist/docs/specifications/api/openapi.json +2616 -2616
- package/dist/docs/specifications/api/openapi.yaml +2616 -2616
- package/package.json +1 -1
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
---
|
|
2
|
+
page_title: "f5xc_bigip_irule Resource - terraform-provider-f5xc"
|
|
3
|
+
subcategory: "BIG-IP Integration"
|
|
4
|
+
description: |-
|
|
5
|
+
Manages a BIG-IP Irule resource in F5 Distributed Cloud for desired state for big-ip irule service configuration.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# f5xc_bigip_irule (Resource)
|
|
9
|
+
|
|
10
|
+
Manages a BIG-IP Irule resource in F5 Distributed Cloud for desired state for big-ip irule service configuration.
|
|
11
|
+
|
|
12
|
+
~> **Note** For more information about this resource, please refer to the [F5 XC API Documentation](https://docs.cloud.f5.com/docs/api/).
|
|
13
|
+
|
|
14
|
+
## Example Usage
|
|
15
|
+
|
|
16
|
+
```terraform
|
|
17
|
+
# Bigip Irule Resource Example
|
|
18
|
+
# Manages a BIG-IP Irule resource in F5 Distributed Cloud for desired state for big-ip irule service configuration.
|
|
19
|
+
|
|
20
|
+
# Basic Bigip Irule configuration
|
|
21
|
+
resource "f5xc_bigip_irule" "example" {
|
|
22
|
+
name = "example-bigip-irule"
|
|
23
|
+
namespace = "staging"
|
|
24
|
+
|
|
25
|
+
labels = {
|
|
26
|
+
environment = "production"
|
|
27
|
+
managed_by = "terraform"
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
annotations = {
|
|
31
|
+
"owner" = "platform-team"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
<!-- schema generated by tfplugindocs -->
|
|
37
|
+
## Argument Reference
|
|
38
|
+
|
|
39
|
+
### Metadata Argument Reference
|
|
40
|
+
|
|
41
|
+
<a id="name"></a>• [`name`](#name) - Required String<br>Name of the BIG-IP Irule. Must be unique within the namespace
|
|
42
|
+
|
|
43
|
+
<a id="namespace"></a>• [`namespace`](#namespace) - Required String<br>Namespace where the BIG-IP Irule will be created
|
|
44
|
+
|
|
45
|
+
<a id="annotations"></a>• [`annotations`](#annotations) - Optional Map<br>Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata
|
|
46
|
+
|
|
47
|
+
<a id="description"></a>• [`description`](#description) - Optional String<br>Human readable description for the object
|
|
48
|
+
|
|
49
|
+
<a id="disable"></a>• [`disable`](#disable) - Optional Bool<br>A value of true will administratively disable the object
|
|
50
|
+
|
|
51
|
+
<a id="labels"></a>• [`labels`](#labels) - Optional Map<br>Labels is a user defined key value map that can be attached to resources for organization and filtering
|
|
52
|
+
|
|
53
|
+
### Spec Argument Reference
|
|
54
|
+
|
|
55
|
+
<a id="code"></a>• [`code`](#code) - Optional String<br>iRule code. iRule code content, this content will be base64 encoded for preserving formating
|
|
56
|
+
|
|
57
|
+
<a id="irule-name"></a>• [`irule_name`](#irule-name) - Optional String<br>iRule name. iRule name
|
|
58
|
+
|
|
59
|
+
<a id="source"></a>• [`source`](#source) - Optional String<br>iRule source. iRule generation/updation source
|
|
60
|
+
|
|
61
|
+
<a id="timeouts"></a>• [`timeouts`](#timeouts) - Optional Block<br>See [Timeouts](#timeouts) below for details.
|
|
62
|
+
|
|
63
|
+
### Attributes Reference
|
|
64
|
+
|
|
65
|
+
In addition to all arguments above, the following attributes are exported:
|
|
66
|
+
|
|
67
|
+
<a id="id"></a>• [`id`](#id) - Optional String<br>Unique identifier for the resource
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
#### Timeouts
|
|
72
|
+
|
|
73
|
+
A [`timeouts`](#timeouts) block supports the following:
|
|
74
|
+
|
|
75
|
+
<a id="timeouts-create"></a>• [`create`](#timeouts-create) - Optional String (Defaults to `10 minutes`)<br>Used when creating the resource
|
|
76
|
+
|
|
77
|
+
<a id="timeouts-delete"></a>• [`delete`](#timeouts-delete) - Optional String (Defaults to `10 minutes`)<br>Used when deleting the resource
|
|
78
|
+
|
|
79
|
+
<a id="timeouts-read"></a>• [`read`](#timeouts-read) - Optional String (Defaults to `5 minutes`)<br>Used when retrieving the resource
|
|
80
|
+
|
|
81
|
+
<a id="timeouts-update"></a>• [`update`](#timeouts-update) - Optional String (Defaults to `10 minutes`)<br>Used when updating the resource
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Common Types
|
|
86
|
+
|
|
87
|
+
The following type definitions are used throughout this resource. See the full definition here rather than repeated inline.
|
|
88
|
+
|
|
89
|
+
### Object Reference {#common-object-reference}
|
|
90
|
+
|
|
91
|
+
Object references establish a direct reference from one configuration object to another in F5 Distributed Cloud. References use the format `tenant/namespace/name`.
|
|
92
|
+
|
|
93
|
+
| Field | Type | Description |
|
|
94
|
+
| ----- | ---- | ----------- |
|
|
95
|
+
| `name` | String | Name of the referenced object |
|
|
96
|
+
| `namespace` | String | Namespace containing the referenced object |
|
|
97
|
+
| `tenant` | String | Tenant of the referenced object (system-managed) |
|
|
98
|
+
|
|
99
|
+
### Transformers {#common-transformers}
|
|
100
|
+
|
|
101
|
+
Transformers apply transformations to input values before matching. Multiple transformers can be applied in order.
|
|
102
|
+
|
|
103
|
+
| Value | Description |
|
|
104
|
+
| ----- | ----------- |
|
|
105
|
+
| `LOWER_CASE` | Convert to lowercase |
|
|
106
|
+
| `UPPER_CASE` | Convert to uppercase |
|
|
107
|
+
| `BASE64_DECODE` | Decode base64 content |
|
|
108
|
+
| `NORMALIZE_PATH` | Normalize URL path |
|
|
109
|
+
| `REMOVE_WHITESPACE` | Remove whitespace characters |
|
|
110
|
+
| `URL_DECODE` | Decode URL-encoded characters |
|
|
111
|
+
| `TRIM_LEFT` | Trim leading whitespace |
|
|
112
|
+
| `TRIM_RIGHT` | Trim trailing whitespace |
|
|
113
|
+
| `TRIM` | Trim both leading and trailing whitespace |
|
|
114
|
+
|
|
115
|
+
### HTTP Methods {#common-http-methods}
|
|
116
|
+
|
|
117
|
+
HTTP methods used for request matching.
|
|
118
|
+
|
|
119
|
+
| Value | Description |
|
|
120
|
+
| ----- | ----------- |
|
|
121
|
+
| `ANY` | Match any HTTP method |
|
|
122
|
+
| `GET` | HTTP GET request |
|
|
123
|
+
| `HEAD` | HTTP HEAD request |
|
|
124
|
+
| `POST` | HTTP POST request |
|
|
125
|
+
| `PUT` | HTTP PUT request |
|
|
126
|
+
| `DELETE` | HTTP DELETE request |
|
|
127
|
+
| `CONNECT` | HTTP CONNECT request |
|
|
128
|
+
| `OPTIONS` | HTTP OPTIONS request |
|
|
129
|
+
| `TRACE` | HTTP TRACE request |
|
|
130
|
+
| `PATCH` | HTTP PATCH request |
|
|
131
|
+
| `COPY` | HTTP COPY request (WebDAV) |
|
|
132
|
+
|
|
133
|
+
### TLS Fingerprints {#common-tls-fingerprints}
|
|
134
|
+
|
|
135
|
+
TLS fingerprint categories for malicious client detection.
|
|
136
|
+
|
|
137
|
+
| Value | Description |
|
|
138
|
+
| ----- | ----------- |
|
|
139
|
+
| `TLS_FINGERPRINT_NONE` | No fingerprint matching |
|
|
140
|
+
| `ANY_MALICIOUS_FINGERPRINT` | Match any known malicious fingerprint |
|
|
141
|
+
| `ADWARE` | Adware-associated fingerprints |
|
|
142
|
+
| `DRIDEX` | Dridex malware fingerprints |
|
|
143
|
+
| `GOOTKIT` | Gootkit malware fingerprints |
|
|
144
|
+
| `RANSOMWARE` | Ransomware-associated fingerprints |
|
|
145
|
+
| `TRICKBOT` | Trickbot malware fingerprints |
|
|
146
|
+
|
|
147
|
+
### IP Threat Categories {#common-ip-threat-categories}
|
|
148
|
+
|
|
149
|
+
IP address threat categories for security filtering.
|
|
150
|
+
|
|
151
|
+
| Value | Description |
|
|
152
|
+
| ----- | ----------- |
|
|
153
|
+
| `SPAM_SOURCES` | Known spam sources |
|
|
154
|
+
| `WINDOWS_EXPLOITS` | Windows exploit sources |
|
|
155
|
+
| `WEB_ATTACKS` | Web attack sources |
|
|
156
|
+
| `BOTNETS` | Known botnet IPs |
|
|
157
|
+
| `SCANNERS` | Network scanner IPs |
|
|
158
|
+
| `REPUTATION` | Poor reputation IPs |
|
|
159
|
+
| `PHISHING` | Phishing-related IPs |
|
|
160
|
+
| `PROXY` | Anonymous proxy IPs |
|
|
161
|
+
| `MOBILE_THREATS` | Mobile threat sources |
|
|
162
|
+
| `TOR_PROXY` | Tor exit nodes |
|
|
163
|
+
| `DENIAL_OF_SERVICE` | DoS attack sources |
|
|
164
|
+
| `NETWORK` | Known bad network ranges |
|
|
165
|
+
|
|
166
|
+
## Import
|
|
167
|
+
|
|
168
|
+
Import is supported using the following syntax:
|
|
169
|
+
|
|
170
|
+
```shell
|
|
171
|
+
# Import using namespace/name format
|
|
172
|
+
terraform import f5xc_bigip_irule.example system/example
|
|
173
|
+
```
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
---
|
|
2
|
+
page_title: "f5xc_child_tenant Resource - terraform-provider-f5xc"
|
|
3
|
+
subcategory: "Organization"
|
|
4
|
+
description: |-
|
|
5
|
+
Manages child_tenant config instance. Name of the object is the name of the child tenant to be created. in F5 Distributed Cloud.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# f5xc_child_tenant (Resource)
|
|
9
|
+
|
|
10
|
+
Manages child_tenant config instance. Name of the object is the name of the child tenant to be created. in F5 Distributed Cloud.
|
|
11
|
+
|
|
12
|
+
~> **Note** For more information about this resource, please refer to the [F5 XC API Documentation](https://docs.cloud.f5.com/docs/api/).
|
|
13
|
+
|
|
14
|
+
## Example Usage
|
|
15
|
+
|
|
16
|
+
```terraform
|
|
17
|
+
# Child Tenant Resource Example
|
|
18
|
+
# Manages child_tenant config instance. Name of the object is the name of the child tenant to be created. in F5 Distributed Cloud.
|
|
19
|
+
|
|
20
|
+
# Basic Child Tenant configuration
|
|
21
|
+
resource "f5xc_child_tenant" "example" {
|
|
22
|
+
name = "example-child-tenant"
|
|
23
|
+
namespace = "staging"
|
|
24
|
+
|
|
25
|
+
labels = {
|
|
26
|
+
environment = "production"
|
|
27
|
+
managed_by = "terraform"
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
annotations = {
|
|
31
|
+
"owner" = "platform-team"
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
# Resource-specific configuration
|
|
35
|
+
# Object reference. This type establishes a direct referenc...
|
|
36
|
+
child_tenant_manager {
|
|
37
|
+
# Configure child_tenant_manager settings
|
|
38
|
+
}
|
|
39
|
+
# Contact. Instance of one single contact that can be used ...
|
|
40
|
+
contact_detail {
|
|
41
|
+
# Configure contact_detail settings
|
|
42
|
+
}
|
|
43
|
+
# Customer Info. Optional details for the new child tenant
|
|
44
|
+
customer_info {
|
|
45
|
+
# Configure customer_info settings
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
<!-- schema generated by tfplugindocs -->
|
|
51
|
+
## Argument Reference
|
|
52
|
+
|
|
53
|
+
### Metadata Argument Reference
|
|
54
|
+
|
|
55
|
+
<a id="name"></a>• [`name`](#name) - Required String<br>Name of the Child Tenant. Must be unique within the namespace
|
|
56
|
+
|
|
57
|
+
<a id="namespace"></a>• [`namespace`](#namespace) - Required String<br>Namespace where the Child Tenant will be created
|
|
58
|
+
|
|
59
|
+
<a id="annotations"></a>• [`annotations`](#annotations) - Optional Map<br>Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata
|
|
60
|
+
|
|
61
|
+
<a id="description"></a>• [`description`](#description) - Optional String<br>Human readable description for the object
|
|
62
|
+
|
|
63
|
+
<a id="disable"></a>• [`disable`](#disable) - Optional Bool<br>A value of true will administratively disable the object
|
|
64
|
+
|
|
65
|
+
<a id="labels"></a>• [`labels`](#labels) - Optional Map<br>Labels is a user defined key value map that can be attached to resources for organization and filtering
|
|
66
|
+
|
|
67
|
+
### Spec Argument Reference
|
|
68
|
+
|
|
69
|
+
<a id="child-tenant-manager"></a>• [`child_tenant_manager`](#child-tenant-manager) - 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 [Child Tenant Manager](#child-tenant-manager) below for details.
|
|
70
|
+
|
|
71
|
+
<a id="company-name"></a>• [`company_name`](#company-name) - Optional String<br>Company Name. Company name (enterprise only)
|
|
72
|
+
|
|
73
|
+
<a id="contact-detail"></a>• [`contact_detail`](#contact-detail) - Optional Block<br>Contact. Instance of one single contact that can be used to communicate with customers. Depending on contact type we use these details to send general communication (regular, physical mail) or invoices<br>See [Contact Detail](#contact-detail) below for details.
|
|
74
|
+
|
|
75
|
+
<a id="customer-info"></a>• [`customer_info`](#customer-info) - Optional Block<br>Customer Info. Optional details for the new child tenant<br>See [Customer Info](#customer-info) below for details.
|
|
76
|
+
|
|
77
|
+
<a id="domain"></a>• [`domain`](#domain) - Optional String<br>Domain. Text string that will be used for the subdomain of the new Child Tenant. This will be where users will directly log into the new Child Tenant. example domain.console.ves.volterra.io
|
|
78
|
+
|
|
79
|
+
<a id="tenant-profile"></a>• [`tenant_profile`](#tenant-profile) - 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 [Tenant Profile](#tenant-profile) below for details.
|
|
80
|
+
|
|
81
|
+
<a id="timeouts"></a>• [`timeouts`](#timeouts) - Optional Block<br>See [Timeouts](#timeouts) below for details.
|
|
82
|
+
|
|
83
|
+
### Attributes Reference
|
|
84
|
+
|
|
85
|
+
In addition to all arguments above, the following attributes are exported:
|
|
86
|
+
|
|
87
|
+
<a id="id"></a>• [`id`](#id) - Optional String<br>Unique identifier for the resource
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
#### Child Tenant Manager
|
|
92
|
+
|
|
93
|
+
<a id="objref-017768"></a>Uses standard [Object Reference](#common-object-reference) fields (name, namespace, tenant).
|
|
94
|
+
|
|
95
|
+
#### Contact Detail
|
|
96
|
+
|
|
97
|
+
A [`contact_detail`](#contact-detail) block supports the following:
|
|
98
|
+
|
|
99
|
+
<a id="contact-detail-address1"></a>• [`address1`](#contact-detail-address1) - Optional String<br>Address Line 1
|
|
100
|
+
|
|
101
|
+
<a id="contact-detail-address2"></a>• [`address2`](#contact-detail-address2) - Optional String<br>Address Line 2
|
|
102
|
+
|
|
103
|
+
<a id="contact-detail-city"></a>• [`city`](#contact-detail-city) - Optional String<br>City
|
|
104
|
+
|
|
105
|
+
<a id="contact-detail-contact-type"></a>• [`contact_type`](#contact-detail-contact-type) - Optional String Defaults to `MAILING`<br>Possible values are `MAILING`, `BILLING`, `PAYMENT`<br>[Enum: MAILING|BILLING|PAYMENT] Contact Type. Determines the contact type Indicates snail mail address (used for correspondence) Indicates billing address (this address will appear on invoices) Indicates contact used for a payment method (this address is used when charging a payment method)
|
|
106
|
+
|
|
107
|
+
<a id="contact-detail-country"></a>• [`country`](#contact-detail-country) - Optional String<br>Country
|
|
108
|
+
|
|
109
|
+
<a id="contact-detail-county"></a>• [`county`](#contact-detail-county) - Optional String<br>County
|
|
110
|
+
|
|
111
|
+
<a id="contact-detail-phone-number"></a>• [`phone_number`](#contact-detail-phone-number) - Optional String<br>Phone Number
|
|
112
|
+
|
|
113
|
+
<a id="contact-detail-state"></a>• [`state`](#contact-detail-state) - Optional String<br>State
|
|
114
|
+
|
|
115
|
+
<a id="contact-detail-state-code"></a>• [`state_code`](#contact-detail-state-code) - Optional String<br>State Code
|
|
116
|
+
|
|
117
|
+
<a id="contact-detail-zip-code"></a>• [`zip_code`](#contact-detail-zip-code) - Optional String<br>ZIP code
|
|
118
|
+
|
|
119
|
+
#### Customer Info
|
|
120
|
+
|
|
121
|
+
A [`customer_info`](#customer-info) block supports the following:
|
|
122
|
+
|
|
123
|
+
<a id="customer-info-additional-info"></a>• [`additional_info`](#customer-info-additional-info) - Optional String<br>Additional Info. Use this field for any additional information about the new child tenant
|
|
124
|
+
|
|
125
|
+
<a id="customer-info-email"></a>• [`email`](#customer-info-email) - Optional String<br>Email
|
|
126
|
+
|
|
127
|
+
<a id="customer-info-first-name"></a>• [`first_name`](#customer-info-first-name) - Optional String<br>First Name
|
|
128
|
+
|
|
129
|
+
<a id="customer-info-last-name"></a>• [`last_name`](#customer-info-last-name) - Optional String<br>Last Name
|
|
130
|
+
|
|
131
|
+
#### Tenant Profile
|
|
132
|
+
|
|
133
|
+
<a id="objref-c0d099"></a>Uses standard [Object Reference](#common-object-reference) fields (name, namespace, tenant).
|
|
134
|
+
|
|
135
|
+
#### Timeouts
|
|
136
|
+
|
|
137
|
+
A [`timeouts`](#timeouts) block supports the following:
|
|
138
|
+
|
|
139
|
+
<a id="timeouts-create"></a>• [`create`](#timeouts-create) - Optional String (Defaults to `10 minutes`)<br>Used when creating the resource
|
|
140
|
+
|
|
141
|
+
<a id="timeouts-delete"></a>• [`delete`](#timeouts-delete) - Optional String (Defaults to `10 minutes`)<br>Used when deleting the resource
|
|
142
|
+
|
|
143
|
+
<a id="timeouts-read"></a>• [`read`](#timeouts-read) - Optional String (Defaults to `5 minutes`)<br>Used when retrieving the resource
|
|
144
|
+
|
|
145
|
+
<a id="timeouts-update"></a>• [`update`](#timeouts-update) - Optional String (Defaults to `10 minutes`)<br>Used when updating the resource
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Common Types
|
|
150
|
+
|
|
151
|
+
The following type definitions are used throughout this resource. See the full definition here rather than repeated inline.
|
|
152
|
+
|
|
153
|
+
### Object Reference {#common-object-reference}
|
|
154
|
+
|
|
155
|
+
Object references establish a direct reference from one configuration object to another in F5 Distributed Cloud. References use the format `tenant/namespace/name`.
|
|
156
|
+
|
|
157
|
+
| Field | Type | Description |
|
|
158
|
+
| ----- | ---- | ----------- |
|
|
159
|
+
| `name` | String | Name of the referenced object |
|
|
160
|
+
| `namespace` | String | Namespace containing the referenced object |
|
|
161
|
+
| `tenant` | String | Tenant of the referenced object (system-managed) |
|
|
162
|
+
|
|
163
|
+
### Transformers {#common-transformers}
|
|
164
|
+
|
|
165
|
+
Transformers apply transformations to input values before matching. Multiple transformers can be applied in order.
|
|
166
|
+
|
|
167
|
+
| Value | Description |
|
|
168
|
+
| ----- | ----------- |
|
|
169
|
+
| `LOWER_CASE` | Convert to lowercase |
|
|
170
|
+
| `UPPER_CASE` | Convert to uppercase |
|
|
171
|
+
| `BASE64_DECODE` | Decode base64 content |
|
|
172
|
+
| `NORMALIZE_PATH` | Normalize URL path |
|
|
173
|
+
| `REMOVE_WHITESPACE` | Remove whitespace characters |
|
|
174
|
+
| `URL_DECODE` | Decode URL-encoded characters |
|
|
175
|
+
| `TRIM_LEFT` | Trim leading whitespace |
|
|
176
|
+
| `TRIM_RIGHT` | Trim trailing whitespace |
|
|
177
|
+
| `TRIM` | Trim both leading and trailing whitespace |
|
|
178
|
+
|
|
179
|
+
### HTTP Methods {#common-http-methods}
|
|
180
|
+
|
|
181
|
+
HTTP methods used for request matching.
|
|
182
|
+
|
|
183
|
+
| Value | Description |
|
|
184
|
+
| ----- | ----------- |
|
|
185
|
+
| `ANY` | Match any HTTP method |
|
|
186
|
+
| `GET` | HTTP GET request |
|
|
187
|
+
| `HEAD` | HTTP HEAD request |
|
|
188
|
+
| `POST` | HTTP POST request |
|
|
189
|
+
| `PUT` | HTTP PUT request |
|
|
190
|
+
| `DELETE` | HTTP DELETE request |
|
|
191
|
+
| `CONNECT` | HTTP CONNECT request |
|
|
192
|
+
| `OPTIONS` | HTTP OPTIONS request |
|
|
193
|
+
| `TRACE` | HTTP TRACE request |
|
|
194
|
+
| `PATCH` | HTTP PATCH request |
|
|
195
|
+
| `COPY` | HTTP COPY request (WebDAV) |
|
|
196
|
+
|
|
197
|
+
### TLS Fingerprints {#common-tls-fingerprints}
|
|
198
|
+
|
|
199
|
+
TLS fingerprint categories for malicious client detection.
|
|
200
|
+
|
|
201
|
+
| Value | Description |
|
|
202
|
+
| ----- | ----------- |
|
|
203
|
+
| `TLS_FINGERPRINT_NONE` | No fingerprint matching |
|
|
204
|
+
| `ANY_MALICIOUS_FINGERPRINT` | Match any known malicious fingerprint |
|
|
205
|
+
| `ADWARE` | Adware-associated fingerprints |
|
|
206
|
+
| `DRIDEX` | Dridex malware fingerprints |
|
|
207
|
+
| `GOOTKIT` | Gootkit malware fingerprints |
|
|
208
|
+
| `RANSOMWARE` | Ransomware-associated fingerprints |
|
|
209
|
+
| `TRICKBOT` | Trickbot malware fingerprints |
|
|
210
|
+
|
|
211
|
+
### IP Threat Categories {#common-ip-threat-categories}
|
|
212
|
+
|
|
213
|
+
IP address threat categories for security filtering.
|
|
214
|
+
|
|
215
|
+
| Value | Description |
|
|
216
|
+
| ----- | ----------- |
|
|
217
|
+
| `SPAM_SOURCES` | Known spam sources |
|
|
218
|
+
| `WINDOWS_EXPLOITS` | Windows exploit sources |
|
|
219
|
+
| `WEB_ATTACKS` | Web attack sources |
|
|
220
|
+
| `BOTNETS` | Known botnet IPs |
|
|
221
|
+
| `SCANNERS` | Network scanner IPs |
|
|
222
|
+
| `REPUTATION` | Poor reputation IPs |
|
|
223
|
+
| `PHISHING` | Phishing-related IPs |
|
|
224
|
+
| `PROXY` | Anonymous proxy IPs |
|
|
225
|
+
| `MOBILE_THREATS` | Mobile threat sources |
|
|
226
|
+
| `TOR_PROXY` | Tor exit nodes |
|
|
227
|
+
| `DENIAL_OF_SERVICE` | DoS attack sources |
|
|
228
|
+
| `NETWORK` | Known bad network ranges |
|
|
229
|
+
|
|
230
|
+
## Import
|
|
231
|
+
|
|
232
|
+
Import is supported using the following syntax:
|
|
233
|
+
|
|
234
|
+
```shell
|
|
235
|
+
# Import using namespace/name format
|
|
236
|
+
terraform import f5xc_child_tenant.example system/example
|
|
237
|
+
```
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
---
|
|
2
|
+
page_title: "f5xc_child_tenant_manager Resource - terraform-provider-f5xc"
|
|
3
|
+
subcategory: "Organization"
|
|
4
|
+
description: |-
|
|
5
|
+
Manages child_tenant_manager config instance. Name of the object is the name of the child tenant manager to be created. in F5 Distributed Cloud.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# f5xc_child_tenant_manager (Resource)
|
|
9
|
+
|
|
10
|
+
Manages child_tenant_manager config instance. Name of the object is the name of the child tenant manager to be created. in F5 Distributed Cloud.
|
|
11
|
+
|
|
12
|
+
~> **Note** For more information about this resource, please refer to the [F5 XC API Documentation](https://docs.cloud.f5.com/docs/api/).
|
|
13
|
+
|
|
14
|
+
## Example Usage
|
|
15
|
+
|
|
16
|
+
```terraform
|
|
17
|
+
# Child Tenant Manager Resource Example
|
|
18
|
+
# Manages child_tenant_manager config instance. Name of the object is the name of the child tenant manager to be created. in F5 Distributed Cloud.
|
|
19
|
+
|
|
20
|
+
# Basic Child Tenant Manager configuration
|
|
21
|
+
resource "f5xc_child_tenant_manager" "example" {
|
|
22
|
+
name = "example-child-tenant-manager"
|
|
23
|
+
namespace = "staging"
|
|
24
|
+
|
|
25
|
+
labels = {
|
|
26
|
+
environment = "production"
|
|
27
|
+
managed_by = "terraform"
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
annotations = {
|
|
31
|
+
"owner" = "platform-team"
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
# Resource-specific configuration
|
|
35
|
+
# Group Mapping. The Group Mapping field is used to associa...
|
|
36
|
+
group_assignments {
|
|
37
|
+
# Configure group_assignments settings
|
|
38
|
+
}
|
|
39
|
+
# Object reference. This type establishes a direct referenc...
|
|
40
|
+
group {
|
|
41
|
+
# Configure group settings
|
|
42
|
+
}
|
|
43
|
+
# Object reference. This type establishes a direct referenc...
|
|
44
|
+
tenant_owner_group {
|
|
45
|
+
# Configure tenant_owner_group settings
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
<!-- schema generated by tfplugindocs -->
|
|
51
|
+
## Argument Reference
|
|
52
|
+
|
|
53
|
+
### Metadata Argument Reference
|
|
54
|
+
|
|
55
|
+
<a id="name"></a>• [`name`](#name) - Required String<br>Name of the Child Tenant Manager. Must be unique within the namespace
|
|
56
|
+
|
|
57
|
+
<a id="namespace"></a>• [`namespace`](#namespace) - Required String<br>Namespace where the Child Tenant Manager will be created
|
|
58
|
+
|
|
59
|
+
<a id="annotations"></a>• [`annotations`](#annotations) - Optional Map<br>Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata
|
|
60
|
+
|
|
61
|
+
<a id="description"></a>• [`description`](#description) - Optional String<br>Human readable description for the object
|
|
62
|
+
|
|
63
|
+
<a id="disable"></a>• [`disable`](#disable) - Optional Bool<br>A value of true will administratively disable the object
|
|
64
|
+
|
|
65
|
+
<a id="labels"></a>• [`labels`](#labels) - Optional Map<br>Labels is a user defined key value map that can be attached to resources for organization and filtering
|
|
66
|
+
|
|
67
|
+
### Spec Argument Reference
|
|
68
|
+
|
|
69
|
+
<a id="group-assignments"></a>• [`group_assignments`](#group-assignments) - Optional Block<br>Group Mapping. The Group Mapping field is used to associate local user groups with user groups in child tenants<br>See [Group Assignments](#group-assignments) below for details.
|
|
70
|
+
|
|
71
|
+
<a id="tenant-owner-group"></a>• [`tenant_owner_group`](#tenant-owner-group) - 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 [Tenant Owner Group](#tenant-owner-group) below for details.
|
|
72
|
+
|
|
73
|
+
<a id="timeouts"></a>• [`timeouts`](#timeouts) - Optional Block<br>See [Timeouts](#timeouts) below for details.
|
|
74
|
+
|
|
75
|
+
### Attributes Reference
|
|
76
|
+
|
|
77
|
+
In addition to all arguments above, the following attributes are exported:
|
|
78
|
+
|
|
79
|
+
<a id="id"></a>• [`id`](#id) - Optional String<br>Unique identifier for the resource
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
#### Group Assignments
|
|
84
|
+
|
|
85
|
+
A [`group_assignments`](#group-assignments) block supports the following:
|
|
86
|
+
|
|
87
|
+
<a id="group-assignments-child-tenant-groups"></a>• [`child_tenant_groups`](#group-assignments-child-tenant-groups) - Optional List<br>Child Tenant User Groups. List of group names in child tenant. Note - To establish access, child tenant group names must be a subset of child tenant groups configured in tenant profile. Once it's setup, when user from msp tenant access child tenant, underlying roles from child tenant will be applied to user
|
|
88
|
+
|
|
89
|
+
<a id="group-assignments-group"></a>• [`group`](#group-assignments-group) - 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 [Group](#group-assignments-group) below.
|
|
90
|
+
|
|
91
|
+
#### Group Assignments Group
|
|
92
|
+
|
|
93
|
+
<a id="objref-77d14c"></a>Uses standard [Object Reference](#common-object-reference) fields (name, namespace, tenant).
|
|
94
|
+
|
|
95
|
+
#### Tenant Owner Group
|
|
96
|
+
|
|
97
|
+
<a id="objref-e2999c"></a>Uses standard [Object Reference](#common-object-reference) fields (name, namespace, tenant).
|
|
98
|
+
|
|
99
|
+
#### Timeouts
|
|
100
|
+
|
|
101
|
+
A [`timeouts`](#timeouts) block supports the following:
|
|
102
|
+
|
|
103
|
+
<a id="timeouts-create"></a>• [`create`](#timeouts-create) - Optional String (Defaults to `10 minutes`)<br>Used when creating the resource
|
|
104
|
+
|
|
105
|
+
<a id="timeouts-delete"></a>• [`delete`](#timeouts-delete) - Optional String (Defaults to `10 minutes`)<br>Used when deleting the resource
|
|
106
|
+
|
|
107
|
+
<a id="timeouts-read"></a>• [`read`](#timeouts-read) - Optional String (Defaults to `5 minutes`)<br>Used when retrieving the resource
|
|
108
|
+
|
|
109
|
+
<a id="timeouts-update"></a>• [`update`](#timeouts-update) - Optional String (Defaults to `10 minutes`)<br>Used when updating the resource
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Common Types
|
|
114
|
+
|
|
115
|
+
The following type definitions are used throughout this resource. See the full definition here rather than repeated inline.
|
|
116
|
+
|
|
117
|
+
### Object Reference {#common-object-reference}
|
|
118
|
+
|
|
119
|
+
Object references establish a direct reference from one configuration object to another in F5 Distributed Cloud. References use the format `tenant/namespace/name`.
|
|
120
|
+
|
|
121
|
+
| Field | Type | Description |
|
|
122
|
+
| ----- | ---- | ----------- |
|
|
123
|
+
| `name` | String | Name of the referenced object |
|
|
124
|
+
| `namespace` | String | Namespace containing the referenced object |
|
|
125
|
+
| `tenant` | String | Tenant of the referenced object (system-managed) |
|
|
126
|
+
|
|
127
|
+
### Transformers {#common-transformers}
|
|
128
|
+
|
|
129
|
+
Transformers apply transformations to input values before matching. Multiple transformers can be applied in order.
|
|
130
|
+
|
|
131
|
+
| Value | Description |
|
|
132
|
+
| ----- | ----------- |
|
|
133
|
+
| `LOWER_CASE` | Convert to lowercase |
|
|
134
|
+
| `UPPER_CASE` | Convert to uppercase |
|
|
135
|
+
| `BASE64_DECODE` | Decode base64 content |
|
|
136
|
+
| `NORMALIZE_PATH` | Normalize URL path |
|
|
137
|
+
| `REMOVE_WHITESPACE` | Remove whitespace characters |
|
|
138
|
+
| `URL_DECODE` | Decode URL-encoded characters |
|
|
139
|
+
| `TRIM_LEFT` | Trim leading whitespace |
|
|
140
|
+
| `TRIM_RIGHT` | Trim trailing whitespace |
|
|
141
|
+
| `TRIM` | Trim both leading and trailing whitespace |
|
|
142
|
+
|
|
143
|
+
### HTTP Methods {#common-http-methods}
|
|
144
|
+
|
|
145
|
+
HTTP methods used for request matching.
|
|
146
|
+
|
|
147
|
+
| Value | Description |
|
|
148
|
+
| ----- | ----------- |
|
|
149
|
+
| `ANY` | Match any HTTP method |
|
|
150
|
+
| `GET` | HTTP GET request |
|
|
151
|
+
| `HEAD` | HTTP HEAD request |
|
|
152
|
+
| `POST` | HTTP POST request |
|
|
153
|
+
| `PUT` | HTTP PUT request |
|
|
154
|
+
| `DELETE` | HTTP DELETE request |
|
|
155
|
+
| `CONNECT` | HTTP CONNECT request |
|
|
156
|
+
| `OPTIONS` | HTTP OPTIONS request |
|
|
157
|
+
| `TRACE` | HTTP TRACE request |
|
|
158
|
+
| `PATCH` | HTTP PATCH request |
|
|
159
|
+
| `COPY` | HTTP COPY request (WebDAV) |
|
|
160
|
+
|
|
161
|
+
### TLS Fingerprints {#common-tls-fingerprints}
|
|
162
|
+
|
|
163
|
+
TLS fingerprint categories for malicious client detection.
|
|
164
|
+
|
|
165
|
+
| Value | Description |
|
|
166
|
+
| ----- | ----------- |
|
|
167
|
+
| `TLS_FINGERPRINT_NONE` | No fingerprint matching |
|
|
168
|
+
| `ANY_MALICIOUS_FINGERPRINT` | Match any known malicious fingerprint |
|
|
169
|
+
| `ADWARE` | Adware-associated fingerprints |
|
|
170
|
+
| `DRIDEX` | Dridex malware fingerprints |
|
|
171
|
+
| `GOOTKIT` | Gootkit malware fingerprints |
|
|
172
|
+
| `RANSOMWARE` | Ransomware-associated fingerprints |
|
|
173
|
+
| `TRICKBOT` | Trickbot malware fingerprints |
|
|
174
|
+
|
|
175
|
+
### IP Threat Categories {#common-ip-threat-categories}
|
|
176
|
+
|
|
177
|
+
IP address threat categories for security filtering.
|
|
178
|
+
|
|
179
|
+
| Value | Description |
|
|
180
|
+
| ----- | ----------- |
|
|
181
|
+
| `SPAM_SOURCES` | Known spam sources |
|
|
182
|
+
| `WINDOWS_EXPLOITS` | Windows exploit sources |
|
|
183
|
+
| `WEB_ATTACKS` | Web attack sources |
|
|
184
|
+
| `BOTNETS` | Known botnet IPs |
|
|
185
|
+
| `SCANNERS` | Network scanner IPs |
|
|
186
|
+
| `REPUTATION` | Poor reputation IPs |
|
|
187
|
+
| `PHISHING` | Phishing-related IPs |
|
|
188
|
+
| `PROXY` | Anonymous proxy IPs |
|
|
189
|
+
| `MOBILE_THREATS` | Mobile threat sources |
|
|
190
|
+
| `TOR_PROXY` | Tor exit nodes |
|
|
191
|
+
| `DENIAL_OF_SERVICE` | DoS attack sources |
|
|
192
|
+
| `NETWORK` | Known bad network ranges |
|
|
193
|
+
|
|
194
|
+
## Import
|
|
195
|
+
|
|
196
|
+
Import is supported using the following syntax:
|
|
197
|
+
|
|
198
|
+
```shell
|
|
199
|
+
# Import using namespace/name format
|
|
200
|
+
terraform import f5xc_child_tenant_manager.example system/example
|
|
201
|
+
```
|