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
@@ -321,6 +321,78 @@ class CustomHostname(pulumi.CustomResource):
321
321
  """
322
322
  ## Example Usage
323
323
 
324
+ ```python
325
+ import pulumi
326
+ import pulumi_cloudflare as cloudflare
327
+
328
+ example_custom_hostname = cloudflare.CustomHostname("example_custom_hostname",
329
+ zone_id="023e105f4ecef8ad9ca31a8372d0c353",
330
+ hostname="app.example.com",
331
+ ssl={
332
+ "bundle_method": "ubiquitous",
333
+ "certificate_authority": "google",
334
+ "cloudflare_branding": False,
335
+ "custom_cert_bundles": [{
336
+ "custom_certificate": \"\"\" -----BEGIN CERTIFICATE-----
337
+ MIIDdjCCAl6gAwIBAgIJAPnMg0Fs+/B0MA0GCSqGSIb3DQEBCwUAMFsx...
338
+ -----END CERTIFICATE-----
339
+
340
+ \"\"\",
341
+ "custom_key": \"\"\" -----BEGIN PRIVATE KEY-----
342
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC/SCB5...
343
+ -----END PRIVATE KEY-----
344
+
345
+ \"\"\",
346
+ }],
347
+ "custom_certificate": "-----BEGIN CERTIFICATE-----\\\\nMIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/2gdUySbfzANBgkqhkiG9w0BAQsFADBN\\\\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E...SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O\\\\nOeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7\\\\n-----END CERTIFICATE-----\\\\n",
348
+ "custom_key": \"\"\" -----BEGIN RSA PRIVATE KEY-----
349
+ MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG
350
+ dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn
351
+ abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid
352
+ tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py
353
+ FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE
354
+ ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb
355
+ HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/
356
+ axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb
357
+ +ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g
358
+ +j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv
359
+ KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7
360
+ 9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo
361
+ /WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu
362
+ iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9
363
+ N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe
364
+ VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB
365
+ vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U
366
+ lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR
367
+ 9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7
368
+ mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX
369
+ dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe
370
+ PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS
371
+ fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W
372
+ qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T
373
+ lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi
374
+ -----END RSA PRIVATE KEY-----
375
+
376
+ \"\"\",
377
+ "method": "http",
378
+ "settings": {
379
+ "ciphers": [
380
+ "ECDHE-RSA-AES128-GCM-SHA256",
381
+ "AES128-SHA",
382
+ ],
383
+ "early_hints": "on",
384
+ "http2": "on",
385
+ "min_tls_version": "1.2",
386
+ "tls13": "on",
387
+ },
388
+ "type": "dv",
389
+ "wildcard": False,
390
+ },
391
+ custom_metadata={
392
+ "foo": "string",
393
+ })
394
+ ```
395
+
324
396
  ## Import
325
397
 
326
398
  ```sh
@@ -345,6 +417,78 @@ class CustomHostname(pulumi.CustomResource):
345
417
  """
346
418
  ## Example Usage
347
419
 
