pulumi-cloudflare 6.10.1__py3-none-any.whl → 6.11.0__py3-none-any.whl

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 (96) hide show
  1. pulumi_cloudflare/__init__.py +31 -0
  2. pulumi_cloudflare/_inputs.py +2127 -309
  3. pulumi_cloudflare/access_application.py +7 -7
  4. pulumi_cloudflare/access_identity_provider.py +60 -0
  5. pulumi_cloudflare/access_mutual_tls_hostname_settings.py +26 -0
  6. pulumi_cloudflare/access_organization.py +56 -0
  7. pulumi_cloudflare/access_policy.py +96 -0
  8. pulumi_cloudflare/account.py +47 -0
  9. pulumi_cloudflare/account_dns_settings.py +62 -0
  10. pulumi_cloudflare/account_subscription.py +36 -0
  11. pulumi_cloudflare/account_token.py +90 -0
  12. pulumi_cloudflare/api_shield.py +0 -68
  13. pulumi_cloudflare/api_token.py +88 -0
  14. pulumi_cloudflare/authenticated_origin_pulls.py +26 -0
  15. pulumi_cloudflare/content_scanning.py +253 -0
  16. pulumi_cloudflare/custom_hostname.py +144 -0
  17. pulumi_cloudflare/custom_pages.py +7 -7
  18. pulumi_cloudflare/device_managed_networks.py +28 -0
  19. pulumi_cloudflare/device_posture_integration.py +34 -0
  20. pulumi_cloudflare/device_posture_rule.py +46 -0
  21. pulumi_cloudflare/dlp_custom_profile.py +57 -7
  22. pulumi_cloudflare/dns_firewall.py +50 -0
  23. pulumi_cloudflare/dns_record.py +38 -0
  24. pulumi_cloudflare/get_account.py +15 -1
  25. pulumi_cloudflare/get_api_shield.py +5 -27
  26. pulumi_cloudflare/get_content_scanning.py +136 -0
  27. pulumi_cloudflare/get_custom_pages.py +3 -3
  28. pulumi_cloudflare/get_list.py +2 -2
  29. pulumi_cloudflare/get_magic_transit_connector.py +12 -1
  30. pulumi_cloudflare/get_notification_policy.py +3 -3
  31. pulumi_cloudflare/get_notification_policy_webhooks.py +2 -2
  32. pulumi_cloudflare/get_organization.py +171 -0
  33. pulumi_cloudflare/get_organization_profile.py +154 -0
  34. pulumi_cloudflare/get_organizations.py +248 -0
  35. pulumi_cloudflare/get_pages_project.py +77 -7
  36. pulumi_cloudflare/get_worker.py +15 -1
  37. pulumi_cloudflare/get_zero_trust_access_application.py +1 -1
  38. pulumi_cloudflare/get_zero_trust_dex_test.py +7 -0
  39. pulumi_cloudflare/get_zero_trust_gateway_policy.py +1 -1
  40. pulumi_cloudflare/get_zero_trust_tunnel_cloudflared_config.py +18 -4
  41. pulumi_cloudflare/healthcheck.py +84 -0
  42. pulumi_cloudflare/hyperdrive_config.py +52 -0
  43. pulumi_cloudflare/keyless_certificate.py +34 -0
  44. pulumi_cloudflare/list_item.py +16 -0
  45. pulumi_cloudflare/load_balancer.py +282 -0
  46. pulumi_cloudflare/logpush_job.py +80 -0
  47. pulumi_cloudflare/magic_transit_site_acl.py +56 -0
  48. pulumi_cloudflare/magic_transit_site_lan.py +82 -0
  49. pulumi_cloudflare/magic_transit_site_wan.py +36 -0
  50. pulumi_cloudflare/magic_wan_static_route.py +34 -0
  51. pulumi_cloudflare/notification_policy.py +145 -7
  52. pulumi_cloudflare/organization.py +297 -0
  53. pulumi_cloudflare/organization_profile.py +340 -0
  54. pulumi_cloudflare/outputs.py +3322 -642
  55. pulumi_cloudflare/page_rule.py +34 -0
  56. pulumi_cloudflare/pages_project.py +571 -30
  57. pulumi_cloudflare/pulumi-plugin.json +1 -1
  58. pulumi_cloudflare/queue_consumer.py +38 -0
  59. pulumi_cloudflare/r2_bucket_cors.py +38 -0
  60. pulumi_cloudflare/r2_bucket_event_notification.py +19 -18
  61. pulumi_cloudflare/r2_bucket_lifecycle.py +70 -0
  62. pulumi_cloudflare/record.py +38 -0
  63. pulumi_cloudflare/snippet.py +42 -0
  64. pulumi_cloudflare/snippet_rules.py +28 -0
  65. pulumi_cloudflare/static_route.py +34 -0
  66. pulumi_cloudflare/teams_account.py +148 -0
  67. pulumi_cloudflare/teams_rule.py +259 -7
  68. pulumi_cloudflare/tunnel_config.py +50 -3
  69. pulumi_cloudflare/worker.py +88 -0
  70. pulumi_cloudflare/worker_script.py +158 -2
  71. pulumi_cloudflare/worker_version.py +112 -0
  72. pulumi_cloudflare/workers_deployment.py +34 -0
  73. pulumi_cloudflare/workers_script.py +158 -2
  74. pulumi_cloudflare/zero_trust_access_application.py +7 -7
  75. pulumi_cloudflare/zero_trust_access_identity_provider.py +60 -0
  76. pulumi_cloudflare/zero_trust_access_mtls_hostname_settings.py +26 -0
  77. pulumi_cloudflare/zero_trust_access_policy.py +96 -0
  78. pulumi_cloudflare/zero_trust_device_managed_networks.py +28 -0
  79. pulumi_cloudflare/zero_trust_device_posture_integration.py +34 -0
  80. pulumi_cloudflare/zero_trust_device_posture_rule.py +46 -0
  81. pulumi_cloudflare/zero_trust_dex_test.py +63 -3
  82. pulumi_cloudflare/zero_trust_dlp_custom_entry.py +6 -7
  83. pulumi_cloudflare/zero_trust_dlp_custom_profile.py +57 -7
  84. pulumi_cloudflare/zero_trust_dlp_entry.py +6 -7
  85. pulumi_cloudflare/zero_trust_dlp_predefined_entry.py +1 -1
  86. pulumi_cloudflare/zero_trust_gateway_policy.py +259 -7
  87. pulumi_cloudflare/zero_trust_gateway_settings.py +148 -0
  88. pulumi_cloudflare/zero_trust_organization.py +56 -0
  89. pulumi_cloudflare/zero_trust_tunnel_cloudflared_config.py +50 -3
  90. pulumi_cloudflare/zone_cache_variants.py +108 -0
  91. pulumi_cloudflare/zone_dns_settings.py +60 -0
  92. pulumi_cloudflare/zone_subscription.py +36 -0
  93. {pulumi_cloudflare-6.10.1.dist-info → pulumi_cloudflare-6.11.0.dist-info}/METADATA +1 -1
  94. {pulumi_cloudflare-6.10.1.dist-info → pulumi_cloudflare-6.11.0.dist-info}/RECORD +96 -89
  95. {pulumi_cloudflare-6.10.1.dist-info → pulumi_cloudflare-6.11.0.dist-info}/WHEEL +0 -0
  96. {pulumi_cloudflare-6.10.1.dist-info → pulumi_cloudflare-6.11.0.dist-info}/top_level.txt +0 -0
