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
@@ -42,7 +42,7 @@ class ZeroTrustGatewayPolicyArgs:
42
42
  :param pulumi.Input[_builtins.str] description: Specify the rule description.
43
43
  :param pulumi.Input[_builtins.bool] enabled: Specify whether the rule is enabled.
44
44
  :param pulumi.Input['ZeroTrustGatewayPolicyExpirationArgs'] expiration: Defines the expiration time stamp and default duration of a DNS policy. Takes precedence over the policy's `schedule` configuration, if any. This does not apply to HTTP or network policies. Settable only for `dns` rules.
45
- :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] filters: Specify the protocol or layer to evaluate the traffic, identity, and device posture expressions.
45
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] filters: Specify the protocol or layer to evaluate the traffic, identity, and device posture expressions. Can only contain a single value.
46
46
  :param pulumi.Input['ZeroTrustGatewayPolicyScheduleArgs'] schedule: Defines the schedule for activating DNS policies. Settable only for `dns` and `dns_resolver` rules.
47
47
  """
48
48
  pulumi.set(__self__, "account_id", account_id)
@@ -152,7 +152,7 @@ class ZeroTrustGatewayPolicyArgs:
152
152
  @pulumi.getter
153
153
  def filters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
154
154
  """
155
- Specify the protocol or layer to evaluate the traffic, identity, and device posture expressions.
155
+ Specify the protocol or layer to evaluate the traffic, identity, and device posture expressions. Can only contain a single value.
156
156
  """
157
157
  return pulumi.get(self, "filters")
158
158
 
@@ -241,7 +241,7 @@ class _ZeroTrustGatewayPolicyState:
241
241
  :param pulumi.Input[_builtins.str] description: Specify the rule description.
242
242
  :param pulumi.Input[_builtins.bool] enabled: Specify whether the rule is enabled.
243
243
  :param pulumi.Input['ZeroTrustGatewayPolicyExpirationArgs'] expiration: Defines the expiration time stamp and default duration of a DNS policy. Takes precedence over the policy's `schedule` configuration, if any. This does not apply to HTTP or network policies. Settable only for `dns` rules.
244
- :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] filters: Specify the protocol or layer to evaluate the traffic, identity, and device posture expressions.
244
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] filters: Specify the protocol or layer to evaluate the traffic, identity, and device posture expressions. Can only contain a single value.
245
245
  :param pulumi.Input[_builtins.str] name: Specify the rule name.
246
246
  :param pulumi.Input[_builtins.bool] read_only: Indicate that this rule is shared via the Orgs API and read only.
247
247
  :param pulumi.Input['ZeroTrustGatewayPolicyScheduleArgs'] schedule: Defines the schedule for activating DNS policies. Settable only for `dns` and `dns_resolver` rules.
@@ -385,7 +385,7 @@ class _ZeroTrustGatewayPolicyState:
385
385
  @pulumi.getter
386
386
  def filters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
387
387
  """
388
- Specify the protocol or layer to evaluate the traffic, identity, and device posture expressions.
388
+ Specify the protocol or layer to evaluate the traffic, identity, and device posture expressions. Can only contain a single value.
389
389
  """
390
390
  return pulumi.get(self, "filters")
391
391
 
@@ -546,6 +546,132 @@ class ZeroTrustGatewayPolicy(pulumi.CustomResource):
546
546
  """
547
547
  ## Example Usage
548
548
 
