pulumi-gcp 7.12.0a1709365001__py3-none-any.whl → 7.13.0a1709814369__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. pulumi_gcp/__init__.py +72 -0
  2. pulumi_gcp/appengine/application_url_dispatch_rules.py +2 -2
  3. pulumi_gcp/appengine/engine_split_traffic.py +4 -4
  4. pulumi_gcp/appengine/service_network_settings.py +2 -2
  5. pulumi_gcp/appengine/standard_app_version.py +4 -4
  6. pulumi_gcp/bigquery/_inputs.py +88 -0
  7. pulumi_gcp/bigquery/dataset_iam_binding.py +35 -28
  8. pulumi_gcp/bigquery/dataset_iam_member.py +35 -28
  9. pulumi_gcp/bigquery/dataset_iam_policy.py +35 -28
  10. pulumi_gcp/bigquery/outputs.py +91 -0
  11. pulumi_gcp/bigquery/routine.py +118 -12
  12. pulumi_gcp/certificatemanager/dns_authorization.py +63 -14
  13. pulumi_gcp/clouddeploy/__init__.py +4 -0
  14. pulumi_gcp/clouddeploy/_inputs.py +80 -0
  15. pulumi_gcp/clouddeploy/automation.py +16 -0
  16. pulumi_gcp/clouddeploy/get_target_iam_policy.py +162 -0
  17. pulumi_gcp/clouddeploy/outputs.py +56 -0
  18. pulumi_gcp/clouddeploy/target_iam_binding.py +324 -0
  19. pulumi_gcp/clouddeploy/target_iam_member.py +324 -0
  20. pulumi_gcp/clouddeploy/target_iam_policy.py +253 -0
  21. pulumi_gcp/cloudfunctionsv2/function.py +0 -2
  22. pulumi_gcp/cloudrunv2/_inputs.py +4 -2
  23. pulumi_gcp/cloudrunv2/outputs.py +8 -4
  24. pulumi_gcp/composer/_inputs.py +18 -2
  25. pulumi_gcp/composer/outputs.py +29 -4
  26. pulumi_gcp/compute/__init__.py +1 -0
  27. pulumi_gcp/compute/get_forwarding_rules.py +142 -0
  28. pulumi_gcp/compute/instance_group_membership.py +4 -4
  29. pulumi_gcp/compute/outputs.py +816 -0
  30. pulumi_gcp/compute/region_network_endpoint.py +2 -2
  31. pulumi_gcp/compute/region_target_https_proxy.py +162 -37
  32. pulumi_gcp/compute/router_nat.py +8 -8
  33. pulumi_gcp/container/_inputs.py +80 -0
  34. pulumi_gcp/container/cluster.py +20 -16
  35. pulumi_gcp/container/outputs.py +115 -1
  36. pulumi_gcp/firebase/__init__.py +4 -0
  37. pulumi_gcp/firebase/app_check_app_attest_config.py +461 -0
  38. pulumi_gcp/firebase/app_check_play_integrity_config.py +465 -0
  39. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +474 -0
  40. pulumi_gcp/firebase/app_check_recaptcha_v3_config.py +511 -0
  41. pulumi_gcp/gkehub/scope.py +85 -0
  42. pulumi_gcp/integrationconnectors/connection.py +4 -4
  43. pulumi_gcp/looker/_inputs.py +42 -0
  44. pulumi_gcp/looker/instance.py +90 -0
  45. pulumi_gcp/looker/outputs.py +34 -0
  46. pulumi_gcp/migrationcenter/__init__.py +3 -0
  47. pulumi_gcp/migrationcenter/_inputs.py +500 -0
  48. pulumi_gcp/migrationcenter/outputs.py +562 -0
  49. pulumi_gcp/migrationcenter/preference_set.py +687 -0
  50. pulumi_gcp/monitoring/custom_service.py +4 -2
  51. pulumi_gcp/monitoring/generic_service.py +4 -2
  52. pulumi_gcp/monitoring/get_app_engine_service.py +2 -2
  53. pulumi_gcp/netapp/__init__.py +1 -0
  54. pulumi_gcp/netapp/_inputs.py +275 -0
  55. pulumi_gcp/netapp/outputs.py +290 -0
  56. pulumi_gcp/netapp/volume.py +140 -2
  57. pulumi_gcp/netapp/volume_replication.py +1292 -0
  58. pulumi_gcp/notebooks/instance.py +1 -1
  59. pulumi_gcp/securityposture/_inputs.py +22 -19
  60. pulumi_gcp/securityposture/outputs.py +18 -15
  61. pulumi_gcp/securityposture/posture.py +28 -48
  62. pulumi_gcp/spanner/_inputs.py +20 -0
  63. pulumi_gcp/spanner/database_iam_binding.py +134 -0
  64. pulumi_gcp/spanner/database_iam_member.py +134 -0
  65. pulumi_gcp/spanner/database_iam_policy.py +114 -0
  66. pulumi_gcp/spanner/outputs.py +20 -0
  67. pulumi_gcp/workbench/_inputs.py +157 -2
  68. pulumi_gcp/workbench/instance.py +52 -0
  69. pulumi_gcp/workbench/outputs.py +154 -2
  70. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/METADATA +1 -1
  71. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/RECORD +73 -60
  72. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/WHEEL +0 -0
  73. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/top_level.txt +0 -0