@@ -182,6 +182,19 @@ class ZeroTrustAccessMtlsHostnameSettings(pulumi.CustomResource):
182
182
  """
183
183
  ## Example Usage
184
184
 
185
+ ```python
186
+ import pulumi
187
+ import pulumi_cloudflare as cloudflare
188
+
189
+ example_zero_trust_access_mtls_hostname_settings = cloudflare.ZeroTrustAccessMtlsHostnameSettings("example_zero_trust_access_mtls_hostname_settings",
190
+ settings=[{
191
+ "china_network": False,
192
+ "client_certificate_forwarding": True,
193
+ "hostname": "admin.example.com",
194
+ }],
195
+ zone_id="zone_id")
196
+ ```
197
+
185
198
  :param str resource_name: The name of the resource.
186
199
  :param pulumi.ResourceOptions opts: Options for the resource.
187
200
  :param pulumi.Input[_builtins.str] account_id: The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
@@ -196,6 +209,19 @@ class ZeroTrustAccessMtlsHostnameSettings(pulumi.CustomResource):
196
209
  """
197
210
  ## Example Usage
198
211
 
212
+ ```python
213
+ import pulumi
214
+ import pulumi_cloudflare as cloudflare
215
+
216
+ example_zero_trust_access_mtls_hostname_settings = cloudflare.ZeroTrustAccessMtlsHostnameSettings("example_zero_trust_access_mtls_hostname_settings",
217
+ settings=[{
218
+ "china_network": False,
219
+ "client_certificate_forwarding": True,
220
+ "hostname": "admin.example.com",
221
+ }],
222
+ zone_id="zone_id")
223
+ ```
224
+
199
225
  :param str resource_name: The name of the resource.
