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
@@ -101,7 +101,7 @@ class AccessApplicationArgs:
101
101
  :param pulumi.Input[_builtins.bool] skip_interstitial: Enables automatic authentication through cloudflared.
102
102
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The tags you want assigned to an application. Tags are used to filter applications in the App Launcher dashboard.
103
103
  :param pulumi.Input[_builtins.str] type: The application type.
104
- Available values: "self*hosted", "saas", "ssh", "vnc", "app*launcher", "warp", "biso", "bookmark", "dash_sso", "infrastructure", "rdp".
104
+ Available values: "self*hosted", "saas", "ssh", "vnc", "app*launcher", "warp", "biso", "bookmark", "dash*sso", "infrastructure", "rdp", "mcp", "mcp*portal".
105
105
  :param pulumi.Input[_builtins.str] zone_id: The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.
106
106
  """
107
107
  if account_id is not None:
@@ -619,7 +619,7 @@ class AccessApplicationArgs:
619
619
  def type(self) -> Optional[pulumi.Input[_builtins.str]]:
620
620
  """
621
621
  The application type.
622
- Available values: "self*hosted", "saas", "ssh", "vnc", "app*launcher", "warp", "biso", "bookmark", "dash_sso", "infrastructure", "rdp".
622
+ Available values: "self*hosted", "saas", "ssh", "vnc", "app*launcher", "warp", "biso", "bookmark", "dash*sso", "infrastructure", "rdp", "mcp", "mcp*portal".
623
623
  """
624
624
  return pulumi.get(self, "type")
625
625
 
@@ -725,7 +725,7 @@ class _AccessApplicationState:
725
725
  :param pulumi.Input[_builtins.bool] skip_interstitial: Enables automatic authentication through cloudflared.
726
726
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The tags you want assigned to an application. Tags are used to filter applications in the App Launcher dashboard.
727
727
  :param pulumi.Input[_builtins.str] type: The application type.
728
- Available values: "self*hosted", "saas", "ssh", "vnc", "app*launcher", "warp", "biso", "bookmark", "dash_sso", "infrastructure", "rdp".
728
+ Available values: "self*hosted", "saas", "ssh", "vnc", "app*launcher", "warp", "biso", "bookmark", "dash*sso", "infrastructure", "rdp", "mcp", "mcp*portal".
729
729
  :param pulumi.Input[_builtins.str] zone_id: The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.
730
730
  """
731
731
  if account_id is not None:
@@ -1257,7 +1257,7 @@ class _AccessApplicationState:
1257
1257
  def type(self) -> Optional[pulumi.Input[_builtins.str]]:
1258
1258
  """
1259
1259
  The application type.
1260
- Available values: "self*hosted", "saas", "ssh", "vnc", "app*launcher", "warp", "biso", "bookmark", "dash_sso", "infrastructure", "rdp".
1260
+ Available values: "self*hosted", "saas", "ssh", "vnc", "app*launcher", "warp", "biso", "bookmark", "dash*sso", "infrastructure", "rdp", "mcp", "mcp*portal".
1261
1261
  """
1262
1262
  return pulumi.get(self, "type")
1263
1263
 
@@ -1379,7 +1379,7 @@ class AccessApplication(pulumi.CustomResource):
1379
1379
  :param pulumi.Input[_builtins.bool] skip_interstitial: Enables automatic authentication through cloudflared.
1380
1380
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The tags you want assigned to an application. Tags are used to filter applications in the App Launcher dashboard.
1381
1381
  :param pulumi.Input[_builtins.str] type: The application type.
1382
- Available values: "self*hosted", "saas", "ssh", "vnc", "app*launcher", "warp", "biso", "bookmark", "dash_sso", "infrastructure", "rdp".
1382
+ Available values: "self*hosted", "saas", "ssh", "vnc", "app*launcher", "warp", "biso", "bookmark", "dash*sso", "infrastructure", "rdp", "mcp", "mcp*portal".
1383
1383
  :param pulumi.Input[_builtins.str] zone_id: The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.
