pulumi-gcp 7.24.0a1716588893__py3-none-any.whl → 7.25.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 (179) hide show
  1. pulumi_gcp/__init__.py +88 -0
  2. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +0 -64
  3. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +0 -70
  4. pulumi_gcp/alloydb/backup.py +50 -42
  5. pulumi_gcp/alloydb/cluster.py +56 -48
  6. pulumi_gcp/alloydb/instance.py +50 -42
  7. pulumi_gcp/alloydb/user.py +32 -24
  8. pulumi_gcp/apigateway/api_config.py +0 -114
  9. pulumi_gcp/apigateway/gateway.py +0 -44
  10. pulumi_gcp/apigee/addons_config.py +14 -4
  11. pulumi_gcp/apigee/endpoint_attachment.py +4 -2
  12. pulumi_gcp/apigee/env_group.py +4 -2
  13. pulumi_gcp/apigee/environment.py +4 -2
  14. pulumi_gcp/apigee/instance.py +22 -8
  15. pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +26 -10
  16. pulumi_gcp/apigee/nat_address.py +10 -2
  17. pulumi_gcp/apigee/organization.py +18 -6
  18. pulumi_gcp/apigee/sync_authorization.py +8 -4
  19. pulumi_gcp/apigee/target_server.py +26 -10
  20. pulumi_gcp/appengine/_inputs.py +18 -0
  21. pulumi_gcp/appengine/domain_mapping.py +1 -1
  22. pulumi_gcp/appengine/outputs.py +16 -0
  23. pulumi_gcp/apphub/service.py +40 -20
  24. pulumi_gcp/apphub/service_project_attachment.py +16 -8
  25. pulumi_gcp/apphub/workload.py +0 -418
  26. pulumi_gcp/applicationintegration/auth_config.py +4 -2
  27. pulumi_gcp/artifactregistry/repository.py +14 -12
  28. pulumi_gcp/backupdisasterrecovery/management_server.py +4 -2
  29. pulumi_gcp/bigquery/_inputs.py +286 -2
  30. pulumi_gcp/bigquery/data_transfer_config.py +8 -4
  31. pulumi_gcp/bigquery/job.py +22 -16
  32. pulumi_gcp/bigquery/outputs.py +289 -2
  33. pulumi_gcp/bigquery/table.py +77 -35
  34. pulumi_gcp/certificateauthority/authority.py +10 -2
  35. pulumi_gcp/certificateauthority/certificate.py +8 -4
  36. pulumi_gcp/certificatemanager/certificate.py +84 -80
  37. pulumi_gcp/certificatemanager/certificate_issuance_config.py +32 -30
  38. pulumi_gcp/cloudbuild/bitbucket_server_config.py +12 -6
  39. pulumi_gcp/cloudbuild/trigger.py +22 -14
  40. pulumi_gcp/cloudbuild/worker_pool.py +12 -6
  41. pulumi_gcp/cloudbuildv2/connection.py +10 -2
  42. pulumi_gcp/cloudbuildv2/repository.py +10 -2
  43. pulumi_gcp/cloudfunctionsv2/function.py +110 -66
  44. pulumi_gcp/cloudids/endpoint.py +4 -2
  45. pulumi_gcp/cloudrun/_inputs.py +80 -4
  46. pulumi_gcp/cloudrun/outputs.py +137 -4
  47. pulumi_gcp/cloudrunv2/job.py +32 -20
  48. pulumi_gcp/cloudrunv2/service.py +28 -20
  49. pulumi_gcp/composer/user_workloads_secret.py +4 -4
  50. pulumi_gcp/compute/__init__.py +1 -0
  51. pulumi_gcp/compute/_inputs.py +398 -176
  52. pulumi_gcp/compute/forwarding_rule.py +225 -817
  53. pulumi_gcp/compute/get_subnetworks.py +157 -0
  54. pulumi_gcp/compute/global_forwarding_rule.py +0 -766
  55. pulumi_gcp/compute/instance_group.py +0 -100
  56. pulumi_gcp/compute/instance_group_membership.py +2 -2
  57. pulumi_gcp/compute/interconnect_attachment.py +82 -0
  58. pulumi_gcp/compute/network_endpoint.py +2 -2
  59. pulumi_gcp/compute/network_endpoint_list.py +2 -2
  60. pulumi_gcp/compute/outputs.py +609 -161
  61. pulumi_gcp/compute/packet_mirroring.py +4 -2
  62. pulumi_gcp/compute/region_security_policy_rule.py +4 -2
  63. pulumi_gcp/compute/region_ssl_certificate.py +0 -188
  64. pulumi_gcp/compute/region_ssl_policy.py +39 -40
  65. pulumi_gcp/compute/route.py +10 -2
  66. pulumi_gcp/compute/security_policy_rule.py +55 -1
  67. pulumi_gcp/compute/ssl_certificate.py +0 -166
  68. pulumi_gcp/compute/target_instance.py +4 -2
  69. pulumi_gcp/compute/vpn_gateway.py +12 -2
  70. pulumi_gcp/compute/vpn_tunnel.py +26 -16
  71. pulumi_gcp/container/_inputs.py +560 -0
  72. pulumi_gcp/container/outputs.py +1106 -51
  73. pulumi_gcp/databasemigrationservice/connection_profile.py +32 -16
  74. pulumi_gcp/datacatalog/policy_tag.py +4 -2
  75. pulumi_gcp/datafusion/instance.py +14 -12
  76. pulumi_gcp/dataplex/__init__.py +10 -0
  77. pulumi_gcp/dataplex/_inputs.py +160 -0
  78. pulumi_gcp/dataplex/aspect_type.py +1077 -0
  79. pulumi_gcp/dataplex/aspect_type_iam_binding.py +765 -0
  80. pulumi_gcp/dataplex/aspect_type_iam_member.py +765 -0
  81. pulumi_gcp/dataplex/aspect_type_iam_policy.py +604 -0
  82. pulumi_gcp/dataplex/asset.py +4 -2
  83. pulumi_gcp/dataplex/datascan.py +16 -14
  84. pulumi_gcp/dataplex/entry_group.py +722 -0
  85. pulumi_gcp/dataplex/entry_group_iam_binding.py +765 -0
  86. pulumi_gcp/dataplex/entry_group_iam_member.py +765 -0
  87. pulumi_gcp/dataplex/entry_group_iam_policy.py +604 -0
  88. pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +164 -0
  89. pulumi_gcp/dataplex/get_entry_group_iam_policy.py +164 -0
  90. pulumi_gcp/dataplex/outputs.py +112 -0
  91. pulumi_gcp/datastore/data_store_index.py +4 -2
  92. pulumi_gcp/datastream/connection_profile.py +47 -0
  93. pulumi_gcp/datastream/private_connection.py +47 -0
  94. pulumi_gcp/datastream/stream.py +63 -10
  95. pulumi_gcp/diagflow/cx_test_case.py +4 -4
  96. pulumi_gcp/diagflow/entity_type.py +4 -2
  97. pulumi_gcp/diagflow/fulfillment.py +4 -2
  98. pulumi_gcp/diagflow/intent.py +8 -4
  99. pulumi_gcp/dns/get_managed_zone.py +3 -3
  100. pulumi_gcp/dns/managed_zone.py +7 -7
  101. pulumi_gcp/dns/outputs.py +2 -2
  102. pulumi_gcp/edgecontainer/node_pool.py +4 -2
  103. pulumi_gcp/edgecontainer/vpn_connection.py +4 -2
  104. pulumi_gcp/eventarc/channel.py +4 -2
  105. pulumi_gcp/eventarc/google_channel_config.py +4 -2
  106. pulumi_gcp/firebase/app_check_app_attest_config.py +16 -8
  107. pulumi_gcp/firebase/app_check_debug_token.py +8 -4
  108. pulumi_gcp/firebase/app_check_device_check_config.py +8 -4
  109. pulumi_gcp/firebase/app_check_play_integrity_config.py +16 -8
  110. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +8 -4
  111. pulumi_gcp/firebase/app_check_recaptcha_v3_config.py +8 -4
  112. pulumi_gcp/firebase/app_check_service_config.py +12 -6
  113. pulumi_gcp/firebase/database_instance.py +4 -2
  114. pulumi_gcp/firebaserules/release.py +0 -98
  115. pulumi_gcp/firestore/database.py +24 -20
  116. pulumi_gcp/firestore/document.py +24 -12
  117. pulumi_gcp/folder/access_approval_settings.py +4 -2
  118. pulumi_gcp/gkehub/membership_binding.py +14 -4
  119. pulumi_gcp/gkehub/membership_rbac_role_binding.py +8 -4
  120. pulumi_gcp/gkehub/namespace.py +4 -2
  121. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -2
  122. pulumi_gcp/integrationconnectors/connection.py +4 -2
  123. pulumi_gcp/integrationconnectors/managed_zone.py +18 -6
  124. pulumi_gcp/kms/__init__.py +2 -0
  125. pulumi_gcp/kms/autokey_config.py +366 -0
  126. pulumi_gcp/kms/key_handle.py +548 -0
  127. pulumi_gcp/logging/folder_settings.py +12 -10
  128. pulumi_gcp/logging/linked_dataset.py +4 -2
  129. pulumi_gcp/logging/organization_settings.py +12 -10
  130. pulumi_gcp/logging/project_bucket_config.py +4 -2
  131. pulumi_gcp/looker/instance.py +12 -10
  132. pulumi_gcp/netapp/volume_replication.py +4 -2
  133. pulumi_gcp/netapp/volume_snapshot.py +4 -2
  134. pulumi_gcp/networkconnectivity/internal_range.py +14 -12
  135. pulumi_gcp/networksecurity/gateway_security_policy.py +16 -4
  136. pulumi_gcp/networksecurity/tls_inspection_policy.py +22 -4
  137. pulumi_gcp/networkservices/__init__.py +1 -0
  138. pulumi_gcp/networkservices/_inputs.py +245 -27
  139. pulumi_gcp/networkservices/gateway.py +12 -6
  140. pulumi_gcp/networkservices/lb_route_extension.py +663 -0
  141. pulumi_gcp/networkservices/lb_traffic_extension.py +28 -540
  142. pulumi_gcp/networkservices/outputs.py +251 -20
  143. pulumi_gcp/organizations/access_approval_settings.py +4 -2
  144. pulumi_gcp/orgpolicy/policy.py +2 -2
  145. pulumi_gcp/parallelstore/instance.py +20 -18
  146. pulumi_gcp/projects/access_approval_settings.py +4 -2
  147. pulumi_gcp/pubsub/_inputs.py +16 -0
  148. pulumi_gcp/pubsub/outputs.py +25 -0
  149. pulumi_gcp/pubsub/schema.py +4 -2
  150. pulumi_gcp/pubsub/subscription.py +102 -66
  151. pulumi_gcp/pubsub/topic.py +4 -2
  152. pulumi_gcp/pulumi-plugin.json +1 -1
  153. pulumi_gcp/redis/cluster.py +30 -28
  154. pulumi_gcp/redis/instance.py +4 -2
  155. pulumi_gcp/secretmanager/secret.py +4 -2
  156. pulumi_gcp/securesourcemanager/instance.py +20 -8
  157. pulumi_gcp/securitycenter/instance_iam_binding.py +14 -12
  158. pulumi_gcp/securitycenter/instance_iam_member.py +14 -12
  159. pulumi_gcp/securitycenter/instance_iam_policy.py +14 -12
  160. pulumi_gcp/serviceaccount/key.py +2 -2
  161. pulumi_gcp/sql/database_instance.py +4 -2
  162. pulumi_gcp/sql/user.py +4 -4
  163. pulumi_gcp/storage/get_project_service_account.py +4 -2
  164. pulumi_gcp/storage/insights_report_config.py +12 -10
  165. pulumi_gcp/storage/notification.py +18 -16
  166. pulumi_gcp/storage/transfer_agent_pool.py +4 -2
  167. pulumi_gcp/storage/transfer_job.py +14 -4
  168. pulumi_gcp/tpu/_inputs.py +2 -2
  169. pulumi_gcp/tpu/outputs.py +2 -2
  170. pulumi_gcp/tpu/v2_vm.py +10 -6
  171. pulumi_gcp/vertex/ai_endpoint.py +24 -22
  172. pulumi_gcp/vertex/ai_index_endpoint.py +20 -18
  173. pulumi_gcp/vertex/ai_tensorboard.py +14 -12
  174. pulumi_gcp/vmwareengine/external_address.py +4 -2
  175. pulumi_gcp/vmwareengine/network.py +8 -4
  176. {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0.dist-info}/METADATA +1 -1
  177. {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0.dist-info}/RECORD +179 -165
  178. {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0.dist-info}/WHEEL +0 -0
  179. {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0.dist-info}/top_level.txt +0 -0