200
226
  :param ZeroTrustAccessMtlsHostnameSettingsArgs args: The arguments to use to populate this resource's properties.
201
227
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -441,6 +441,54 @@ class ZeroTrustAccessPolicy(pulumi.CustomResource):
441
441
  """
442
442
  ## Example Usage
443
443
 
444
+ ```python
445
+ import pulumi
446
+ import pulumi_cloudflare as cloudflare
447
+
448
+ example_zero_trust_access_policy = cloudflare.ZeroTrustAccessPolicy("example_zero_trust_access_policy",
449
+ account_id="023e105f4ecef8ad9ca31a8372d0c353",
450
+ decision="allow",
451
+ includes=[{
452
+ "group": {
453
+ "id": "aa0a4aab-672b-4bdb-bc33-a59f1130a11f",
454
+ },
455
+ }],
456
+ name="Allow devs",
457
+ approval_groups=[
458
+ {
459
+ "approvals_needed": 1,
460
+ "email_addresses": [
461
+ "test1@cloudflare.com",
462
+ "test2@cloudflare.com",
463
+ ],
464
+ "email_list_uuid": "email_list_uuid",
465
+ },
466
+ {
467
+ "approvals_needed": 3,
468
+ "email_addresses": [
469
+ "test@cloudflare.com",
470
+ "test2@cloudflare.com",
471
+ ],
472
+ "email_list_uuid": "597147a1-976b-4ef2-9af0-81d5d007fc34",
473
+ },
474
+ ],
475
+ approval_required=True,
476
+ excludes=[{
477
+ "group": {
478
+ "id": "aa0a4aab-672b-4bdb-bc33-a59f1130a11f",
479
+ },
480
+ }],
481
+ isolation_required=False,
482
+ purpose_justification_prompt="Please enter a justification for entering this protected domain.",
483
+ purpose_justification_required=True,
484
+ requires=[{
485
+ "group": {
486
+ "id": "aa0a4aab-672b-4bdb-bc33-a59f1130a11f",
487
+ },
488
+ }],
489
+ session_duration="24h")
490
+ ```
491
+
444
492
  ## Import
445
493
 
446
494
  ```sh
@@ -472,6 +520,54 @@ class ZeroTrustAccessPolicy(pulumi.CustomResource):
472
520
  """
473
521
  ## Example Usage
474
522
 
523
+ ```python
524
+ import pulumi
525
+ import pulumi_cloudflare as cloudflare
526
+
527
+ example_zero_trust_access_policy = cloudflare.ZeroTrustAccessPolicy("example_zero_trust_access_policy",
528
+ account_id="023e105f4ecef8ad9ca31a8372d0c353",
529
+ decision="allow",
530
+ includes=[{
531
+ "group": {
532
+ "id": "aa0a4aab-672b-4bdb-bc33-a59f1130a11f",
533
+ },
534
+ }],
535
+ name="Allow devs",
536
+ approval_groups=[
537
+ {
538
+ "approvals_needed": 1,
539
+ "email_addresses": [
540
+ "test1@cloudflare.com",
541
+ "test2@cloudflare.com",
542
+ ],
543
+ "email_list_uuid": "email_list_uuid",
544
+ },
545
+ {
546
+ "approvals_needed": 3,
547
+ "email_addresses": [
548
+ "test@cloudflare.com",
549
+ "test2@cloudflare.com",
550
+ ],
551
+ "email_list_uuid": "597147a1-976b-4ef2-9af0-81d5d007fc34",
552
+ },
553
+ ],
554
+ approval_required=True,
555
+ excludes=[{
556
+ "group": {
557
+ "id": "aa0a4aab-672b-4bdb-bc33-a59f1130a11f",
558
+ },
559
+ }],
560
+ isolation_required=False,
561
+ purpose_justification_prompt="Please enter a justification for entering this protected domain.",
562
+ purpose_justification_required=True,
563
+ requires=[{
564
+ "group": {
565
+ "id": "aa0a4aab-672b-4bdb-bc33-a59f1130a11f",
566
+ },
567
+ }],
568
+ session_duration="24h")
569
+ ```
570
+
475
571
  ## Import
476
572
 
477
573
  ```sh
@@ -184,6 +184,20 @@ class ZeroTrustDeviceManagedNetworks(pulumi.CustomResource):
184
184
  """
185
185
  ## Example Usage
186
186
 
187
+ ```python
188
+ import pulumi
189
+ import pulumi_cloudflare as cloudflare
190
+
191
+ example_zero_trust_device_managed_networks = cloudflare.ZeroTrustDeviceManagedNetworks("example_zero_trust_device_managed_networks",
192
+ account_id="699d98642c564d2e855e9661899b7252",
193
+ config={
194
+ "tls_sockaddr": "foo.bar:1234",
195
+ "sha256": "b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c",
196
+ },
197
+ name="managed-network-1",
198
+ type="tls")
199
+ ```
200
+
187
201
  ## Import
188
202
 
189
203
  ```sh