1384
1384
  """
1385
1385
  ...
@@ -1598,7 +1598,7 @@ class AccessApplication(pulumi.CustomResource):
1598
1598
  :param pulumi.Input[_builtins.bool] skip_interstitial: Enables automatic authentication through cloudflared.
1599
1599
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: The tags you want assigned to an application. Tags are used to filter applications in the App Launcher dashboard.
1600
1600
  :param pulumi.Input[_builtins.str] type: The application type.
1601
- Available values: "self*hosted", "saas", "ssh", "vnc", "app*launcher", "warp", "biso", "bookmark", "dash_sso", "infrastructure", "rdp".
1601
+ Available values: "self*hosted", "saas", "ssh", "vnc", "app*launcher", "warp", "biso", "bookmark", "dash*sso", "infrastructure", "rdp", "mcp", "mcp*portal".
1602
1602
  :param pulumi.Input[_builtins.str] zone_id: The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.
1603
1603
  """
1604
1604
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -1945,7 +1945,7 @@ class AccessApplication(pulumi.CustomResource):
1945
1945
  def type(self) -> pulumi.Output[Optional[_builtins.str]]:
1946
1946
  """
1947
1947
  The application type.
1948
- Available values: "self*hosted", "saas", "ssh", "vnc", "app*launcher", "warp", "biso", "bookmark", "dash_sso", "infrastructure", "rdp".
1948
+ Available values: "self*hosted", "saas", "ssh", "vnc", "app*launcher", "warp", "biso", "bookmark", "dash*sso", "infrastructure", "rdp", "mcp", "mcp*portal".
1949
1949
  """
1950
1950
  return pulumi.get(self, "type")
1951
1951
 
@@ -248,6 +248,36 @@ class AccessIdentityProvider(pulumi.CustomResource):
248
248
  """
249
249
  ## Example Usage
250
250
 
251
+ ```python
252
+ import pulumi
253
+ import pulumi_cloudflare as cloudflare
254
+
255
+ example_zero_trust_access_identity_provider = cloudflare.ZeroTrustAccessIdentityProvider("example_zero_trust_access_identity_provider",
256
+ config={
257
+ "claims": [
258
+ "email_verified",
259
+ "preferred_username",
260
+ "custom_claim_name",
261
+ ],
262
+ "client_id": "<your client id>",
263
+ "client_secret": "<your client secret>",
264
+ "conditional_access_enabled": True,
265
+ "directory_id": "<your azure directory uuid>",
266
+ "email_claim_name": "custom_claim_name",
267
+ "prompt": "login",
268
+ "support_groups": True,
269
+ },
270
+ name="Widget Corps IDP",
271
+ type="onetimepin",
272
+ zone_id="zone_id",
273
+ scim_config={
274
+ "enabled": True,
275
+ "identity_update_behavior": "automatic",
276
+ "seat_deprovision": True,
277
+ "user_deprovision": True,
278
+ })
279
+ ```
280
+
251
281
  ## Import
252
282
 
253
283
  ```sh
@@ -273,6 +303,36 @@ class AccessIdentityProvider(pulumi.CustomResource):
273
303
  """
274
304
  ## Example Usage
275
305
 
306
+ ```python
307
+ import pulumi
308
+ import pulumi_cloudflare as cloudflare
309
+
310
+ example_zero_trust_access_identity_provider = cloudflare.ZeroTrustAccessIdentityProvider("example_zero_trust_access_identity_provider",
311
+ config={
312
+ "claims": [
313
+ "email_verified",
314
+ "preferred_username",
315
+ "custom_claim_name",
316
+ ],
317
+ "client_id": "<your client id>",
318
+ "client_secret": "<your client secret>",
319
+ "conditional_access_enabled": True,
320
+ "directory_id": "<your azure directory uuid>",
321
+ "email_claim_name": "custom_claim_name",
322
+ "prompt": "login",
323
+ "support_groups": True,
324
+ },
325
+ name="Widget Corps IDP",
326
+ type="onetimepin",
327
+ zone_id="zone_id",
328
+ scim_config={
329
+ "enabled": True,
330
+ "identity_update_behavior": "automatic",
331
+ "seat_deprovision": True,
332
+ "user_deprovision": True,
333
+ })
334
+ ```
335
+
276
336
  ## Import