@@ -412,7 +412,8 @@ class PacketMirroring(pulumi.CustomResource):
412
412
  all_ports=True,
413
413
  network=default.id,
414
414
  subnetwork=default_subnetwork.id,
415
- network_tier="PREMIUM")
415
+ network_tier="PREMIUM",
416
+ opts=pulumi.ResourceOptions(depends_on=[default_subnetwork]))
416
417
  foobar = gcp.compute.PacketMirroring("foobar",
417
418
  name="my-mirroring",
418
419
  description="bar",
@@ -546,7 +547,8 @@ class PacketMirroring(pulumi.CustomResource):
546
547
  all_ports=True,
547
548
  network=default.id,
548
549
  subnetwork=default_subnetwork.id,
549
- network_tier="PREMIUM")
550
+ network_tier="PREMIUM",
551
+ opts=pulumi.ResourceOptions(depends_on=[default_subnetwork]))
550
552
  foobar = gcp.compute.PacketMirroring("foobar",
551
553
  name="my-mirroring",
552
554
  description="bar",
@@ -648,7 +648,8 @@ class RegionSecurityPolicyRule(pulumi.CustomResource):
648
648
  offset=8,
649
649
  size=2,
650
650
  mask="0x8F00",
651
- )])
651
+ )],
652
+ opts=pulumi.ResourceOptions(depends_on=[edge_sec_service]))
652
653
  policy_rule_network_match = gcp.compute.RegionSecurityPolicyRule("policy_rule_network_match",
653
654
  region="us-west2",
654
655
  security_policy=policynetworkmatch.name,
@@ -897,7 +898,8 @@ class RegionSecurityPolicyRule(pulumi.CustomResource):
897
898
  offset=8,
898
899
  size=2,
899
900
  mask="0x8F00",
900
- )])
901
+ )],
902
+ opts=pulumi.ResourceOptions(depends_on=[edge_sec_service]))
901
903
  policy_rule_network_match = gcp.compute.RegionSecurityPolicyRule("policy_rule_network_match",
902
904
  region="us-west2",
903
905
  security_policy=policynetworkmatch.name,
@@ -411,100 +411,6 @@ class RegionSslCertificate(pulumi.CustomResource):
411
411
 
412
412
  ## Example Usage
413
413
 
414
- ### Region Ssl Certificate Basic
415
-
416
- ```python
417
- import pulumi
418
- import pulumi_gcp as gcp
419
- import pulumi_std as std
420
-
421
- default = gcp.compute.RegionSslCertificate("default",
422
- region="us-central1",
423
- name_prefix="my-certificate-",
424
- description="a description",
425
- private_key=std.file(input="path/to/private.key").result,
426
- certificate=std.file(input="path/to/certificate.crt").result)
427
- ```
428
- ### Region Ssl Certificate Random Provider
429
-
430
- ```python
431
- import pulumi
432
- import pulumi_gcp as gcp
433
- import pulumi_random as random
434
- import pulumi_std as std
435
-
436
- certificate = random.RandomId("certificate",
437
- byte_length=4,
438
- prefix="my-certificate-",
439
- keepers={
440
- "private_key": std.filebase64sha256(input="path/to/private.key").result,
441
- "certificate": std.filebase64sha256(input="path/to/certificate.crt").result,
442
- })
443
- # You may also want to control name generation explicitly:
444
- default = gcp.compute.RegionSslCertificate("default",
445
- region="us-central1",
446
- name=certificate.hex,
447
- private_key=std.file(input="path/to/private.key").result,
448
- certificate=std.file(input="path/to/certificate.crt").result)
449
- ```
450
- ### Region Ssl Certificate Target Https Proxies
451
-
452
- ```python
453
- import pulumi
454
- import pulumi_gcp as gcp
455
- import pulumi_std as std
456
-
457
- # Using with Region Target HTTPS Proxies
458
- #
459
- # SSL certificates cannot be updated after creation. In order to apply
460
- # the specified configuration, the provider will destroy the existing
461
- # resource and create a replacement. To effectively use an SSL
462
- # certificate resource with a Target HTTPS Proxy resource, it's
463
- # recommended to specify create_before_destroy in a lifecycle block.
464
- # Either omit the Instance Template name attribute, specify a partial
465
- # name with name_prefix, or use random_id resource. Example:
466
- default = gcp.compute.RegionSslCertificate("default",
467
- region="us-central1",
468
- name_prefix="my-certificate-",
469
- private_key=std.file(input="path/to/private.key").result,
470
- certificate=std.file(input="path/to/certificate.crt").result)
471
- default_region_health_check = gcp.compute.RegionHealthCheck("default",
472
- region="us-central1",
473
- name="http-health-check",
474
- http_health_check=gcp.compute.RegionHealthCheckHttpHealthCheckArgs(
475
- port=80,
476
- ))
477
- default_region_backend_service = gcp.compute.RegionBackendService("default",
478
- region="us-central1",
479
- name="backend-service",
480
- protocol="HTTP",
481
- load_balancing_scheme="INTERNAL_MANAGED",
482
- timeout_sec=10,
483
- health_checks=default_region_health_check.id)
484
- default_region_url_map = gcp.compute.RegionUrlMap("default",
485
- region="us-central1",
486
- name="url-map",
487
- description="a description",
488
- default_service=default_region_backend_service.id,
489
- host_rules=[gcp.compute.RegionUrlMapHostRuleArgs(
490
- hosts=["mysite.com"],
491
- path_matcher="allpaths",
492
- )],
493
- path_matchers=[gcp.compute.RegionUrlMapPathMatcherArgs(
494
- name="allpaths",
495
- default_service=default_region_backend_service.id,
496
- path_rules=[gcp.compute.RegionUrlMapPathMatcherPathRuleArgs(
497
- paths=["/*"],
498
- service=default_region_backend_service.id,
499
- )],
500
- )])
501
- default_region_target_https_proxy = gcp.compute.RegionTargetHttpsProxy("default",
502
- region="us-central1",
503
- name="test-proxy",
504
- url_map=default_region_url_map.id,
505
- ssl_certificates=[default.id])
506
- ```
507
-
508
414
  ## Import
509
415
 
510
416
  RegionSslCertificate can be imported using any of these accepted formats:
@@ -582,100 +488,6 @@ class RegionSslCertificate(pulumi.CustomResource):
582
488
 
583
489
  ## Example Usage
584
490
 
585
- ### Region Ssl Certificate Basic
586
-
587
- ```python
588
- import pulumi
589
- import pulumi_gcp as gcp
590
- import pulumi_std as std
591
-
592
- default = gcp.compute.RegionSslCertificate("default",
593
- region="us-central1",
594
- name_prefix="my-certificate-",
595
- description="a description",
596
- private_key=std.file(input="path/to/private.key").result,
597
- certificate=std.file(input="path/to/certificate.crt").result)
598
- ```
599
- ### Region Ssl Certificate Random Provider
600
-
601
- ```python
602
- import pulumi
603
- import pulumi_gcp as gcp
604
- import pulumi_random as random
605
- import pulumi_std as std
606
-
607
- certificate = random.RandomId("certificate",
608
- byte_length=4,
609
- prefix="my-certificate-",
610
- keepers={
611
- "private_key": std.filebase64sha256(input="path/to/private.key").result,
612
- "certificate": std.filebase64sha256(input="path/to/certificate.crt").result,
613
- })
614
- # You may also want to control name generation explicitly:
615
- default = gcp.compute.RegionSslCertificate("default",
616
- region="us-central1",
617
- name=certificate.hex,
618
- private_key=std.file(input="path/to/private.key").result,
619
- certificate=std.file(input="path/to/certificate.crt").result)
620
- ```
621
- ### Region Ssl Certificate Target Https Proxies
622
-
623
- ```python
624
- import pulumi
625
- import pulumi_gcp as gcp
626
- import pulumi_std as std
627
-
628
- # Using with Region Target HTTPS Proxies
629
- #
630
- # SSL certificates cannot be updated after creation. In order to apply
631
- # the specified configuration, the provider will destroy the existing
632
- # resource and create a replacement. To effectively use an SSL
633
- # certificate resource with a Target HTTPS Proxy resource, it's
634
- # recommended to specify create_before_destroy in a lifecycle block.
635
- # Either omit the Instance Template name attribute, specify a partial
636
- # name with name_prefix, or use random_id resource. Example:
637
- default = gcp.compute.RegionSslCertificate("default",
638
- region="us-central1",
639
- name_prefix="my-certificate-",
640
- private_key=std.file(input="path/to/private.key").result,
641
- certificate=std.file(input="path/to/certificate.crt").result)
642
- default_region_health_check = gcp.compute.RegionHealthCheck("default",
643
- region="us-central1",
644
- name="http-health-check",
645
- http_health_check=gcp.compute.RegionHealthCheckHttpHealthCheckArgs(
646
- port=80,
647
- ))
648
- default_region_backend_service = gcp.compute.RegionBackendService("default",
649
- region="us-central1",
650
- name="backend-service",
651
- protocol="HTTP",
652
- load_balancing_scheme="INTERNAL_MANAGED",
653
- timeout_sec=10,
654
- health_checks=default_region_health_check.id)
655
- default_region_url_map = gcp.compute.RegionUrlMap("default",
656
- region="us-central1",
657
- name="url-map",
658
- description="a description",
659
- default_service=default_region_backend_service.id,
660
- host_rules=[gcp.compute.RegionUrlMapHostRuleArgs(
661
- hosts=["mysite.com"],
662
- path_matcher="allpaths",
663
- )],
664
- path_matchers=[gcp.compute.RegionUrlMapPathMatcherArgs(
665
- name="allpaths",
666
- default_service=default_region_backend_service.id,
667
- path_rules=[gcp.compute.RegionUrlMapPathMatcherPathRuleArgs(
668
- paths=["/*"],
669
- service=default_region_backend_service.id,
670
- )],
671
- )])
672
- default_region_target_https_proxy = gcp.compute.RegionTargetHttpsProxy("default",
673
- region="us-central1",
674
- name="test-proxy",
675
- url_map=default_region_url_map.id,
676
- ssl_certificates=[default.id])
677
- ```
678
-
679
491
  ## Import
680
492
 
681
493
  RegionSslCertificate can be imported using any of these accepted formats:
@@ -14,19 +14,15 @@ __all__ = ['RegionSslPolicyArgs', 'RegionSslPolicy']
14
14
  @pulumi.input_type
15
15
  class RegionSslPolicyArgs:
16
16
  def __init__(__self__, *,
17
- region: pulumi.Input[str],
18
17
  custom_features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
19
18
  description: Optional[pulumi.Input[str]] = None,
20
19
  min_tls_version: Optional[pulumi.Input[str]] = None,
21
20
  name: Optional[pulumi.Input[str]] = None,
22
21
  profile: Optional[pulumi.Input[str]] = None,
23
- project: Optional[pulumi.Input[str]] = None):
22
+ project: Optional[pulumi.Input[str]] = None,
23
+ region: Optional[pulumi.Input[str]] = None):
24
24
  """
25
25
  The set of arguments for constructing a RegionSslPolicy resource.
26
- :param pulumi.Input[str] region: The region where the regional SSL policy resides.
27
-
28
-
29
- - - -
30
26
  :param pulumi.Input[Sequence[pulumi.Input[str]]] custom_features: A list of features enabled when the selected profile is CUSTOM. The
31
27
  method returns the set of features that can be specified in this
32
28
  list. This field must be empty if the profile is not CUSTOM.
@@ -46,6 +42,9 @@ class RegionSslPolicyArgs:
46
42
  first character must be a lowercase letter, and all following
47
43
  characters must be a dash, lowercase letter, or digit, except the last
48
44
  character, which cannot be a dash.
45
+
46
+
47
+ - - -
49
48
  :param pulumi.Input[str] profile: Profile specifies the set of SSL features that can be used by the
50
49
  load balancer when negotiating SSL with clients. If using `CUSTOM`,
51
50
  the set of SSL features to enable must be specified in the
@@ -57,8 +56,8 @@ class RegionSslPolicyArgs:
57
56
  Possible values are: `COMPATIBLE`, `MODERN`, `RESTRICTED`, `CUSTOM`.
58
57
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
59
58
  If it is not provided, the provider project is used.
59
+ :param pulumi.Input[str] region: The region where the regional SSL policy resides.
60
60
  """