420
+ ```python
421
+ import pulumi
422
+ import pulumi_cloudflare as cloudflare
423
+
424
+ example_custom_hostname = cloudflare.CustomHostname("example_custom_hostname",
425
+ zone_id="023e105f4ecef8ad9ca31a8372d0c353",
426
+ hostname="app.example.com",
427
+ ssl={
428
+ "bundle_method": "ubiquitous",
429
+ "certificate_authority": "google",
430
+ "cloudflare_branding": False,
431
+ "custom_cert_bundles": [{
432
+ "custom_certificate": \"\"\" -----BEGIN CERTIFICATE-----
433
+ MIIDdjCCAl6gAwIBAgIJAPnMg0Fs+/B0MA0GCSqGSIb3DQEBCwUAMFsx...
434
+ -----END CERTIFICATE-----
435
+
436
+ \"\"\",
437
+ "custom_key": \"\"\" -----BEGIN PRIVATE KEY-----
438
+ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC/SCB5...
439
+ -----END PRIVATE KEY-----
440
+
441
+ \"\"\",
442
+ }],
443
+ "custom_certificate": "-----BEGIN CERTIFICATE-----\\\\nMIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/2gdUySbfzANBgkqhkiG9w0BAQsFADBN\\\\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E...SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O\\\\nOeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7\\\\n-----END CERTIFICATE-----\\\\n",
444
+ "custom_key": \"\"\" -----BEGIN RSA PRIVATE KEY-----
445
+ MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG
446
+ dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn
447
+ abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid
448
+ tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py
449
+ FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE
450
+ ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb
451
+ HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/
452
+ axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb
453
+ +ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g
454
+ +j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv
455
+ KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7
456
+ 9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo
457
+ /WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu
458
+ iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9
459
+ N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe
460
+ VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB
461
+ vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U
462
+ lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR
463
+ 9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7
464
+ mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX
465
+ dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe
466
+ PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS
467
+ fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W
468
+ qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T
469
+ lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi
470
+ -----END RSA PRIVATE KEY-----
471
+
472
+ \"\"\",
473
+ "method": "http",
474
+ "settings": {
475
+ "ciphers": [
476
+ "ECDHE-RSA-AES128-GCM-SHA256",
477
+ "AES128-SHA",
478
+ ],
479
+ "early_hints": "on",
480
+ "http2": "on",
481
+ "min_tls_version": "1.2",
482
+ "tls13": "on",
483
+ },
484
+ "type": "dv",
485
+ "wildcard": False,
486
+ },
487
+ custom_metadata={
488
+ "foo": "string",
489
+ })
490
+ ```
491
+
348
492
  ## Import
349
493
 