277
337
 
278
338
  ```sh
@@ -187,6 +187,19 @@ class AccessMutualTlsHostnameSettings(pulumi.CustomResource):
187
187
  """
188
188
  ## Example Usage
189
189
 
190
+ ```python
191
+ import pulumi
192
+ import pulumi_cloudflare as cloudflare
193
+
194
+ example_zero_trust_access_mtls_hostname_settings = cloudflare.ZeroTrustAccessMtlsHostnameSettings("example_zero_trust_access_mtls_hostname_settings",
195
+ settings=[{
196
+ "china_network": False,
197
+ "client_certificate_forwarding": True,
198
+ "hostname": "admin.example.com",
199
+ }],
200
+ zone_id="zone_id")
201
+ ```
202
+
190
203
  :param str resource_name: The name of the resource.
191
204
  :param pulumi.ResourceOptions opts: Options for the resource.
192
205
  :param pulumi.Input[_builtins.str] account_id: The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
@@ -201,6 +214,19 @@ class AccessMutualTlsHostnameSettings(pulumi.CustomResource):
201
214
  """
202
215
  ## Example Usage
203
216
 
217
+ ```python
218
+ import pulumi
219
+ import pulumi_cloudflare as cloudflare
220
+
221
+ example_zero_trust_access_mtls_hostname_settings = cloudflare.ZeroTrustAccessMtlsHostnameSettings("example_zero_trust_access_mtls_hostname_settings",
222
+ settings=[{
223
+ "china_network": False,
224
+ "client_certificate_forwarding": True,
225
+ "hostname": "admin.example.com",
226
+ }],
227
+ zone_id="zone_id")
228
+ ```
229
+
204
230
  :param str resource_name: The name of the resource.
205
231
  :param AccessMutualTlsHostnameSettingsArgs args: The arguments to use to populate this resource's properties.
206
232
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -454,6 +454,34 @@ class AccessOrganization(pulumi.CustomResource):
454
454
  """
455
455
  ## Example Usage
456
456
 
457
+ ```python
458
+ import pulumi
459
+ import pulumi_cloudflare as cloudflare
460
+
461
+ example_zero_trust_organization = cloudflare.ZeroTrustOrganization("example_zero_trust_organization",
462
+ zone_id="zone_id",
463
+ allow_authenticate_via_warp=True,
464
+ auth_domain="test.cloudflareaccess.com",
465
+ auto_redirect_to_identity=True,
466
+ custom_pages={
467
+ "forbidden": "699d98642c564d2e855e9661899b7252",
468
+ "identity_denied": "699d98642c564d2e855e9661899b7252",
469
+ },
470
+ is_ui_read_only=True,
471
+ login_design={
472
+ "background_color": "#c5ed1b",
473
+ "footer_text": "This is an example description.",
474
+ "header_text": "This is an example description.",
475
+ "logo_path": "https://example.com/logo.png",
476
+ "text_color": "#c5ed1b",
477
+ },
478
+ name="Widget Corps Internal Applications",
479
+ session_duration="24h",
480
+ ui_read_only_toggle_reason="Temporarily turn off the UI read only lock to make a change via the UI",
481
+ user_seat_expiration_inactive_time="730h",
482
+ warp_auth_session_duration="24h")
483
+ ```
484
+
457
485
  :param str resource_name: The name of the resource.
458
486
  :param pulumi.ResourceOptions opts: Options for the resource.
459
487
  :param pulumi.Input[_builtins.str] account_id: The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
@@ -476,6 +504,34 @@ class AccessOrganization(pulumi.CustomResource):
476
504
  """
477
505
  ## Example Usage
478
506
 
507
+ ```python
508
+ import pulumi
509
+ import pulumi_cloudflare as cloudflare
510
+
511
+ example_zero_trust_organization = cloudflare.ZeroTrustOrganization("example_zero_trust_organization",
512
+ zone_id="zone_id",
513
+ allow_authenticate_via_warp=True,
514
+ auth_domain="test.cloudflareaccess.com",
515
+ auto_redirect_to_identity=True,
516
+ custom_pages={
517
+ "forbidden": "699d98642c564d2e855e9661899b7252",
518
+ "identity_denied": "699d98642c564d2e855e9661899b7252",
519
+ },
520
+ is_ui_read_only=True,
521
+ login_design={
522
+ "background_color": "#c5ed1b",
523
+ "footer_text": "This is an example description.",
524
+ "header_text": "This is an example description.",
525
+ "logo_path": "https://example.com/logo.png",
526
+ "text_color": "#c5ed1b",
527
+ },
528
+ name="Widget Corps Internal Applications",
529
+ session_duration="24h",
530
+ ui_read_only_toggle_reason="Temporarily turn off the UI read only lock to make a change via the UI",
531
+ user_seat_expiration_inactive_time="730h",
532
+ warp_auth_session_duration="24h")
533
+ ```
534
+
479
535
  :param str resource_name: The name of the resource.
480
536
  :param AccessOrganizationArgs args: The arguments to use to populate this resource's properties.
481
537
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -446,6 +446,54 @@ class AccessPolicy(pulumi.CustomResource):
446
446
  """
447
447
  ## Example Usage
448
448
 
449
+ ```python
450
+ import pulumi
451
+ import pulumi_cloudflare as cloudflare
452
+
453
+ example_zero_trust_access_policy = cloudflare.ZeroTrustAccessPolicy("example_zero_trust_access_policy",
454
+ account_id="023e105f4ecef8ad9ca31a8372d0c353",
455
+ decision="allow",
456
+ includes=[{
457
+ "group": {
458
+ "id": "aa0a4aab-672b-4bdb-bc33-a59f1130a11f",
459
+ },
460
+ }],
461
+ name="Allow devs",
462
+ approval_groups=[
463
+ {
464
+ "approvals_needed": 1,
465
+ "email_addresses": [
466
+ "test1@cloudflare.com",
467
+ "test2@cloudflare.com",
468
+ ],
469
+ "email_list_uuid": "email_list_uuid",
470
+ },
471
+ {
472
+ "approvals_needed": 3,
473
+ "email_addresses": [
474
+ "test@cloudflare.com",
475
+ "test2@cloudflare.com",
476
+ ],
477
+ "email_list_uuid": "597147a1-976b-4ef2-9af0-81d5d007fc34",
478
+ },
479
+ ],
480
+ approval_required=True,
481
+ excludes=[{
482
+ "group": {
483
+ "id": "aa0a4aab-672b-4bdb-bc33-a59f1130a11f",
484
+ },
485
+ }],
486
+ isolation_required=False,
487
+ purpose_justification_prompt="Please enter a justification for entering this protected domain.",
488
+ purpose_justification_required=True,
489
+ requires=[{
490
+ "group": {
491
+ "id": "aa0a4aab-672b-4bdb-bc33-a59f1130a11f",
492
+ },
493
+ }],
494
+ session_duration="24h")
495
+ ```
496
+
449
497
  ## Import
450
498
 
451
499
  ```sh
