@robinmordasiewicz/f5xc-terraform-mcp 3.0.1 → 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.
Files changed (99) hide show
  1. package/dist/docs/data-sources/addon_service.md +143 -0
  2. package/dist/docs/data-sources/addon_service_activation_status.md +144 -0
  3. package/dist/docs/data-sources/addon_subscription.md +134 -0
  4. package/dist/docs/data-sources/allowed_tenant.md +134 -0
  5. package/dist/docs/data-sources/api_credential.md +134 -0
  6. package/dist/docs/data-sources/bigip_irule.md +134 -0
  7. package/dist/docs/data-sources/child_tenant.md +134 -0
  8. package/dist/docs/data-sources/child_tenant_manager.md +134 -0
  9. package/dist/docs/data-sources/contact.md +134 -0
  10. package/dist/docs/data-sources/customer_support.md +134 -0
  11. package/dist/docs/data-sources/dns_lb_health_check.md +134 -0
  12. package/dist/docs/data-sources/dns_lb_pool.md +134 -0
  13. package/dist/docs/data-sources/dns_load_balancer.md +134 -0
  14. package/dist/docs/data-sources/dns_zone.md +145 -0
  15. package/dist/docs/data-sources/geo_location_set.md +134 -0
  16. package/dist/docs/data-sources/ike1.md +134 -0
  17. package/dist/docs/data-sources/ike2.md +134 -0
  18. package/dist/docs/data-sources/ike_phase1_profile.md +134 -0
  19. package/dist/docs/data-sources/ike_phase2_profile.md +134 -0
  20. package/dist/docs/data-sources/infraprotect_asn.md +134 -0
  21. package/dist/docs/data-sources/infraprotect_asn_prefix.md +134 -0
  22. package/dist/docs/data-sources/infraprotect_deny_list_rule.md +134 -0
  23. package/dist/docs/data-sources/infraprotect_firewall_rule.md +134 -0
  24. package/dist/docs/data-sources/infraprotect_firewall_rule_group.md +134 -0
  25. package/dist/docs/data-sources/infraprotect_internet_prefix_advertisement.md +134 -0
  26. package/dist/docs/data-sources/infraprotect_tunnel.md +134 -0
  27. package/dist/docs/data-sources/k8s_cluster.md +134 -0
  28. package/dist/docs/data-sources/k8s_cluster_role.md +134 -0
  29. package/dist/docs/data-sources/k8s_cluster_role_binding.md +134 -0
  30. package/dist/docs/data-sources/k8s_pod_security_admission.md +134 -0
  31. package/dist/docs/data-sources/k8s_pod_security_policy.md +134 -0
  32. package/dist/docs/data-sources/managed_tenant.md +134 -0
  33. package/dist/docs/data-sources/namespace.md +141 -0
  34. package/dist/docs/data-sources/oidc_provider.md +134 -0
  35. package/dist/docs/data-sources/quota.md +134 -0
  36. package/dist/docs/data-sources/registration.md +134 -0
  37. package/dist/docs/data-sources/report_config.md +134 -0
  38. package/dist/docs/data-sources/role.md +134 -0
  39. package/dist/docs/data-sources/secret_policy.md +134 -0
  40. package/dist/docs/data-sources/secret_policy_rule.md +134 -0
  41. package/dist/docs/data-sources/securemesh_site_v2.md +134 -0
  42. package/dist/docs/data-sources/srv6_network_slice.md +134 -0
  43. package/dist/docs/data-sources/tenant_profile.md +134 -0
  44. package/dist/docs/data-sources/ticket_tracking_system.md +134 -0
  45. package/dist/docs/data-sources/token.md +134 -0
  46. package/dist/docs/data-sources/tpm_api_key.md +134 -0
  47. package/dist/docs/data-sources/tpm_category.md +134 -0
  48. package/dist/docs/data-sources/tpm_manager.md +134 -0
  49. package/dist/docs/data-sources/virtual_k8s.md +134 -0
  50. package/dist/docs/data-sources/voltshare_admin_policy.md +134 -0
  51. package/dist/docs/resources/addon_subscription.md +213 -0
  52. package/dist/docs/resources/allowed_tenant.md +181 -0
  53. package/dist/docs/resources/api_credential.md +184 -0
  54. package/dist/docs/resources/bigip_irule.md +173 -0
  55. package/dist/docs/resources/child_tenant.md +237 -0
  56. package/dist/docs/resources/child_tenant_manager.md +201 -0
  57. package/dist/docs/resources/contact.md +187 -0
  58. package/dist/docs/resources/customer_support.md +253 -0
  59. package/dist/docs/resources/dns_lb_health_check.md +249 -0
  60. package/dist/docs/resources/dns_lb_pool.md +310 -0
  61. package/dist/docs/resources/dns_load_balancer.md +309 -0
  62. package/dist/docs/resources/dns_zone.md +790 -0
  63. package/dist/docs/resources/geo_location_set.md +180 -0
  64. package/dist/docs/resources/ike1.md +216 -0
  65. package/dist/docs/resources/ike2.md +210 -0
  66. package/dist/docs/resources/ike_phase1_profile.md +224 -0
  67. package/dist/docs/resources/ike_phase2_profile.md +214 -0
  68. package/dist/docs/resources/infraprotect_asn.md +183 -0
  69. package/dist/docs/resources/infraprotect_asn_prefix.md +181 -0
  70. package/dist/docs/resources/infraprotect_deny_list_rule.md +191 -0
  71. package/dist/docs/resources/infraprotect_firewall_rule.md +288 -0
  72. package/dist/docs/resources/infraprotect_firewall_rule_group.md +169 -0
  73. package/dist/docs/resources/infraprotect_internet_prefix_advertisement.md +191 -0
  74. package/dist/docs/resources/infraprotect_tunnel.md +289 -0
  75. package/dist/docs/resources/k8s_cluster.md +326 -0
  76. package/dist/docs/resources/k8s_cluster_role.md +222 -0
  77. package/dist/docs/resources/k8s_cluster_role_binding.md +207 -0
  78. package/dist/docs/resources/k8s_pod_security_admission.md +199 -0
  79. package/dist/docs/resources/k8s_pod_security_policy.md +337 -0
  80. package/dist/docs/resources/managed_tenant.md +193 -0
  81. package/dist/docs/resources/namespace.md +170 -0
  82. package/dist/docs/resources/oidc_provider.md +291 -0
  83. package/dist/docs/resources/quota.md +187 -0
  84. package/dist/docs/resources/registration.md +489 -0
  85. package/dist/docs/resources/report_config.md +237 -0
  86. package/dist/docs/resources/role.md +183 -0
  87. package/dist/docs/resources/secret_policy.md +240 -0
  88. package/dist/docs/resources/secret_policy_rule.md +198 -0
  89. package/dist/docs/resources/securemesh_site_v2.md +2027 -0
  90. package/dist/docs/resources/srv6_network_slice.md +175 -0
  91. package/dist/docs/resources/tenant_profile.md +233 -0
  92. package/dist/docs/resources/ticket_tracking_system.md +195 -0
  93. package/dist/docs/resources/token.md +170 -0
  94. package/dist/docs/resources/tpm_api_key.md +191 -0
  95. package/dist/docs/resources/tpm_category.md +191 -0
  96. package/dist/docs/resources/tpm_manager.md +167 -0
  97. package/dist/docs/resources/virtual_k8s.md +209 -0
  98. package/dist/docs/resources/voltshare_admin_policy.md +271 -0
  99. 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>&#x2022; [`name`](#name) - Required String<br>Name of the K8S Cluster. Must be unique within the namespace