61
- pulumi.set(__self__, "region", region)
62
61
  if custom_features is not None:
63
62
  pulumi.set(__self__, "custom_features", custom_features)
64
63
  if description is not None:
@@ -71,21 +70,8 @@ class RegionSslPolicyArgs:
71
70
  pulumi.set(__self__, "profile", profile)
72
71
  if project is not None:
73
72
  pulumi.set(__self__, "project", project)
74
-
75
- @property
76
- @pulumi.getter
77
- def region(self) -> pulumi.Input[str]:
78
- """
79
- The region where the regional SSL policy resides.
80
-
81
-
82
- - - -
83
- """
84
- return pulumi.get(self, "region")
85
-
86
- @region.setter
87
- def region(self, value: pulumi.Input[str]):
88
- pulumi.set(self, "region", value)
73
+ if region is not None:
74
+ pulumi.set(__self__, "region", region)
89
75
 
90
76
  @property
91
77
  @pulumi.getter(name="customFeatures")
@@ -143,6 +129,9 @@ class RegionSslPolicyArgs:
143
129
  first character must be a lowercase letter, and all following
144
130
  characters must be a dash, lowercase letter, or digit, except the last
145
131
  character, which cannot be a dash.
132
+
133
+
134
+ - - -
146
135
  """
147
136
  return pulumi.get(self, "name")
148
137
 
@@ -183,6 +172,18 @@ class RegionSslPolicyArgs:
183
172
  def project(self, value: Optional[pulumi.Input[str]]):
184
173
  pulumi.set(self, "project", value)
185
174
 
175
+ @property
176
+ @pulumi.getter
177
+ def region(self) -> Optional[pulumi.Input[str]]:
178
+ """
179
+ The region where the regional SSL policy resides.
180
+ """
181
+ return pulumi.get(self, "region")
182
+
183
+ @region.setter
184
+ def region(self, value: Optional[pulumi.Input[str]]):
185
+ pulumi.set(self, "region", value)
186
+
186
187
 
187
188
  @pulumi.input_type
188
189
  class _RegionSslPolicyState:
@@ -223,6 +224,9 @@ class _RegionSslPolicyState:
223
224
  first character must be a lowercase letter, and all following
224
225
  characters must be a dash, lowercase letter, or digit, except the last
225
226
  character, which cannot be a dash.
227
+
228
+
229
+ - - -
226
230
  :param pulumi.Input[str] profile: Profile specifies the set of SSL features that can be used by the
227
231
  load balancer when negotiating SSL with clients. If using `CUSTOM`,
228
232
  the set of SSL features to enable must be specified in the
@@ -235,9 +239,6 @@ class _RegionSslPolicyState:
235
239
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
236
240
  If it is not provided, the provider project is used.
237
241
  :param pulumi.Input[str] region: The region where the regional SSL policy resides.
238
-
239
-
240
- - - -
241
242
  :param pulumi.Input[str] self_link: The URI of the created resource.
242
243
  """