549
+ ```python
550
+ import pulumi
551
+ import pulumi_cloudflare as cloudflare
552
+
553
+ example_zero_trust_gateway_policy = cloudflare.ZeroTrustGatewayPolicy("example_zero_trust_gateway_policy",
554
+ account_id="699d98642c564d2e855e9661899b7252",
555
+ action="allow",
556
+ name="block bad websites",
557
+ description="Block bad websites based on their host name.",
558
+ device_posture="any(device_posture.checks.passed[*] in {\\"1308749e-fcfb-4ebc-b051-fe022b632644\\"})",
559
+ enabled=True,
560
+ expiration={
561
+ "expires_at": "2014-01-01T05:20:20Z",
562
+ "duration": 10,
563
+ },
564
+ filters=["http"],
565
+ identity="any(identity.groups.name[*] in {\\"finance\\"})",
566
+ precedence=0,
567
+ rule_settings={
568
+ "add_headers": {
569
+ "My-Next-Header": [
570
+ "foo",
571
+ "bar",
572
+ ],
573
+ "X-Custom-Header-Name": ["somecustomvalue"],
574
+ },
575
+ "allow_child_bypass": False,
576
+ "audit_ssh": {
577
+ "command_logging": False,
578
+ },
579
+ "biso_admin_controls": {
580
+ "copy": "remote_only",
581
+ "dcp": True,
582
+ "dd": True,
583
+ "dk": True,
584
+ "download": "enabled",
585
+ "dp": False,
586
+ "du": True,
587
+ "keyboard": "enabled",
588
+ "paste": "enabled",
589
+ "printing": "enabled",
590
+ "upload": "enabled",
591
+ "version": "v1",
592
+ },
593
+ "block_page": {
594
+ "target_uri": "https://example.com",
595
+ "include_context": True,
596
+ },
597
+ "block_page_enabled": True,
598
+ "block_reason": "This website is a security risk",
599
+ "bypass_parent_rule": False,
600
+ "check_session": {
601
+ "duration": "300s",
602
+ "enforce": True,
603
+ },
604
+ "dns_resolvers": {
605
+ "ipv4s": [{
606
+ "ip": "2.2.2.2",
607
+ "port": 5053,
608
+ "route_through_private_network": True,
609
+ "vnet_id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
610
+ }],
611
+ "ipv6s": [{
612
+ "ip": "2001:DB8::",
613
+ "port": 5053,
614
+ "route_through_private_network": True,
615
+ "vnet_id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
616
+ }],
617
+ },
618
+ "egress": {
619
+ "ipv4": "192.0.2.2",
620
+ "ipv4_fallback": "192.0.2.3",
621
+ "ipv6": "2001:DB8::/64",
622
+ },
623
+ "ignore_cname_category_matches": True,
624
+ "insecure_disable_dnssec_validation": False,
625
+ "ip_categories": True,
626
+ "ip_indicator_feeds": True,
627
+ "l4override": {
628
+ "ip": "1.1.1.1",
629
+ "port": 0,
630
+ },
631
+ "notification_settings": {
632
+ "enabled": True,
633
+ "include_context": True,
634
+ "msg": "msg",
635
+ "support_url": "support_url",
636
+ },
637
+ "override_host": "example.com",
638
+ "override_ips": [
639
+ "1.1.1.1",
640
+ "2.2.2.2",
641
+ ],
642
+ "payload_log": {
643
+ "enabled": True,
644
+ },
645
+ "quarantine": {
646
+ "file_types": ["exe"],
647
+ },
648
+ "redirect": {
649
+ "target_uri": "https://example.com",
650
+ "include_context": True,
651
+ "preserve_path_and_query": True,
652
+ },
653
+ "resolve_dns_internally": {
654
+ "fallback": "none",
655
+ "view_id": "view_id",
656
+ },
657
+ "resolve_dns_through_cloudflare": True,
658
+ "untrusted_cert": {
659
+ "action": "error",
660
+ },
661
+ },
662
+ schedule={
663
+ "fri": "08:00-12:30,13:30-17:00",
664
+ "mon": "08:00-12:30,13:30-17:00",
665
+ "sat": "08:00-12:30,13:30-17:00",
666
+ "sun": "08:00-12:30,13:30-17:00",
667
+ "thu": "08:00-12:30,13:30-17:00",
668
+ "time_zone": "America/New York",
669
+ "tue": "08:00-12:30,13:30-17:00",
670
+ "wed": "08:00-12:30,13:30-17:00",
671
+ },
672
+ traffic="http.request.uri matches \\".*a/partial/uri.*\\" and http.request.host in $01302951-49f9-47c9-a400-0297e60b6a10")
673
+ ```
674
+
549
675
  ## Import
550
676
 