65
+
66
+ <a id="namespace"></a>&#x2022; [`namespace`](#namespace) - Required String<br>Namespace where the K8S Cluster will be created
67
+
68
+ <a id="annotations"></a>&#x2022; [`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>&#x2022; [`description`](#description) - Optional String<br>Human readable description for the object
71
+
72
+ <a id="disable"></a>&#x2022; [`disable`](#disable) - Optional Bool<br>A value of true will administratively disable the object
73
+
74
+ <a id="labels"></a>&#x2022; [`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
+ &#x2022; <a id="cluster-scoped-access-deny"></a>[`cluster_scoped_access_deny`](#cluster-scoped-access-deny) - Optional Block<br>Enable this option
80
+ <br><br>&#x2022; <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
+ &#x2022; <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
+ &#x2022; <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
+ &#x2022; <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
+ &#x2022; <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>&#x2022; [`no_cluster_wide_apps`](#no-cluster-wide-apps) - Optional Block<br>Enable this option
95
+
96
+ <a id="no-global-access"></a>&#x2022; [`no_global_access`](#no-global-access) - Optional Block<br>Enable this option
97
+
98
+ <a id="no-insecure-registries"></a>&#x2022; [`no_insecure_registries`](#no-insecure-registries) - Optional Block<br>Enable this option
99
+
100
+ <a id="no-local-access"></a>&#x2022; [`no_local_access`](#no-local-access) - Optional Block<br>Enable this option
101
+
102
+ <a id="timeouts"></a>&#x2022; [`timeouts`](#timeouts) - Optional Block<br>See [Timeouts](#timeouts) below for details.
103
+
104
+ -> **One of the following:**
105
+ &#x2022; <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
+ &#x2022; <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
+ &#x2022; <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
+ &#x2022; <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>&#x2022; [`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>&#x2022; [`use_default_cluster_roles`](#use-default-cluster-roles) - Optional Block<br>Enable this option
119
+
120
+ <a id="use-default-pod-security-admission"></a>&#x2022; [`use_default_pod_security_admission`](#use-default-pod-security-admission) - Optional Block<br>Enable this option
121
+
122
+ <a id="use-default-psp"></a>&#x2022; [`use_default_psp`](#use-default-psp) - Optional Block<br>Enable this option
123
+
124
+ -> **One of the following:**
125
+ &#x2022; <a id="vk8s-namespace-access-deny"></a>[`vk8s_namespace_access_deny`](#vk8s-namespace-access-deny) - Optional Block<br>Enable this option
126
+ <br><br>&#x2022; <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>&#x2022; [`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>&#x2022; [`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>&#x2022; [`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>&#x2022; [`dashboard`](#dashboard-0fee36) - Optional Block<br>K8S Dashboard configuration. description Parameters for K8S dashboard
149
+
150
+ <a id="server-f57512"></a>&#x2022; [`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>&#x2022; [`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>&#x2022; [`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>&#x2022; [`default_port`](#local-access-config-default-port) - Optional Block<br>Enable this option
185
+
186
+ <a id="local-access-config-local-domain"></a>&#x2022; [`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>&#x2022; [`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>&#x2022; [`create`](#timeouts-create) - Optional String (Defaults to `30 minutes`)<br>Used when creating the resource
195
+
196
+ <a id="timeouts-delete"></a>&#x2022; [`delete`](#timeouts-delete) - Optional String (Defaults to `30 minutes`)<br>Used when deleting the resource
197
+
198
+ <a id="timeouts-read"></a>&#x2022; [`read`](#timeouts-read) - Optional String (Defaults to `5 minutes`)<br>Used when retrieving the resource
199
+
200
+ <a id="timeouts-update"></a>&#x2022; [`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>&#x2022; [`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>&#x2022; [`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>&#x2022; [`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>&#x2022; [`name`](#name) - Required String<br>Name of the K8S Cluster Role. Must be unique within the namespace
56
+
57
+ <a id="namespace"></a>&#x2022; [`namespace`](#namespace) - Required String<br>Namespace where the K8S Cluster Role will be created
58
+
59
+ <a id="annotations"></a>&#x2022; [`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>&#x2022; [`description`](#description) - Optional String<br>Human readable description for the object
62
+
63
+ <a id="disable"></a>&#x2022; [`disable`](#disable) - Optional Bool<br>A value of true will administratively disable the object
64
+
65
+ <a id="labels"></a>&#x2022; [`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
+ &#x2022; <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>&#x2022; <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>&#x2022; <a id="yaml"></a>[`yaml`](#yaml) - Optional String<br>K8S YAML. K8S YAML for ClusterRole
73
+
74
+ <a id="timeouts"></a>&#x2022; [`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>&#x2022; [`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>&#x2022; [`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>&#x2022; [`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>&#x2022; [`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>&#x2022; [`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>&#x2022; [`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>&#x2022; [`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>&#x2022; [`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>&#x2022; [`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>&#x2022; [`create`](#timeouts-create) - Optional String (Defaults to `10 minutes`)<br>Used when creating the resource
125
+
126
+ <a id="timeouts-delete"></a>&#x2022; [`delete`](#timeouts-delete) - Optional String (Defaults to `10 minutes`)<br>Used when deleting the resource
127
+
128
+ <a id="timeouts-read"></a>&#x2022; [`read`](#timeouts-read) - Optional String (Defaults to `5 minutes`)<br>Used when retrieving the resource
129
+
130
+ <a id="timeouts-update"></a>&#x2022; [`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
+ ```