pulumi-gcp 7.31.0a1720765508__py3-none-any.whl → 7.31.0a1721039192__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 (86) hide show
  1. pulumi_gcp/__init__.py +40 -0
  2. pulumi_gcp/applicationintegration/auth_config.py +2 -2
  3. pulumi_gcp/bigquery/reservation_assignment.py +48 -30
  4. pulumi_gcp/certificateauthority/certificate_template.py +2 -2
  5. pulumi_gcp/certificatemanager/_inputs.py +33 -0
  6. pulumi_gcp/certificatemanager/outputs.py +36 -0
  7. pulumi_gcp/certificatemanager/trust_config.py +107 -0
  8. pulumi_gcp/compute/_inputs.py +3 -6
  9. pulumi_gcp/compute/ca_external_account_key.py +2 -2
  10. pulumi_gcp/compute/get_health_check.py +11 -1
  11. pulumi_gcp/compute/global_forwarding_rule.py +2 -4
  12. pulumi_gcp/compute/health_check.py +124 -0
  13. pulumi_gcp/compute/instance.py +14 -14
  14. pulumi_gcp/compute/instance_group_membership.py +2 -2
  15. pulumi_gcp/compute/outputs.py +4 -8
  16. pulumi_gcp/compute/region_network_endpoint.py +2 -2
  17. pulumi_gcp/compute/region_network_endpoint_group.py +2 -2
  18. pulumi_gcp/compute/subnetwork.py +2 -2
  19. pulumi_gcp/config/__init__.pyi +2 -0
  20. pulumi_gcp/config/vars.py +4 -0
  21. pulumi_gcp/container/_inputs.py +3 -3
  22. pulumi_gcp/container/outputs.py +4 -4
  23. pulumi_gcp/containeranalysis/note.py +2 -2
  24. pulumi_gcp/dataloss/_inputs.py +3 -0
  25. pulumi_gcp/dataloss/outputs.py +2 -0
  26. pulumi_gcp/dataloss/prevention_job_trigger.py +90 -0
  27. pulumi_gcp/dataplex/_inputs.py +56 -0
  28. pulumi_gcp/dataplex/datascan.py +12 -0
  29. pulumi_gcp/dataplex/outputs.py +52 -0
  30. pulumi_gcp/filestore/backup.py +2 -2
  31. pulumi_gcp/filestore/instance.py +2 -2
  32. pulumi_gcp/filestore/snapshot.py +2 -2
  33. pulumi_gcp/gkehub/_inputs.py +20 -0
  34. pulumi_gcp/gkehub/outputs.py +12 -0
  35. pulumi_gcp/kms/__init__.py +2 -0
  36. pulumi_gcp/kms/crypto_key.py +7 -7
  37. pulumi_gcp/kms/get_crypto_keys.py +143 -0
  38. pulumi_gcp/kms/get_key_rings.py +119 -0
  39. pulumi_gcp/kms/outputs.py +270 -0
  40. pulumi_gcp/logging/_inputs.py +12 -12
  41. pulumi_gcp/logging/folder_bucket_config.py +6 -6
  42. pulumi_gcp/logging/organization_bucket_config.py +6 -6
  43. pulumi_gcp/logging/outputs.py +8 -8
  44. pulumi_gcp/logging/project_bucket_config.py +6 -6
  45. pulumi_gcp/looker/instance.py +2 -2
  46. pulumi_gcp/monitoring/custom_service.py +2 -2
  47. pulumi_gcp/monitoring/generic_service.py +2 -2
  48. pulumi_gcp/monitoring/notification_channel.py +2 -2
  49. pulumi_gcp/monitoring/slo.py +2 -2
  50. pulumi_gcp/netapp/storage_pool.py +132 -53
  51. pulumi_gcp/netapp/volume.py +60 -4
  52. pulumi_gcp/networksecurity/address_group.py +85 -1
  53. pulumi_gcp/networksecurity/firewall_endpoint.py +2 -2
  54. pulumi_gcp/networksecurity/firewall_endpoint_association.py +2 -2
  55. pulumi_gcp/networksecurity/security_profile_group.py +2 -2
  56. pulumi_gcp/orgpolicy/_inputs.py +40 -10
  57. pulumi_gcp/orgpolicy/outputs.py +28 -8
  58. pulumi_gcp/orgpolicy/policy.py +52 -35
  59. pulumi_gcp/provider.py +20 -0
  60. pulumi_gcp/pubsub/_inputs.py +3 -3
  61. pulumi_gcp/pubsub/outputs.py +4 -4
  62. pulumi_gcp/pulumi-plugin.json +1 -1
  63. pulumi_gcp/securesourcemanager/__init__.py +5 -0
  64. pulumi_gcp/securesourcemanager/_inputs.py +284 -0
  65. pulumi_gcp/securesourcemanager/get_repository_iam_policy.py +177 -0
  66. pulumi_gcp/securesourcemanager/outputs.py +202 -0
  67. pulumi_gcp/securesourcemanager/repository.py +715 -0
  68. pulumi_gcp/securesourcemanager/repository_iam_binding.py +804 -0
  69. pulumi_gcp/securesourcemanager/repository_iam_member.py +804 -0
  70. pulumi_gcp/securesourcemanager/repository_iam_policy.py +643 -0
  71. pulumi_gcp/securitycenter/__init__.py +1 -0
  72. pulumi_gcp/securitycenter/_inputs.py +93 -0
  73. pulumi_gcp/securitycenter/outputs.py +59 -0
  74. pulumi_gcp/securitycenter/v2_organization_notification_config.py +576 -0
  75. pulumi_gcp/securityposture/posture_deployment.py +0 -78
  76. pulumi_gcp/servicenetworking/vpc_service_controls.py +2 -2
  77. pulumi_gcp/vertex/_inputs.py +21 -1
  78. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +222 -0
  79. pulumi_gcp/vertex/outputs.py +15 -1
  80. pulumi_gcp/workstations/_inputs.py +33 -1
  81. pulumi_gcp/workstations/outputs.py +23 -1
  82. pulumi_gcp/workstations/workstation_config.py +18 -0
  83. {pulumi_gcp-7.31.0a1720765508.dist-info → pulumi_gcp-7.31.0a1721039192.dist-info}/METADATA +1 -1
  84. {pulumi_gcp-7.31.0a1720765508.dist-info → pulumi_gcp-7.31.0a1721039192.dist-info}/RECORD +86 -78
  85. {pulumi_gcp-7.31.0a1720765508.dist-info → pulumi_gcp-7.31.0a1721039192.dist-info}/WHEEL +0 -0
  86. {pulumi_gcp-7.31.0a1720765508.dist-info → pulumi_gcp-7.31.0a1721039192.dist-info}/top_level.txt +0 -0