350
494
  ```sh
@@ -27,7 +27,7 @@ class CustomPagesArgs:
27
27
  """
28
28
  The set of arguments for constructing a CustomPages resource.
29
29
  :param pulumi.Input[_builtins.str] identifier: Error Page Types
30
- Available values: "under*attack", "basic*challenge", "waf*challenge", "waf*block", "ip*block", "country*challenge", "500*errors", "1000*errors", "managed*challenge", "ratelimit*block".
30
+ Available values: "1000*errors", "500*errors", "basic*challenge", "country*challenge", "ip*block", "managed*challenge", "ratelimit*block", "under*attack", "waf_block".
31
31
  :param pulumi.Input[_builtins.str] state: The custom page state.
32
32
  Available values: "default", "customized".
33
33
  :param pulumi.Input[_builtins.str] account_id: The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
@@ -48,7 +48,7 @@ class CustomPagesArgs:
48
48
  def identifier(self) -> pulumi.Input[_builtins.str]:
49
49
  """
50
50
  Error Page Types
51
- Available values: "under*attack", "basic*challenge", "waf*challenge", "waf*block", "ip*block", "country*challenge", "500*errors", "1000*errors", "managed*challenge", "ratelimit*block".
51
+ Available values: "1000*errors", "500*errors", "basic*challenge", "country*challenge", "ip*block", "managed*challenge", "ratelimit*block", "under*attack", "waf_block".
52
52
  """
53
53
  return pulumi.get(self, "identifier")
54
54
 
@@ -123,7 +123,7 @@ class _CustomPagesState:
123
123
  Input properties used for looking up and filtering CustomPages resources.
124
124
  :param pulumi.Input[_builtins.str] account_id: The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
125
125
  :param pulumi.Input[_builtins.str] identifier: Error Page Types
126
- Available values: "under*attack", "basic*challenge", "waf*challenge", "waf*block", "ip*block", "country*challenge", "500*errors", "1000*errors", "managed*challenge", "ratelimit*block".
126
+ Available values: "1000*errors", "500*errors", "basic*challenge", "country*challenge", "ip*block", "managed*challenge", "ratelimit*block", "under*attack", "waf_block".
127
127
  :param pulumi.Input[_builtins.str] state: The custom page state.
128
128
  Available values: "default", "customized".
129
129
  :param pulumi.Input[_builtins.str] url: The URL associated with the custom page.
@@ -185,7 +185,7 @@ class _CustomPagesState:
185
185
  def identifier(self) -> Optional[pulumi.Input[_builtins.str]]:
186
186
  """
187
187
  Error Page Types
188
- Available values: "under*attack", "basic*challenge", "waf*challenge", "waf*block", "ip*block", "country*challenge", "500*errors", "1000*errors", "managed*challenge", "ratelimit*block".
188
+ Available values: "1000*errors", "500*errors", "basic*challenge", "country*challenge", "ip*block", "managed*challenge", "ratelimit*block", "under*attack", "waf_block".
189
189
  """
190
190
  return pulumi.get(self, "identifier")
191
191
 
@@ -294,7 +294,7 @@ class CustomPages(pulumi.CustomResource):
294
294
  :param pulumi.ResourceOptions opts: Options for the resource.
295
295
  :param pulumi.Input[_builtins.str] account_id: The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
296
296
  :param pulumi.Input[_builtins.str] identifier: Error Page Types
297
- Available values: "under*attack", "basic*challenge", "waf*challenge", "waf*block", "ip*block", "country*challenge", "500*errors", "1000*errors", "managed*challenge", "ratelimit*block".
297
+ Available values: "1000*errors", "500*errors", "basic*challenge", "country*challenge", "ip*block", "managed*challenge", "ratelimit*block", "under*attack", "waf_block".
298
298
  :param pulumi.Input[_builtins.str] state: The custom page state.
299
299
  Available values: "default", "customized".
300
300
  :param pulumi.Input[_builtins.str] url: The URL associated with the custom page.
@@ -398,7 +398,7 @@ class CustomPages(pulumi.CustomResource):
398
398
  :param pulumi.ResourceOptions opts: Options for the resource.
399
399
  :param pulumi.Input[_builtins.str] account_id: The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
400
400
  :param pulumi.Input[_builtins.str] identifier: Error Page Types
401
- Available values: "under*attack", "basic*challenge", "waf*challenge", "waf*block", "ip*block", "country*challenge", "500*errors", "1000*errors", "managed*challenge", "ratelimit*block".
401
+ Available values: "1000*errors", "500*errors", "basic*challenge", "country*challenge", "ip*block", "managed*challenge", "ratelimit*block", "under*attack", "waf_block".
402
402
  :param pulumi.Input[_builtins.str] state: The custom page state.
403
403
  Available values: "default", "customized".
404
404
  :param pulumi.Input[_builtins.str] url: The URL associated with the custom page.
@@ -443,7 +443,7 @@ class CustomPages(pulumi.CustomResource):
443
443
  def identifier(self) -> pulumi.Output[_builtins.str]:
444
444
  """
445
445
  Error Page Types
446
- Available values: "under*attack", "basic*challenge", "waf*challenge", "waf*block", "ip*block", "country*challenge", "500*errors", "1000*errors", "managed*challenge", "ratelimit*block".
446
+ Available values: "1000*errors", "500*errors", "basic*challenge", "country*challenge", "ip*block", "managed*challenge", "ratelimit*block", "under*attack", "waf_block".
447
447
  """
448
448
  return pulumi.get(self, "identifier")
449
449
 
@@ -189,6 +189,20 @@ class DeviceManagedNetworks(pulumi.CustomResource):
189
189
  """
190
190
  ## Example Usage
191
191
 
192
+ ```python
193
+ import pulumi
194
+ import pulumi_cloudflare as cloudflare
195
+
196
+ example_zero_trust_device_managed_networks = cloudflare.ZeroTrustDeviceManagedNetworks("example_zero_trust_device_managed_networks",
197
+ account_id="699d98642c564d2e855e9661899b7252",
198
+ config={
199
+ "tls_sockaddr": "foo.bar:1234",
200
+ "sha256": "b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c",
201
+ },
202
+ name="managed-network-1",
203
+ type="tls")
204
+ ```
205
+
192
206
  ## Import
193
207
 
194
208
  ```sh