@@ -2371,7 +2371,7 @@ class Instance(pulumi.CustomResource):
2371
2371
 
2372
2372
  @property
2373
2373
  @pulumi.getter
2374
- def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
2374
+ def tags(self) -> pulumi.Output[Sequence[str]]:
2375
2375
  """
2376
2376
  The Compute Engine tags to add to instance.
2377
2377
  """
@@ -36,20 +36,32 @@ __all__ = [
36
36
  @pulumi.input_type
37
37
  class PosturePolicySetArgs:
38
38
  def __init__(__self__, *,
39
+ policies: pulumi.Input[Sequence[pulumi.Input['PosturePolicySetPolicyArgs']]],
39
40
  policy_set_id: pulumi.Input[str],
40
- description: Optional[pulumi.Input[str]] = None,
41
- policies: Optional[pulumi.Input[Sequence[pulumi.Input['PosturePolicySetPolicyArgs']]]] = None):
41
+ description: Optional[pulumi.Input[str]] = None):
42
42
  """
43
- :param pulumi.Input[str] policy_set_id: ID of the policy set.
44
- :param pulumi.Input[str] description: Description of the policy set.
45
43
  :param pulumi.Input[Sequence[pulumi.Input['PosturePolicySetPolicyArgs']]] policies: List of security policy
46
44
  Structure is documented below.
45
+ :param pulumi.Input[str] policy_set_id: ID of the policy set.
46
+ :param pulumi.Input[str] description: Description of the policy set.
47
47
  """
48
+ pulumi.set(__self__, "policies", policies)
48
49
  pulumi.set(__self__, "policy_set_id", policy_set_id)
49
50
  if description is not None:
50
51
  pulumi.set(__self__, "description", description)
51
- if policies is not None:
52
- pulumi.set(__self__, "policies", policies)
52
+
53
+ @property
54
+ @pulumi.getter
55
+ def policies(self) -> pulumi.Input[Sequence[pulumi.Input['PosturePolicySetPolicyArgs']]]:
56
+ """
57
+ List of security policy
58
+ Structure is documented below.
59
+ """
60
+ return pulumi.get(self, "policies")
61
+
62
+ @policies.setter
63
+ def policies(self, value: pulumi.Input[Sequence[pulumi.Input['PosturePolicySetPolicyArgs']]]):
64
+ pulumi.set(self, "policies", value)
53
65
 
54
66
  @property
55
67
  @pulumi.getter(name="policySetId")
@@ -75,19 +87,6 @@ class PosturePolicySetArgs:
75
87
  def description(self, value: Optional[pulumi.Input[str]]):
76
88
  pulumi.set(self, "description", value)
77
89
 
78
- @property
79
- @pulumi.getter
80
- def policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PosturePolicySetPolicyArgs']]]]:
81
- """
82
- List of security policy
83
- Structure is documented below.
84
- """
85
- return pulumi.get(self, "policies")
86
-
87
- @policies.setter
88
- def policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PosturePolicySetPolicyArgs']]]]):
89
- pulumi.set(self, "policies", value)
90
-
91
90
 
92
91
  @pulumi.input_type
93
92
  class PosturePolicySetPolicyArgs:
@@ -1306,6 +1305,8 @@ class PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigR
1306
1305
  resource_types: pulumi.Input[Sequence[pulumi.Input[str]]]):
1307
1306
  """
1308
1307
  :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_types: The resource types to run the detector on.
1308
+
1309
+ - - -
1309
1310
  """
1310
1311
  pulumi.set(__self__, "resource_types", resource_types)