@@ -26,7 +26,8 @@ class AddressGroupArgs:
26
26
  items: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
27
27
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
28
28
  name: Optional[pulumi.Input[str]] = None,
29
- parent: Optional[pulumi.Input[str]] = None):
29
+ parent: Optional[pulumi.Input[str]] = None,
30
+ purposes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
30
31
  """
31
32
  The set of arguments for constructing a AddressGroup resource.
32
33
  :param pulumi.Input[int] capacity: Capacity of the Address Group.
@@ -46,6 +47,8 @@ class AddressGroupArgs:
46
47
  Please refer to the field `effective_labels` for all of the labels present on the resource.
47
48
  :param pulumi.Input[str] name: Name of the AddressGroup resource.
48
49
  :param pulumi.Input[str] parent: The name of the parent this address group belongs to. Format: organizations/{organization_id} or projects/{project_id}.
50
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] purposes: List of supported purposes of the Address Group.
51
+ Each value may be one of: `DEFAULT`, `CLOUD_ARMOR`.
49
52
  """
50
53
  pulumi.set(__self__, "capacity", capacity)
51
54
  pulumi.set(__self__, "location", location)
@@ -60,6 +63,8 @@ class AddressGroupArgs:
60
63
  pulumi.set(__self__, "name", name)
61
64
  if parent is not None:
62
65
  pulumi.set(__self__, "parent", parent)
66
+ if purposes is not None:
67
+ pulumi.set(__self__, "purposes", purposes)
63
68
 
64
69
  @property
65
70
  @pulumi.getter
@@ -166,6 +171,19 @@ class AddressGroupArgs:
166
171
  def parent(self, value: Optional[pulumi.Input[str]]):
167
172
  pulumi.set(self, "parent", value)
168
173
 
174
+ @property
175
+ @pulumi.getter
176
+ def purposes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
177
+ """
178
+ List of supported purposes of the Address Group.
179
+ Each value may be one of: `DEFAULT`, `CLOUD_ARMOR`.
180
+ """
181
+ return pulumi.get(self, "purposes")
182
+
183
+ @purposes.setter
184
+ def purposes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
185
+ pulumi.set(self, "purposes", value)
186
+
169
187
 
170
188
  @pulumi.input_type
171
189
  class _AddressGroupState:
@@ -180,6 +198,7 @@ class _AddressGroupState:
180
198
  name: Optional[pulumi.Input[str]] = None,
181
199
  parent: Optional[pulumi.Input[str]] = None,
182
200
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
201
+ purposes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
183
202
  type: Optional[pulumi.Input[str]] = None,
184
203
  update_time: Optional[pulumi.Input[str]] = None):
185
204
  """
@@ -205,6 +224,8 @@ class _AddressGroupState:
205
224
  :param pulumi.Input[str] parent: The name of the parent this address group belongs to. Format: organizations/{organization_id} or projects/{project_id}.
206
225
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
207
226
  and default labels configured on the provider.
227
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] purposes: List of supported purposes of the Address Group.
228
+ Each value may be one of: `DEFAULT`, `CLOUD_ARMOR`.
208
229
  :param pulumi.Input[str] type: The type of the Address Group. Possible values are "IPV4" or "IPV6".
209
230
  Possible values are: `IPV4`, `IPV6`.
210
231
  :param pulumi.Input[str] update_time: The timestamp when the resource was updated.
@@ -231,6 +252,8 @@ class _AddressGroupState:
231
252
  pulumi.set(__self__, "parent", parent)
232
253
  if pulumi_labels is not None:
233
254
  pulumi.set(__self__, "pulumi_labels", pulumi_labels)
255
+ if purposes is not None:
256
+ pulumi.set(__self__, "purposes", purposes)
234
257
  if type is not None:
235
258
  pulumi.set(__self__, "type", type)
236
259
  if update_time is not None:
@@ -367,6 +390,19 @@ class _AddressGroupState:
367
390
  def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
368
391
  pulumi.set(self, "pulumi_labels", value)
369
392
 
393
+ @property
394
+ @pulumi.getter
395
+ def purposes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
396
+ """
397
+ List of supported purposes of the Address Group.
398
+ Each value may be one of: `DEFAULT`, `CLOUD_ARMOR`.
399
+ """
400
+ return pulumi.get(self, "purposes")
401
+
402
+ @purposes.setter
403
+ def purposes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
404
+ pulumi.set(self, "purposes", value)
405
+
370
406
  @property
371
407
  @pulumi.getter
372
408
  def type(self) -> Optional[pulumi.Input[str]]:
@@ -407,6 +443,7 @@ class AddressGroup(pulumi.CustomResource):
407
443
  location: Optional[pulumi.Input[str]] = None,
408
444
  name: Optional[pulumi.Input[str]] = None,
409
445
  parent: Optional[pulumi.Input[str]] = None,
446
+ purposes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
410
447
  type: Optional[pulumi.Input[str]] = None,
411
448
  __props__=None):
412
449
  """