@@ -206,6 +220,20 @@ class ZeroTrustDeviceManagedNetworks(pulumi.CustomResource):
206
220
  """
207
221
  ## Example Usage
208
222
 
223
+ ```python
224
+ import pulumi
225
+ import pulumi_cloudflare as cloudflare
226
+
227
+ example_zero_trust_device_managed_networks = cloudflare.ZeroTrustDeviceManagedNetworks("example_zero_trust_device_managed_networks",
228
+ account_id="699d98642c564d2e855e9661899b7252",
229
+ config={
230
+ "tls_sockaddr": "foo.bar:1234",
231
+ "sha256": "b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c",
232
+ },
233
+ name="managed-network-1",
234
+ type="tls")
235
+ ```
236
+
209
237
  ## Import
210
238
 
211
239
  ```sh
@@ -200,6 +200,23 @@ class ZeroTrustDevicePostureIntegration(pulumi.CustomResource):
200
200
  """
201
201
  ## Example Usage
202
202
 
203
+ ```python
204
+ import pulumi
205
+ import pulumi_cloudflare as cloudflare
206
+
207
+ example_zero_trust_device_posture_integration = cloudflare.ZeroTrustDevicePostureIntegration("example_zero_trust_device_posture_integration",
208
+ account_id="699d98642c564d2e855e9661899b7252",
209
+ config={
210
+ "api_url": "https://as123.awmdm.com/API",
211
+ "auth_url": "https://na.uemauth.vmwservices.com/connect/token",
212
+ "client_id": "example client id",
213
+ "client_secret": "example client secret",
214
+ },
215
+ interval="10m",
216
+ name="My Workspace One Integration",
217
+ type="workspace_one")
218
+ ```
219
+
203
220
  ## Import
204
221
 
205
222
  ```sh
@@ -223,6 +240,23 @@ class ZeroTrustDevicePostureIntegration(pulumi.CustomResource):
223
240
  """
224
241
  ## Example Usage
225
242
 
243
+ ```python
244
+ import pulumi
245
+ import pulumi_cloudflare as cloudflare
246
+
247
+ example_zero_trust_device_posture_integration = cloudflare.ZeroTrustDevicePostureIntegration("example_zero_trust_device_posture_integration",
248
+ account_id="699d98642c564d2e855e9661899b7252",
249
+ config={
250
+ "api_url": "https://as123.awmdm.com/API",
251
+ "auth_url": "https://na.uemauth.vmwservices.com/connect/token",
252
+ "client_id": "example client id",
253
+ "client_secret": "example client secret",
254
+ },
255
+ interval="10m",
256
+ name="My Workspace One Integration",
257
+ type="workspace_one")
258
+ ```
259
+
226
260
  ## Import
227
261
 
228
262
  ```sh
@@ -301,6 +301,29 @@ class ZeroTrustDevicePostureRule(pulumi.CustomResource):
301
301
  """
302
302
  ## Example Usage
303
303
 
304
+ ```python
305
+ import pulumi
306
+ import pulumi_cloudflare as cloudflare
307
+
308
+ example_zero_trust_device_posture_rule = cloudflare.ZeroTrustDevicePostureRule("example_zero_trust_device_posture_rule",
309
+ account_id="699d98642c564d2e855e9661899b7252",
310
+ name="Admin Serial Numbers",
311
+ type="file",
312
+ description="The rule for admin serial numbers",
313
+ expiration="1h",
314
+ input={
315
+ "operating_system": "linux",
316
+ "path": "/bin/cat",
317
+ "exists": True,
318
+ "sha256": "https://api.us-2.crowdstrike.com",
319
+ "thumbprint": "0aabab210bdb998e9cf45da2c9ce352977ab531c681b74cf1e487be1bbe9fe6e",
320
+ },
321
+ matches=[{
322
+ "platform": "windows",
323
+ }],
324
+ schedule="1h")
325
+ ```
326
+
304
327
  ## Import
305
328
 
306
329
  ```sh
@@ -327,6 +350,29 @@ class ZeroTrustDevicePostureRule(pulumi.CustomResource):
327
350
  """
328
351
  ## Example Usage
329
352
 