1311
1312
 
@@ -1314,6 +1315,8 @@ class PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigR
1314
1315
  def resource_types(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
1315
1316
  """
1316
1317
  The resource types to run the detector on.
1318
+
1319
+ - - -
1317
1320
  """
1318
1321
  return pulumi.get(self, "resource_types")
1319
1322
 
@@ -54,20 +54,28 @@ class PosturePolicySet(dict):
54
54
  return super().get(key, default)
55
55
 
56
56
  def __init__(__self__, *,
57
+ policies: Sequence['outputs.PosturePolicySetPolicy'],
57
58
  policy_set_id: str,
58
- description: Optional[str] = None,
59
- policies: Optional[Sequence['outputs.PosturePolicySetPolicy']] = None):
59
+ description: Optional[str] = None):
60
60
  """
61
- :param str policy_set_id: ID of the policy set.
62
- :param str description: Description of the policy set.
63
61
  :param Sequence['PosturePolicySetPolicyArgs'] policies: List of security policy
64
62
  Structure is documented below.
63
+ :param str policy_set_id: ID of the policy set.
64
+ :param str description: Description of the policy set.
65
65
  """
66
+ pulumi.set(__self__, "policies", policies)
66
67
  pulumi.set(__self__, "policy_set_id", policy_set_id)
67
68
  if description is not None:
68
69
  pulumi.set(__self__, "description", description)
69
- if policies is not None:
70
- pulumi.set(__self__, "policies", policies)
70
+
71
+ @property
72
+ @pulumi.getter
73
+ def policies(self) -> Sequence['outputs.PosturePolicySetPolicy']:
74
+ """
75
+ List of security policy
76
+ Structure is documented below.
77
+ """
78
+ return pulumi.get(self, "policies")
71
79
 
72
80
  @property
73
81
  @pulumi.getter(name="policySetId")
@@ -85,15 +93,6 @@ class PosturePolicySet(dict):
85
93
  """
86
94
  return pulumi.get(self, "description")
87
95
 
88
- @property
89
- @pulumi.getter
90
- def policies(self) -> Optional[Sequence['outputs.PosturePolicySetPolicy']]:
91
- """
92
- List of security policy
93
- Structure is documented below.
94
- """
95
- return pulumi.get(self, "policies")
96
-
97
96
 
98
97
  @pulumi.output_type
99
98
  class PosturePolicySetPolicy(dict):
@@ -1307,6 +1306,8 @@ class PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigR
1307
1306
  resource_types: Sequence[str]):
1308
1307
  """
1309
1308
  :param Sequence[str] resource_types: The resource types to run the detector on.
1309
+
1310
+ - - -
1310
1311
  """
1311
1312
  pulumi.set(__self__, "resource_types", resource_types)
1312
1313
 
@@ -1315,6 +1316,8 @@ class PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigR
1315
1316
  def resource_types(self) -> Sequence[str]:
1316
1317
  """
1317
1318
  The resource types to run the detector on.
1319
+
1320
+ - - -
1318
1321
  """
1319
1322
  return pulumi.get(self, "resource_types")
1320
1323
 
@@ -18,33 +18,29 @@ class PostureArgs:
18
18
  def __init__(__self__, *,
19
19
  location: pulumi.Input[str],
20
20
  parent: pulumi.Input[str],
21
+ policy_sets: pulumi.Input[Sequence[pulumi.Input['PosturePolicySetArgs']]],
21
22
  posture_id: pulumi.Input[str],
22
23
  state: pulumi.Input[str],
23
- description: Optional[pulumi.Input[str]] = None,
24
- policy_sets: Optional[pulumi.Input[Sequence[pulumi.Input['PosturePolicySetArgs']]]] = None):
24
+ description: Optional[pulumi.Input[str]] = None):
25
25
  """
26
26
  The set of arguments for constructing a Posture resource.
27
27
  :param pulumi.Input[str] location: Location of the resource, eg: global.
28
28
  :param pulumi.Input[str] parent: The parent of the resource, an organization. Format should be `organizations/{organization_id}`.
29
+ :param pulumi.Input[Sequence[pulumi.Input['PosturePolicySetArgs']]] policy_sets: List of policy sets for the posture.
30
+ Structure is documented below.
29
31
  :param pulumi.Input[str] posture_id: Id of the posture. It is an immutable field.
30
-
31
-
32
- - - -
33
32
  :param pulumi.Input[str] state: State of the posture. Update to state field should not be triggered along with