@@ -477,6 +525,54 @@ class AccessPolicy(pulumi.CustomResource):
477
525
  """
478
526
  ## Example Usage
479
527
 
528
+ ```python
529
+ import pulumi
530
+ import pulumi_cloudflare as cloudflare
531
+
532
+ example_zero_trust_access_policy = cloudflare.ZeroTrustAccessPolicy("example_zero_trust_access_policy",
533
+ account_id="023e105f4ecef8ad9ca31a8372d0c353",
534
+ decision="allow",
535
+ includes=[{
536
+ "group": {
537
+ "id": "aa0a4aab-672b-4bdb-bc33-a59f1130a11f",
538
+ },
539
+ }],
540
+ name="Allow devs",
541
+ approval_groups=[
542
+ {
543
+ "approvals_needed": 1,
544
+ "email_addresses": [
545
+ "test1@cloudflare.com",
546
+ "test2@cloudflare.com",
547
+ ],
548
+ "email_list_uuid": "email_list_uuid",
549
+ },
550
+ {
551
+ "approvals_needed": 3,
552
+ "email_addresses": [
553
+ "test@cloudflare.com",
554
+ "test2@cloudflare.com",
555
+ ],
556
+ "email_list_uuid": "597147a1-976b-4ef2-9af0-81d5d007fc34",
557
+ },
558
+ ],
559
+ approval_required=True,
560
+ excludes=[{
561
+ "group": {
562
+ "id": "aa0a4aab-672b-4bdb-bc33-a59f1130a11f",
563
+ },
564
+ }],
565
+ isolation_required=False,
566
+ purpose_justification_prompt="Please enter a justification for entering this protected domain.",
567
+ purpose_justification_required=True,
568
+ requires=[{
569
+ "group": {
570
+ "id": "aa0a4aab-672b-4bdb-bc33-a59f1130a11f",
571
+ },
572
+ }],
573
+ session_duration="24h")
574
+ ```
575
+
480
576
  ## Import
481
577
 
482
578
  ```sh
@@ -22,17 +22,21 @@ __all__ = ['AccountArgs', 'Account']
22
22
  class AccountArgs:
23
23
  def __init__(__self__, *,
24
24
  name: pulumi.Input[_builtins.str],
25
+ managed_by: Optional[pulumi.Input['AccountManagedByArgs']] = None,
25
26
  settings: Optional[pulumi.Input['AccountSettingsArgs']] = None,
26
27
  type: Optional[pulumi.Input[_builtins.str]] = None,
27
28
  unit: Optional[pulumi.Input['AccountUnitArgs']] = None):
28
29
  """