@@ -211,6 +225,20 @@ class DeviceManagedNetworks(pulumi.CustomResource):
211
225
  """
212
226
  ## Example Usage
213
227
 
228
+ ```python
229
+ import pulumi
230
+ import pulumi_cloudflare as cloudflare
231
+
232
+ example_zero_trust_device_managed_networks = cloudflare.ZeroTrustDeviceManagedNetworks("example_zero_trust_device_managed_networks",
233
+ account_id="699d98642c564d2e855e9661899b7252",
234
+ config={
235
+ "tls_sockaddr": "foo.bar:1234",
236
+ "sha256": "b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c",
237
+ },
238
+ name="managed-network-1",
239
+ type="tls")
240
+ ```
241
+
214
242
  ## Import
215
243
 
216
244
  ```sh
@@ -205,6 +205,23 @@ class DevicePostureIntegration(pulumi.CustomResource):
205
205
  """
206
206
  ## Example Usage
207
207
 
208
+ ```python
209
+ import pulumi
210
+ import pulumi_cloudflare as cloudflare
211
+
212
+ example_zero_trust_device_posture_integration = cloudflare.ZeroTrustDevicePostureIntegration("example_zero_trust_device_posture_integration",
213
+ account_id="699d98642c564d2e855e9661899b7252",
214
+ config={
215
+ "api_url": "https://as123.awmdm.com/API",
216
+ "auth_url": "https://na.uemauth.vmwservices.com/connect/token",
217
+ "client_id": "example client id",
218
+ "client_secret": "example client secret",
219
+ },
220
+ interval="10m",
221
+ name="My Workspace One Integration",
222
+ type="workspace_one")
223
+ ```
224
+
208
225
  ## Import
209
226
 
210
227
  ```sh
@@ -228,6 +245,23 @@ class DevicePostureIntegration(pulumi.CustomResource):
228
245
  """
229
246
  ## Example Usage
230
247
 
248
+ ```python
249
+ import pulumi
250
+ import pulumi_cloudflare as cloudflare
251
+
252
+ example_zero_trust_device_posture_integration = cloudflare.ZeroTrustDevicePostureIntegration("example_zero_trust_device_posture_integration",
253
+ account_id="699d98642c564d2e855e9661899b7252",
254
+ config={
255
+ "api_url": "https://as123.awmdm.com/API",
256
+ "auth_url": "https://na.uemauth.vmwservices.com/connect/token",
257
+ "client_id": "example client id",
258
+ "client_secret": "example client secret",
259
+ },
260
+ interval="10m",
261
+ name="My Workspace One Integration",
262
+ type="workspace_one")
263
+ ```
264
+
231
265
  ## Import
232
266
 
233
267
  ```sh
@@ -306,6 +306,29 @@ class DevicePostureRule(pulumi.CustomResource):
306
306
  """
307
307
  ## Example Usage
308
308
 
309
+ ```python
310
+ import pulumi
311
+ import pulumi_cloudflare as cloudflare
312
+
313
+ example_zero_trust_device_posture_rule = cloudflare.ZeroTrustDevicePostureRule("example_zero_trust_device_posture_rule",
314
+ account_id="699d98642c564d2e855e9661899b7252",
315
+ name="Admin Serial Numbers",
316
+ type="file",
317
+ description="The rule for admin serial numbers",
318
+ expiration="1h",
319
+ input={
320
+ "operating_system": "linux",
321
+ "path": "/bin/cat",
322
+ "exists": True,
323
+ "sha256": "https://api.us-2.crowdstrike.com",
324
+ "thumbprint": "0aabab210bdb998e9cf45da2c9ce352977ab531c681b74cf1e487be1bbe9fe6e",
325
+ },
326
+ matches=[{
327
+ "platform": "windows",
328
+ }],
329
+ schedule="1h")
330
+ ```
331
+
309
332
  ## Import
310
333
 
311
334
  ```sh
@@ -332,6 +355,29 @@ class DevicePostureRule(pulumi.CustomResource):
332
355
  """