243
244
  if creation_timestamp is not None:
@@ -356,6 +357,9 @@ class _RegionSslPolicyState:
356
357
  first character must be a lowercase letter, and all following
357
358
  characters must be a dash, lowercase letter, or digit, except the last
358
359
  character, which cannot be a dash.
360
+
361
+
362
+ - - -
359
363
  """
360
364
  return pulumi.get(self, "name")
361
365
 
@@ -401,9 +405,6 @@ class _RegionSslPolicyState:
401
405
  def region(self) -> Optional[pulumi.Input[str]]:
402
406
  """
403
407
  The region where the regional SSL policy resides.
404
-
405
-
406
- - - -
407
408
  """
408
409
  return pulumi.get(self, "region")
409
410
 
@@ -498,6 +499,9 @@ class RegionSslPolicy(pulumi.CustomResource):
498
499
  first character must be a lowercase letter, and all following
499
500
  characters must be a dash, lowercase letter, or digit, except the last
500
501
  character, which cannot be a dash.
502
+
503
+
504
+ - - -
501
505
  :param pulumi.Input[str] profile: Profile specifies the set of SSL features that can be used by the
502
506
  load balancer when negotiating SSL with clients. If using `CUSTOM`,
503
507
  the set of SSL features to enable must be specified in the
@@ -510,15 +514,12 @@ class RegionSslPolicy(pulumi.CustomResource):
510
514
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
511
515
  If it is not provided, the provider project is used.
512
516
  :param pulumi.Input[str] region: The region where the regional SSL policy resides.
513
-
514
-
515
- - - -
516
517
  """