29
30
  The set of arguments for constructing a Account resource.
30
31
  :param pulumi.Input[_builtins.str] name: Account name
32
+ :param pulumi.Input['AccountManagedByArgs'] managed_by: Parent container details
31
33
  :param pulumi.Input['AccountSettingsArgs'] settings: Account settings
32
34
  :param pulumi.Input[_builtins.str] type: Available values: "standard", "enterprise".
33
35
  :param pulumi.Input['AccountUnitArgs'] unit: information related to the tenant unit, and optionally, an id of the unit to create the account on. see https://developers.cloudflare.com/tenant/how-to/manage-accounts/
34
36
  """
35
37
  pulumi.set(__self__, "name", name)
38
+ if managed_by is not None:
39
+ pulumi.set(__self__, "managed_by", managed_by)
36
40
  if settings is not None:
37
41
  pulumi.set(__self__, "settings", settings)
38
42
  if type is not None:
@@ -52,6 +56,18 @@ class AccountArgs:
52
56
  def name(self, value: pulumi.Input[_builtins.str]):
53
57
  pulumi.set(self, "name", value)
54
58
 
59
+ @_builtins.property
60
+ @pulumi.getter(name="managedBy")
61
+ def managed_by(self) -> Optional[pulumi.Input['AccountManagedByArgs']]:
62
+ """
63
+ Parent container details
64
+ """
65
+ return pulumi.get(self, "managed_by")
66
+
67
+ @managed_by.setter
68
+ def managed_by(self, value: Optional[pulumi.Input['AccountManagedByArgs']]):
69
+ pulumi.set(self, "managed_by", value)
70
+
55
71
  @_builtins.property
56
72
  @pulumi.getter
57
73
  def settings(self) -> Optional[pulumi.Input['AccountSettingsArgs']]:
@@ -93,6 +109,7 @@ class AccountArgs:
93
109
  class _AccountState:
94
110
  def __init__(__self__, *,
95
111
  created_on: Optional[pulumi.Input[_builtins.str]] = None,
112
+ managed_by: Optional[pulumi.Input['AccountManagedByArgs']] = None,
96
113
  name: Optional[pulumi.Input[_builtins.str]] = None,
97
114
  settings: Optional[pulumi.Input['AccountSettingsArgs']] = None,
98
115
  type: Optional[pulumi.Input[_builtins.str]] = None,
@@ -100,6 +117,7 @@ class _AccountState:
100
117
  """