551
677
  ```sh
@@ -559,7 +685,7 @@ class ZeroTrustGatewayPolicy(pulumi.CustomResource):
559
685
  :param pulumi.Input[_builtins.str] description: Specify the rule description.
560
686
  :param pulumi.Input[_builtins.bool] enabled: Specify whether the rule is enabled.
561
687
  :param pulumi.Input[Union['ZeroTrustGatewayPolicyExpirationArgs', 'ZeroTrustGatewayPolicyExpirationArgsDict']] expiration: Defines the expiration time stamp and default duration of a DNS policy. Takes precedence over the policy's `schedule` configuration, if any. This does not apply to HTTP or network policies. Settable only for `dns` rules.
562
- :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] filters: Specify the protocol or layer to evaluate the traffic, identity, and device posture expressions.
688
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] filters: Specify the protocol or layer to evaluate the traffic, identity, and device posture expressions. Can only contain a single value.
563
689
  :param pulumi.Input[_builtins.str] name: Specify the rule name.
564
690
  :param pulumi.Input[Union['ZeroTrustGatewayPolicyScheduleArgs', 'ZeroTrustGatewayPolicyScheduleArgsDict']] schedule: Defines the schedule for activating DNS policies. Settable only for `dns` and `dns_resolver` rules.
565
691
  """
@@ -572,6 +698,132 @@ class ZeroTrustGatewayPolicy(pulumi.CustomResource):
572
698
  """
573
699
  ## Example Usage
574
700
 
701
+ ```python
702
+ import pulumi
703
+ import pulumi_cloudflare as cloudflare
704
+
705
+ example_zero_trust_gateway_policy = cloudflare.ZeroTrustGatewayPolicy("example_zero_trust_gateway_policy",
706
+ account_id="699d98642c564d2e855e9661899b7252",
707
+ action="allow",
708
+ name="block bad websites",
709
+ description="Block bad websites based on their host name.",
710
+ device_posture="any(device_posture.checks.passed[*] in {\\"1308749e-fcfb-4ebc-b051-fe022b632644\\"})",
711
+ enabled=True,
712
+ expiration={
713
+ "expires_at": "2014-01-01T05:20:20Z",
714
+ "duration": 10,
715
+ },
716
+ filters=["http"],
717
+ identity="any(identity.groups.name[*] in {\\"finance\\"})",
718
+ precedence=0,
719
+ rule_settings={
720
+ "add_headers": {
721
+ "My-Next-Header": [
722
+ "foo",
723
+ "bar",
724
+ ],
725
+ "X-Custom-Header-Name": ["somecustomvalue"],
726
+ },
727
+ "allow_child_bypass": False,
728
+ "audit_ssh": {
729
+ "command_logging": False,
730
+ },
731
+ "biso_admin_controls": {
732
+ "copy": "remote_only",
733
+ "dcp": True,
734
+ "dd": True,
735
+ "dk": True,
736
+ "download": "enabled",
737
+ "dp": False,
738
+ "du": True,
739
+ "keyboard": "enabled",
740
+ "paste": "enabled",
741
+ "printing": "enabled",
742
+ "upload": "enabled",
743
+ "version": "v1",
744
+ },
745
+ "block_page": {
746
+ "target_uri": "https://example.com",
747
+ "include_context": True,
748
+ },
749
+ "block_page_enabled": True,
750
+ "block_reason": "This website is a security risk",
751
+ "bypass_parent_rule": False,
752
+ "check_session": {
753
+ "duration": "300s",
754
+ "enforce": True,
755
+ },
756
+ "dns_resolvers": {
757
+ "ipv4s": [{
758
+ "ip": "2.2.2.2",
759
+ "port": 5053,
760
+ "route_through_private_network": True,
761
+ "vnet_id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
762
+ }],
763
+ "ipv6s": [{
764
+ "ip": "2001:DB8::",
765
+ "port": 5053,
766
+ "route_through_private_network": True,
767
+ "vnet_id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415",
768
+ }],
769
+ },
770
+ "egress": {
771
+ "ipv4": "192.0.2.2",
772
+ "ipv4_fallback": "192.0.2.3",
773
+ "ipv6": "2001:DB8::/64",
774
+ },
775
+ "ignore_cname_category_matches": True,
776
+ "insecure_disable_dnssec_validation": False,
777
+ "ip_categories": True,
778
+ "ip_indicator_feeds": True,
779
+ "l4override": {
780
+ "ip": "1.1.1.1",
781
+ "port": 0,
782
+ },
783
+ "notification_settings": {
784
+ "enabled": True,
785
+ "include_context": True,
786
+ "msg": "msg",
787
+ "support_url": "support_url",
788
+ },
789
+ "override_host": "example.com",
790
+ "override_ips": [
791
+ "1.1.1.1",
792
+ "2.2.2.2",
793
+ ],
794
+ "payload_log": {
795
+ "enabled": True,
796
+ },
797
+ "quarantine": {
798
+ "file_types": ["exe"],
799
+ },
800
+ "redirect": {
801
+ "target_uri": "https://example.com",
802
+ "include_context": True,
803
+ "preserve_path_and_query": True,
804
+ },
805
+ "resolve_dns_internally": {
806
+ "fallback": "none",
807
+ "view_id": "view_id",
808
+ },
809
+ "resolve_dns_through_cloudflare": True,
810
+ "untrusted_cert": {
811
+ "action": "error",
812
+ },
813
+ },
814
+ schedule={
815
+ "fri": "08:00-12:30,13:30-17:00",
816
+ "mon": "08:00-12:30,13:30-17:00",
817
+ "sat": "08:00-12:30,13:30-17:00",
818
+ "sun": "08:00-12:30,13:30-17:00",
819
+ "thu": "08:00-12:30,13:30-17:00",
820
+ "time_zone": "America/New York",
821
+ "tue": "08:00-12:30,13:30-17:00",
822
+ "wed": "08:00-12:30,13:30-17:00",
823
+ },
824
+ traffic="http.request.uri matches \\".*a/partial/uri.*\\" and http.request.host in $01302951-49f9-47c9-a400-0297e60b6a10")
825
+ ```
826
+
575
827
  ## Import
576
828
 
577
829
  ```sh
