pulumi-gcp 7.7.0a1705990280__py3-none-any.whl → 7.8.0a1706310284__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. pulumi_gcp/__init__.py +56 -0
  2. pulumi_gcp/alloydb/cluster.py +26 -21
  3. pulumi_gcp/bigquery/_inputs.py +231 -0
  4. pulumi_gcp/bigquery/outputs.py +229 -0
  5. pulumi_gcp/bigquery/routine.py +256 -10
  6. pulumi_gcp/bigquery/table.py +47 -0
  7. pulumi_gcp/cloudbuildv2/repository.py +60 -53
  8. pulumi_gcp/cloudrunv2/_inputs.py +176 -4
  9. pulumi_gcp/cloudrunv2/outputs.py +256 -3
  10. pulumi_gcp/cloudrunv2/service.py +148 -0
  11. pulumi_gcp/composer/_inputs.py +24 -0
  12. pulumi_gcp/composer/outputs.py +34 -0
  13. pulumi_gcp/compute/_inputs.py +4 -2
  14. pulumi_gcp/compute/disk.py +14 -14
  15. pulumi_gcp/compute/outputs.py +4 -2
  16. pulumi_gcp/healthcare/fhir_store.py +56 -0
  17. pulumi_gcp/kms/crypto_key.py +2 -2
  18. pulumi_gcp/kms/crypto_key_iam_binding.py +2 -2
  19. pulumi_gcp/kms/crypto_key_iam_member.py +2 -2
  20. pulumi_gcp/kms/crypto_key_iam_policy.py +2 -2
  21. pulumi_gcp/kms/crypto_key_version.py +2 -2
  22. pulumi_gcp/kms/secret_ciphertext.py +2 -2
  23. pulumi_gcp/netapp/__init__.py +4 -0
  24. pulumi_gcp/netapp/_inputs.py +643 -0
  25. pulumi_gcp/netapp/backup_policy.py +829 -0
  26. pulumi_gcp/netapp/kmsconfig.py +2 -2
  27. pulumi_gcp/netapp/outputs.py +651 -0
  28. pulumi_gcp/netapp/volume.py +1467 -0
  29. pulumi_gcp/networksecurity/__init__.py +5 -0
  30. pulumi_gcp/networksecurity/_inputs.py +228 -0
  31. pulumi_gcp/networksecurity/address_group_iam_binding.py +324 -0
  32. pulumi_gcp/networksecurity/address_group_iam_member.py +324 -0
  33. pulumi_gcp/networksecurity/address_group_iam_policy.py +492 -0
  34. pulumi_gcp/networksecurity/get_address_group_iam_policy.py +144 -0
  35. pulumi_gcp/networksecurity/outputs.py +212 -0
  36. pulumi_gcp/networksecurity/security_profile.py +800 -0
  37. pulumi_gcp/networkservices/gateway.py +1 -1
  38. pulumi_gcp/organizations/get_folders.py +1 -1
  39. pulumi_gcp/orgpolicy/_inputs.py +12 -12
  40. pulumi_gcp/orgpolicy/outputs.py +12 -12
  41. pulumi_gcp/securesourcemanager/instance.py +4 -2
  42. pulumi_gcp/storage/insights_report_config.py +12 -10
  43. pulumi_gcp/vertex/__init__.py +1 -0
  44. pulumi_gcp/vertex/ai_feature_group_feature.py +767 -0
  45. pulumi_gcp/workstations/workstation_config.py +47 -0
  46. {pulumi_gcp-7.7.0a1705990280.dist-info → pulumi_gcp-7.8.0a1706310284.dist-info}/METADATA +1 -1
  47. {pulumi_gcp-7.7.0a1705990280.dist-info → pulumi_gcp-7.8.0a1706310284.dist-info}/RECORD +49 -39
  48. {pulumi_gcp-7.7.0a1705990280.dist-info → pulumi_gcp-7.8.0a1706310284.dist-info}/WHEEL +0 -0
  49. {pulumi_gcp-7.7.0a1705990280.dist-info → pulumi_gcp-7.8.0a1706310284.dist-info}/top_level.txt +0 -0
@@ -6,10 +6,15 @@ from .. import _utilities
6
6
  import typing
7
7
  # Export this package's modules as members:
8
8
  from .address_group import *
9
+ from .address_group_iam_binding import *
10
+ from .address_group_iam_member import *
11
+ from .address_group_iam_policy import *
9
12
  from .authorization_policy import *
10
13
  from .client_tls_policy import *
11
14
  from .gateway_security_policy import *
12
15
  from .gateway_security_policy_rule import *
16
+ from .get_address_group_iam_policy import *
17
+ from .security_profile import *
13
18
  from .server_tls_policy import *