517
518
  ...
518
519
  @overload
519
520
  def __init__(__self__,
520
521
  resource_name: str,
521
- args: RegionSslPolicyArgs,
522
+ args: Optional[RegionSslPolicyArgs] = None,
522
523
  opts: Optional[pulumi.ResourceOptions] = None):
523
524
  """
524
525
  Represents a Regional SSL policy. SSL policies give you the ability to control the
@@ -597,8 +598,6 @@ class RegionSslPolicy(pulumi.CustomResource):
597
598
  __props__.__dict__["name"] = name
598
599
  __props__.__dict__["profile"] = profile
599
600
  __props__.__dict__["project"] = project
600
- if region is None and not opts.urn:
601
- raise TypeError("Missing required property 'region'")
602
601
  __props__.__dict__["region"] = region
603
602
  __props__.__dict__["creation_timestamp"] = None
604
603
  __props__.__dict__["enabled_features"] = None
@@ -655,6 +654,9 @@ class RegionSslPolicy(pulumi.CustomResource):
655
654
  first character must be a lowercase letter, and all following
656
655
  characters must be a dash, lowercase letter, or digit, except the last
657
656
  character, which cannot be a dash.
657
+
658
+
659
+ - - -
658
660
  :param pulumi.Input[str] profile: Profile specifies the set of SSL features that can be used by the
659
661
  load balancer when negotiating SSL with clients. If using `CUSTOM`,
660
662
  the set of SSL features to enable must be specified in the
@@ -667,9 +669,6 @@ class RegionSslPolicy(pulumi.CustomResource):
667
669
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
668
670
  If it is not provided, the provider project is used.
669
671
  :param pulumi.Input[str] region: The region where the regional SSL policy resides.
670
-
671
-
672
- - - -
673
672
  :param pulumi.Input[str] self_link: The URI of the created resource.
674
673
  """