34
33
  with other field updates.
35
34
  Possible values are: `DEPRECATED`, `DRAFT`, `ACTIVE`.
36
- :param pulumi.Input[str] description: Description of the posture.
37
- :param pulumi.Input[Sequence[pulumi.Input['PosturePolicySetArgs']]] policy_sets: List of policy sets for the posture.
38
- Structure is documented below.
35
+ :param pulumi.Input[str] description: Description of the expression
39
36
  """
40
37
  pulumi.set(__self__, "location", location)
41
38
  pulumi.set(__self__, "parent", parent)
39
+ pulumi.set(__self__, "policy_sets", policy_sets)
42
40
  pulumi.set(__self__, "posture_id", posture_id)
43
41
  pulumi.set(__self__, "state", state)
44
42
  if description is not None:
45
43
  pulumi.set(__self__, "description", description)
46
- if policy_sets is not None:
47
- pulumi.set(__self__, "policy_sets", policy_sets)
48
44
 
49
45
  @property
50
46
  @pulumi.getter
@@ -70,14 +66,24 @@ class PostureArgs:
70
66
  def parent(self, value: pulumi.Input[str]):
71
67
  pulumi.set(self, "parent", value)
72
68
 
69
+ @property
70
+ @pulumi.getter(name="policySets")
71
+ def policy_sets(self) -> pulumi.Input[Sequence[pulumi.Input['PosturePolicySetArgs']]]:
72
+ """
73
+ List of policy sets for the posture.
74
+ Structure is documented below.
75
+ """
76
+ return pulumi.get(self, "policy_sets")
77
+
78
+ @policy_sets.setter
79
+ def policy_sets(self, value: pulumi.Input[Sequence[pulumi.Input['PosturePolicySetArgs']]]):
80
+ pulumi.set(self, "policy_sets", value)
81
+
73
82
  @property
74
83
  @pulumi.getter(name="postureId")
75
84
  def posture_id(self) -> pulumi.Input[str]:
76
85
  """
77
86
  Id of the posture. It is an immutable field.
78
-
79
-
80
- - - -
81
87
  """
82
88
  return pulumi.get(self, "posture_id")
83
89
 
@@ -103,7 +109,7 @@ class PostureArgs:
103
109
  @pulumi.getter
104
110
  def description(self) -> Optional[pulumi.Input[str]]:
105
111
  """
106
- Description of the posture.
112
+ Description of the expression
107
113
  """
108
114
  return pulumi.get(self, "description")
109
115
 
@@ -111,19 +117,6 @@ class PostureArgs:
111
117
  def description(self, value: Optional[pulumi.Input[str]]):
112
118
  pulumi.set(self, "description", value)
113
119
 
114
- @property
115
- @pulumi.getter(name="policySets")
116
- def policy_sets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PosturePolicySetArgs']]]]:
117
- """
118
- List of policy sets for the posture.
119
- Structure is documented below.
120
- """
121
- return pulumi.get(self, "policy_sets")
122
-
123
- @policy_sets.setter
124
- def policy_sets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PosturePolicySetArgs']]]]):
125
- pulumi.set(self, "policy_sets", value)
126
-
127
120
 
128
121
  @pulumi.input_type
129
122
  class _PostureState:
@@ -143,7 +136,7 @@ class _PostureState:
143
136
  """
144
137
  Input properties used for looking up and filtering Posture resources.
145
138
  :param pulumi.Input[str] create_time: Time the Posture was created in UTC.
