@robinmordasiewicz/f5xc-terraform-mcp 3.0.0 → 3.0.2
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/package.json +1 -1
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
---
|
|
2
|
+
page_title: "f5xc_k8s_cluster Resource - terraform-provider-f5xc"
|
|
3
|
+
subcategory: "Kubernetes"
|
|
4
|
+
description: |-
|
|
5
|
+
Manages k8s_cluster will create the object in the storage backend for namespace metadata.namespace in F5 Distributed Cloud.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# f5xc_k8s_cluster (Resource)
|
|
9
|
+
|
|
10
|
+
Manages k8s_cluster will create the object in the storage backend for namespace metadata.namespace 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
|
+
# K8S Cluster Resource Example
|
|
18
|
+
# Manages k8s_cluster will create the object in the storage backend for namespace metadata.namespace in F5 Distributed Cloud.
|
|
19
|
+
|
|
20
|
+
# Basic K8S Cluster configuration
|
|
21
|
+
resource "f5xc_k8s_cluster" "example" {
|
|
22
|
+
name = "example-k8s-cluster"
|
|
23
|
+
namespace = "system"
|
|
24
|
+
|
|
25
|
+
labels = {
|
|
26
|
+
environment = "production"
|
|
27
|
+
managed_by = "terraform"
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
annotations = {
|
|
31
|
+
"owner" = "platform-team"
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
# Kubernetes Cluster configuration
|
|
35
|
+
# Use custom local domain
|
|
36
|
+
use_custom_cluster_role_bindings {
|
|
37
|
+
cluster_role_bindings {
|
|
38
|
+
name = "admin-binding"
|
|
39
|
+
namespace = "system"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
cluster_wide_app_list {
|
|
44
|
+
cluster_wide_apps {
|
|
45
|
+
name = "nginx-ingress"
|
|
46
|
+
namespace = "system"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
local_access_config {
|
|
51
|
+
local_domain = "cluster.local"
|
|
52
|
+
default_port {}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
global_access_enable {}
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
<!-- schema generated by tfplugindocs -->
|
|
60
|
+
## Argument Reference
|
|
61
|
+
|
|
62
|
+
### Metadata Argument Reference
|
|
63
|
+
|
|
64
|
+
<a id="name"></a>• [`name`](#name) - Required String<br>Name of the K8S Cluster. Must be unique within the namespace
|
|
65
|
+
|
|
66
|
+
<a id="namespace"></a>• [`namespace`](#namespace) - Required String<br>Namespace where the K8S Cluster will be created
|
|
67
|
+
|
|
68
|
+
<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
|
|
69
|
+
|
|
70
|
+
<a id="description"></a>• [`description`](#description) - Optional String<br>Human readable description for the object
|
|
71
|
+
|
|
72
|
+
<a id="disable"></a>• [`disable`](#disable) - Optional Bool<br>A value of true will administratively disable the object
|
|
73
|
+
|
|
74
|
+
<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
|
|
75
|
+
|
|
76
|
+
### Spec Argument Reference
|
|
77
|
+
|
|
78
|
+
-> **One of the following:**
|
|
79
|
+
• <a id="cluster-scoped-access-deny"></a>[`cluster_scoped_access_deny`](#cluster-scoped-access-deny) - Optional Block<br>Enable this option
|
|
80
|
+
<br><br>• <a id="cluster-scoped-access-permit"></a>[`cluster_scoped_access_permit`](#cluster-scoped-access-permit) - Optional Block<br>Enable this option
|
|
81
|
+
|
|
82
|
+
-> **One of the following:**
|
|
83
|
+
• <a id="cluster-wide-app-list"></a>[`cluster_wide_app_list`](#cluster-wide-app-list) - Optional Block<br>Cluster Wide Application List. List of cluster wide applications<br>See [Cluster Wide App List](#cluster-wide-app-list) below for details.
|
|
84
|
+
|
|
85
|
+
-> **One of the following:**
|
|
86
|
+
• <a id="global-access-enable"></a>[`global_access_enable`](#global-access-enable) - Optional Block<br>Enable this option
|
|
87
|
+
|
|
88
|
+
-> **One of the following:**
|
|
89
|
+
• <a id="insecure-registry-list"></a>[`insecure_registry_list`](#insecure-registry-list) - Optional Block<br>Docker Insecure Registry List. List of docker insecure registries<br>See [Insecure Registry List](#insecure-registry-list) below for details.
|
|
90
|
+
|
|
91
|
+
-> **One of the following:**
|
|
92
|
+
• <a id="local-access-config"></a>[`local_access_config`](#local-access-config) - Optional Block<br>Local Access Configuration. Parameters required to enable local access<br>See [Local Access Config](#local-access-config) below for details.
|
|
93
|
+
|
|
94
|
+
<a id="no-cluster-wide-apps"></a>• [`no_cluster_wide_apps`](#no-cluster-wide-apps) - Optional Block<br>Enable this option
|
|
95
|
+
|
|
96
|
+
<a id="no-global-access"></a>• [`no_global_access`](#no-global-access) - Optional Block<br>Enable this option
|
|
97
|
+
|
|
98
|
+
<a id="no-insecure-registries"></a>• [`no_insecure_registries`](#no-insecure-registries) - Optional Block<br>Enable this option
|
|
99
|
+
|
|
100
|
+
<a id="no-local-access"></a>• [`no_local_access`](#no-local-access) - Optional Block<br>Enable this option
|
|
101
|
+
|
|
102
|
+
<a id="timeouts"></a>• [`timeouts`](#timeouts) - Optional Block<br>See [Timeouts](#timeouts) below for details.
|
|
103
|
+
|
|
104
|
+
-> **One of the following:**
|
|
105
|
+
• <a id="use-custom-cluster-role-bindings"></a>[`use_custom_cluster_role_bindings`](#use-custom-cluster-role-bindings) - Optional Block<br>Cluster Role Binding List. List of active cluster role binding list for a K8S cluster<br>See [Use Custom Cluster Role Bindings](#use-custom-cluster-role-bindings) below for details.
|
|
106
|
+
|
|
107
|
+
-> **One of the following:**
|
|
108
|
+
• <a id="use-custom-cluster-role-list"></a>[`use_custom_cluster_role_list`](#use-custom-cluster-role-list) - Optional Block<br>Cluster Role List. List of active cluster role list for a K8S cluster<br>See [Use Custom Cluster Role List](#use-custom-cluster-role-list) below for details.
|
|
109
|
+
|
|
110
|
+
-> **One of the following:**
|
|
111
|
+
• <a id="use-custom-pod-security-admission"></a>[`use_custom_pod_security_admission`](#use-custom-pod-security-admission) - 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 [Use Custom Pod Security Admission](#use-custom-pod-security-admission) below for details.
|
|
112
|
+
|
|
113
|
+
-> **One of the following:**
|
|
114
|
+
• <a id="use-custom-psp-list"></a>[`use_custom_psp_list`](#use-custom-psp-list) - Optional Block<br>Pod Security Policy List. List of active Pod security policies for a K8S cluster<br>See [Use Custom Psp List](#use-custom-psp-list) below for details.
|
|
115
|
+
|
|
116
|
+
<a id="use-default-cluster-role-bindings"></a>• [`use_default_cluster_role_bindings`](#use-default-cluster-role-bindings) - Optional Block<br>Enable this option
|
|
117
|
+
|
|
118
|
+
<a id="use-default-cluster-roles"></a>• [`use_default_cluster_roles`](#use-default-cluster-roles) - Optional Block<br>Enable this option
|
|
119
|
+
|
|
120
|
+
<a id="use-default-pod-security-admission"></a>• [`use_default_pod_security_admission`](#use-default-pod-security-admission) - Optional Block<br>Enable this option
|
|
121
|
+
|
|
122
|
+
<a id="use-default-psp"></a>• [`use_default_psp`](#use-default-psp) - Optional Block<br>Enable this option
|
|
123
|
+
|
|
124
|
+
-> **One of the following:**
|
|
125
|
+
• <a id="vk8s-namespace-access-deny"></a>[`vk8s_namespace_access_deny`](#vk8s-namespace-access-deny) - Optional Block<br>Enable this option
|
|
126
|
+
<br><br>• <a id="vk8s-namespace-access-permit"></a>[`vk8s_namespace_access_permit`](#vk8s-namespace-access-permit) - Optional Block<br>Enable this option
|
|
127
|
+
|
|
128
|
+
### Attributes Reference
|
|
129
|
+
|
|
130
|
+
In addition to all arguments above, the following attributes are exported:
|
|
131
|
+
|
|
132
|
+
<a id="id"></a>• [`id`](#id) - Optional String<br>Unique identifier for the resource
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
#### Cluster Wide App List
|
|
137
|
+
|
|
138
|
+
A [`cluster_wide_app_list`](#cluster-wide-app-list) block supports the following:
|
|
139
|
+
|
|
140
|
+
<a id="cluster-wide-app-list-cluster-wide-apps"></a>• [`cluster_wide_apps`](#cluster-wide-app-list-cluster-wide-apps) - Optional Block<br>Cluster Wide Application List. List of cluster wide applications<br>See [Cluster Wide Apps](#cluster-wide-app-list-cluster-wide-apps) below.
|
|
141
|
+
|
|
142
|
+
#### Cluster Wide App List Cluster Wide Apps
|
|
143
|
+
|
|
144
|
+
A [`cluster_wide_apps`](#cluster-wide-app-list-cluster-wide-apps) block (within [`cluster_wide_app_list`](#cluster-wide-app-list)) supports the following:
|
|
145
|
+
|
|
146
|
+
<a id="argo-cd-64d0ab"></a>• [`argo_cd`](#argo-cd-64d0ab) - Optional Block<br>Argo CD configuration. description Parameters for Argo Continuous Deployment(CD) application<br>See [Argo Cd](#argo-cd-64d0ab) below.
|
|
147
|
+
|
|
148
|
+
<a id="dashboard-0fee36"></a>• [`dashboard`](#dashboard-0fee36) - Optional Block<br>K8S Dashboard configuration. description Parameters for K8S dashboard
|
|
149
|
+
|
|
150
|
+
<a id="server-f57512"></a>• [`metrics_server`](#server-f57512) - Optional Block<br>K8S Metrics Server configuration. description Parameters for Kubernetes Metrics Server application
|
|
151
|
+
|
|
152
|
+
<a id="prometheus-0ee820"></a>• [`prometheus`](#prometheus-0ee820) - Optional Block<br>Prometheus access configuration. description Parameters for Prometheus server access
|
|
153
|
+
|
|
154
|
+
#### Cluster Wide App List Cluster Wide Apps Argo Cd
|
|
155
|
+
|
|
156
|
+
<a id="deep-22132e"></a>Deeply nested **Cd** block collapsed for readability.
|
|
157
|
+
|
|
158
|
+
#### Cluster Wide App List Cluster Wide Apps Argo Cd Local Domain
|
|
159
|
+
|
|
160
|
+
<a id="deep-6f320e"></a>Deeply nested **Domain** block collapsed for readability.
|
|
161
|
+
|
|
162
|
+
#### Cluster Wide App List Cluster Wide Apps Argo Cd Local Domain Password
|
|
163
|
+
|
|
164
|
+
<a id="deep-94b623"></a>Deeply nested **Password** block collapsed for readability.
|
|
165
|
+
|
|
166
|
+
#### Cluster Wide App List Cluster Wide Apps Argo Cd Local Domain Password Blindfold Secret Info
|
|
167
|
+
|
|
168
|
+
<a id="deep-1b02f5"></a>Deeply nested **Info** block collapsed for readability.
|
|
169
|
+
|
|
170
|
+
#### Cluster Wide App List Cluster Wide Apps Argo Cd Local Domain Password Clear Secret Info
|
|
171
|
+
|
|
172
|
+
<a id="deep-5d2d98"></a>Deeply nested **Info** block collapsed for readability.
|
|
173
|
+
|
|
174
|
+
#### Insecure Registry List
|
|
175
|
+
|
|
176
|
+
An [`insecure_registry_list`](#insecure-registry-list) block supports the following:
|
|
177
|
+
|
|
178
|
+
<a id="registries-b1bc10"></a>• [`insecure_registries`](#registries-b1bc10) - Optional List<br>Docker Insecure Registry List. List of docker insecure registries in format 'example.com:5000'
|
|
179
|
+
|
|
180
|
+
#### Local Access Config
|
|
181
|
+
|
|
182
|
+
A [`local_access_config`](#local-access-config) block supports the following:
|
|
183
|
+
|
|
184
|
+
<a id="local-access-config-default-port"></a>• [`default_port`](#local-access-config-default-port) - Optional Block<br>Enable this option
|
|
185
|
+
|
|
186
|
+
<a id="local-access-config-local-domain"></a>• [`local_domain`](#local-access-config-local-domain) - Optional String<br>Local Domain. Local K8S API server will be accessible at `<site name>`.`<local domain>`
|
|
187
|
+
|
|
188
|
+
<a id="local-access-config-port"></a>• [`port`](#local-access-config-port) - Optional Number<br>Custom K8S Port. Use custom K8S port for API server. Available port range is less than 65000 except reserved ports
|
|
189
|
+
|
|
190
|
+
#### Timeouts
|
|
191
|
+
|
|
192
|
+
A [`timeouts`](#timeouts) block supports the following:
|
|
193
|
+
|
|
194
|
+
<a id="timeouts-create"></a>• [`create`](#timeouts-create) - Optional String (Defaults to `30 minutes`)<br>Used when creating the resource
|
|
195
|
+
|
|
196
|
+
<a id="timeouts-delete"></a>• [`delete`](#timeouts-delete) - Optional String (Defaults to `30 minutes`)<br>Used when deleting the resource
|
|
197
|
+
|
|
198
|
+
<a id="timeouts-read"></a>• [`read`](#timeouts-read) - Optional String (Defaults to `5 minutes`)<br>Used when retrieving the resource
|
|
199
|
+
|
|
200
|
+
<a id="timeouts-update"></a>• [`update`](#timeouts-update) - Optional String (Defaults to `30 minutes`)<br>Used when updating the resource
|
|
201
|
+
|
|
202
|
+
#### Use Custom Cluster Role Bindings
|
|
203
|
+
|
|
204
|
+
An [`use_custom_cluster_role_bindings`](#use-custom-cluster-role-bindings) block supports the following:
|
|
205
|
+
|
|
206
|
+
<a id="bindings-6adfa9"></a>• [`cluster_role_bindings`](#bindings-6adfa9) - Optional Block<br>Cluster Role Binding List. List of active cluster role binding list for a K8S cluster<br>See [Cluster Role Bindings](#bindings-6adfa9) below.
|
|
207
|
+
|
|
208
|
+
#### Use Custom Cluster Role Bindings Cluster Role Bindings
|
|
209
|
+
|
|
210
|
+
<a id="deep-ed02bf"></a>Deeply nested **Bindings** block collapsed for readability.
|
|
211
|
+
|
|
212
|
+
#### Use Custom Cluster Role List
|
|
213
|
+
|
|
214
|
+
An [`use_custom_cluster_role_list`](#use-custom-cluster-role-list) block supports the following:
|
|
215
|
+
|
|
216
|
+
<a id="roles-cf2cf4"></a>• [`cluster_roles`](#roles-cf2cf4) - Optional Block<br>Cluster Role List. List of active cluster role list for a K8S cluster<br>See [Cluster Roles](#roles-cf2cf4) below.
|
|
217
|
+
|
|
218
|
+
#### Use Custom Cluster Role List Cluster Roles
|
|
219
|
+
|
|
220
|
+
<a id="objref-cf2cf4"></a>Uses standard [Object Reference](#common-object-reference) fields (name, namespace, tenant).
|
|
221
|
+
|
|
222
|
+
#### Use Custom Pod Security Admission
|
|
223
|
+
|
|
224
|
+
<a id="objref-946f92"></a>Uses standard [Object Reference](#common-object-reference) fields (name, namespace, tenant).
|
|
225
|
+
|
|
226
|
+
#### Use Custom Psp List
|
|
227
|
+
|
|
228
|
+
An [`use_custom_psp_list`](#use-custom-psp-list) block supports the following:
|
|
229
|
+
|
|
230
|
+
<a id="policies-4f6709"></a>• [`pod_security_policies`](#policies-4f6709) - Optional Block<br>Pod Security Policy List. List of active Pod security policies for a K8S cluster<br>See [Pod Security Policies](#policies-4f6709) below.
|
|
231
|
+
|
|
232
|
+
#### Use Custom Psp List Pod Security Policies
|
|
233
|
+
|
|
234
|
+
<a id="objref-4f6709"></a>Uses standard [Object Reference](#common-object-reference) fields (name, namespace, tenant).
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## Common Types
|
|
239
|
+
|
|
240
|
+
The following type definitions are used throughout this resource. See the full definition here rather than repeated inline.
|
|
241
|
+
|
|
242
|
+
### Object Reference {#common-object-reference}
|
|
243
|
+
|
|
244
|
+
Object references establish a direct reference from one configuration object to another in F5 Distributed Cloud. References use the format `tenant/namespace/name`.
|
|
245
|
+
|
|
246
|
+
| Field | Type | Description |
|
|
247
|
+
| ----- | ---- | ----------- |
|
|
248
|
+
| `name` | String | Name of the referenced object |
|
|
249
|
+
| `namespace` | String | Namespace containing the referenced object |
|
|
250
|
+
| `tenant` | String | Tenant of the referenced object (system-managed) |
|
|
251
|
+
|
|
252
|
+
### Transformers {#common-transformers}
|
|
253
|
+
|
|
254
|
+
Transformers apply transformations to input values before matching. Multiple transformers can be applied in order.
|
|
255
|
+
|
|
256
|
+
| Value | Description |
|
|
257
|
+
| ----- | ----------- |
|
|
258
|
+
| `LOWER_CASE` | Convert to lowercase |
|
|
259
|
+
| `UPPER_CASE` | Convert to uppercase |
|
|
260
|
+
| `BASE64_DECODE` | Decode base64 content |
|
|
261
|
+
| `NORMALIZE_PATH` | Normalize URL path |
|
|
262
|
+
| `REMOVE_WHITESPACE` | Remove whitespace characters |
|
|
263
|
+
| `URL_DECODE` | Decode URL-encoded characters |
|
|
264
|
+
| `TRIM_LEFT` | Trim leading whitespace |
|
|
265
|
+
| `TRIM_RIGHT` | Trim trailing whitespace |
|
|
266
|
+
| `TRIM` | Trim both leading and trailing whitespace |
|
|
267
|
+
|
|
268
|
+
### HTTP Methods {#common-http-methods}
|
|
269
|
+
|
|
270
|
+
HTTP methods used for request matching.
|
|
271
|
+
|
|
272
|
+
| Value | Description |
|
|
273
|
+
| ----- | ----------- |
|
|
274
|
+
| `ANY` | Match any HTTP method |
|
|
275
|
+
| `GET` | HTTP GET request |
|
|
276
|
+
| `HEAD` | HTTP HEAD request |
|
|
277
|
+
| `POST` | HTTP POST request |
|
|
278
|
+
| `PUT` | HTTP PUT request |
|
|
279
|
+
| `DELETE` | HTTP DELETE request |
|
|
280
|
+
| `CONNECT` | HTTP CONNECT request |
|
|
281
|
+
| `OPTIONS` | HTTP OPTIONS request |
|
|
282
|
+
| `TRACE` | HTTP TRACE request |
|
|
283
|
+
| `PATCH` | HTTP PATCH request |
|
|
284
|
+
| `COPY` | HTTP COPY request (WebDAV) |
|
|
285
|
+
|
|
286
|
+
### TLS Fingerprints {#common-tls-fingerprints}
|
|
287
|
+
|
|
288
|
+
TLS fingerprint categories for malicious client detection.
|
|
289
|
+
|
|
290
|
+
| Value | Description |
|
|
291
|
+
| ----- | ----------- |
|
|
292
|
+
| `TLS_FINGERPRINT_NONE` | No fingerprint matching |
|
|
293
|
+
| `ANY_MALICIOUS_FINGERPRINT` | Match any known malicious fingerprint |
|
|
294
|
+
| `ADWARE` | Adware-associated fingerprints |
|
|
295
|
+
| `DRIDEX` | Dridex malware fingerprints |
|
|
296
|
+
| `GOOTKIT` | Gootkit malware fingerprints |
|
|
297
|
+
| `RANSOMWARE` | Ransomware-associated fingerprints |
|
|
298
|
+
| `TRICKBOT` | Trickbot malware fingerprints |
|
|
299
|
+
|
|
300
|
+
### IP Threat Categories {#common-ip-threat-categories}
|
|
301
|
+
|
|
302
|
+
IP address threat categories for security filtering.
|
|
303
|
+
|
|
304
|
+
| Value | Description |
|
|
305
|
+
| ----- | ----------- |
|
|
306
|
+
| `SPAM_SOURCES` | Known spam sources |
|
|
307
|
+
| `WINDOWS_EXPLOITS` | Windows exploit sources |
|
|
308
|
+
| `WEB_ATTACKS` | Web attack sources |
|
|
309
|
+
| `BOTNETS` | Known botnet IPs |
|
|
310
|
+
| `SCANNERS` | Network scanner IPs |
|
|
311
|
+
| `REPUTATION` | Poor reputation IPs |
|
|
312
|
+
| `PHISHING` | Phishing-related IPs |
|
|
313
|
+
| `PROXY` | Anonymous proxy IPs |
|
|
314
|
+
| `MOBILE_THREATS` | Mobile threat sources |
|
|
315
|
+
| `TOR_PROXY` | Tor exit nodes |
|
|
316
|
+
| `DENIAL_OF_SERVICE` | DoS attack sources |
|
|
317
|
+
| `NETWORK` | Known bad network ranges |
|
|
318
|
+
|
|
319
|
+
## Import
|
|
320
|
+
|
|
321
|
+
Import is supported using the following syntax:
|
|
322
|
+
|
|
323
|
+
```shell
|
|
324
|
+
# Import using namespace/name format
|
|
325
|
+
terraform import f5xc_k8s_cluster.example system/example
|
|
326
|
+
```
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
---
|
|
2
|
+
page_title: "f5xc_k8s_cluster_role Resource - terraform-provider-f5xc"
|
|
3
|
+
subcategory: "Kubernetes"
|
|
4
|
+
description: |-
|
|
5
|
+
Manages k8s_cluster_role will create the object in the storage backend for namespace metadata.namespace in F5 Distributed Cloud.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# f5xc_k8s_cluster_role (Resource)
|
|
9
|
+
|
|
10
|
+
Manages k8s_cluster_role will create the object in the storage backend for namespace metadata.namespace 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
|
+
# K8S Cluster Role Resource Example
|
|
18
|
+
# Manages k8s_cluster_role will create the object in the storage backend for namespace metadata.namespace in F5 Distributed Cloud.
|
|
19
|
+
|
|
20
|
+
# Basic K8S Cluster Role configuration
|
|
21
|
+
resource "f5xc_k8s_cluster_role" "example" {
|
|
22
|
+
name = "example-k8s-cluster-role"
|
|
23
|
+
namespace = "system"
|
|
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
|
+
# [OneOf: k8s_cluster_role_selector, policy_rule_list, yaml...
|
|
36
|
+
k8s_cluster_role_selector {
|
|
37
|
+
# Configure k8s_cluster_role_selector settings
|
|
38
|
+
}
|
|
39
|
+
# Policy Rule List. List of rules for role permissions
|
|
40
|
+
policy_rule_list {
|
|
41
|
+
# Configure policy_rule_list settings
|
|
42
|
+
}
|
|
43
|
+
# Policy Rules. List of rules for role permissions
|
|
44
|
+
policy_rule {
|
|
45
|
+
# Configure policy_rule 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 K8S Cluster Role. Must be unique within the namespace
|
|
56
|
+
|
|
57
|
+
<a id="namespace"></a>• [`namespace`](#namespace) - Required String<br>Namespace where the K8S Cluster Role 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
|
+
-> **One of the following:**
|
|
70
|
+
• <a id="k8s-cluster-role-selector"></a>[`k8s_cluster_role_selector`](#k8s-cluster-role-selector) - Optional Block<br>Label Selector. This type can be used to establish a 'selector reference' from one object(called selector) to a set of other objects(called selectees) based on the value of expresssions. A label selector is a label query over a set of resources. An empty label selector matches all objects. A null label selector matches no objects. Label selector is immutable. expressions is a list of strings of label selection expression. Each string has ',' separated values which are 'AND' and all strings are logically 'OR'. BNF for expression string `<selector-syntax>` ::= `<requirement>` | `<requirement>` ',' `<selector-syntax>` `<requirement>` ::= [!] KEY [ `<set-based-restriction>` | `<exact-match-restriction>` ] `<set-based-restriction>` ::= '' | `<inclusion-exclusion>` `<value-set>` `<inclusion-exclusion>` ::= `<inclusion>` | `<exclusion>` `<exclusion>` ::= 'notin' `<inclusion>` ::= 'in' `<value-set>` ::= '(' `<values>` ')' `<values>` ::= VALUE | VALUE ',' `<values>` `<exact-match-restriction>` ::= ['='|'=='|'!='] VALUE<br>See [K8S Cluster Role Selector](#k8s-cluster-role-selector) below for details.
|
|
71
|
+
<br><br>• <a id="policy-rule-list"></a>[`policy_rule_list`](#policy-rule-list) - Optional Block<br>Policy Rule List. List of rules for role permissions<br>See [Policy Rule List](#policy-rule-list) below for details.
|
|
72
|
+
<br><br>• <a id="yaml"></a>[`yaml`](#yaml) - Optional String<br>K8S YAML. K8S YAML for ClusterRole
|
|
73
|
+
|
|
74
|
+
<a id="timeouts"></a>• [`timeouts`](#timeouts) - Optional Block<br>See [Timeouts](#timeouts) below for details.
|
|
75
|
+
|
|
76
|
+
### Attributes Reference
|
|
77
|
+
|
|
78
|
+
In addition to all arguments above, the following attributes are exported:
|
|
79
|
+
|
|
80
|
+
<a id="id"></a>• [`id`](#id) - Optional String<br>Unique identifier for the resource
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
#### K8S Cluster Role Selector
|
|
85
|
+
|
|
86
|
+
A [`k8s_cluster_role_selector`](#k8s-cluster-role-selector) block supports the following:
|
|
87
|
+
|
|
88
|
+
<a id="k8s-cluster-role-selector-expressions"></a>• [`expressions`](#k8s-cluster-role-selector-expressions) - Optional List<br>Selector Expression. expressions contains the kubernetes style label expression for selections
|
|
89
|
+
|
|
90
|
+
#### Policy Rule List
|
|
91
|
+
|
|
92
|
+
A [`policy_rule_list`](#policy-rule-list) block supports the following:
|
|
93
|
+
|
|
94
|
+
<a id="policy-rule-list-policy-rule"></a>• [`policy_rule`](#policy-rule-list-policy-rule) - Optional Block<br>Policy Rules. List of rules for role permissions<br>See [Policy Rule](#policy-rule-list-policy-rule) below.
|
|
95
|
+
|
|
96
|
+
#### Policy Rule List Policy Rule
|
|
97
|
+
|
|
98
|
+
A [`policy_rule`](#policy-rule-list-policy-rule) block (within [`policy_rule_list`](#policy-rule-list)) supports the following:
|
|
99
|
+
|
|
100
|
+
<a id="list-d430d1"></a>• [`non_resource_url_list`](#list-d430d1) - Optional Block<br>List of Non Resource URL(s). permissions for URL(s) that do not represent K8S resource<br>See [Non Resource URL List](#list-d430d1) below.
|
|
101
|
+
|
|
102
|
+
<a id="list-0add02"></a>• [`resource_list`](#list-0add02) - Optional Block<br>Resource List. List of resources in terms of API groups/resource types/resource instances and verbs allowed<br>See [Resource List](#list-0add02) below.
|
|
103
|
+
|
|
104
|
+
#### Policy Rule List Policy Rule Non Resource URL List
|
|
105
|
+
|
|
106
|
+
<a id="deep-7657a2"></a>Deeply nested **List** block collapsed for readability.
|
|
107
|
+
|
|
108
|
+
#### Policy Rule List Policy Rule Resource List
|
|
109
|
+
|
|
110
|
+
A [`resource_list`](#list-0add02) block (within [`policy_rule_list.policy_rule`](#policy-rule-list-policy-rule)) supports the following:
|
|
111
|
+
|
|
112
|
+
<a id="groups-8a629b"></a>• [`api_groups`](#groups-8a629b) - Optional List<br>API Groups. Allowed list of API group that contains resources, all resources of a given API group
|
|
113
|
+
|
|
114
|
+
<a id="instances-311644"></a>• [`resource_instances`](#instances-311644) - Optional List<br>Resource Instances. Allowed list of resource instances within the resource types
|
|
115
|
+
|
|
116
|
+
<a id="types-062a5a"></a>• [`resource_types`](#types-062a5a) - Optional List<br>Resource Types. Allowed list of resource types within the API groups
|
|
117
|
+
|
|
118
|
+
<a id="verbs-d805f1"></a>• [`verbs`](#verbs-d805f1) - Optional List<br>Allowed Verbs. Allowed list of verbs(operations) on resources. Use \* for all operations
|
|
119
|
+
|
|
120
|
+
#### Timeouts
|
|
121
|
+
|
|
122
|
+
A [`timeouts`](#timeouts) block supports the following:
|
|
123
|
+
|
|
124
|
+
<a id="timeouts-create"></a>• [`create`](#timeouts-create) - Optional String (Defaults to `10 minutes`)<br>Used when creating the resource
|
|
125
|
+
|
|
126
|
+
<a id="timeouts-delete"></a>• [`delete`](#timeouts-delete) - Optional String (Defaults to `10 minutes`)<br>Used when deleting the resource
|
|
127
|
+
|
|
128
|
+
<a id="timeouts-read"></a>• [`read`](#timeouts-read) - Optional String (Defaults to `5 minutes`)<br>Used when retrieving the resource
|
|
129
|
+
|
|
130
|
+
<a id="timeouts-update"></a>• [`update`](#timeouts-update) - Optional String (Defaults to `10 minutes`)<br>Used when updating the resource
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Common Types
|
|
135
|
+
|
|
136
|
+
The following type definitions are used throughout this resource. See the full definition here rather than repeated inline.
|
|
137
|
+
|
|
138
|
+
### Object Reference {#common-object-reference}
|
|
139
|
+
|
|
140
|
+
Object references establish a direct reference from one configuration object to another in F5 Distributed Cloud. References use the format `tenant/namespace/name`.
|
|
141
|
+
|
|
142
|
+
| Field | Type | Description |
|
|
143
|
+
| ----- | ---- | ----------- |
|
|
144
|
+
| `name` | String | Name of the referenced object |
|
|
145
|
+
| `namespace` | String | Namespace containing the referenced object |
|
|
146
|
+
| `tenant` | String | Tenant of the referenced object (system-managed) |
|
|
147
|
+
|
|
148
|
+
### Transformers {#common-transformers}
|
|
149
|
+
|
|
150
|
+
Transformers apply transformations to input values before matching. Multiple transformers can be applied in order.
|
|
151
|
+
|
|
152
|
+
| Value | Description |
|
|
153
|
+
| ----- | ----------- |
|
|
154
|
+
| `LOWER_CASE` | Convert to lowercase |
|
|
155
|
+
| `UPPER_CASE` | Convert to uppercase |
|
|
156
|
+
| `BASE64_DECODE` | Decode base64 content |
|
|
157
|
+
| `NORMALIZE_PATH` | Normalize URL path |
|
|
158
|
+
| `REMOVE_WHITESPACE` | Remove whitespace characters |
|
|
159
|
+
| `URL_DECODE` | Decode URL-encoded characters |
|
|
160
|
+
| `TRIM_LEFT` | Trim leading whitespace |
|
|
161
|
+
| `TRIM_RIGHT` | Trim trailing whitespace |
|
|
162
|
+
| `TRIM` | Trim both leading and trailing whitespace |
|
|
163
|
+
|
|
164
|
+
### HTTP Methods {#common-http-methods}
|
|
165
|
+
|
|
166
|
+
HTTP methods used for request matching.
|
|
167
|
+
|
|
168
|
+
| Value | Description |
|
|
169
|
+
| ----- | ----------- |
|
|
170
|
+
| `ANY` | Match any HTTP method |
|
|
171
|
+
| `GET` | HTTP GET request |
|
|
172
|
+
| `HEAD` | HTTP HEAD request |
|
|
173
|
+
| `POST` | HTTP POST request |
|
|
174
|
+
| `PUT` | HTTP PUT request |
|
|
175
|
+
| `DELETE` | HTTP DELETE request |
|
|
176
|
+
| `CONNECT` | HTTP CONNECT request |
|
|
177
|
+
| `OPTIONS` | HTTP OPTIONS request |
|
|
178
|
+
| `TRACE` | HTTP TRACE request |
|
|
179
|
+
| `PATCH` | HTTP PATCH request |
|
|
180
|
+
| `COPY` | HTTP COPY request (WebDAV) |
|
|
181
|
+
|
|
182
|
+
### TLS Fingerprints {#common-tls-fingerprints}
|
|
183
|
+
|
|
184
|
+
TLS fingerprint categories for malicious client detection.
|
|
185
|
+
|
|
186
|
+
| Value | Description |
|
|
187
|
+
| ----- | ----------- |
|
|
188
|
+
| `TLS_FINGERPRINT_NONE` | No fingerprint matching |
|
|
189
|
+
| `ANY_MALICIOUS_FINGERPRINT` | Match any known malicious fingerprint |
|
|
190
|
+
| `ADWARE` | Adware-associated fingerprints |
|
|
191
|
+
| `DRIDEX` | Dridex malware fingerprints |
|
|
192
|
+
| `GOOTKIT` | Gootkit malware fingerprints |
|
|
193
|
+
| `RANSOMWARE` | Ransomware-associated fingerprints |
|
|
194
|
+
| `TRICKBOT` | Trickbot malware fingerprints |
|
|
195
|
+
|
|
196
|
+
### IP Threat Categories {#common-ip-threat-categories}
|
|
197
|
+
|
|
198
|
+
IP address threat categories for security filtering.
|
|
199
|
+
|
|
200
|
+
| Value | Description |
|
|
201
|
+
| ----- | ----------- |
|
|
202
|
+
| `SPAM_SOURCES` | Known spam sources |
|
|
203
|
+
| `WINDOWS_EXPLOITS` | Windows exploit sources |
|
|
204
|
+
| `WEB_ATTACKS` | Web attack sources |
|
|
205
|
+
| `BOTNETS` | Known botnet IPs |
|
|
206
|
+
| `SCANNERS` | Network scanner IPs |
|
|
207
|
+
| `REPUTATION` | Poor reputation IPs |
|
|
208
|
+
| `PHISHING` | Phishing-related IPs |
|
|
209
|
+
| `PROXY` | Anonymous proxy IPs |
|
|
210
|
+
| `MOBILE_THREATS` | Mobile threat sources |
|
|
211
|
+
| `TOR_PROXY` | Tor exit nodes |
|
|
212
|
+
| `DENIAL_OF_SERVICE` | DoS attack sources |
|
|
213
|
+
| `NETWORK` | Known bad network ranges |
|
|
214
|
+
|
|
215
|
+
## Import
|
|
216
|
+
|
|
217
|
+
Import is supported using the following syntax:
|
|
218
|
+
|
|
219
|
+
```shell
|
|
220
|
+
# Import using namespace/name format
|
|
221
|
+
terraform import f5xc_k8s_cluster_role.example system/example
|
|
222
|
+
```
|