101
118
  Input properties used for looking up and filtering Account resources.
102
119
  :param pulumi.Input[_builtins.str] created_on: Timestamp for the creation of the account
120
+ :param pulumi.Input['AccountManagedByArgs'] managed_by: Parent container details
103
121
  :param pulumi.Input[_builtins.str] name: Account name
104
122
  :param pulumi.Input['AccountSettingsArgs'] settings: Account settings
105
123
  :param pulumi.Input[_builtins.str] type: Available values: "standard", "enterprise".
@@ -107,6 +125,8 @@ class _AccountState:
107
125
  """
108
126
  if created_on is not None:
109
127
  pulumi.set(__self__, "created_on", created_on)
128
+ if managed_by is not None:
129
+ pulumi.set(__self__, "managed_by", managed_by)
110
130
  if name is not None:
111
131
  pulumi.set(__self__, "name", name)
112
132
  if settings is not None:
@@ -128,6 +148,18 @@ class _AccountState:
128
148
  def created_on(self, value: Optional[pulumi.Input[_builtins.str]]):
129
149
  pulumi.set(self, "created_on", value)
130
150
 
151
+ @_builtins.property
152
+ @pulumi.getter(name="managedBy")
153
+ def managed_by(self) -> Optional[pulumi.Input['AccountManagedByArgs']]:
154
+ """
155
+ Parent container details
156
+ """
157
+ return pulumi.get(self, "managed_by")
158
+
159
+ @managed_by.setter
160
+ def managed_by(self, value: Optional[pulumi.Input['AccountManagedByArgs']]):
161
+ pulumi.set(self, "managed_by", value)
162
+
131
163
  @_builtins.property
132
164
  @pulumi.getter
133
165
  def name(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -183,6 +215,7 @@ class Account(pulumi.CustomResource):
183
215
  def __init__(__self__,
184
216
  resource_name: str,
185
217
  opts: Optional[pulumi.ResourceOptions] = None,
218
+ managed_by: Optional[pulumi.Input[Union['AccountManagedByArgs', 'AccountManagedByArgsDict']]] = None,
186
219
  name: Optional[pulumi.Input[_builtins.str]] = None,
187
220
  settings: Optional[pulumi.Input[Union['AccountSettingsArgs', 'AccountSettingsArgsDict']]] = None,
188
221
  type: Optional[pulumi.Input[_builtins.str]] = None,
@@ -211,6 +244,7 @@ class Account(pulumi.CustomResource):
211
244
 
212
245
  :param str resource_name: The name of the resource.
213
246
  :param pulumi.ResourceOptions opts: Options for the resource.
247
+ :param pulumi.Input[Union['AccountManagedByArgs', 'AccountManagedByArgsDict']] managed_by: Parent container details
214
248
  :param pulumi.Input[_builtins.str] name: Account name
215
249
  :param pulumi.Input[Union['AccountSettingsArgs', 'AccountSettingsArgsDict']] settings: Account settings
216
250
  :param pulumi.Input[_builtins.str] type: Available values: "standard", "enterprise".
@@ -258,6 +292,7 @@ class Account(pulumi.CustomResource):
258
292
  def _internal_init(__self__,
259
293
  resource_name: str,
260
294
  opts: Optional[pulumi.ResourceOptions] = None,
295
+ managed_by: Optional[pulumi.Input[Union['AccountManagedByArgs', 'AccountManagedByArgsDict']]] = None,
261
296
  name: Optional[pulumi.Input[_builtins.str]] = None,
262
297
  settings: Optional[pulumi.Input[Union['AccountSettingsArgs', 'AccountSettingsArgsDict']]] = None,
263
298
  type: Optional[pulumi.Input[_builtins.str]] = None,
@@ -271,6 +306,7 @@ class Account(pulumi.CustomResource):
271
306
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
272
307
  __props__ = AccountArgs.__new__(AccountArgs)
273
308
 
309
+ __props__.__dict__["managed_by"] = managed_by
274
310
  if name is None and not opts.urn:
275
311
  raise TypeError("Missing required property 'name'")
276
312
  __props__.__dict__["name"] = name
@@ -289,6 +325,7 @@ class Account(pulumi.CustomResource):
289
325
  id: pulumi.Input[str],
290
326
  opts: Optional[pulumi.ResourceOptions] = None,
291
327
  created_on: Optional[pulumi.Input[_builtins.str]] = None,
328
+ managed_by: Optional[pulumi.Input[Union['AccountManagedByArgs', 'AccountManagedByArgsDict']]] = None,
292
329
  name: Optional[pulumi.Input[_builtins.str]] = None,
293
330
  settings: Optional[pulumi.Input[Union['AccountSettingsArgs', 'AccountSettingsArgsDict']]] = None,
294
331
  type: Optional[pulumi.Input[_builtins.str]] = None,
@@ -301,6 +338,7 @@ class Account(pulumi.CustomResource):
301
338
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
302
339
  :param pulumi.ResourceOptions opts: Options for the resource.
303
340
  :param pulumi.Input[_builtins.str] created_on: Timestamp for the creation of the account
341
+ :param pulumi.Input[Union['AccountManagedByArgs', 'AccountManagedByArgsDict']] managed_by: Parent container details
304
342
  :param pulumi.Input[_builtins.str] name: Account name
305
343
  :param pulumi.Input[Union['AccountSettingsArgs', 'AccountSettingsArgsDict']] settings: Account settings
306
344
  :param pulumi.Input[_builtins.str] type: Available values: "standard", "enterprise".
@@ -311,6 +349,7 @@ class Account(pulumi.CustomResource):
311
349
  __props__ = _AccountState.__new__(_AccountState)
312
350
 
313
351
  __props__.__dict__["created_on"] = created_on
352
+ __props__.__dict__["managed_by"] = managed_by
314
353
  __props__.__dict__["name"] = name
315
354
  __props__.__dict__["settings"] = settings
316
355
  __props__.__dict__["type"] = type
@@ -325,6 +364,14 @@ class Account(pulumi.CustomResource):
325
364
  """