353
+ ```python
354
+ import pulumi
355
+ import pulumi_cloudflare as cloudflare
356
+
357
+ example_zero_trust_device_posture_rule = cloudflare.ZeroTrustDevicePostureRule("example_zero_trust_device_posture_rule",
358
+ account_id="699d98642c564d2e855e9661899b7252",
359
+ name="Admin Serial Numbers",
360
+ type="file",
361
+ description="The rule for admin serial numbers",
362
+ expiration="1h",
363
+ input={
364
+ "operating_system": "linux",
365
+ "path": "/bin/cat",
366
+ "exists": True,
367
+ "sha256": "https://api.us-2.crowdstrike.com",
368
+ "thumbprint": "0aabab210bdb998e9cf45da2c9ce352977ab531c681b74cf1e487be1bbe9fe6e",
369
+ },
370
+ matches=[{
371
+ "platform": "windows",
372
+ }],
373
+ schedule="1h")
374
+ ```
375
+
330
376
  ## Import
331
377
 
332
378
  ```sh
@@ -27,7 +27,8 @@ class ZeroTrustDexTestArgs:
27
27
  interval: pulumi.Input[_builtins.str],
28
28
  name: pulumi.Input[_builtins.str],
29
29
  description: Optional[pulumi.Input[_builtins.str]] = None,
30
- target_policies: Optional[pulumi.Input[Sequence[pulumi.Input['ZeroTrustDexTestTargetPolicyArgs']]]] = None):
30
+ target_policies: Optional[pulumi.Input[Sequence[pulumi.Input['ZeroTrustDexTestTargetPolicyArgs']]]] = None,
31
+ targeted: Optional[pulumi.Input[_builtins.bool]] = None):
31
32
  """
32
33
  The set of arguments for constructing a ZeroTrustDexTest resource.
33
34
  :param pulumi.Input['ZeroTrustDexTestDataArgs'] data: The configuration object which contains the details for the WARP client to conduct the test.
@@ -46,6 +47,8 @@ class ZeroTrustDexTestArgs:
46
47
  pulumi.set(__self__, "description", description)
47
48
  if target_policies is not None:
48
49
  pulumi.set(__self__, "target_policies", target_policies)
50
+ if targeted is not None:
51
+ pulumi.set(__self__, "targeted", targeted)
49
52
 
50
53
  @_builtins.property
51
54
  @pulumi.getter(name="accountId")
@@ -128,6 +131,15 @@ class ZeroTrustDexTestArgs:
128
131
  def target_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ZeroTrustDexTestTargetPolicyArgs']]]]):
129
132
  pulumi.set(self, "target_policies", value)
130
133
 
134
+ @_builtins.property
135
+ @pulumi.getter
136
+ def targeted(self) -> Optional[pulumi.Input[_builtins.bool]]:
137
+ return pulumi.get(self, "targeted")
138
+
139
+ @targeted.setter
140
+ def targeted(self, value: Optional[pulumi.Input[_builtins.bool]]):
141
+ pulumi.set(self, "targeted", value)
142
+
131
143
 
132
144
  @pulumi.input_type
133
145
  class _ZeroTrustDexTestState:
@@ -286,10 +298,34 @@ class ZeroTrustDexTest(pulumi.CustomResource):
286
298
  interval: Optional[pulumi.Input[_builtins.str]] = None,
287
299
  name: Optional[pulumi.Input[_builtins.str]] = None,
288
300
  target_policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ZeroTrustDexTestTargetPolicyArgs', 'ZeroTrustDexTestTargetPolicyArgsDict']]]]] = None,
301
+ targeted: Optional[pulumi.Input[_builtins.bool]] = None,
289
302
  __props__=None):
290
303
  """
291
304
  ## Example Usage
292
305
 
306
+ ```python
307
+ import pulumi
308
+ import pulumi_cloudflare as cloudflare
309
+
310
+ example_zero_trust_dex_test = cloudflare.ZeroTrustDexTest("example_zero_trust_dex_test",
311
+ account_id="01a7362d577a6c3019a474fd6f485823",
312
+ data={
313
+ "host": "https://dash.cloudflare.com",
314
+ "kind": "http",
315
+ "method": "GET",
316
+ },
317
+ enabled=True,
318
+ interval="30m",
319
+ name="HTTP dash health check",
320
+ description="Checks the dash endpoint every 30 minutes",
321
+ target_policies=[{
322
+ "id": "id",
323
+ "default": True,
324
+ "name": "name",
325
+ }],
326
+ targeted=True)
327
+ ```
328
+
293
329
  ## Import
294
330
 
295
331
  ```sh
@@ -314,6 +350,29 @@ class ZeroTrustDexTest(pulumi.CustomResource):
314
350
  """
315
351
  ## Example Usage
316
352
 
353
+ ```python
354
+ import pulumi
355
+ import pulumi_cloudflare as cloudflare
356
+
357
+ example_zero_trust_dex_test = cloudflare.ZeroTrustDexTest("example_zero_trust_dex_test",
358
+ account_id="01a7362d577a6c3019a474fd6f485823",
359
+ data={
360
+ "host": "https://dash.cloudflare.com",
361
+ "kind": "http",
362
+ "method": "GET",
363
+ },
364
+ enabled=True,
365
+ interval="30m",
366
+ name="HTTP dash health check",
367
+ description="Checks the dash endpoint every 30 minutes",
368
+ target_policies=[{
369
+ "id": "id",
370
+ "default": True,
371
+ "name": "name",
372
+ }],
373
+ targeted=True)
374
+ ```
375
+
317
376
  ## Import
318
377
 
319
378
  ```sh
@@ -342,6 +401,7 @@ class ZeroTrustDexTest(pulumi.CustomResource):
342
401
  interval: Optional[pulumi.Input[_builtins.str]] = None,
343
402
  name: Optional[pulumi.Input[_builtins.str]] = None,
344
403
  target_policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ZeroTrustDexTestTargetPolicyArgs', 'ZeroTrustDexTestTargetPolicyArgsDict']]]]] = None,
404
+ targeted: Optional[pulumi.Input[_builtins.bool]] = None,
345
405
  __props__=None):
346
406
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
347
407
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -368,7 +428,7 @@ class ZeroTrustDexTest(pulumi.CustomResource):
368
428
  raise TypeError("Missing required property 'name'")
369
429
  __props__.__dict__["name"] = name
370
430
  __props__.__dict__["target_policies"] = target_policies
371
- __props__.__dict__["targeted"] = None
431
+ __props__.__dict__["targeted"] = targeted
372
432
  __props__.__dict__["test_id"] = None
373
433
  super(ZeroTrustDexTest, __self__).__init__(
374
434
  'cloudflare:index/zeroTrustDexTest:ZeroTrustDexTest',
@@ -474,7 +534,7 @@ class ZeroTrustDexTest(pulumi.CustomResource):
474
534
 
475
535
  @_builtins.property
476
536
  @pulumi.getter
477
- def targeted(self) -> pulumi.Output[_builtins.bool]:
537
+ def targeted(self) -> pulumi.Output[Optional[_builtins.bool]]:
478
538
  return pulumi.get(self, "targeted")
479
539
 
480
540
  @_builtins.property
@@ -25,7 +25,7 @@ class ZeroTrustDlpCustomEntryArgs:
25
25
  enabled: pulumi.Input[_builtins.bool],
26
26
  name: pulumi.Input[_builtins.str],
27
27
  pattern: pulumi.Input['ZeroTrustDlpCustomEntryPatternArgs'],
28
- profile_id: pulumi.Input[_builtins.str]):
28
+ profile_id: Optional[pulumi.Input[_builtins.str]] = None):
29
29
  """
30
30
  The set of arguments for constructing a ZeroTrustDlpCustomEntry resource.