675
674
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -758,6 +757,9 @@ class RegionSslPolicy(pulumi.CustomResource):
758
757
  first character must be a lowercase letter, and all following
759
758
  characters must be a dash, lowercase letter, or digit, except the last
760
759
  character, which cannot be a dash.
760
+
761
+
762
+ - - -
761
763
  """
762
764
  return pulumi.get(self, "name")
763
765
 
@@ -791,9 +793,6 @@ class RegionSslPolicy(pulumi.CustomResource):
791
793
  def region(self) -> pulumi.Output[str]:
792
794
  """
793
795
  The region where the regional SSL policy resides.
794
-
795
-
796
- - - -
797
796
  """
798
797
  return pulumi.get(self, "region")
799
798
 
@@ -804,7 +804,11 @@ class Route(pulumi.CustomResource):
804
804
  tags=[
805
805
  "tag1",
806
806
  "tag2",
807
- ])
807
+ ],
808
+ opts=pulumi.ResourceOptions(depends_on=[
809
+ peering1,
810
+ peering2,
811
+ ]))
808
812
  ```
809
813
 
810
814
  ## Import
@@ -1039,7 +1043,11 @@ class Route(pulumi.CustomResource):
1039
1043
  tags=[
1040
1044
  "tag1",
1041
1045
  "tag2",
1042
- ])
1046
+ ],
1047
+ opts=pulumi.ResourceOptions(depends_on=[
1048
+ peering1,
1049
+ peering2,
1050
+ ]))
1043
1051
  ```
1044
1052
 
1045
1053
  ## Import
@@ -23,7 +23,8 @@ class SecurityPolicyRuleInitArgs:
23
23
  match: Optional[pulumi.Input['SecurityPolicyRuleMatchArgs']] = None,
24
24
  preconfigured_waf_config: Optional[pulumi.Input['SecurityPolicyRulePreconfiguredWafConfigArgs']] = None,
25
25
  preview: Optional[pulumi.Input[bool]] = None,
26
- project: Optional[pulumi.Input[str]] = None):
26
+ project: Optional[pulumi.Input[str]] = None,
27
+ rate_limit_options: Optional[pulumi.Input['SecurityPolicyRuleRateLimitOptionsArgs']] = None):
27
28
  """