326
365
  return pulumi.get(self, "created_on")
327
366
 
367
+ @_builtins.property
368
+ @pulumi.getter(name="managedBy")
369
+ def managed_by(self) -> pulumi.Output['outputs.AccountManagedBy']:
370
+ """
371
+ Parent container details
372
+ """
373
+ return pulumi.get(self, "managed_by")
374
+
328
375
  @_builtins.property
329
376
  @pulumi.getter
330
377
  def name(self) -> pulumi.Output[_builtins.str]:
@@ -101,6 +101,37 @@ class AccountDnsSettings(pulumi.CustomResource):
101
101
  """
102
102
  ## Example Usage
103
103
 
104
+ ```python
105
+ import pulumi
106
+ import pulumi_cloudflare as cloudflare
107
+
108
+ example_account_dns_settings = cloudflare.AccountDnsSettings("example_account_dns_settings",
109
+ account_id="023e105f4ecef8ad9ca31a8372d0c353",
110
+ zone_defaults={
111
+ "flatten_all_cnames": False,
112
+ "foundation_dns": False,
113
+ "internal_dns": {
114
+ "reference_zone_id": "reference_zone_id",
115
+ },
116
+ "multi_provider": False,
117
+ "nameservers": {
118
+ "type": "cloudflare.standard",
119
+ },
120
+ "ns_ttl": 86400,
121
+ "secondary_overrides": False,
122
+ "soa": {
123
+ "expire": 604800,
124
+ "min_ttl": 1800,
125
+ "mname": "kristina.ns.cloudflare.com",
126
+ "refresh": 10000,
127
+ "retry": 2400,
128
+ "rname": "admin.example.com",
129
+ "ttl": 3600,
130
+ },
131
+ "zone_mode": "dns_only",
132
+ })
133
+ ```
134
+
104
135
  :param str resource_name: The name of the resource.
105
136
  :param pulumi.ResourceOptions opts: Options for the resource.
106
137
  :param pulumi.Input[_builtins.str] account_id: Identifier.
@@ -114,6 +145,37 @@ class AccountDnsSettings(pulumi.CustomResource):
114
145
  """