@@ -463,6 +500,21 @@ class AddressGroup(pulumi.CustomResource):
463
500
  capacity=100,
464
501
  items=["208.80.154.224/32"])
465
502
  ```
503
+ ### Network Security Address Groups Cloud Armor
504
+
505
+ ```python
506
+ import pulumi
507
+ import pulumi_gcp as gcp
508
+
509
+ default = gcp.networksecurity.AddressGroup("default",
510
+ name="my-address-groups",
511
+ parent="projects/my-project-name",
512
+ location="global",
513
+ type="IPV4",
514
+ capacity=100,
515
+ purposes=["CLOUD_ARMOR"],
516
+ items=["208.80.154.224/32"])
517
+ ```
466
518
 
467
519
  ## Import
468
520
 
@@ -493,6 +545,8 @@ class AddressGroup(pulumi.CustomResource):
493
545
  - - -
494
546
  :param pulumi.Input[str] name: Name of the AddressGroup resource.
495
547
  :param pulumi.Input[str] parent: The name of the parent this address group belongs to. Format: organizations/{organization_id} or projects/{project_id}.
548
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] purposes: List of supported purposes of the Address Group.
549
+ Each value may be one of: `DEFAULT`, `CLOUD_ARMOR`.
496
550
  :param pulumi.Input[str] type: The type of the Address Group. Possible values are "IPV4" or "IPV6".
497
551
  Possible values are: `IPV4`, `IPV6`.
498
552
  """
@@ -556,6 +610,21 @@ class AddressGroup(pulumi.CustomResource):
556
610
  capacity=100,
557
611
  items=["208.80.154.224/32"])
558
612
  ```
613
+ ### Network Security Address Groups Cloud Armor
614
+
615
+ ```python
616
+ import pulumi
617
+ import pulumi_gcp as gcp
618
+
619
+ default = gcp.networksecurity.AddressGroup("default",
620
+ name="my-address-groups",
621
+ parent="projects/my-project-name",
622
+ location="global",
623
+ type="IPV4",
624
+ capacity=100,
625
+ purposes=["CLOUD_ARMOR"],
626
+ items=["208.80.154.224/32"])
627
+ ```
559
628
 
560
629
  ## Import
561
630
 
@@ -591,6 +660,7 @@ class AddressGroup(pulumi.CustomResource):
591
660
  location: Optional[pulumi.Input[str]] = None,
592
661
  name: Optional[pulumi.Input[str]] = None,
593
662
  parent: Optional[pulumi.Input[str]] = None,
663
+ purposes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
594
664
  type: Optional[pulumi.Input[str]] = None,
595
665
  __props__=None):
596
666
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -612,6 +682,7 @@ class AddressGroup(pulumi.CustomResource):
612
682
  __props__.__dict__["location"] = location
613
683
  __props__.__dict__["name"] = name
614
684
  __props__.__dict__["parent"] = parent
685
+ __props__.__dict__["purposes"] = purposes
615
686
  if type is None and not opts.urn:
616
687
  raise TypeError("Missing required property 'type'")
617
688
  __props__.__dict__["type"] = type
@@ -641,6 +712,7 @@ class AddressGroup(pulumi.CustomResource):
641
712
  name: Optional[pulumi.Input[str]] = None,
642
713
  parent: Optional[pulumi.Input[str]] = None,
643
714
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
715
+ purposes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
644
716
  type: Optional[pulumi.Input[str]] = None,
645
717
  update_time: Optional[pulumi.Input[str]] = None) -> 'AddressGroup':
646
718
  """
@@ -671,6 +743,8 @@ class AddressGroup(pulumi.CustomResource):
671
743
  :param pulumi.Input[str] parent: The name of the parent this address group belongs to. Format: organizations/{organization_id} or projects/{project_id}.
672
744
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
673
745
  and default labels configured on the provider.
746
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] purposes: List of supported purposes of the Address Group.
747
+ Each value may be one of: `DEFAULT`, `CLOUD_ARMOR`.
674
748
  :param pulumi.Input[str] type: The type of the Address Group. Possible values are "IPV4" or "IPV6".
675
749
  Possible values are: `IPV4`, `IPV6`.
676
750
  :param pulumi.Input[str] update_time: The timestamp when the resource was updated.
@@ -691,6 +765,7 @@ class AddressGroup(pulumi.CustomResource):
691
765
  __props__.__dict__["name"] = name
692
766
  __props__.__dict__["parent"] = parent
693
767
  __props__.__dict__["pulumi_labels"] = pulumi_labels
768
+ __props__.__dict__["purposes"] = purposes
694
769
  __props__.__dict__["type"] = type
695
770
  __props__.__dict__["update_time"] = update_time
696
771
  return AddressGroup(resource_name, opts=opts, __props__=__props__)
@@ -786,6 +861,15 @@ class AddressGroup(pulumi.CustomResource):
786
861
  """