@@ -688,7 +940,7 @@ class ZeroTrustGatewayPolicy(pulumi.CustomResource):
688
940
  :param pulumi.Input[_builtins.str] description: Specify the rule description.
689
941
  :param pulumi.Input[_builtins.bool] enabled: Specify whether the rule is enabled.
690
942
  :param pulumi.Input[Union['ZeroTrustGatewayPolicyExpirationArgs', 'ZeroTrustGatewayPolicyExpirationArgsDict']] expiration: Defines the expiration time stamp and default duration of a DNS policy. Takes precedence over the policy's `schedule` configuration, if any. This does not apply to HTTP or network policies. Settable only for `dns` rules.
691
- :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] filters: Specify the protocol or layer to evaluate the traffic, identity, and device posture expressions.
943
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] filters: Specify the protocol or layer to evaluate the traffic, identity, and device posture expressions. Can only contain a single value.
692
944
  :param pulumi.Input[_builtins.str] name: Specify the rule name.
693
945
  :param pulumi.Input[_builtins.bool] read_only: Indicate that this rule is shared via the Orgs API and read only.
694
946
  :param pulumi.Input[Union['ZeroTrustGatewayPolicyScheduleArgs', 'ZeroTrustGatewayPolicyScheduleArgsDict']] schedule: Defines the schedule for activating DNS policies. Settable only for `dns` and `dns_resolver` rules.
@@ -784,7 +1036,7 @@ class ZeroTrustGatewayPolicy(pulumi.CustomResource):
784
1036
  @pulumi.getter