28
29
  The set of arguments for constructing a SecurityPolicyRule resource.
29
30
  :param pulumi.Input[str] action: The Action to perform when the rule is matched. The following are the valid actions:
@@ -49,6 +50,8 @@ class SecurityPolicyRuleInitArgs:
49
50
  :param pulumi.Input[bool] preview: If set to true, the specified action is not enforced.
50
51
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
51
52
  If it is not provided, the provider project is used.
53
+ :param pulumi.Input['SecurityPolicyRuleRateLimitOptionsArgs'] rate_limit_options: Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions.
54
+ Structure is documented below.
52
55
  """
53
56
  pulumi.set(__self__, "action", action)
54
57
  pulumi.set(__self__, "priority", priority)
@@ -63,6 +66,8 @@ class SecurityPolicyRuleInitArgs:
63
66
  pulumi.set(__self__, "preview", preview)
64
67
  if project is not None:
65
68
  pulumi.set(__self__, "project", project)
69
+ if rate_limit_options is not None:
70
+ pulumi.set(__self__, "rate_limit_options", rate_limit_options)
66
71
 
67
72
  @property
68
73
  @pulumi.getter
@@ -175,6 +180,19 @@ class SecurityPolicyRuleInitArgs:
175
180
  def project(self, value: Optional[pulumi.Input[str]]):
176
181
  pulumi.set(self, "project", value)
177
182
 
183
+ @property
184
+ @pulumi.getter(name="rateLimitOptions")
185
+ def rate_limit_options(self) -> Optional[pulumi.Input['SecurityPolicyRuleRateLimitOptionsArgs']]:
186
+ """
187
+ Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions.
188
+ Structure is documented below.
189
+ """
190
+ return pulumi.get(self, "rate_limit_options")
191
+
192
+ @rate_limit_options.setter
193
+ def rate_limit_options(self, value: Optional[pulumi.Input['SecurityPolicyRuleRateLimitOptionsArgs']]):
194
+ pulumi.set(self, "rate_limit_options", value)
195
+
178
196
 
179
197
  @pulumi.input_type
180
198
  class _SecurityPolicyRuleState:
@@ -186,6 +204,7 @@ class _SecurityPolicyRuleState:
186
204
  preview: Optional[pulumi.Input[bool]] = None,
187
205
  priority: Optional[pulumi.Input[int]] = None,
188
206
  project: Optional[pulumi.Input[str]] = None,
207
+ rate_limit_options: Optional[pulumi.Input['SecurityPolicyRuleRateLimitOptionsArgs']] = None,
189
208
  security_policy: Optional[pulumi.Input[str]] = None):
190
209
  """
191
210
  Input properties used for looking up and filtering SecurityPolicyRule resources.
@@ -208,6 +227,8 @@ class _SecurityPolicyRuleState:
208
227
  Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority.
209
228
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
210
229
  If it is not provided, the provider project is used.
230
+ :param pulumi.Input['SecurityPolicyRuleRateLimitOptionsArgs'] rate_limit_options: Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions.
231
+ Structure is documented below.
211
232
  :param pulumi.Input[str] security_policy: The name of the security policy this rule belongs to.
212
233
 
213
234
 
@@ -227,6 +248,8 @@ class _SecurityPolicyRuleState:
227
248
  pulumi.set(__self__, "priority", priority)
228
249
  if project is not None:
229
250
  pulumi.set(__self__, "project", project)
251
+ if rate_limit_options is not None:
252
+ pulumi.set(__self__, "rate_limit_options", rate_limit_options)
230
253
  if security_policy is not None:
231
254
  pulumi.set(__self__, "security_policy", security_policy)
232
255
 
@@ -326,6 +349,19 @@ class _SecurityPolicyRuleState:
326
349
  def project(self, value: Optional[pulumi.Input[str]]):