787
862
  return pulumi.get(self, "pulumi_labels")
788
863
 
864
+ @property
865
+ @pulumi.getter
866
+ def purposes(self) -> pulumi.Output[Optional[Sequence[str]]]:
867
+ """
868
+ List of supported purposes of the Address Group.
869
+ Each value may be one of: `DEFAULT`, `CLOUD_ARMOR`.
870
+ """
871
+ return pulumi.get(self, "purposes")
872
+
789
873
  @property
790
874
  @pulumi.getter
791
875
  def type(self) -> pulumi.Output[str]:
@@ -373,8 +373,8 @@ class FirewallEndpoint(pulumi.CustomResource):
373
373
 
374
374
  * [API documentation](https://cloud.google.com/firewall/docs/reference/network-security/rest/v1/organizations.locations.firewallEndpoints)
375
375
  * How-to Guides
376
- * [Firewall endpoint overview](https://cloud.google.com/firewall/docs/about-firewall-endpoints)
377
376
  * [Create and associate firewall endpoints](https://cloud.google.com/firewall/docs/configure-firewall-endpoints)
377
+ * [Firewall endpoint overview](https://cloud.google.com/firewall/docs/about-firewall-endpoints)
378
378
 
379
379
  > **Warning:** If you are using User ADCs (Application Default Credentials) with this resource,
380
380
  you must specify a `billing_project_id` and set `user_project_override` to true
@@ -442,8 +442,8 @@ class FirewallEndpoint(pulumi.CustomResource):
442
442
 
443
443
  * [API documentation](https://cloud.google.com/firewall/docs/reference/network-security/rest/v1/organizations.locations.firewallEndpoints)
444
444
  * How-to Guides
445
- * [Firewall endpoint overview](https://cloud.google.com/firewall/docs/about-firewall-endpoints)
446
445
  * [Create and associate firewall endpoints](https://cloud.google.com/firewall/docs/configure-firewall-endpoints)
446
+ * [Firewall endpoint overview](https://cloud.google.com/firewall/docs/about-firewall-endpoints)
447
447
 
448
448
  > **Warning:** If you are using User ADCs (Application Default Credentials) with this resource,
449
449
  you must specify a `billing_project_id` and set `user_project_override` to true
@@ -459,8 +459,8 @@ class FirewallEndpointAssociation(pulumi.CustomResource):
459
459
 
460
460
  * [API documentation](https://cloud.google.com/firewall/docs/reference/network-security/rest/v1/projects.locations.firewallEndpointAssociations#FirewallEndpointAssociation)
461
461
  * How-to Guides
462
- * [Firewall endpoint overview](https://cloud.google.com/firewall/docs/about-firewall-endpoints)
463
462
  * [Create and associate firewall endpoints](https://cloud.google.com/firewall/docs/configure-firewall-endpoints)
463
+ * [Firewall endpoint overview](https://cloud.google.com/firewall/docs/about-firewall-endpoints)
464
464
 
465
465
  ## Example Usage
466
466
 
@@ -534,8 +534,8 @@ class FirewallEndpointAssociation(pulumi.CustomResource):
534
534
 
535
535
  * [API documentation](https://cloud.google.com/firewall/docs/reference/network-security/rest/v1/projects.locations.firewallEndpointAssociations#FirewallEndpointAssociation)
536
536
  * How-to Guides
537
- * [Firewall endpoint overview](https://cloud.google.com/firewall/docs/about-firewall-endpoints)
538
537
  * [Create and associate firewall endpoints](https://cloud.google.com/firewall/docs/configure-firewall-endpoints)
538
+ * [Firewall endpoint overview](https://cloud.google.com/firewall/docs/about-firewall-endpoints)
539
539
 
540
540
  ## Example Usage
541
541
 
@@ -361,8 +361,8 @@ class SecurityProfileGroup(pulumi.CustomResource):
361
361
 
362
362
  * [API documentation](https://cloud.google.com/firewall/docs/reference/network-security/rest/v1/organizations.locations.securityProfileGroups)
363
363
  * How-to Guides
364
- * [Security profile groups overview](https://cloud.google.com/firewall/docs/about-security-profile-groups)
365
364
  * [Create and manage security profile groups](https://cloud.google.com/firewall/docs/configure-security-profile-groups)
365
+ * [Security profile groups overview](https://cloud.google.com/firewall/docs/about-security-profile-groups)
366
366
 
367
367
  ## Example Usage
368
368
 
@@ -429,8 +429,8 @@ class SecurityProfileGroup(pulumi.CustomResource):
429
429
 
430
430
  * [API documentation](https://cloud.google.com/firewall/docs/reference/network-security/rest/v1/organizations.locations.securityProfileGroups)
431
431
  * How-to Guides
432
- * [Security profile groups overview](https://cloud.google.com/firewall/docs/about-security-profile-groups)
433
432
  * [Create and manage security profile groups](https://cloud.google.com/firewall/docs/configure-security-profile-groups)
433
+ * [Security profile groups overview](https://cloud.google.com/firewall/docs/about-security-profile-groups)
434
434
 
435
435
  ## Example Usage
436
436
 
@@ -39,6 +39,7 @@ if not MYPY:
39
39
  class PolicyDryRunSpecArgsDict(TypedDict):
40
40
  etag: NotRequired[pulumi.Input[str]]
41
41
  """
42
+ (Output)
42
43
  An opaque tag indicating the current version of the policy, used for concurrency control. This field is ignored if used in a `CreatePolicy` request. When the policy` is returned from either a `GetPolicy` or a `ListPolicies` request, this `etag` indicates the version of the current policy to use when executing a read-modify-write loop. When the policy is returned from a `GetEffectivePolicy` request, the `etag` will be unset.
43
44
  """
44
45
  inherit_from_parent: NotRequired[pulumi.Input[bool]]
@@ -52,9 +53,11 @@ if not MYPY:
52
53
  rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['PolicyDryRunSpecRuleArgsDict']]]]
53
54
  """
54
55
  In policies for boolean constraints, the following requirements apply: - There must be one and only one policy rule where condition is unset. - Boolean policy rules with conditions must set `enforced` to the opposite of the policy rule without a condition. - During policy evaluation, policy rules with conditions that are true for a target resource take precedence.
56
+ Structure is documented below.
55
57
  """
56
58
  update_time: NotRequired[pulumi.Input[str]]
57
59
  """
60
+ (Output)
58
61
  Output only. The time stamp this was previously updated. This represents the last time a call to `CreatePolicy` or `UpdatePolicy` was made for that policy.
59
62
  """
60
63
  elif False:
@@ -69,11 +72,14 @@ class PolicyDryRunSpecArgs:
69
72
  rules: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyDryRunSpecRuleArgs']]]] = None,
70
73
  update_time: Optional[pulumi.Input[str]] = None):
71
74
  """
72
- :param pulumi.Input[str] etag: An opaque tag indicating the current version of the policy, used for concurrency control. This field is ignored if used in a `CreatePolicy` request. When the policy` is returned from either a `GetPolicy` or a `ListPolicies` request, this `etag` indicates the version of the current policy to use when executing a read-modify-write loop. When the policy is returned from a `GetEffectivePolicy` request, the `etag` will be unset.
75
+ :param pulumi.Input[str] etag: (Output)
76
+ An opaque tag indicating the current version of the policy, used for concurrency control. This field is ignored if used in a `CreatePolicy` request. When the policy` is returned from either a `GetPolicy` or a `ListPolicies` request, this `etag` indicates the version of the current policy to use when executing a read-modify-write loop. When the policy is returned from a `GetEffectivePolicy` request, the `etag` will be unset.
73
77
  :param pulumi.Input[bool] inherit_from_parent: Determines the inheritance behavior for this policy. If `inherit_from_parent` is true, policy rules set higher up in the hierarchy (up to the closest root) are inherited and present in the effective policy. If it is false, then no rules are inherited, and this policy becomes the new root for evaluation. This field can be set only for policies which configure list constraints.
74
78
  :param pulumi.Input[bool] reset: Ignores policies set above this resource and restores the `constraint_default` enforcement behavior of the specific constraint at this resource. This field can be set in policies for either list or boolean constraints. If set, `rules` must be empty and `inherit_from_parent` must be set to false.
75
79
  :param pulumi.Input[Sequence[pulumi.Input['PolicyDryRunSpecRuleArgs']]] rules: In policies for boolean constraints, the following requirements apply: - There must be one and only one policy rule where condition is unset. - Boolean policy rules with conditions must set `enforced` to the opposite of the policy rule without a condition. - During policy evaluation, policy rules with conditions that are true for a target resource take precedence.
76
- :param pulumi.Input[str] update_time: Output only. The time stamp this was previously updated. This represents the last time a call to `CreatePolicy` or `UpdatePolicy` was made for that policy.
80
+ Structure is documented below.
81
+ :param pulumi.Input[str] update_time: (Output)
82
+ Output only. The time stamp this was previously updated. This represents the last time a call to `CreatePolicy` or `UpdatePolicy` was made for that policy.
77
83
  """
78
84
  if etag is not None:
79
85
  pulumi.set(__self__, "etag", etag)
@@ -90,6 +96,7 @@ class PolicyDryRunSpecArgs:
90
96
  @pulumi.getter
91
97
  def etag(self) -> Optional[pulumi.Input[str]]:
92
98
  """
99
+ (Output)
93
100
  An opaque tag indicating the current version of the policy, used for concurrency control. This field is ignored if used in a `CreatePolicy` request. When the policy` is returned from either a `GetPolicy` or a `ListPolicies` request, this `etag` indicates the version of the current policy to use when executing a read-modify-write loop. When the policy is returned from a `GetEffectivePolicy` request, the `etag` will be unset.
94
101
  """
95
102
  return pulumi.get(self, "etag")
@@ -127,6 +134,7 @@ class PolicyDryRunSpecArgs:
127
134
  def rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PolicyDryRunSpecRuleArgs']]]]:
128
135
  """
129
136
  In policies for boolean constraints, the following requirements apply: - There must be one and only one policy rule where condition is unset. - Boolean policy rules with conditions must set `enforced` to the opposite of the policy rule without a condition. - During policy evaluation, policy rules with conditions that are true for a target resource take precedence.
137
+ Structure is documented below.
130
138
  """
131
139
  return pulumi.get(self, "rules")
132
140
 
@@ -138,6 +146,7 @@ class PolicyDryRunSpecArgs:
138
146
  @pulumi.getter(name="updateTime")
139
147
  def update_time(self) -> Optional[pulumi.Input[str]]:
140
148
  """
149
+ (Output)
141
150
  Output only. The time stamp this was previously updated. This represents the last time a call to `CreatePolicy` or `UpdatePolicy` was made for that policy.
142
151
  """
143
152
  return pulumi.get(self, "update_time")
@@ -156,6 +165,7 @@ if not MYPY:
156
165
  condition: NotRequired[pulumi.Input['PolicyDryRunSpecRuleConditionArgsDict']]
157
166
  """
158
167
  A condition which determines whether this rule is used in the evaluation of the policy. When set, the `expression` field in the `Expr' must include from 1 to 10 subexpressions, joined by the "||" or "&&" operators. Each subexpression must be of the form "resource.matchTag('/tag_key_short_name, 'tag_value_short_name')". or "resource.matchTagId('tagKeys/key_id', 'tagValues/value_id')". where key_name and value_name are the resource names for Label Keys and Values. These names are available from the Tag Manager Service. An example expression is: "resource.matchTag('123456789/environment, 'prod')". or "resource.matchTagId('tagKeys/123', 'tagValues/456')".
168
+ Structure is documented below.
159
169
  """
160
170
  deny_all: NotRequired[pulumi.Input[str]]
161
171
  """
@@ -167,7 +177,8 @@ if not MYPY:
167
177
  """
168
178
  values: NotRequired[pulumi.Input['PolicyDryRunSpecRuleValuesArgsDict']]
169
179
  """
170
- List of values to be used for this PolicyRule. This field can be set only in Policies for list constraints.
180
+ List of values to be used for this policy rule. This field can be set only in policies for list constraints.
181
+ Structure is documented below.
171
182
  """
172
183
  elif False:
173
184
  PolicyDryRunSpecRuleArgsDict: TypeAlias = Mapping[str, Any]
@@ -183,9 +194,11 @@ class PolicyDryRunSpecRuleArgs:
183
194
  """
184
195
  :param pulumi.Input[str] allow_all: Setting this to `"TRUE"` means that all values are allowed. This field can be set only in Policies for list constraints.
185
196
  :param pulumi.Input['PolicyDryRunSpecRuleConditionArgs'] condition: A condition which determines whether this rule is used in the evaluation of the policy. When set, the `expression` field in the `Expr' must include from 1 to 10 subexpressions, joined by the "||" or "&&" operators. Each subexpression must be of the form "resource.matchTag('/tag_key_short_name, 'tag_value_short_name')". or "resource.matchTagId('tagKeys/key_id', 'tagValues/value_id')". where key_name and value_name are the resource names for Label Keys and Values. These names are available from the Tag Manager Service. An example expression is: "resource.matchTag('123456789/environment, 'prod')". or "resource.matchTagId('tagKeys/123', 'tagValues/456')".
197
+ Structure is documented below.
186
198
  :param pulumi.Input[str] deny_all: Setting this to `"TRUE"` means that all values are denied. This field can be set only in Policies for list constraints.
187
199
  :param pulumi.Input[str] enforce: If `"TRUE"`, then the `Policy` is enforced. If `"FALSE"`, then any configuration is acceptable. This field can be set only in Policies for boolean constraints.
188
- :param pulumi.Input['PolicyDryRunSpecRuleValuesArgs'] values: List of values to be used for this PolicyRule. This field can be set only in Policies for list constraints.
200
+ :param pulumi.Input['PolicyDryRunSpecRuleValuesArgs'] values: List of values to be used for this policy rule. This field can be set only in policies for list constraints.
201
+ Structure is documented below.
189
202
  """
190
203
  if allow_all is not None:
191
204
  pulumi.set(__self__, "allow_all", allow_all)
@@ -215,6 +228,7 @@ class PolicyDryRunSpecRuleArgs:
215
228
  def condition(self) -> Optional[pulumi.Input['PolicyDryRunSpecRuleConditionArgs']]:
216
229
  """
217
230
  A condition which determines whether this rule is used in the evaluation of the policy. When set, the `expression` field in the `Expr' must include from 1 to 10 subexpressions, joined by the "||" or "&&" operators. Each subexpression must be of the form "resource.matchTag('/tag_key_short_name, 'tag_value_short_name')". or "resource.matchTagId('tagKeys/key_id', 'tagValues/value_id')". where key_name and value_name are the resource names for Label Keys and Values. These names are available from the Tag Manager Service. An example expression is: "resource.matchTag('123456789/environment, 'prod')". or "resource.matchTagId('tagKeys/123', 'tagValues/456')".
231
+ Structure is documented below.
218
232
  """
219
233
  return pulumi.get(self, "condition")
220
234
 
@@ -250,7 +264,8 @@ class PolicyDryRunSpecRuleArgs:
250
264
  @pulumi.getter
251
265
  def values(self) -> Optional[pulumi.Input['PolicyDryRunSpecRuleValuesArgs']]:
252
266
  """
253
- List of values to be used for this PolicyRule. This field can be set only in Policies for list constraints.
267
+ List of values to be used for this policy rule. This field can be set only in policies for list constraints.
268
+ Structure is documented below.
254
269
  """
255
270
  return pulumi.get(self, "values")
256
271
 
@@ -407,6 +422,7 @@ if not MYPY:
407
422
  class PolicySpecArgsDict(TypedDict):
408
423
  etag: NotRequired[pulumi.Input[str]]
409
424
  """
425
+ (Output)
410
426
  An opaque tag indicating the current version of the `Policy`, used for concurrency control. This field is ignored if used in a `CreatePolicy` request. When the `Policy` is returned from either a `GetPolicy` or a `ListPolicies` request, this `etag` indicates the version of the current `Policy` to use when executing a read-modify-write loop. When the `Policy` is returned from a `GetEffectivePolicy` request, the `etag` will be unset.
411
427
  """
412
428
  inherit_from_parent: NotRequired[pulumi.Input[bool]]
@@ -420,9 +436,11 @@ if not MYPY:
420
436
  rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['PolicySpecRuleArgsDict']]]]
421
437
  """
422
438
  Up to 10 PolicyRules are allowed. In Policies for boolean constraints, the following requirements apply: - There must be one and only one PolicyRule where condition is unset. - BooleanPolicyRules with conditions must set `enforced` to the opposite of the PolicyRule without a condition. - During policy evaluation, PolicyRules with conditions that are true for a target resource take precedence.
439
+ Structure is documented below.
423
440
  """
424
441
  update_time: NotRequired[pulumi.Input[str]]
425
442
  """
443
+ (Output)
426
444
  Output only. The time stamp this was previously updated. This represents the last time a call to `CreatePolicy` or `UpdatePolicy` was made for that `Policy`.
427
445
  """
428
446
  elif False:
@@ -437,11 +455,14 @@ class PolicySpecArgs:
437
455
  rules: Optional[pulumi.Input[Sequence[pulumi.Input['PolicySpecRuleArgs']]]] = None,
438
456
  update_time: Optional[pulumi.Input[str]] = None):
439
457
  """
440
- :param pulumi.Input[str] etag: An opaque tag indicating the current version of the `Policy`, used for concurrency control. This field is ignored if used in a `CreatePolicy` request. When the `Policy` is returned from either a `GetPolicy` or a `ListPolicies` request, this `etag` indicates the version of the current `Policy` to use when executing a read-modify-write loop. When the `Policy` is returned from a `GetEffectivePolicy` request, the `etag` will be unset.
458
+ :param pulumi.Input[str] etag: (Output)
459
+ An opaque tag indicating the current version of the `Policy`, used for concurrency control. This field is ignored if used in a `CreatePolicy` request. When the `Policy` is returned from either a `GetPolicy` or a `ListPolicies` request, this `etag` indicates the version of the current `Policy` to use when executing a read-modify-write loop. When the `Policy` is returned from a `GetEffectivePolicy` request, the `etag` will be unset.
441
460
  :param pulumi.Input[bool] inherit_from_parent: Determines the inheritance behavior for this `Policy`. If `inherit_from_parent` is true, PolicyRules set higher up in the hierarchy (up to the closest root) are inherited and present in the effective policy. If it is false, then no rules are inherited, and this Policy becomes the new root for evaluation. This field can be set only for Policies which configure list constraints.
442
461
  :param pulumi.Input[bool] reset: Ignores policies set above this resource and restores the `constraint_default` enforcement behavior of the specific `Constraint` at this resource. This field can be set in policies for either list or boolean constraints. If set, `rules` must be empty and `inherit_from_parent` must be set to false.
443
462
  :param pulumi.Input[Sequence[pulumi.Input['PolicySpecRuleArgs']]] rules: Up to 10 PolicyRules are allowed. In Policies for boolean constraints, the following requirements apply: - There must be one and only one PolicyRule where condition is unset. - BooleanPolicyRules with conditions must set `enforced` to the opposite of the PolicyRule without a condition. - During policy evaluation, PolicyRules with conditions that are true for a target resource take precedence.
444
- :param pulumi.Input[str] update_time: Output only. The time stamp this was previously updated. This represents the last time a call to `CreatePolicy` or `UpdatePolicy` was made for that `Policy`.
463
+ Structure is documented below.
464
+ :param pulumi.Input[str] update_time: (Output)
465
+ Output only. The time stamp this was previously updated. This represents the last time a call to `CreatePolicy` or `UpdatePolicy` was made for that `Policy`.
445
466
  """
446
467
  if etag is not None:
447
468
  pulumi.set(__self__, "etag", etag)
@@ -458,6 +479,7 @@ class PolicySpecArgs:
458
479
  @pulumi.getter
459
480
  def etag(self) -> Optional[pulumi.Input[str]]:
460
481
  """
482
+ (Output)
461
483
  An opaque tag indicating the current version of the `Policy`, used for concurrency control. This field is ignored if used in a `CreatePolicy` request. When the `Policy` is returned from either a `GetPolicy` or a `ListPolicies` request, this `etag` indicates the version of the current `Policy` to use when executing a read-modify-write loop. When the `Policy` is returned from a `GetEffectivePolicy` request, the `etag` will be unset.
462
484
  """
463
485
  return pulumi.get(self, "etag")
@@ -495,6 +517,7 @@ class PolicySpecArgs:
495
517
  def rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PolicySpecRuleArgs']]]]:
496
518
  """
497
519
  Up to 10 PolicyRules are allowed. In Policies for boolean constraints, the following requirements apply: - There must be one and only one PolicyRule where condition is unset. - BooleanPolicyRules with conditions must set `enforced` to the opposite of the PolicyRule without a condition. - During policy evaluation, PolicyRules with conditions that are true for a target resource take precedence.
520
+ Structure is documented below.
498
521
  """
499
522
  return pulumi.get(self, "rules")
500
523
 
@@ -506,6 +529,7 @@ class PolicySpecArgs:
506
529
  @pulumi.getter(name="updateTime")
507
530
  def update_time(self) -> Optional[pulumi.Input[str]]:
508
531
  """
532
+ (Output)
509
533
  Output only. The time stamp this was previously updated. This represents the last time a call to `CreatePolicy` or `UpdatePolicy` was made for that `Policy`.
510
534
  """
511
535
  return pulumi.get(self, "update_time")
@@ -524,6 +548,7 @@ if not MYPY:
524
548
  condition: NotRequired[pulumi.Input['PolicySpecRuleConditionArgsDict']]
525
549
  """
526
550
  A condition which determines whether this rule is used in the evaluation of the policy. When set, the `expression` field in the `Expr' must include from 1 to 10 subexpressions, joined by the "||" or "&&" operators. Each subexpression must be of the form "resource.matchTag('/tag_key_short_name, 'tag_value_short_name')". or "resource.matchTagId('tagKeys/key_id', 'tagValues/value_id')". where key_name and value_name are the resource names for Label Keys and Values. These names are available from the Tag Manager Service. An example expression is: "resource.matchTag('123456789/environment, 'prod')". or "resource.matchTagId('tagKeys/123', 'tagValues/456')".
551
+ Structure is documented below.
527
552
  """
528
553
  deny_all: NotRequired[pulumi.Input[str]]
529
554
  """
@@ -535,7 +560,8 @@ if not MYPY:
535
560
  """
536
561
  values: NotRequired[pulumi.Input['PolicySpecRuleValuesArgsDict']]
537
562
  """
538
- List of values to be used for this PolicyRule. This field can be set only in Policies for list constraints.
563
+ List of values to be used for this policy rule. This field can be set only in policies for list constraints.
564
+ Structure is documented below.
539
565
  """
540
566
  elif False:
541
567
  PolicySpecRuleArgsDict: TypeAlias = Mapping[str, Any]
@@ -551,9 +577,11 @@ class PolicySpecRuleArgs:
551
577
  """
552
578
  :param pulumi.Input[str] allow_all: Setting this to `"TRUE"` means that all values are allowed. This field can be set only in Policies for list constraints.
553
579
  :param pulumi.Input['PolicySpecRuleConditionArgs'] condition: A condition which determines whether this rule is used in the evaluation of the policy. When set, the `expression` field in the `Expr' must include from 1 to 10 subexpressions, joined by the "||" or "&&" operators. Each subexpression must be of the form "resource.matchTag('/tag_key_short_name, 'tag_value_short_name')". or "resource.matchTagId('tagKeys/key_id', 'tagValues/value_id')". where key_name and value_name are the resource names for Label Keys and Values. These names are available from the Tag Manager Service. An example expression is: "resource.matchTag('123456789/environment, 'prod')". or "resource.matchTagId('tagKeys/123', 'tagValues/456')".
580
+ Structure is documented below.
554
581
  :param pulumi.Input[str] deny_all: Setting this to `"TRUE"` means that all values are denied. This field can be set only in Policies for list constraints.
555
582
  :param pulumi.Input[str] enforce: If `"TRUE"`, then the `Policy` is enforced. If `"FALSE"`, then any configuration is acceptable. This field can be set only in Policies for boolean constraints.
556
- :param pulumi.Input['PolicySpecRuleValuesArgs'] values: List of values to be used for this PolicyRule. This field can be set only in Policies for list constraints.
583
+ :param pulumi.Input['PolicySpecRuleValuesArgs'] values: List of values to be used for this policy rule. This field can be set only in policies for list constraints.
584
+ Structure is documented below.
557
585
  """
558
586
  if allow_all is not None:
559
587
  pulumi.set(__self__, "allow_all", allow_all)
@@ -583,6 +611,7 @@ class PolicySpecRuleArgs:
583
611
  def condition(self) -> Optional[pulumi.Input['PolicySpecRuleConditionArgs']]:
584
612
  """
585
613
  A condition which determines whether this rule is used in the evaluation of the policy. When set, the `expression` field in the `Expr' must include from 1 to 10 subexpressions, joined by the "||" or "&&" operators. Each subexpression must be of the form "resource.matchTag('/tag_key_short_name, 'tag_value_short_name')". or "resource.matchTagId('tagKeys/key_id', 'tagValues/value_id')". where key_name and value_name are the resource names for Label Keys and Values. These names are available from the Tag Manager Service. An example expression is: "resource.matchTag('123456789/environment, 'prod')". or "resource.matchTagId('tagKeys/123', 'tagValues/456')".
614
+ Structure is documented below.
586
615
  """
587
616
  return pulumi.get(self, "condition")
588
617
 
@@ -618,7 +647,8 @@ class PolicySpecRuleArgs:
618
647
  @pulumi.getter
619
648
  def values(self) -> Optional[pulumi.Input['PolicySpecRuleValuesArgs']]:
620
649
  """
621
- List of values to be used for this PolicyRule. This field can be set only in Policies for list constraints.
650
+ List of values to be used for this policy rule. This field can be set only in policies for list constraints.
651
+ Structure is documented below.
622
652
  """
623
653
  return pulumi.get(self, "values")
624
654