31
31
  """
@@ -33,7 +33,8 @@ class ZeroTrustDlpCustomEntryArgs:
33
33
  pulumi.set(__self__, "enabled", enabled)
34
34
  pulumi.set(__self__, "name", name)
35
35
  pulumi.set(__self__, "pattern", pattern)
36
- pulumi.set(__self__, "profile_id", profile_id)
36
+ if profile_id is not None:
37
+ pulumi.set(__self__, "profile_id", profile_id)
37
38
 
38
39
  @_builtins.property
39
40
  @pulumi.getter(name="accountId")
@@ -73,11 +74,11 @@ class ZeroTrustDlpCustomEntryArgs:
73
74
 
74
75
  @_builtins.property
75
76
  @pulumi.getter(name="profileId")
76
- def profile_id(self) -> pulumi.Input[_builtins.str]:
77
+ def profile_id(self) -> Optional[pulumi.Input[_builtins.str]]:
77
78
  return pulumi.get(self, "profile_id")
78
79
 
79
80
  @profile_id.setter
80
- def profile_id(self, value: pulumi.Input[_builtins.str]):
81
+ def profile_id(self, value: Optional[pulumi.Input[_builtins.str]]):
81
82
  pulumi.set(self, "profile_id", value)
82
83
 
83
84
 
@@ -367,8 +368,6 @@ class ZeroTrustDlpCustomEntry(pulumi.CustomResource):
367
368
  if pattern is None and not opts.urn:
368
369
  raise TypeError("Missing required property 'pattern'")
369
370
  __props__.__dict__["pattern"] = pattern
370
- if profile_id is None and not opts.urn:
371
- raise TypeError("Missing required property 'profile_id'")
372
371
  __props__.__dict__["profile_id"] = profile_id
373
372
  __props__.__dict__["case_sensitive"] = None
374
373
  __props__.__dict__["confidence"] = None
@@ -474,7 +473,7 @@ class ZeroTrustDlpCustomEntry(pulumi.CustomResource):
474
473
 
475
474
  @_builtins.property
476
475
  @pulumi.getter(name="profileId")
477
- def profile_id(self) -> pulumi.Output[_builtins.str]:
476
+ def profile_id(self) -> pulumi.Output[Optional[_builtins.str]]:
478
477
  return pulumi.get(self, "profile_id")
479
478
 
480
479
  @_builtins.property
@@ -56,8 +56,8 @@ class ZeroTrustDlpCustomProfileArgs:
56
56
  if description is not None:
57
57
  pulumi.set(__self__, "description", description)
58
58
  if entries is not None:
59
- warnings.warn("""This attribute is deprecated.""", DeprecationWarning)
60
- pulumi.log.warn("""entries is deprecated: This attribute is deprecated.""")
59
+ warnings.warn("""This attribute will be sunset on 01/01/2026""", DeprecationWarning)
60
+ pulumi.log.warn("""entries is deprecated: This attribute will be sunset on 01/01/2026""")
61
61
  if entries is not None:
62
62
  pulumi.set(__self__, "entries", entries)
63
63
  if ocr_enabled is not None:
@@ -140,7 +140,7 @@ class ZeroTrustDlpCustomProfileArgs:
140
140
 
141
141
  @_builtins.property
142
142
  @pulumi.getter
143
- @_utilities.deprecated("""This attribute is deprecated.""")
143
+ @_utilities.deprecated("""This attribute will be sunset on 01/01/2026""")
144
144
  def entries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ZeroTrustDlpCustomProfileEntryArgs']]]]:
145
145
  """
146
146
  Custom entries from this profile.
@@ -222,8 +222,8 @@ class _ZeroTrustDlpCustomProfileState:
222
222
  if description is not None:
223
223
  pulumi.set(__self__, "description", description)
224
224
  if entries is not None:
225
- warnings.warn("""This attribute is deprecated.""", DeprecationWarning)
226
- pulumi.log.warn("""entries is deprecated: This attribute is deprecated.""")
225
+ warnings.warn("""This attribute will be sunset on 01/01/2026""", DeprecationWarning)
226
+ pulumi.log.warn("""entries is deprecated: This attribute will be sunset on 01/01/2026""")
227
227
  if entries is not None:
228
228
  pulumi.set(__self__, "entries", entries)
229
229
  if name is not None:
@@ -317,7 +317,7 @@ class _ZeroTrustDlpCustomProfileState:
317
317
 
318
318
  @_builtins.property
319
319
  @pulumi.getter
320
- @_utilities.deprecated("""This attribute is deprecated.""")
320
+ @_utilities.deprecated("""This attribute will be sunset on 01/01/2026""")
321
321
  def entries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ZeroTrustDlpCustomProfileEntryArgs']]]]:
322
322
  """
323
323
  Custom entries from this profile.
@@ -416,6 +416,31 @@ class ZeroTrustDlpCustomProfile(pulumi.CustomResource):
416
416
  """
417
417
  ## Example Usage
418
418
 
419
+ ```python
420
+ import pulumi
421
+ import pulumi_cloudflare as cloudflare
422
+
423
+ example_zero_trust_dlp_custom_profile = cloudflare.ZeroTrustDlpCustomProfile("example_zero_trust_dlp_custom_profile",
424
+ account_id="account_id",
425
+ name="name",
426
+ ai_context_enabled=True,
427
+ allowed_match_count=5,
428
+ confidence_threshold="confidence_threshold",
429
+ context_awareness={
430
+ "enabled": True,
431
+ "skip": {
432
+ "files": True,
433
+ },
434
+ },
435
+ description="description",
436
+ ocr_enabled=True,
437
+ shared_entries=[{
438
+ "enabled": True,
439
+ "entry_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
440
+ "entry_type": "custom",
441
+ }])
442
+ ```
443
+
419
444
  ## Import
420
445
 