14
19
  from .tls_inspection_policy import *
15
20
  from .url_list import *
@@ -10,6 +10,8 @@ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
10
  from .. import _utilities
11
11
 
12
12
  __all__ = [
13
+ 'AddressGroupIamBindingConditionArgs',
14
+ 'AddressGroupIamMemberConditionArgs',
13
15
  'AuthorizationPolicyRuleArgs',
14
16
  'AuthorizationPolicyRuleDestinationArgs',
15
17
  'AuthorizationPolicyRuleDestinationHttpHeaderMatchArgs',
@@ -20,6 +22,9 @@ __all__ = [
20
22
  'ClientTlsPolicyServerValidationCaArgs',
21
23
  'ClientTlsPolicyServerValidationCaCertificateProviderInstanceArgs',
22
24
  'ClientTlsPolicyServerValidationCaGrpcEndpointArgs',
25
+ 'SecurityProfileThreatPreventionProfileArgs',
26
+ 'SecurityProfileThreatPreventionProfileSeverityOverrideArgs',
27
+ 'SecurityProfileThreatPreventionProfileThreatOverrideArgs',
23
28
  'ServerTlsPolicyMtlsPolicyArgs',
24
29
  'ServerTlsPolicyMtlsPolicyClientValidationCaArgs',
25
30
  'ServerTlsPolicyMtlsPolicyClientValidationCaCertificateProviderInstanceArgs',
@@ -29,6 +34,84 @@ __all__ = [
29
34
  'ServerTlsPolicyServerCertificateGrpcEndpointArgs',
30
35
  ]
31
36
 
37
+ @pulumi.input_type
38
+ class AddressGroupIamBindingConditionArgs:
39
+ def __init__(__self__, *,
40
+ expression: pulumi.Input[str],
41
+ title: pulumi.Input[str],
42
+ description: Optional[pulumi.Input[str]] = None):
43
+ pulumi.set(__self__, "expression", expression)
44
+ pulumi.set(__self__, "title", title)
45
+ if description is not None:
46
+ pulumi.set(__self__, "description", description)
47
+
48
+ @property
49
+ @pulumi.getter
50
+ def expression(self) -> pulumi.Input[str]:
51
+ return pulumi.get(self, "expression")
52
+
53
+ @expression.setter
54
+ def expression(self, value: pulumi.Input[str]):
55
+ pulumi.set(self, "expression", value)
56
+
57
+ @property
58
+ @pulumi.getter
59
+ def title(self) -> pulumi.Input[str]:
60
+ return pulumi.get(self, "title")
61
+
62
+ @title.setter
63
+ def title(self, value: pulumi.Input[str]):
64
+ pulumi.set(self, "title", value)
65
+
66
+ @property
67
+ @pulumi.getter
68
+ def description(self) -> Optional[pulumi.Input[str]]:
69
+ return pulumi.get(self, "description")
70
+
71
+ @description.setter
72
+ def description(self, value: Optional[pulumi.Input[str]]):
73
+ pulumi.set(self, "description", value)
74
+
75
+
76
+ @pulumi.input_type
77
+ class AddressGroupIamMemberConditionArgs:
78
+ def __init__(__self__, *,
79
+ expression: pulumi.Input[str],
80
+ title: pulumi.Input[str],
81
+ description: Optional[pulumi.Input[str]] = None):
82
+ pulumi.set(__self__, "expression", expression)
83
+ pulumi.set(__self__, "title", title)
84
+ if description is not None:
85
+ pulumi.set(__self__, "description", description)
86
+
87
+ @property
88
+ @pulumi.getter
89
+ def expression(self) -> pulumi.Input[str]:
90
+ return pulumi.get(self, "expression")
91
+
92
+ @expression.setter
93
+ def expression(self, value: pulumi.Input[str]):
94
+ pulumi.set(self, "expression", value)
95
+
96
+ @property
97
+ @pulumi.getter
98
+ def title(self) -> pulumi.Input[str]:
99
+ return pulumi.get(self, "title")
100
+
101
+ @title.setter
102
+ def title(self, value: pulumi.Input[str]):
103
+ pulumi.set(self, "title", value)
104
+
105
+ @property
106
+ @pulumi.getter
107
+ def description(self) -> Optional[pulumi.Input[str]]:
108
+ return pulumi.get(self, "description")
109
+
110
+ @description.setter
111
+ def description(self, value: Optional[pulumi.Input[str]]):
112
+ pulumi.set(self, "description", value)
113
+
114
+
32
115
  @pulumi.input_type
33
116
  class AuthorizationPolicyRuleArgs:
34
117
  def __init__(__self__, *,
@@ -402,6 +485,151 @@ class ClientTlsPolicyServerValidationCaGrpcEndpointArgs:
402
485
  pulumi.set(self, "target_uri", value)
403
486
 
404
487
 
488
+ @pulumi.input_type
489
+ class SecurityProfileThreatPreventionProfileArgs:
490
+ def __init__(__self__, *,
491
+ severity_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityProfileThreatPreventionProfileSeverityOverrideArgs']]]] = None,
492
+ threat_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityProfileThreatPreventionProfileThreatOverrideArgs']]]] = None):
493
+ """
494
+ :param pulumi.Input[Sequence[pulumi.Input['SecurityProfileThreatPreventionProfileSeverityOverrideArgs']]] severity_overrides: The configuration for overriding threats actions by severity match.
495
+ Structure is documented below.
496
+ :param pulumi.Input[Sequence[pulumi.Input['SecurityProfileThreatPreventionProfileThreatOverrideArgs']]] threat_overrides: The configuration for overriding threats actions by threat id match.
497
+ If a threat is matched both by configuration provided in severity overrides
498
+ and threat overrides, the threat overrides action is applied.
499
+ Structure is documented below.
500
+ """
501
+ if severity_overrides is not None:
502
+ pulumi.set(__self__, "severity_overrides", severity_overrides)
503
+ if threat_overrides is not None:
504
+ pulumi.set(__self__, "threat_overrides", threat_overrides)
505
+
506
+ @property
507
+ @pulumi.getter(name="severityOverrides")
508
+ def severity_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SecurityProfileThreatPreventionProfileSeverityOverrideArgs']]]]:
509
+ """
510
+ The configuration for overriding threats actions by severity match.
511
+ Structure is documented below.
512
+ """
513
+ return pulumi.get(self, "severity_overrides")
514
+
515
+ @severity_overrides.setter
516
+ def severity_overrides(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityProfileThreatPreventionProfileSeverityOverrideArgs']]]]):
517
+ pulumi.set(self, "severity_overrides", value)
518
+
519
+ @property
520
+ @pulumi.getter(name="threatOverrides")
521
+ def threat_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SecurityProfileThreatPreventionProfileThreatOverrideArgs']]]]:
522
+ """
523
+ The configuration for overriding threats actions by threat id match.
524
+ If a threat is matched both by configuration provided in severity overrides
525
+ and threat overrides, the threat overrides action is applied.
526
+ Structure is documented below.
527
+ """
528
+ return pulumi.get(self, "threat_overrides")
529
+
530
+ @threat_overrides.setter
531
+ def threat_overrides(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityProfileThreatPreventionProfileThreatOverrideArgs']]]]):
532
+ pulumi.set(self, "threat_overrides", value)
533
+
534
+
535
+ @pulumi.input_type
536
+ class SecurityProfileThreatPreventionProfileSeverityOverrideArgs:
537
+ def __init__(__self__, *,
538
+ action: pulumi.Input[str],
539
+ severity: pulumi.Input[str]):
540
+ """
541
+ :param pulumi.Input[str] action: Threat action override.
542
+ Possible values are: `ALERT`, `ALLOW`, `DEFAULT_ACTION`, `DENY`.
543
+ :param pulumi.Input[str] severity: Severity level to match.
544
+ Possible values are: `CRITICAL`, `HIGH`, `INFORMATIONAL`, `LOW`, `MEDIUM`.
545
+ """
546
+ pulumi.set(__self__, "action", action)
547
+ pulumi.set(__self__, "severity", severity)
548
+
549
+ @property
550
+ @pulumi.getter
551
+ def action(self) -> pulumi.Input[str]:
552
+ """
553
+ Threat action override.
554
+ Possible values are: `ALERT`, `ALLOW`, `DEFAULT_ACTION`, `DENY`.
555
+ """
556
+ return pulumi.get(self, "action")
557
+
558
+ @action.setter
559
+ def action(self, value: pulumi.Input[str]):
560
+ pulumi.set(self, "action", value)
561
+
562
+ @property
563
+ @pulumi.getter
564
+ def severity(self) -> pulumi.Input[str]:
565
+ """
566
+ Severity level to match.
567
+ Possible values are: `CRITICAL`, `HIGH`, `INFORMATIONAL`, `LOW`, `MEDIUM`.
568
+ """
569
+ return pulumi.get(self, "severity")
570
+
571
+ @severity.setter
572
+ def severity(self, value: pulumi.Input[str]):
573
+ pulumi.set(self, "severity", value)
574
+
575
+
576
+ @pulumi.input_type
577
+ class SecurityProfileThreatPreventionProfileThreatOverrideArgs:
578
+ def __init__(__self__, *,
579
+ action: pulumi.Input[str],
580
+ threat_id: pulumi.Input[str],
581
+ type: Optional[pulumi.Input[str]] = None):
582
+ """
583
+ :param pulumi.Input[str] action: Threat action.
584
+ Possible values are: `ALERT`, `ALLOW`, `DEFAULT_ACTION`, `DENY`.
585
+ :param pulumi.Input[str] threat_id: Vendor-specific ID of a threat to override.
586
+ :param pulumi.Input[str] type: (Output)
587
+ Type of threat.
588
+ """
589
+ pulumi.set(__self__, "action", action)
590
+ pulumi.set(__self__, "threat_id", threat_id)
591
+ if type is not None:
592
+ pulumi.set(__self__, "type", type)
593
+
594
+ @property
595
+ @pulumi.getter
596
+ def action(self) -> pulumi.Input[str]:
597
+ """
598
+ Threat action.
599
+ Possible values are: `ALERT`, `ALLOW`, `DEFAULT_ACTION`, `DENY`.
600
+ """
601
+ return pulumi.get(self, "action")
602
+
603
+ @action.setter
604
+ def action(self, value: pulumi.Input[str]):
605
+ pulumi.set(self, "action", value)
606
+
607
+ @property
608
+ @pulumi.getter(name="threatId")
609
+ def threat_id(self) -> pulumi.Input[str]:
610
+ """
611
+ Vendor-specific ID of a threat to override.
612
+ """
613
+ return pulumi.get(self, "threat_id")
614
+
615
+ @threat_id.setter
616
+ def threat_id(self, value: pulumi.Input[str]):
617
+ pulumi.set(self, "threat_id", value)
618
+
619
+ @property
620
+ @pulumi.getter
621
+ def type(self) -> Optional[pulumi.Input[str]]:
622
+ """
623
+ (Output)
624
+ Type of threat.
625
+ """
626
+ return pulumi.get(self, "type")
627
+
628
+ @type.setter
629
+ def type(self, value: Optional[pulumi.Input[str]]):
630
+ pulumi.set(self, "type", value)
631
+
632
+
405
633
  @pulumi.input_type
406
634
  class ServerTlsPolicyMtlsPolicyArgs:
407
635
  def __init__(__self__, *,
@@ -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__ = ['AddressGroupIamBindingArgs', 'AddressGroupIamBinding']
15
+
16
+ @pulumi.input_type
17
+ class AddressGroupIamBindingArgs:
18
+ def __init__(__self__, *,
19
+ members: pulumi.Input[Sequence[pulumi.Input[str]]],
20
+ role: pulumi.Input[str],
21
+ condition: Optional[pulumi.Input['AddressGroupIamBindingConditionArgs']] = 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 AddressGroupIamBinding 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['AddressGroupIamBindingConditionArgs']]:
60
+ return pulumi.get(self, "condition")
61
+
62
+ @condition.setter
63
+ def condition(self, value: Optional[pulumi.Input['AddressGroupIamBindingConditionArgs']]):
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 _AddressGroupIamBindingState:
96
+ def __init__(__self__, *,
97
+ condition: Optional[pulumi.Input['AddressGroupIamBindingConditionArgs']] = 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 AddressGroupIamBinding 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['AddressGroupIamBindingConditionArgs']]:
125
+ return pulumi.get(self, "condition")
126
+
127
+ @condition.setter
128
+ def condition(self, value: Optional[pulumi.Input['AddressGroupIamBindingConditionArgs']]):
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 AddressGroupIamBinding(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['AddressGroupIamBindingConditionArgs']]] = 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 AddressGroupIamBinding 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: AddressGroupIamBindingArgs,
208
+ opts: Optional[pulumi.ResourceOptions] = None):
209
+ """
210
+ Create a AddressGroupIamBinding resource with the given unique name, props, and options.
211
+ :param str resource_name: The name of the resource.
212
+ :param AddressGroupIamBindingArgs 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(AddressGroupIamBindingArgs, 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['AddressGroupIamBindingConditionArgs']]] = 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__ = AddressGroupIamBindingArgs.__new__(AddressGroupIamBindingArgs)
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(AddressGroupIamBinding, __self__).__init__(
253
+ 'gcp:networksecurity/addressGroupIamBinding:AddressGroupIamBinding',
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['AddressGroupIamBindingConditionArgs']]] = 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) -> 'AddressGroupIamBinding':
269
+ """
270
+ Get an existing AddressGroupIamBinding 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__ = _AddressGroupIamBindingState.__new__(_AddressGroupIamBindingState)
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 AddressGroupIamBinding(resource_name, opts=opts, __props__=__props__)
289
+
290
+ @property
291
+ @pulumi.getter
292
+ def condition(self) -> pulumi.Output[Optional['outputs.AddressGroupIamBindingCondition']]:
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
+