333
356
  ## Example Usage
334
357
 
358
+ ```python
359
+ import pulumi
360
+ import pulumi_cloudflare as cloudflare
361
+
362
+ example_zero_trust_device_posture_rule = cloudflare.ZeroTrustDevicePostureRule("example_zero_trust_device_posture_rule",
363
+ account_id="699d98642c564d2e855e9661899b7252",
364
+ name="Admin Serial Numbers",
365
+ type="file",
366
+ description="The rule for admin serial numbers",
367
+ expiration="1h",
368
+ input={
369
+ "operating_system": "linux",
370
+ "path": "/bin/cat",
371
+ "exists": True,
372
+ "sha256": "https://api.us-2.crowdstrike.com",
373
+ "thumbprint": "0aabab210bdb998e9cf45da2c9ce352977ab531c681b74cf1e487be1bbe9fe6e",
374
+ },
375
+ matches=[{
376
+ "platform": "windows",
377
+ }],
378
+ schedule="1h")
379
+ ```
380
+
335
381
  ## Import
336
382
 
337
383
  ```sh
@@ -56,8 +56,8 @@ class DlpCustomProfileArgs:
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 DlpCustomProfileArgs:
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['DlpCustomProfileEntryArgs']]]]:
145
145
  """
146
146
  Custom entries from this profile.
@@ -222,8 +222,8 @@ class _DlpCustomProfileState:
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 _DlpCustomProfileState:
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['DlpCustomProfileEntryArgs']]]]:
322
322
  """
323
323
  Custom entries from this profile.
@@ -421,6 +421,31 @@ class DlpCustomProfile(pulumi.CustomResource):
421
421
  """
422
422
  ## Example Usage
423
423
 
424
+ ```python
425
+ import pulumi
426
+ import pulumi_cloudflare as cloudflare
427
+
428
+ example_zero_trust_dlp_custom_profile = cloudflare.ZeroTrustDlpCustomProfile("example_zero_trust_dlp_custom_profile",
429
+ account_id="account_id",
430
+ name="name",
431
+ ai_context_enabled=True,
432
+ allowed_match_count=5,
433
+ confidence_threshold="confidence_threshold",
434
+ context_awareness={
435
+ "enabled": True,
436
+ "skip": {
437
+ "files": True,
438
+ },
439
+ },
440
+ description="description",
441
+ ocr_enabled=True,
442
+ shared_entries=[{
443
+ "enabled": True,
444
+ "entry_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
445
+ "entry_type": "custom",
446
+ }])
447
+ ```
448
+
424
449
  ## Import
425
450
 
426
451
  ```sh
@@ -445,6 +470,31 @@ class DlpCustomProfile(pulumi.CustomResource):
445
470
  """
446
471
  ## Example Usage
447
472
 
473
+ ```python
474
+ import pulumi
475
+ import pulumi_cloudflare as cloudflare
476
+
477
+ example_zero_trust_dlp_custom_profile = cloudflare.ZeroTrustDlpCustomProfile("example_zero_trust_dlp_custom_profile",
478
+ account_id="account_id",
479
+ name="name",
480
+ ai_context_enabled=True,
481
+ allowed_match_count=5,
482
+ confidence_threshold="confidence_threshold",
483
+ context_awareness={
484
+ "enabled": True,
485
+ "skip": {
486
+ "files": True,
487
+ },
488
+ },
489
+ description="description",
490
+ ocr_enabled=True,
491
+ shared_entries=[{
492
+ "enabled": True,
493
+ "entry_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
494
+ "entry_type": "custom",
495
+ }])
496
+ ```
497
+
448
498
  ## Import
449
499
 
450
500
  ```sh
@@ -618,7 +668,7 @@ class DlpCustomProfile(pulumi.CustomResource):
618
668
 
619
669
  @_builtins.property
620
670
  @pulumi.getter
621
- @_utilities.deprecated("""This attribute is deprecated.""")
671
+ @_utilities.deprecated("""This attribute will be sunset on 01/01/2026""")
622
672
  def entries(self) -> pulumi.Output[Optional[Sequence['outputs.DlpCustomProfileEntry']]]:
623
673
  """