146
- :param pulumi.Input[str] description: Description of the posture.
139
+ :param pulumi.Input[str] description: Description of the expression
147
140
  :param pulumi.Input[str] etag: For Resource freshness validation (https://google.aip.dev/154)
148
141
  :param pulumi.Input[str] location: Location of the resource, eg: global.
149
142
  :param pulumi.Input[str] name: Immutable. The name of the custom constraint. This is unique within the organization.
@@ -151,9 +144,6 @@ class _PostureState:
151
144
  :param pulumi.Input[Sequence[pulumi.Input['PosturePolicySetArgs']]] policy_sets: List of policy sets for the posture.
152
145
  Structure is documented below.
153
146
  :param pulumi.Input[str] posture_id: Id of the posture. It is an immutable field.
154
-
155
-
156
- - - -
157
147
  :param pulumi.Input[bool] reconciling: If set, there are currently changes in flight to the posture.
158
148
  :param pulumi.Input[str] revision_id: Revision_id of the posture.
159
149
  :param pulumi.Input[str] state: State of the posture. Update to state field should not be triggered along with
@@ -202,7 +192,7 @@ class _PostureState:
202
192
  @pulumi.getter
203
193
  def description(self) -> Optional[pulumi.Input[str]]:
204
194
  """
205
- Description of the posture.
195
+ Description of the expression
206
196
  """
207
197
  return pulumi.get(self, "description")
208
198
 
@@ -276,9 +266,6 @@ class _PostureState:
276
266
  def posture_id(self) -> Optional[pulumi.Input[str]]:
277
267
  """
278
268
  Id of the posture. It is an immutable field.
279
-
280
-
281
- - - -
282
269
  """
283
270
  return pulumi.get(self, "posture_id")
284
271
 
@@ -484,15 +471,12 @@ class Posture(pulumi.CustomResource):
484
471
 
485
472
  :param str resource_name: The name of the resource.
486
473
  :param pulumi.ResourceOptions opts: Options for the resource.
487
- :param pulumi.Input[str] description: Description of the posture.
474
+ :param pulumi.Input[str] description: Description of the expression
488
475
  :param pulumi.Input[str] location: Location of the resource, eg: global.
489
476
  :param pulumi.Input[str] parent: The parent of the resource, an organization. Format should be `organizations/{organization_id}`.
490
477
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PosturePolicySetArgs']]]] policy_sets: List of policy sets for the posture.
491
478
  Structure is documented below.
492
479
  :param pulumi.Input[str] posture_id: Id of the posture. It is an immutable field.
493
-
494
-
495
- - - -
496
480
  :param pulumi.Input[str] state: State of the posture. Update to state field should not be triggered along with
497
481
  with other field updates.
498
482
  Possible values are: `DEPRECATED`, `DRAFT`, `ACTIVE`.
@@ -673,6 +657,8 @@ class Posture(pulumi.CustomResource):
673
657
  if parent is None and not opts.urn:
674
658
  raise TypeError("Missing required property 'parent'")
675
659
  __props__.__dict__["parent"] = parent
660
+ if policy_sets is None and not opts.urn:
661
+ raise TypeError("Missing required property 'policy_sets'")
676
662
  __props__.__dict__["policy_sets"] = policy_sets
677
663
  if posture_id is None and not opts.urn:
678
664
  raise TypeError("Missing required property 'posture_id'")
@@ -716,7 +702,7 @@ class Posture(pulumi.CustomResource):
716
702
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
717
703
  :param pulumi.ResourceOptions opts: Options for the resource.
718
704
  :param pulumi.Input[str] create_time: Time the Posture was created in UTC.
719
- :param pulumi.Input[str] description: Description of the posture.
705
+ :param pulumi.Input[str] description: Description of the expression
720
706
  :param pulumi.Input[str] etag: For Resource freshness validation (https://google.aip.dev/154)
721
707
  :param pulumi.Input[str] location: Location of the resource, eg: global.
722
708
  :param pulumi.Input[str] name: Immutable. The name of the custom constraint. This is unique within the organization.
@@ -724,9 +710,6 @@ class Posture(pulumi.CustomResource):
724
710
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PosturePolicySetArgs']]]] policy_sets: List of policy sets for the posture.
725
711
  Structure is documented below.
726
712
  :param pulumi.Input[str] posture_id: Id of the posture. It is an immutable field.
727
-
728
-
729
- - - -
730
713
  :param pulumi.Input[bool] reconciling: If set, there are currently changes in flight to the posture.
731
714
  :param pulumi.Input[str] revision_id: Revision_id of the posture.
732
715
  :param pulumi.Input[str] state: State of the posture. Update to state field should not be triggered along with
@@ -764,7 +747,7 @@ class Posture(pulumi.CustomResource):
764
747
  @pulumi.getter
765
748
  def description(self) -> pulumi.Output[Optional[str]]:
766
749
  """
767
- Description of the posture.
750
+ Description of the expression
768
751
  """
769
752
  return pulumi.get(self, "description")
770
753
 
@@ -802,7 +785,7 @@ class Posture(pulumi.CustomResource):
802
785
 
803
786
  @property
804
787
  @pulumi.getter(name="policySets")
805
- def policy_sets(self) -> pulumi.Output[Optional[Sequence['outputs.PosturePolicySet']]]:
788
+ def policy_sets(self) -> pulumi.Output[Sequence['outputs.PosturePolicySet']]:
806
789
  """
807
790
  List of policy sets for the posture.
808
791
  Structure is documented below.
@@ -814,9 +797,6 @@ class Posture(pulumi.CustomResource):
814
797
  def posture_id(self) -> pulumi.Output[str]:
815
798
  """
816
799
  Id of the posture. It is an immutable field.
817
-
818
-
819
- - - -
820
800
  """
821
801
  return pulumi.get(self, "posture_id")
822
802
 
@@ -50,6 +50,10 @@ class DatabaseIAMBindingConditionArgs:
50
50
  expression: pulumi.Input[str],
51
51
  title: pulumi.Input[str],
52
52
  description: Optional[pulumi.Input[str]] = None):
53
+ """
54
+ :param pulumi.Input[str] expression: Textual representation of an expression in Common Expression Language syntax.
55
+ :param pulumi.Input[str] title: A title for the expression, i.e. a short string describing its purpose.
56
+ """
53
57
  pulumi.set(__self__, "expression", expression)
54
58
  pulumi.set(__self__, "title", title)
55
59
  if description is not None:
@@ -58,6 +62,9 @@ class DatabaseIAMBindingConditionArgs:
58
62
  @property
59
63
  @pulumi.getter
60
64
  def expression(self) -> pulumi.Input[str]:
65
+ """
66
+ Textual representation of an expression in Common Expression Language syntax.
67
+ """
61
68
  return pulumi.get(self, "expression")
62
69
 
63
70
  @expression.setter
@@ -67,6 +74,9 @@ class DatabaseIAMBindingConditionArgs:
67
74
  @property
68
75
  @pulumi.getter
69
76
  def title(self) -> pulumi.Input[str]:
77
+ """
78
+ A title for the expression, i.e. a short string describing its purpose.
79
+ """
70
80
  return pulumi.get(self, "title")
71
81
 
72
82
  @title.setter
@@ -89,6 +99,10 @@ class DatabaseIAMMemberConditionArgs:
89
99
  expression: pulumi.Input[str],
90
100
  title: pulumi.Input[str],
91
101
  description: Optional[pulumi.Input[str]] = None):
102
+ """
103
+ :param pulumi.Input[str] expression: Textual representation of an expression in Common Expression Language syntax.
104
+ :param pulumi.Input[str] title: A title for the expression, i.e. a short string describing its purpose.
105
+ """
92
106
  pulumi.set(__self__, "expression", expression)
93
107
  pulumi.set(__self__, "title", title)
94
108
  if description is not None:
@@ -97,6 +111,9 @@ class DatabaseIAMMemberConditionArgs:
97
111
  @property
98
112
  @pulumi.getter
99
113
  def expression(self) -> pulumi.Input[str]:
114
+ """
115
+ Textual representation of an expression in Common Expression Language syntax.
116
+ """
100
117
  return pulumi.get(self, "expression")
101
118
 
102
119
  @expression.setter
@@ -106,6 +123,9 @@ class DatabaseIAMMemberConditionArgs:
106
123
  @property
107
124
  @pulumi.getter
108
125
  def title(self) -> pulumi.Input[str]:
126
+ """
127
+ A title for the expression, i.e. a short string describing its purpose.
128
+ """
109
129
  return pulumi.get(self, "title")
110
130
 
111
131
  @title.setter
@@ -38,6 +38,8 @@ class DatabaseIAMBindingArgs:
38
38
  :param pulumi.Input[str] role: The role that should be applied. Only one
39
39
  `spanner.DatabaseIAMBinding` can be used per role. Note that custom roles must be of the format
40
40
  `[projects|organizations]/{parent-name}/roles/{role-name}`.
41
+ :param pulumi.Input['DatabaseIAMBindingConditionArgs'] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
42
+ Structure is documented below.
41
43
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs. If it
42
44
  is not provided, the provider project is used.
43
45
  """
@@ -109,6 +111,10 @@ class DatabaseIAMBindingArgs:
109
111
  @property
110
112
  @pulumi.getter
111
113
  def condition(self) -> Optional[pulumi.Input['DatabaseIAMBindingConditionArgs']]:
114
+ """
115
+ An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
116
+ Structure is documented below.
117
+ """
112
118
  return pulumi.get(self, "condition")
113
119
 
114
120
  @condition.setter
@@ -141,6 +147,8 @@ class _DatabaseIAMBindingState:
141
147
  role: Optional[pulumi.Input[str]] = None):
142
148
  """
143
149
  Input properties used for looking up and filtering DatabaseIAMBinding resources.
150
+ :param pulumi.Input['DatabaseIAMBindingConditionArgs'] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
151
+ Structure is documented below.
144
152
  :param pulumi.Input[str] database: The name of the Spanner database.
145
153
  :param pulumi.Input[str] etag: (Computed) The etag of the database's IAM policy.
146
154
  :param pulumi.Input[str] instance: The name of the Spanner instance the database belongs to.
@@ -177,6 +185,10 @@ class _DatabaseIAMBindingState:
177
185
  @property
178
186
  @pulumi.getter
179
187
  def condition(self) -> Optional[pulumi.Input['DatabaseIAMBindingConditionArgs']]:
188
+ """
189
+ An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
190
+ Structure is documented below.
191
+ """
180
192
  return pulumi.get(self, "condition")
181
193
 
182
194
  @condition.setter
@@ -307,6 +319,27 @@ class DatabaseIAMBinding(pulumi.CustomResource):
307
319
  policy_data=admin.policy_data)
308
320
  ```
309
321
 
322
+ With IAM Conditions:
323
+
324
+ ```python
325
+ import pulumi
326
+ import pulumi_gcp as gcp
327
+
328
+ admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
329
+ role="roles/editor",
330
+ members=["user:jane@example.com"],
331
+ condition=gcp.organizations.GetIAMPolicyBindingConditionArgs(
332
+ title="My Role",
333
+ description="Grant permissions on my_role",
334
+ expression="(resource.type == \\"spanner.googleapis.com/DatabaseRole\\" && (resource.name.endsWith(\\"/myrole\\")))",
335
+ ),
336
+ )])
337
+ database = gcp.spanner.DatabaseIAMPolicy("database",
338
+ instance="your-instance-name",
339
+ database="your-database-name",
340
+ policy_data=admin.policy_data)
341
+ ```
342
+
310
343
  ## google\\_spanner\\_database\\_iam\\_binding
311
344
 
312
345
  ```python
@@ -320,6 +353,24 @@ class DatabaseIAMBinding(pulumi.CustomResource):
320
353
  members=["user:jane@example.com"])
321
354
  ```
322
355
 
356
+ With IAM Conditions:
357
+
358
+ ```python
359
+ import pulumi
360
+ import pulumi_gcp as gcp
361
+
362
+ database = gcp.spanner.DatabaseIAMBinding("database",
363
+ instance="your-instance-name",
364
+ database="your-database-name",
365
+ role="roles/compute.networkUser",
366
+ members=["user:jane@example.com"],
367
+ condition=gcp.spanner.DatabaseIAMBindingConditionArgs(
368
+ title="My Role",
369
+ description="Grant permissions on my_role",
370
+ expression="(resource.type == \\"spanner.googleapis.com/DatabaseRole\\" && (resource.name.endsWith(\\"/myrole\\")))",
371
+ ))
372
+ ```
373
+
323
374
  ## google\\_spanner\\_database\\_iam\\_member
324
375
 
325
376
  ```python
@@ -333,6 +384,24 @@ class DatabaseIAMBinding(pulumi.CustomResource):
333
384
  member="user:jane@example.com")
334
385
  ```
335
386
 
387
+ With IAM Conditions:
388
+
389
+ ```python
390
+ import pulumi
391
+ import pulumi_gcp as gcp
392
+
393
+ database = gcp.spanner.DatabaseIAMMember("database",
394
+ instance="your-instance-name",
395
+ database="your-database-name",
396
+ role="roles/compute.networkUser",
397
+ member="user:jane@example.com",
398
+ condition=gcp.spanner.DatabaseIAMMemberConditionArgs(
399
+ title="My Role",
400
+ description="Grant permissions on my_role",
401
+ expression="(resource.type == \\"spanner.googleapis.com/DatabaseRole\\" && (resource.name.endsWith(\\"/myrole\\")))",
402
+ ))
403
+ ```
404
+
336
405
  ## Import
337
406
 
338
407
  ### Importing IAM policies
@@ -361,6 +430,8 @@ class DatabaseIAMBinding(pulumi.CustomResource):
361
430
 
362
431
  :param str resource_name: The name of the resource.
363
432
  :param pulumi.ResourceOptions opts: Options for the resource.
433
+ :param pulumi.Input[pulumi.InputType['DatabaseIAMBindingConditionArgs']] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
434
+ Structure is documented below.
364
435
  :param pulumi.Input[str] database: The name of the Spanner database.
365
436
  :param pulumi.Input[str] instance: The name of the Spanner instance the database belongs to.
366
437
 
@@ -414,6 +485,27 @@ class DatabaseIAMBinding(pulumi.CustomResource):
414
485
  policy_data=admin.policy_data)
415
486
  ```
416
487
 
488
+ With IAM Conditions:
489
+
490
+ ```python
491
+ import pulumi
492
+ import pulumi_gcp as gcp
493
+
494
+ admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
495
+ role="roles/editor",
496
+ members=["user:jane@example.com"],
497
+ condition=gcp.organizations.GetIAMPolicyBindingConditionArgs(
498
+ title="My Role",
499
+ description="Grant permissions on my_role",
500
+ expression="(resource.type == \\"spanner.googleapis.com/DatabaseRole\\" && (resource.name.endsWith(\\"/myrole\\")))",
501
+ ),
502
+ )])
503
+ database = gcp.spanner.DatabaseIAMPolicy("database",
504
+ instance="your-instance-name",
505
+ database="your-database-name",
506
+ policy_data=admin.policy_data)
507
+ ```
508
+
417
509
  ## google\\_spanner\\_database\\_iam\\_binding
418
510
 
419
511
  ```python
@@ -427,6 +519,24 @@ class DatabaseIAMBinding(pulumi.CustomResource):
427
519
  members=["user:jane@example.com"])
428
520
  ```
429
521
 
522
+ With IAM Conditions:
523
+
524
+ ```python
525
+ import pulumi
526
+ import pulumi_gcp as gcp
527
+
528
+ database = gcp.spanner.DatabaseIAMBinding("database",
529
+ instance="your-instance-name",
530
+ database="your-database-name",
531
+ role="roles/compute.networkUser",
532
+ members=["user:jane@example.com"],
533
+ condition=gcp.spanner.DatabaseIAMBindingConditionArgs(
534
+ title="My Role",
535
+ description="Grant permissions on my_role",
536
+ expression="(resource.type == \\"spanner.googleapis.com/DatabaseRole\\" && (resource.name.endsWith(\\"/myrole\\")))",
537
+ ))
538
+ ```
539
+
430
540
  ## google\\_spanner\\_database\\_iam\\_member
431
541
 
432
542
  ```python
@@ -440,6 +550,24 @@ class DatabaseIAMBinding(pulumi.CustomResource):
440
550
  member="user:jane@example.com")
441
551
  ```
442
552
 
553
+ With IAM Conditions:
554
+
555
+ ```python
556
+ import pulumi
557
+ import pulumi_gcp as gcp
558
+
559
+ database = gcp.spanner.DatabaseIAMMember("database",
560
+ instance="your-instance-name",
561
+ database="your-database-name",
562
+ role="roles/compute.networkUser",
563
+ member="user:jane@example.com",
564
+ condition=gcp.spanner.DatabaseIAMMemberConditionArgs(
565
+ title="My Role",
566
+ description="Grant permissions on my_role",
567
+ expression="(resource.type == \\"spanner.googleapis.com/DatabaseRole\\" && (resource.name.endsWith(\\"/myrole\\")))",
568
+ ))
569
+ ```
570
+
443
571
  ## Import
444
572
 
445
573
  ### Importing IAM policies
@@ -535,6 +663,8 @@ class DatabaseIAMBinding(pulumi.CustomResource):
535
663
  :param str resource_name: The unique name of the resulting resource.
536
664
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
537
665
  :param pulumi.ResourceOptions opts: Options for the resource.
666
+ :param pulumi.Input[pulumi.InputType['DatabaseIAMBindingConditionArgs']] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
667
+ Structure is documented below.
538
668
  :param pulumi.Input[str] database: The name of the Spanner database.
539
669
  :param pulumi.Input[str] etag: (Computed) The etag of the database's IAM policy.
540
670
  :param pulumi.Input[str] instance: The name of the Spanner instance the database belongs to.
@@ -569,6 +699,10 @@ class DatabaseIAMBinding(pulumi.CustomResource):
569
699
  @property
570
700
  @pulumi.getter
571
701
  def condition(self) -> pulumi.Output[Optional['outputs.DatabaseIAMBindingCondition']]:
702
+ """
703
+ An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
704
+ Structure is documented below.
705
+ """
572
706
  return pulumi.get(self, "condition")
573
707
 
574
708
  @property