785
1037
  def filters(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
786
1038
  """
787
- Specify the protocol or layer to evaluate the traffic, identity, and device posture expressions.
1039
+ Specify the protocol or layer to evaluate the traffic, identity, and device posture expressions. Can only contain a single value.
788
1040
  """
789
1041
  return pulumi.get(self, "filters")
790
1042
 
@@ -125,6 +125,80 @@ class ZeroTrustGatewaySettings(pulumi.CustomResource):
125
125
  """
126
126
  ## Example Usage
127
127
 
128
+ ```python
129
+ import pulumi
130
+ import pulumi_cloudflare as cloudflare
131
+
132
+ example_zero_trust_gateway_settings = cloudflare.ZeroTrustGatewaySettings("example_zero_trust_gateway_settings",
133
+ account_id="699d98642c564d2e855e9661899b7252",
134
+ settings={
135
+ "activity_log": {
136
+ "enabled": True,
137
+ },
138
+ "antivirus": {
139
+ "enabled_download_phase": False,
140
+ "enabled_upload_phase": False,
141
+ "fail_closed": False,
142
+ "notification_settings": {
143
+ "enabled": True,
144
+ "include_context": True,
145
+ "msg": "msg",
146
+ "support_url": "support_url",
147
+ },
148
+ },
149
+ "block_page": {
150
+ "background_color": "background_color",
151
+ "enabled": True,
152
+ "footer_text": "--footer--",
153
+ "header_text": "--header--",
154
+ "include_context": True,
155
+ "logo_path": "https://logos.com/a.png",
156
+ "mailto_address": "admin@example.com",
157
+ "mailto_subject": "Blocked User Inquiry",
158
+ "mode": "",
159
+ "name": "Cloudflare",
160
+ "suppress_footer": False,
161
+ "target_uri": "https://example.com",
162
+ },
163
+ "body_scanning": {
164
+ "inspection_mode": "deep",
165
+ },
166
+ "browser_isolation": {
167
+ "non_identity_enabled": True,
168
+ "url_browser_isolation_enabled": True,
169
+ },
170
+ "certificate": {
171
+ "id": "d1b364c5-1311-466e-a194-f0e943e0799f",
172
+ },
173
+ "custom_certificate": {
174
+ "enabled": True,
175
+ "id": "d1b364c5-1311-466e-a194-f0e943e0799f",
176
+ },
177
+ "extended_email_matching": {
178
+ "enabled": True,
179
+ },
180
+ "fips": {
181
+ "tls": True,
182
+ },
183
+ "host_selector": {
184
+ "enabled": False,
185
+ },
186
+ "inspection": {
187
+ "mode": "static",
188
+ },
189
+ "protocol_detection": {
190
+ "enabled": True,
191
+ },
192
+ "sandbox": {
193
+ "enabled": True,
194
+ "fallback_action": "allow",
195
+ },
196
+ "tls_decrypt": {
197
+ "enabled": True,
198
+ },
199
+ })
200
+ ```
201
+
128
202
  ## Import
129
203
 
130
204
  ```sh
@@ -144,6 +218,80 @@ class ZeroTrustGatewaySettings(pulumi.CustomResource):
144
218
  """
145
219
  ## Example Usage
146
220
 
221
+ ```python
222
+ import pulumi
223
+ import pulumi_cloudflare as cloudflare
224
+
225
+ example_zero_trust_gateway_settings = cloudflare.ZeroTrustGatewaySettings("example_zero_trust_gateway_settings",
226
+ account_id="699d98642c564d2e855e9661899b7252",
227
+ settings={
228
+ "activity_log": {
229
+ "enabled": True,
230
+ },
231
+ "antivirus": {
232
+ "enabled_download_phase": False,
233
+ "enabled_upload_phase": False,
234
+ "fail_closed": False,
235
+ "notification_settings": {
236
+ "enabled": True,
237
+ "include_context": True,
238
+ "msg": "msg",
239
+ "support_url": "support_url",
240
+ },
241
+ },
242
+ "block_page": {
243
+ "background_color": "background_color",
244
+ "enabled": True,
245
+ "footer_text": "--footer--",
246
+ "header_text": "--header--",
247
+ "include_context": True,
248
+ "logo_path": "https://logos.com/a.png",
249
+ "mailto_address": "admin@example.com",
250
+ "mailto_subject": "Blocked User Inquiry",
251
+ "mode": "",
252
+ "name": "Cloudflare",
253
+ "suppress_footer": False,
254
+ "target_uri": "https://example.com",
255
+ },
256
+ "body_scanning": {
257
+ "inspection_mode": "deep",
258
+ },
259
+ "browser_isolation": {
260
+ "non_identity_enabled": True,
261
+ "url_browser_isolation_enabled": True,
262
+ },
263
+ "certificate": {
264
+ "id": "d1b364c5-1311-466e-a194-f0e943e0799f",
265
+ },
266
+ "custom_certificate": {
267
+ "enabled": True,
268
+ "id": "d1b364c5-1311-466e-a194-f0e943e0799f",
269
+ },
270
+ "extended_email_matching": {
271
+ "enabled": True,
272
+ },
273
+ "fips": {
274
+ "tls": True,
275
+ },
276
+ "host_selector": {
277
+ "enabled": False,
278
+ },
279
+ "inspection": {
280
+ "mode": "static",
281
+ },
282
+ "protocol_detection": {
283
+ "enabled": True,
284
+ },
285
+ "sandbox": {
286
+ "enabled": True,
287
+ "fallback_action": "allow",
288
+ },
289
+ "tls_decrypt": {
290
+ "enabled": True,
291
+ },
292
+ })
293
+ ```
294
+
147
295
  ## Import
148
296
 
149
297
  ```sh
@@ -449,6 +449,34 @@ class ZeroTrustOrganization(pulumi.CustomResource):
449
449
  """
450
450
  ## Example Usage
451
451
 
452
+ ```python
453
+ import pulumi
454
+ import pulumi_cloudflare as cloudflare
455
+
456
+ example_zero_trust_organization = cloudflare.ZeroTrustOrganization("example_zero_trust_organization",
457
+ zone_id="zone_id",
458
+ allow_authenticate_via_warp=True,
459
+ auth_domain="test.cloudflareaccess.com",
460
+ auto_redirect_to_identity=True,
461
+ custom_pages={
462
+ "forbidden": "699d98642c564d2e855e9661899b7252",
463
+ "identity_denied": "699d98642c564d2e855e9661899b7252",
464
+ },
465
+ is_ui_read_only=True,
466
+ login_design={
467
+ "background_color": "#c5ed1b",
468
+ "footer_text": "This is an example description.",
469
+ "header_text": "This is an example description.",
470
+ "logo_path": "https://example.com/logo.png",
471
+ "text_color": "#c5ed1b",
472
+ },
473
+ name="Widget Corps Internal Applications",
474
+ session_duration="24h",
475
+ ui_read_only_toggle_reason="Temporarily turn off the UI read only lock to make a change via the UI",
476
+ user_seat_expiration_inactive_time="730h",
477
+ warp_auth_session_duration="24h")
478
+ ```
479
+
452
480
  :param str resource_name: The name of the resource.
453
481
  :param pulumi.ResourceOptions opts: Options for the resource.
454
482
  :param pulumi.Input[_builtins.str] account_id: The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.
@@ -471,6 +499,34 @@ class ZeroTrustOrganization(pulumi.CustomResource):
471
499
  """
472
500
  ## Example Usage
473
501
 
502
+ ```python
503
+ import pulumi
504
+ import pulumi_cloudflare as cloudflare
505
+
506
+ example_zero_trust_organization = cloudflare.ZeroTrustOrganization("example_zero_trust_organization",
507
+ zone_id="zone_id",
508
+ allow_authenticate_via_warp=True,
509
+ auth_domain="test.cloudflareaccess.com",
510
+ auto_redirect_to_identity=True,
511
+ custom_pages={
512
+ "forbidden": "699d98642c564d2e855e9661899b7252",
513
+ "identity_denied": "699d98642c564d2e855e9661899b7252",
514
+ },
515
+ is_ui_read_only=True,
516
+ login_design={
517
+ "background_color": "#c5ed1b",
518
+ "footer_text": "This is an example description.",
519
+ "header_text": "This is an example description.",
520
+ "logo_path": "https://example.com/logo.png",
521
+ "text_color": "#c5ed1b",
522
+ },
523
+ name="Widget Corps Internal Applications",
524
+ session_duration="24h",
525
+ ui_read_only_toggle_reason="Temporarily turn off the UI read only lock to make a change via the UI",
526
+ user_seat_expiration_inactive_time="730h",
527
+ warp_auth_session_duration="24h")
528
+ ```
529
+
474
530
  :param str resource_name: The name of the resource.
475
531
  :param ZeroTrustOrganizationArgs args: The arguments to use to populate this resource's properties.
476
532
  :param pulumi.ResourceOptions opts: Options for the resource.