624
674
  Custom entries from this profile.
@@ -504,6 +504,31 @@ class DnsFirewall(pulumi.CustomResource):
504
504
  """
505
505
  ## Example Usage
506
506
 
507
+ ```python
508
+ import pulumi
509
+ import pulumi_cloudflare as cloudflare
510
+
511
+ example_dns_firewall = cloudflare.DnsFirewall("example_dns_firewall",
512
+ account_id="023e105f4ecef8ad9ca31a8372d0c353",
513
+ name="My Awesome DNS Firewall cluster",
514
+ upstream_ips=[
515
+ "192.0.2.1",
516
+ "198.51.100.1",
517
+ "2001:DB8:100::CF",
518
+ ],
519
+ attack_mitigation={
520
+ "enabled": True,
521
+ "only_when_upstream_unhealthy": False,
522
+ },
523
+ deprecate_any_requests=True,
524
+ ecs_fallback=False,
525
+ maximum_cache_ttl=900,
526
+ minimum_cache_ttl=60,
527
+ negative_cache_ttl=900,
528
+ ratelimit=600,
529
+ retries=2)
530
+ ```
531
+
507
532
  ## Import
508
533
 
509
534
  ```sh
@@ -552,6 +577,31 @@ class DnsFirewall(pulumi.CustomResource):
552
577
  """
553
578
  ## Example Usage
554
579
 
580
+ ```python
581
+ import pulumi
582
+ import pulumi_cloudflare as cloudflare
583
+
584
+ example_dns_firewall = cloudflare.DnsFirewall("example_dns_firewall",
585
+ account_id="023e105f4ecef8ad9ca31a8372d0c353",
586
+ name="My Awesome DNS Firewall cluster",
587
+ upstream_ips=[
588
+ "192.0.2.1",
589
+ "198.51.100.1",
590
+ "2001:DB8:100::CF",
591
+ ],
592
+ attack_mitigation={
593
+ "enabled": True,
594
+ "only_when_upstream_unhealthy": False,
595
+ },
596
+ deprecate_any_requests=True,
597
+ ecs_fallback=False,
598
+ maximum_cache_ttl=900,
599
+ minimum_cache_ttl=60,
600
+ negative_cache_ttl=900,
601
+ ratelimit=600,
602
+ retries=2)
603
+ ```
604
+
555
605
  ## Import
556
606
 
557
607
  ```sh
@@ -503,6 +503,25 @@ class DnsRecord(pulumi.CustomResource):
503
503
  """
504
504
  ## Example Usage
505
505
 
506
+ ```python
507
+ import pulumi
508
+ import pulumi_cloudflare as cloudflare
509
+
510
+ example_dns_record = cloudflare.DnsRecord("example_dns_record",
511
+ zone_id="023e105f4ecef8ad9ca31a8372d0c353",
512
+ name="example.com",
513
+ ttl=3600,
514
+ type="A",
515
+ comment="Domain verification record",
516
+ content="198.51.100.4",
517
+ proxied=True,
518
+ settings={
519
+ "ipv4_only": True,
520
+ "ipv6_only": True,
521
+ },
522
+ tags=["owner:dns-team"])
523
+ ```
524
+
506
525
  ## Import
507
526
 
508
527
  ```sh