327
350
  pulumi.set(self, "project", value)
328
351
 
352
+ @property
353
+ @pulumi.getter(name="rateLimitOptions")
354
+ def rate_limit_options(self) -> Optional[pulumi.Input['SecurityPolicyRuleRateLimitOptionsArgs']]:
355
+ """
356
+ Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions.
357
+ Structure is documented below.
358
+ """
359
+ return pulumi.get(self, "rate_limit_options")
360
+
361
+ @rate_limit_options.setter
362
+ def rate_limit_options(self, value: Optional[pulumi.Input['SecurityPolicyRuleRateLimitOptionsArgs']]):
363
+ pulumi.set(self, "rate_limit_options", value)
364
+
329
365
  @property
330
366
  @pulumi.getter(name="securityPolicy")
331
367
  def security_policy(self) -> Optional[pulumi.Input[str]]:
@@ -354,6 +390,7 @@ class SecurityPolicyRule(pulumi.CustomResource):
354
390
  preview: Optional[pulumi.Input[bool]] = None,
355
391
  priority: Optional[pulumi.Input[int]] = None,
356
392
  project: Optional[pulumi.Input[str]] = None,
393
+ rate_limit_options: Optional[pulumi.Input[pulumi.InputType['SecurityPolicyRuleRateLimitOptionsArgs']]] = None,
357
394
  security_policy: Optional[pulumi.Input[str]] = None,
358
395
  __props__=None):
359
396
  """
@@ -513,6 +550,8 @@ class SecurityPolicyRule(pulumi.CustomResource):
513
550
  Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority.
514
551
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
515
552
  If it is not provided, the provider project is used.
553
+ :param pulumi.Input[pulumi.InputType['SecurityPolicyRuleRateLimitOptionsArgs']] rate_limit_options: Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions.
554
+ Structure is documented below.
516
555
  :param pulumi.Input[str] security_policy: The name of the security policy this rule belongs to.
517
556
 
518
557
 
@@ -682,6 +721,7 @@ class SecurityPolicyRule(pulumi.CustomResource):
682
721
  preview: Optional[pulumi.Input[bool]] = None,
683
722
  priority: Optional[pulumi.Input[int]] = None,
684
723
  project: Optional[pulumi.Input[str]] = None,
724
+ rate_limit_options: Optional[pulumi.Input[pulumi.InputType['SecurityPolicyRuleRateLimitOptionsArgs']]] = None,
685
725
  security_policy: Optional[pulumi.Input[str]] = None,
686
726
  __props__=None):
687
727
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -703,6 +743,7 @@ class SecurityPolicyRule(pulumi.CustomResource):
703
743
  raise TypeError("Missing required property 'priority'")
704
744
  __props__.__dict__["priority"] = priority
705
745
  __props__.__dict__["project"] = project
746
+ __props__.__dict__["rate_limit_options"] = rate_limit_options
706
747
  if security_policy is None and not opts.urn:
707
748
  raise TypeError("Missing required property 'security_policy'")
708
749
  __props__.__dict__["security_policy"] = security_policy
@@ -723,6 +764,7 @@ class SecurityPolicyRule(pulumi.CustomResource):
723
764
  preview: Optional[pulumi.Input[bool]] = None,
724
765
  priority: Optional[pulumi.Input[int]] = None,
725
766
  project: Optional[pulumi.Input[str]] = None,
767
+ rate_limit_options: Optional[pulumi.Input[pulumi.InputType['SecurityPolicyRuleRateLimitOptionsArgs']]] = None,
726
768
  security_policy: Optional[pulumi.Input[str]] = None) -> 'SecurityPolicyRule':
727
769
  """
728
770
  Get an existing SecurityPolicyRule resource's state with the given name, id, and optional extra
@@ -750,6 +792,8 @@ class SecurityPolicyRule(pulumi.CustomResource):
750
792
  Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority.
751
793
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
752
794
  If it is not provided, the provider project is used.
795
+ :param pulumi.Input[pulumi.InputType['SecurityPolicyRuleRateLimitOptionsArgs']] rate_limit_options: Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions.
796
+ Structure is documented below.
753
797
  :param pulumi.Input[str] security_policy: The name of the security policy this rule belongs to.
754
798
 
755
799
 
@@ -766,6 +810,7 @@ class SecurityPolicyRule(pulumi.CustomResource):
766
810
  __props__.__dict__["preview"] = preview
767
811
  __props__.__dict__["priority"] = priority
768
812
  __props__.__dict__["project"] = project
813
+ __props__.__dict__["rate_limit_options"] = rate_limit_options
769
814
  __props__.__dict__["security_policy"] = security_policy
770
815
  return SecurityPolicyRule(resource_name, opts=opts, __props__=__props__)
771
816
 
@@ -837,6 +882,15 @@ class SecurityPolicyRule(pulumi.CustomResource):
837
882
  """
838
883
  return pulumi.get(self, "project")
839
884
 
885
+ @property
886
+ @pulumi.getter(name="rateLimitOptions")
887
+ def rate_limit_options(self) -> pulumi.Output[Optional['outputs.SecurityPolicyRuleRateLimitOptions']]:
888
+ """
889
+ Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions.
890
+ Structure is documented below.
891
+ """
892
+ return pulumi.get(self, "rate_limit_options")
893
+
840
894
  @property
841
895
  @pulumi.getter(name="securityPolicy")
842
896
  def security_policy(self) -> pulumi.Output[str]: