pulumi-gcp 7.12.0a1709561306__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 (33) hide show
  1. pulumi_gcp/__init__.py +24 -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/outputs.py +91 -0
  8. pulumi_gcp/bigquery/routine.py +118 -12
  9. pulumi_gcp/certificatemanager/dns_authorization.py +63 -14
  10. pulumi_gcp/clouddeploy/__init__.py +4 -0
  11. pulumi_gcp/clouddeploy/_inputs.py +80 -0
  12. pulumi_gcp/clouddeploy/automation.py +16 -0
  13. pulumi_gcp/clouddeploy/get_target_iam_policy.py +162 -0
  14. pulumi_gcp/clouddeploy/outputs.py +56 -0
  15. pulumi_gcp/clouddeploy/target_iam_binding.py +324 -0
  16. pulumi_gcp/clouddeploy/target_iam_member.py +324 -0
  17. pulumi_gcp/clouddeploy/target_iam_policy.py +253 -0
  18. pulumi_gcp/cloudrunv2/_inputs.py +4 -2
  19. pulumi_gcp/cloudrunv2/outputs.py +8 -4
  20. pulumi_gcp/composer/_inputs.py +18 -2
  21. pulumi_gcp/composer/outputs.py +29 -4
  22. pulumi_gcp/compute/region_target_https_proxy.py +162 -37
  23. pulumi_gcp/gkehub/scope.py +85 -0
  24. pulumi_gcp/monitoring/get_app_engine_service.py +2 -2
  25. pulumi_gcp/spanner/_inputs.py +20 -0
  26. pulumi_gcp/spanner/database_iam_binding.py +134 -0
  27. pulumi_gcp/spanner/database_iam_member.py +134 -0
  28. pulumi_gcp/spanner/database_iam_policy.py +114 -0
  29. pulumi_gcp/spanner/outputs.py +20 -0
  30. {pulumi_gcp-7.12.0a1709561306.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/METADATA +1 -1
  31. {pulumi_gcp-7.12.0a1709561306.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/RECORD +33 -29
  32. {pulumi_gcp-7.12.0a1709561306.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/WHEEL +0 -0
  33. {pulumi_gcp-7.12.0a1709561306.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/top_level.txt +0 -0
@@ -538,6 +538,14 @@ class Automation(pulumi.CustomResource):
538
538
  suspended: Optional[pulumi.Input[bool]] = None,
539
539
  __props__=None):
540
540
  """
541
+ An `Automation` enables the automation of manually driven actions for a Delivery Pipeline, which includes Release promotion amongst Targets, Rollout repair and Rollout deployment strategy advancement.
542
+
543
+ To get more information about Automation, see:
544
+
545
+ * [API documentation](https://cloud.google.com/deploy/docs/api/reference/rest/v1/projects.locations.deliveryPipelines.automations)
546
+ * How-to Guides
547
+ * [Automate your deployment](https://cloud.google.com/deploy/docs/automation)
548
+
541
549
  ## Example Usage
542
550
  ### Clouddeploy Automation Basic
543
551
 
@@ -681,6 +689,14 @@ class Automation(pulumi.CustomResource):
681
689
  args: AutomationArgs,
682
690
  opts: Optional[pulumi.ResourceOptions] = None):
683
691
  """
692
+ An `Automation` enables the automation of manually driven actions for a Delivery Pipeline, which includes Release promotion amongst Targets, Rollout repair and Rollout deployment strategy advancement.
693
+
694
+ To get more information about Automation, see:
695
+
696
+ * [API documentation](https://cloud.google.com/deploy/docs/api/reference/rest/v1/projects.locations.deliveryPipelines.automations)
697
+ * How-to Guides
698
+ * [Automate your deployment](https://cloud.google.com/deploy/docs/automation)
699
+
684
700
  ## Example Usage
685
701
  ### Clouddeploy Automation Basic
686
702
 
@@ -0,0 +1,162 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+
12
+ __all__ = [
13
+ 'GetTargetIamPolicyResult',
14
+ 'AwaitableGetTargetIamPolicyResult',
15
+ 'get_target_iam_policy',
16
+ 'get_target_iam_policy_output',
17
+ ]
18
+
19
+ @pulumi.output_type
20
+ class GetTargetIamPolicyResult:
21
+ """
22
+ A collection of values returned by getTargetIamPolicy.
23
+ """
24
+ def __init__(__self__, etag=None, id=None, location=None, name=None, policy_data=None, project=None):
25
+ if etag and not isinstance(etag, str):
26
+ raise TypeError("Expected argument 'etag' to be a str")
27
+ pulumi.set(__self__, "etag", etag)
28
+ if id and not isinstance(id, str):
29
+ raise TypeError("Expected argument 'id' to be a str")
30
+ pulumi.set(__self__, "id", id)
31
+ if location and not isinstance(location, str):
32
+ raise TypeError("Expected argument 'location' to be a str")
33
+ pulumi.set(__self__, "location", location)
34
+ if name and not isinstance(name, str):
35
+ raise TypeError("Expected argument 'name' to be a str")
36
+ pulumi.set(__self__, "name", name)
37
+ if policy_data and not isinstance(policy_data, str):
38
+ raise TypeError("Expected argument 'policy_data' to be a str")
39
+ pulumi.set(__self__, "policy_data", policy_data)
40
+ if project and not isinstance(project, str):
41
+ raise TypeError("Expected argument 'project' to be a str")
42
+ pulumi.set(__self__, "project", project)
43
+
44
+ @property
45
+ @pulumi.getter
46
+ def etag(self) -> str:
47
+ """
48
+ (Computed) The etag of the IAM policy.
49
+ """
50
+ return pulumi.get(self, "etag")
51
+
52
+ @property
53
+ @pulumi.getter
54
+ def id(self) -> str:
55
+ """
56
+ The provider-assigned unique ID for this managed resource.
57
+ """
58
+ return pulumi.get(self, "id")
59
+
60
+ @property
61
+ @pulumi.getter
62
+ def location(self) -> str:
63
+ return pulumi.get(self, "location")
64
+
65
+ @property
66
+ @pulumi.getter
67
+ def name(self) -> str:
68
+ return pulumi.get(self, "name")
69
+
70
+ @property
71
+ @pulumi.getter(name="policyData")
72
+ def policy_data(self) -> str:
73
+ """
74
+ (Required only by `clouddeploy.TargetIamPolicy`) The policy data generated by
75
+ a `organizations_get_iam_policy` data source.
76
+ """
77
+ return pulumi.get(self, "policy_data")
78
+
79
+ @property
80
+ @pulumi.getter
81
+ def project(self) -> str:
82
+ return pulumi.get(self, "project")
83
+
84
+
85
+ class AwaitableGetTargetIamPolicyResult(GetTargetIamPolicyResult):
86
+ # pylint: disable=using-constant-test
87
+ def __await__(self):
88
+ if False:
89
+ yield self
90
+ return GetTargetIamPolicyResult(
91
+ etag=self.etag,
92
+ id=self.id,
93
+ location=self.location,
94
+ name=self.name,
95
+ policy_data=self.policy_data,
96
+ project=self.project)
97
+
98
+
99
+ def get_target_iam_policy(location: Optional[str] = None,
100
+ name: Optional[str] = None,
101
+ project: Optional[str] = None,
102
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetTargetIamPolicyResult:
103
+ """
104
+ Retrieves the current IAM policy data for target
105
+
106
+ ## example
107
+
108
+ ```python
109
+ import pulumi
110
+ import pulumi_gcp as gcp
111
+
112
+ policy = gcp.clouddeploy.get_target_iam_policy(project=default["project"],
113
+ location=default["location"],
114
+ name=default["name"])
115
+ ```
116
+
117
+
118
+ :param str name: Used to find the parent resource to bind the IAM policy to
119
+ :param str project: The ID of the project in which the resource belongs.
120
+ If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
121
+ """
122
+ __args__ = dict()
123
+ __args__['location'] = location
124
+ __args__['name'] = name
125
+ __args__['project'] = project
126
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
127
+ __ret__ = pulumi.runtime.invoke('gcp:clouddeploy/getTargetIamPolicy:getTargetIamPolicy', __args__, opts=opts, typ=GetTargetIamPolicyResult).value
128
+
129
+ return AwaitableGetTargetIamPolicyResult(
130
+ etag=pulumi.get(__ret__, 'etag'),
131
+ id=pulumi.get(__ret__, 'id'),
132
+ location=pulumi.get(__ret__, 'location'),
133
+ name=pulumi.get(__ret__, 'name'),
134
+ policy_data=pulumi.get(__ret__, 'policy_data'),
135
+ project=pulumi.get(__ret__, 'project'))
136
+
137
+
138
+ @_utilities.lift_output_func(get_target_iam_policy)
139
+ def get_target_iam_policy_output(location: Optional[pulumi.Input[Optional[str]]] = None,
140
+ name: Optional[pulumi.Input[str]] = None,
141
+ project: Optional[pulumi.Input[Optional[str]]] = None,
142
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTargetIamPolicyResult]:
143
+ """
144
+ Retrieves the current IAM policy data for target
145
+
146
+ ## example
147
+
148
+ ```python
149
+ import pulumi
150
+ import pulumi_gcp as gcp
151
+
152
+ policy = gcp.clouddeploy.get_target_iam_policy(project=default["project"],
153
+ location=default["location"],
154
+ name=default["name"])
155
+ ```
156
+
157
+
158
+ :param str name: Used to find the parent resource to bind the IAM policy to
159
+ :param str project: The ID of the project in which the resource belongs.
160
+ If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
161
+ """
162
+ ...
@@ -49,6 +49,8 @@ __all__ = [
49
49
  'TargetAnthosCluster',
50
50
  'TargetExecutionConfig',
51
51
  'TargetGke',
52
+ 'TargetIamBindingCondition',
53
+ 'TargetIamMemberCondition',
52
54
  'TargetMultiTarget',
53
55
  'TargetRun',
54
56
  ]
@@ -1825,6 +1827,60 @@ class TargetGke(dict):
1825
1827
  return pulumi.get(self, "internal_ip")
1826
1828
 
1827
1829
 
1830
+ @pulumi.output_type
1831
+ class TargetIamBindingCondition(dict):
1832
+ def __init__(__self__, *,
1833
+ expression: str,
1834
+ title: str,
1835
+ description: Optional[str] = None):
1836
+ pulumi.set(__self__, "expression", expression)
1837
+ pulumi.set(__self__, "title", title)
1838
+ if description is not None:
1839
+ pulumi.set(__self__, "description", description)
1840
+
1841
+ @property
1842
+ @pulumi.getter
1843
+ def expression(self) -> str:
1844
+ return pulumi.get(self, "expression")
1845
+
1846
+ @property
1847
+ @pulumi.getter
1848
+ def title(self) -> str:
1849
+ return pulumi.get(self, "title")
1850
+
1851
+ @property
1852
+ @pulumi.getter
1853
+ def description(self) -> Optional[str]:
1854
+ return pulumi.get(self, "description")
1855
+
1856
+
1857
+ @pulumi.output_type
1858
+ class TargetIamMemberCondition(dict):
1859
+ def __init__(__self__, *,
1860
+ expression: str,
1861
+ title: str,
1862
+ description: Optional[str] = None):
1863
+ pulumi.set(__self__, "expression", expression)
1864
+ pulumi.set(__self__, "title", title)
1865
+ if description is not None:
1866
+ pulumi.set(__self__, "description", description)
1867
+
1868
+ @property
1869
+ @pulumi.getter
1870
+ def expression(self) -> str:
1871
+ return pulumi.get(self, "expression")
1872
+
1873
+ @property
1874
+ @pulumi.getter
1875
+ def title(self) -> str:
1876
+ return pulumi.get(self, "title")
1877
+
1878
+ @property
1879
+ @pulumi.getter
1880
+ def description(self) -> Optional[str]:
1881
+ return pulumi.get(self, "description")
1882
+
1883
+
1828
1884
  @pulumi.output_type
1829
1885
  class TargetMultiTarget(dict):
1830
1886
  @staticmethod
@@ -0,0 +1,324 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+ from . import outputs
12
+ from ._inputs import *
13
+
14
+ __all__ = ['TargetIamBindingArgs', 'TargetIamBinding']
15
+
16
+ @pulumi.input_type
17
+ class TargetIamBindingArgs:
18
+ def __init__(__self__, *,
19
+ members: pulumi.Input[Sequence[pulumi.Input[str]]],
20
+ role: pulumi.Input[str],
21
+ condition: Optional[pulumi.Input['TargetIamBindingConditionArgs']] = None,
22
+ location: Optional[pulumi.Input[str]] = None,
23
+ name: Optional[pulumi.Input[str]] = None,
24
+ project: Optional[pulumi.Input[str]] = None):
25
+ """
26
+ The set of arguments for constructing a TargetIamBinding resource.
27
+ """
28
+ pulumi.set(__self__, "members", members)
29
+ pulumi.set(__self__, "role", role)
30
+ if condition is not None:
31
+ pulumi.set(__self__, "condition", condition)
32
+ if location is not None:
33
+ pulumi.set(__self__, "location", location)
34
+ if name is not None:
35
+ pulumi.set(__self__, "name", name)
36
+ if project is not None:
37
+ pulumi.set(__self__, "project", project)
38
+
39
+ @property
40
+ @pulumi.getter
41
+ def members(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
42
+ return pulumi.get(self, "members")
43
+
44
+ @members.setter
45
+ def members(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
46
+ pulumi.set(self, "members", value)
47
+
48
+ @property
49
+ @pulumi.getter
50
+ def role(self) -> pulumi.Input[str]:
51
+ return pulumi.get(self, "role")
52
+
53
+ @role.setter
54
+ def role(self, value: pulumi.Input[str]):
55
+ pulumi.set(self, "role", value)
56
+
57
+ @property
58
+ @pulumi.getter
59
+ def condition(self) -> Optional[pulumi.Input['TargetIamBindingConditionArgs']]:
60
+ return pulumi.get(self, "condition")
61
+
62
+ @condition.setter
63
+ def condition(self, value: Optional[pulumi.Input['TargetIamBindingConditionArgs']]):
64
+ pulumi.set(self, "condition", value)
65
+
66
+ @property
67
+ @pulumi.getter
68
+ def location(self) -> Optional[pulumi.Input[str]]:
69
+ return pulumi.get(self, "location")
70
+
71
+ @location.setter
72
+ def location(self, value: Optional[pulumi.Input[str]]):
73
+ pulumi.set(self, "location", value)
74
+
75
+ @property
76
+ @pulumi.getter
77
+ def name(self) -> Optional[pulumi.Input[str]]:
78
+ return pulumi.get(self, "name")
79
+
80
+ @name.setter
81
+ def name(self, value: Optional[pulumi.Input[str]]):
82
+ pulumi.set(self, "name", value)
83
+
84
+ @property
85
+ @pulumi.getter
86
+ def project(self) -> Optional[pulumi.Input[str]]:
87
+ return pulumi.get(self, "project")
88
+
89
+ @project.setter
90
+ def project(self, value: Optional[pulumi.Input[str]]):
91
+ pulumi.set(self, "project", value)
92
+
93
+
94
+ @pulumi.input_type
95
+ class _TargetIamBindingState:
96
+ def __init__(__self__, *,
97
+ condition: Optional[pulumi.Input['TargetIamBindingConditionArgs']] = None,
98
+ etag: Optional[pulumi.Input[str]] = None,
99
+ location: Optional[pulumi.Input[str]] = None,
100
+ members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
101
+ name: Optional[pulumi.Input[str]] = None,
102
+ project: Optional[pulumi.Input[str]] = None,
103
+ role: Optional[pulumi.Input[str]] = None):
104
+ """
105
+ Input properties used for looking up and filtering TargetIamBinding resources.
106
+ """
107
+ if condition is not None:
108
+ pulumi.set(__self__, "condition", condition)
109
+ if etag is not None:
110
+ pulumi.set(__self__, "etag", etag)
111
+ if location is not None:
112
+ pulumi.set(__self__, "location", location)
113
+ if members is not None:
114
+ pulumi.set(__self__, "members", members)
115
+ if name is not None:
116
+ pulumi.set(__self__, "name", name)
117
+ if project is not None:
118
+ pulumi.set(__self__, "project", project)
119
+ if role is not None:
120
+ pulumi.set(__self__, "role", role)
121
+
122
+ @property
123
+ @pulumi.getter
124
+ def condition(self) -> Optional[pulumi.Input['TargetIamBindingConditionArgs']]:
125
+ return pulumi.get(self, "condition")
126
+
127
+ @condition.setter
128
+ def condition(self, value: Optional[pulumi.Input['TargetIamBindingConditionArgs']]):
129
+ pulumi.set(self, "condition", value)
130
+
131
+ @property
132
+ @pulumi.getter
133
+ def etag(self) -> Optional[pulumi.Input[str]]:
134
+ return pulumi.get(self, "etag")
135
+
136
+ @etag.setter
137
+ def etag(self, value: Optional[pulumi.Input[str]]):
138
+ pulumi.set(self, "etag", value)
139
+
140
+ @property
141
+ @pulumi.getter
142
+ def location(self) -> Optional[pulumi.Input[str]]:
143
+ return pulumi.get(self, "location")
144
+
145
+ @location.setter
146
+ def location(self, value: Optional[pulumi.Input[str]]):
147
+ pulumi.set(self, "location", value)
148
+
149
+ @property
150
+ @pulumi.getter
151
+ def members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
152
+ return pulumi.get(self, "members")
153
+
154
+ @members.setter
155
+ def members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
156
+ pulumi.set(self, "members", value)
157
+
158
+ @property
159
+ @pulumi.getter
160
+ def name(self) -> Optional[pulumi.Input[str]]:
161
+ return pulumi.get(self, "name")
162
+
163
+ @name.setter
164
+ def name(self, value: Optional[pulumi.Input[str]]):
165
+ pulumi.set(self, "name", value)
166
+
167
+ @property
168
+ @pulumi.getter
169
+ def project(self) -> Optional[pulumi.Input[str]]:
170
+ return pulumi.get(self, "project")
171
+
172
+ @project.setter
173
+ def project(self, value: Optional[pulumi.Input[str]]):
174
+ pulumi.set(self, "project", value)
175
+
176
+ @property
177
+ @pulumi.getter
178
+ def role(self) -> Optional[pulumi.Input[str]]:
179
+ return pulumi.get(self, "role")
180
+
181
+ @role.setter
182
+ def role(self, value: Optional[pulumi.Input[str]]):
183
+ pulumi.set(self, "role", value)
184
+
185
+
186
+ class TargetIamBinding(pulumi.CustomResource):
187
+ @overload
188
+ def __init__(__self__,
189
+ resource_name: str,
190
+ opts: Optional[pulumi.ResourceOptions] = None,
191
+ condition: Optional[pulumi.Input[pulumi.InputType['TargetIamBindingConditionArgs']]] = None,
192
+ location: Optional[pulumi.Input[str]] = None,
193
+ members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
194
+ name: Optional[pulumi.Input[str]] = None,
195
+ project: Optional[pulumi.Input[str]] = None,
196
+ role: Optional[pulumi.Input[str]] = None,
197
+ __props__=None):
198
+ """
199
+ Create a TargetIamBinding resource with the given unique name, props, and options.
200
+ :param str resource_name: The name of the resource.
201
+ :param pulumi.ResourceOptions opts: Options for the resource.
202
+ """
203
+ ...
204
+ @overload
205
+ def __init__(__self__,
206
+ resource_name: str,
207
+ args: TargetIamBindingArgs,
208
+ opts: Optional[pulumi.ResourceOptions] = None):
209
+ """
210
+ Create a TargetIamBinding resource with the given unique name, props, and options.
211
+ :param str resource_name: The name of the resource.
212
+ :param TargetIamBindingArgs args: The arguments to use to populate this resource's properties.
213
+ :param pulumi.ResourceOptions opts: Options for the resource.
214
+ """
215
+ ...
216
+ def __init__(__self__, resource_name: str, *args, **kwargs):
217
+ resource_args, opts = _utilities.get_resource_args_opts(TargetIamBindingArgs, pulumi.ResourceOptions, *args, **kwargs)
218
+ if resource_args is not None:
219
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
220
+ else:
221
+ __self__._internal_init(resource_name, *args, **kwargs)
222
+
223
+ def _internal_init(__self__,
224
+ resource_name: str,
225
+ opts: Optional[pulumi.ResourceOptions] = None,
226
+ condition: Optional[pulumi.Input[pulumi.InputType['TargetIamBindingConditionArgs']]] = None,
227
+ location: Optional[pulumi.Input[str]] = None,
228
+ members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
229
+ name: Optional[pulumi.Input[str]] = None,
230
+ project: Optional[pulumi.Input[str]] = None,
231
+ role: Optional[pulumi.Input[str]] = None,
232
+ __props__=None):
233
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
234
+ if not isinstance(opts, pulumi.ResourceOptions):
235
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
236
+ if opts.id is None:
237
+ if __props__ is not None:
238
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
239
+ __props__ = TargetIamBindingArgs.__new__(TargetIamBindingArgs)
240
+
241
+ __props__.__dict__["condition"] = condition
242
+ __props__.__dict__["location"] = location
243
+ if members is None and not opts.urn:
244
+ raise TypeError("Missing required property 'members'")
245
+ __props__.__dict__["members"] = members
246
+ __props__.__dict__["name"] = name
247
+ __props__.__dict__["project"] = project
248
+ if role is None and not opts.urn:
249
+ raise TypeError("Missing required property 'role'")
250
+ __props__.__dict__["role"] = role
251
+ __props__.__dict__["etag"] = None
252
+ super(TargetIamBinding, __self__).__init__(
253
+ 'gcp:clouddeploy/targetIamBinding:TargetIamBinding',
254
+ resource_name,
255
+ __props__,
256
+ opts)
257
+
258
+ @staticmethod
259
+ def get(resource_name: str,
260
+ id: pulumi.Input[str],
261
+ opts: Optional[pulumi.ResourceOptions] = None,
262
+ condition: Optional[pulumi.Input[pulumi.InputType['TargetIamBindingConditionArgs']]] = None,
263
+ etag: Optional[pulumi.Input[str]] = None,
264
+ location: Optional[pulumi.Input[str]] = None,
265
+ members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
266
+ name: Optional[pulumi.Input[str]] = None,
267
+ project: Optional[pulumi.Input[str]] = None,
268
+ role: Optional[pulumi.Input[str]] = None) -> 'TargetIamBinding':
269
+ """
270
+ Get an existing TargetIamBinding resource's state with the given name, id, and optional extra
271
+ properties used to qualify the lookup.
272
+
273
+ :param str resource_name: The unique name of the resulting resource.
274
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
275
+ :param pulumi.ResourceOptions opts: Options for the resource.
276
+ """
277
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
278
+
279
+ __props__ = _TargetIamBindingState.__new__(_TargetIamBindingState)
280
+
281
+ __props__.__dict__["condition"] = condition
282
+ __props__.__dict__["etag"] = etag
283
+ __props__.__dict__["location"] = location
284
+ __props__.__dict__["members"] = members
285
+ __props__.__dict__["name"] = name
286
+ __props__.__dict__["project"] = project
287
+ __props__.__dict__["role"] = role
288
+ return TargetIamBinding(resource_name, opts=opts, __props__=__props__)
289
+
290
+ @property
291
+ @pulumi.getter
292
+ def condition(self) -> pulumi.Output[Optional['outputs.TargetIamBindingCondition']]:
293
+ return pulumi.get(self, "condition")
294
+
295
+ @property
296
+ @pulumi.getter
297
+ def etag(self) -> pulumi.Output[str]:
298
+ return pulumi.get(self, "etag")
299
+
300
+ @property
301
+ @pulumi.getter
302
+ def location(self) -> pulumi.Output[str]:
303
+ return pulumi.get(self, "location")
304
+
305
+ @property
306
+ @pulumi.getter
307
+ def members(self) -> pulumi.Output[Sequence[str]]:
308
+ return pulumi.get(self, "members")
309
+
310
+ @property
311
+ @pulumi.getter
312
+ def name(self) -> pulumi.Output[str]:
313
+ return pulumi.get(self, "name")
314
+
315
+ @property
316
+ @pulumi.getter
317
+ def project(self) -> pulumi.Output[str]:
318
+ return pulumi.get(self, "project")
319
+
320
+ @property
321
+ @pulumi.getter
322
+ def role(self) -> pulumi.Output[str]:
323
+ return pulumi.get(self, "role")
324
+