115
146
  ## Example Usage
116
147
 
148
+ ```python
149
+ import pulumi
150
+ import pulumi_cloudflare as cloudflare
151
+
152
+ example_account_dns_settings = cloudflare.AccountDnsSettings("example_account_dns_settings",
153
+ account_id="023e105f4ecef8ad9ca31a8372d0c353",
154
+ zone_defaults={
155
+ "flatten_all_cnames": False,
156
+ "foundation_dns": False,
157
+ "internal_dns": {
158
+ "reference_zone_id": "reference_zone_id",
159
+ },
160
+ "multi_provider": False,
161
+ "nameservers": {
162
+ "type": "cloudflare.standard",
163
+ },
164
+ "ns_ttl": 86400,
165
+ "secondary_overrides": False,
166
+ "soa": {
167
+ "expire": 604800,
168
+ "min_ttl": 1800,
169
+ "mname": "kristina.ns.cloudflare.com",
170
+ "refresh": 10000,
171
+ "retry": 2400,
172
+ "rname": "admin.example.com",
173
+ "ttl": 3600,
174
+ },
175
+ "zone_mode": "dns_only",
176
+ })
177
+ ```
178
+
117
179
  :param str resource_name: The name of the resource.
118
180
  :param AccountDnsSettingsArgs args: The arguments to use to populate this resource's properties.
119
181
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -228,6 +228,24 @@ class AccountSubscription(pulumi.CustomResource):
228
228
  """
229
229
  ## Example Usage
230
230
 
231
+ ```python
232
+ import pulumi
233
+ import pulumi_cloudflare as cloudflare
234
+
235
+ example_account_subscription = cloudflare.AccountSubscription("example_account_subscription",
236
+ account_id="023e105f4ecef8ad9ca31a8372d0c353",
237
+ frequency="monthly",
238
+ rate_plan={
239
+ "id": "free",
240
+ "currency": "USD",
241
+ "externally_managed": False,
242
+ "is_contract": False,
243
+ "public_name": "Business Plan",
244
+ "scope": "zone",
245
+ "sets": ["string"],
246
+ })
247
+ ```
248
+
231
249
  ## Import
232
250
 
233
251
  ```sh
@@ -250,6 +268,24 @@ class AccountSubscription(pulumi.CustomResource):
250
268
  """
251
269
  ## Example Usage
252
270
 
271
+ ```python
272
+ import pulumi
273
+ import pulumi_cloudflare as cloudflare
274
+
275
+ example_account_subscription = cloudflare.AccountSubscription("example_account_subscription",
276
+ account_id="023e105f4ecef8ad9ca31a8372d0c353",
277
+ frequency="monthly",
278
+ rate_plan={
279
+ "id": "free",
280
+ "currency": "USD",
281
+ "externally_managed": False,
282
+ "is_contract": False,
283
+ "public_name": "Business Plan",
284
+ "scope": "zone",
285
+ "sets": ["string"],
286
+ })
287
+ ```
288
+
253
289
  ## Import
254
290
 
255
291
  ```sh