421
446
  ```sh
@@ -440,6 +465,31 @@ class ZeroTrustDlpCustomProfile(pulumi.CustomResource):
440
465
  """
441
466
  ## Example Usage
442
467
 
468
+ ```python
469
+ import pulumi
470
+ import pulumi_cloudflare as cloudflare
471
+
472
+ example_zero_trust_dlp_custom_profile = cloudflare.ZeroTrustDlpCustomProfile("example_zero_trust_dlp_custom_profile",
473
+ account_id="account_id",
474
+ name="name",
475
+ ai_context_enabled=True,
476
+ allowed_match_count=5,
477
+ confidence_threshold="confidence_threshold",
478
+ context_awareness={
479
+ "enabled": True,
480
+ "skip": {
481
+ "files": True,
482
+ },
483
+ },
484
+ description="description",
485
+ ocr_enabled=True,
486
+ shared_entries=[{
487
+ "enabled": True,
488
+ "entry_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
489
+ "entry_type": "custom",
490
+ }])
491
+ ```
492
+
443
493
  ## Import
444
494
 
445
495
  ```sh
@@ -612,7 +662,7 @@ class ZeroTrustDlpCustomProfile(pulumi.CustomResource):
612
662
 
613
663
  @_builtins.property
614
664
  @pulumi.getter
615
- @_utilities.deprecated("""This attribute is deprecated.""")
665
+ @_utilities.deprecated("""This attribute will be sunset on 01/01/2026""")
616
666
  def entries(self) -> pulumi.Output[Optional[Sequence['outputs.ZeroTrustDlpCustomProfileEntry']]]:
617
667
  """
618
668
  Custom entries from this profile.
@@ -25,7 +25,7 @@ class ZeroTrustDlpEntryArgs:
25
25
  enabled: pulumi.Input[_builtins.bool],
26
26
  name: pulumi.Input[_builtins.str],
27
27
  pattern: pulumi.Input['ZeroTrustDlpEntryPatternArgs'],
28
- profile_id: pulumi.Input[_builtins.str],
28
+ profile_id: Optional[pulumi.Input[_builtins.str]] = None,
29
29
  type: Optional[pulumi.Input[_builtins.str]] = None):
30
30
  """
31
31
  The set of arguments for constructing a ZeroTrustDlpEntry resource.
@@ -35,7 +35,8 @@ class ZeroTrustDlpEntryArgs:
35
35
  pulumi.set(__self__, "enabled", enabled)
36
36
  pulumi.set(__self__, "name", name)
37
37
  pulumi.set(__self__, "pattern", pattern)
38
- pulumi.set(__self__, "profile_id", profile_id)
38
+ if profile_id is not None:
39
+ pulumi.set(__self__, "profile_id", profile_id)
39
40
  if type is not None:
40
41
  pulumi.set(__self__, "type", type)
41
42
 
@@ -77,11 +78,11 @@ class ZeroTrustDlpEntryArgs:
77
78
 
78
79
  @_builtins.property
79
80
  @pulumi.getter(name="profileId")
80
- def profile_id(self) -> pulumi.Input[_builtins.str]:
81
+ def profile_id(self) -> Optional[pulumi.Input[_builtins.str]]:
81
82
  return pulumi.get(self, "profile_id")
82
83
 
83
84
  @profile_id.setter
84
- def profile_id(self, value: pulumi.Input[_builtins.str]):
85
+ def profile_id(self, value: Optional[pulumi.Input[_builtins.str]]):
85
86
  pulumi.set(self, "profile_id", value)
86
87
 
87
88
  @_builtins.property
@@ -386,8 +387,6 @@ class ZeroTrustDlpEntry(pulumi.CustomResource):
386
387
  if pattern is None and not opts.urn:
387
388
  raise TypeError("Missing required property 'pattern'")
388
389
  __props__.__dict__["pattern"] = pattern
389
- if profile_id is None and not opts.urn:
390
- raise TypeError("Missing required property 'profile_id'")
391
390
  __props__.__dict__["profile_id"] = profile_id
392
391
  __props__.__dict__["type"] = type
393
392
  __props__.__dict__["case_sensitive"] = None
@@ -493,7 +492,7 @@ class ZeroTrustDlpEntry(pulumi.CustomResource):
493
492
 
494
493
  @_builtins.property
495
494
  @pulumi.getter(name="profileId")
496
- def profile_id(self) -> pulumi.Output[_builtins.str]:
495
+ def profile_id(self) -> pulumi.Output[Optional[_builtins.str]]:
497
496
  return pulumi.get(self, "profile_id")
498
497
 
499
498
  @_builtins.property
@@ -486,7 +486,7 @@ class ZeroTrustDlpPredefinedEntry(pulumi.CustomResource):
486
486
 
487
487
  @_builtins.property
488
488
  @pulumi.getter(name="profileId")
489
- def profile_id(self) -> pulumi.Output[Optional[_builtins.str]]:
489
+ def profile_id(self) -> pulumi.Output[_builtins.str]:
490
490
  """
491
491
  This field is not actually used as the owning profile for a predefined entry is already set
492
492
  to a predefined profile