@@ -533,6 +552,25 @@ class DnsRecord(pulumi.CustomResource):
533
552
  """
534
553
  ## Example Usage
535
554
 
555
+ ```python
556
+ import pulumi
557
+ import pulumi_cloudflare as cloudflare
558
+
559
+ example_dns_record = cloudflare.DnsRecord("example_dns_record",
560
+ zone_id="023e105f4ecef8ad9ca31a8372d0c353",
561
+ name="example.com",
562
+ ttl=3600,
563
+ type="A",
564
+ comment="Domain verification record",
565
+ content="198.51.100.4",
566
+ proxied=True,
567
+ settings={
568
+ "ipv4_only": True,
569
+ "ipv6_only": True,
570
+ },
571
+ tags=["owner:dns-team"])
572
+ ```
573
+
536
574
  ## Import
537
575
 
538
576
  ```sh
@@ -28,7 +28,7 @@ class GetAccountResult:
28
28
  """
29
29
  A collection of values returned by getAccount.
30
30
  """
31
- def __init__(__self__, account_id=None, created_on=None, filter=None, id=None, name=None, settings=None, type=None):
31
+ def __init__(__self__, account_id=None, created_on=None, filter=None, id=None, managed_by=None, name=None, settings=None, type=None):
32
32
  if account_id and not isinstance(account_id, str):
33
33
  raise TypeError("Expected argument 'account_id' to be a str")
34
34
  pulumi.set(__self__, "account_id", account_id)
@@ -41,6 +41,9 @@ class GetAccountResult:
41
41
  if id and not isinstance(id, str):
42
42
  raise TypeError("Expected argument 'id' to be a str")
43
43
  pulumi.set(__self__, "id", id)
44
+ if managed_by and not isinstance(managed_by, dict):
45
+ raise TypeError("Expected argument 'managed_by' to be a dict")
46
+ pulumi.set(__self__, "managed_by", managed_by)
44
47
  if name and not isinstance(name, str):
45
48
  raise TypeError("Expected argument 'name' to be a str")
46
49
  pulumi.set(__self__, "name", name)
@@ -80,6 +83,14 @@ class GetAccountResult:
80
83
  """
81
84
  return pulumi.get(self, "id")
82
85
 
86
+ @_builtins.property
87
+ @pulumi.getter(name="managedBy")
88
+ def managed_by(self) -> 'outputs.GetAccountManagedByResult':
89
+ """
90
+ Parent container details
91
+ """
92
+ return pulumi.get(self, "managed_by")
93
+
83
94
  @_builtins.property
84
95
  @pulumi.getter
85
96
  def name(self) -> _builtins.str:
@@ -115,6 +126,7 @@ class AwaitableGetAccountResult(GetAccountResult):
115
126
  created_on=self.created_on,
116
127
  filter=self.filter,
117
128
  id=self.id,
129
+ managed_by=self.managed_by,
118
130
  name=self.name,
119
131
  settings=self.settings,
120
132
  type=self.type)
@@ -147,6 +159,7 @@ def get_account(account_id: Optional[_builtins.str] = None,
147
159
  created_on=pulumi.get(__ret__, 'created_on'),
148
160
  filter=pulumi.get(__ret__, 'filter'),
149
161
  id=pulumi.get(__ret__, 'id'),
162
+ managed_by=pulumi.get(__ret__, 'managed_by'),
150
163
  name=pulumi.get(__ret__, 'name'),
151
164
  settings=pulumi.get(__ret__, 'settings'),
152
165
  type=pulumi.get(__ret__, 'type'))
@@ -176,6 +189,7 @@ def get_account_output(account_id: Optional[pulumi.Input[Optional[_builtins.str]
176
189
  created_on=pulumi.get(__response__, 'created_on'),
177
190
  filter=pulumi.get(__response__, 'filter'),
178
191
  id=pulumi.get(__response__, 'id'),
192
+ managed_by=pulumi.get(__response__, 'managed_by'),
179
193
  name=pulumi.get(__response__, 'name'),
180
194
  settings=pulumi.get(__response__, 'settings'),
181
195
  type=pulumi.get(__response__, 'type')))