pulumi-gcp 8.36.0a1751060819__py3-none-any.whl → 8.37.0a1751903932__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.
- pulumi_gcp/__init__.py +24 -0
- pulumi_gcp/apihub/__init__.py +1 -0
- pulumi_gcp/apihub/_inputs.py +675 -0
- pulumi_gcp/apihub/outputs.py +567 -0
- pulumi_gcp/apihub/plugin.py +1146 -0
- pulumi_gcp/bigqueryanalyticshub/data_exchange.py +7 -7
- pulumi_gcp/bigqueryanalyticshub/listing.py +7 -7
- pulumi_gcp/cloudidentity/group_membership.py +47 -0
- pulumi_gcp/cloudidentity/outputs.py +11 -0
- pulumi_gcp/cloudrunv2/_inputs.py +65 -9
- pulumi_gcp/cloudrunv2/job.py +44 -0
- pulumi_gcp/cloudrunv2/outputs.py +73 -8
- pulumi_gcp/cloudrunv2/service.py +0 -2
- pulumi_gcp/cloudrunv2/worker_pool.py +18 -20
- pulumi_gcp/compute/__init__.py +1 -0
- pulumi_gcp/compute/_inputs.py +763 -6
- pulumi_gcp/compute/disk.py +35 -28
- pulumi_gcp/compute/firewall_policy_rule.py +207 -0
- pulumi_gcp/compute/get_instance_group_manager.py +12 -1
- pulumi_gcp/compute/get_region_disk.py +12 -1
- pulumi_gcp/compute/instance_group_manager.py +165 -14
- pulumi_gcp/compute/network.py +56 -0
- pulumi_gcp/compute/network_firewall_policy.py +68 -0
- pulumi_gcp/compute/network_firewall_policy_with_rules.py +61 -0
- pulumi_gcp/compute/outputs.py +604 -4
- pulumi_gcp/compute/region_disk.py +114 -0
- pulumi_gcp/compute/region_network_firewall_policy.py +90 -0
- pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +109 -0
- pulumi_gcp/compute/wire_group.py +751 -0
- pulumi_gcp/container/_inputs.py +135 -16
- pulumi_gcp/container/cluster.py +54 -0
- pulumi_gcp/container/get_cluster.py +12 -1
- pulumi_gcp/container/node_pool.py +14 -0
- pulumi_gcp/container/outputs.py +222 -12
- pulumi_gcp/diagflow/__init__.py +1 -0
- pulumi_gcp/diagflow/_inputs.py +431 -0
- pulumi_gcp/diagflow/cx_generative_settings.py +625 -0
- pulumi_gcp/diagflow/outputs.py +370 -0
- pulumi_gcp/dns/record_set.py +4 -2
- pulumi_gcp/firestore/database.py +0 -9
- pulumi_gcp/iam/_inputs.py +36 -0
- pulumi_gcp/iam/outputs.py +38 -0
- pulumi_gcp/iam/workload_identity_pool_managed_identity.py +88 -2
- pulumi_gcp/kms/autokey_config.py +28 -0
- pulumi_gcp/kms/get_autokey_config.py +12 -1
- pulumi_gcp/memorystore/get_instance.py +12 -1
- pulumi_gcp/memorystore/instance.py +49 -0
- pulumi_gcp/monitoring/metric_descriptor.py +55 -57
- pulumi_gcp/notebooks/instance.py +8 -8
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/get_instance.py +12 -1
- pulumi_gcp/redis/instance.py +44 -0
- pulumi_gcp/secretmanager/get_regional_secret.py +12 -1
- pulumi_gcp/secretmanager/outputs.py +7 -0
- pulumi_gcp/secretmanager/regional_secret.py +38 -2
- pulumi_gcp/spanner/_inputs.py +24 -1
- pulumi_gcp/spanner/outputs.py +17 -1
- pulumi_gcp/storage/_inputs.py +43 -3
- pulumi_gcp/storage/outputs.py +53 -3
- pulumi_gcp/workbench/instance.py +2 -0
- {pulumi_gcp-8.36.0a1751060819.dist-info → pulumi_gcp-8.37.0a1751903932.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.36.0a1751060819.dist-info → pulumi_gcp-8.37.0a1751903932.dist-info}/RECORD +64 -61
- {pulumi_gcp-8.36.0a1751060819.dist-info → pulumi_gcp-8.37.0a1751903932.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.36.0a1751060819.dist-info → pulumi_gcp-8.37.0a1751903932.dist-info}/top_level.txt +0 -0
@@ -43,7 +43,7 @@ class DataExchangeArgs:
|
|
43
43
|
:param pulumi.Input[builtins.str] description: Description of the data exchange.
|
44
44
|
:param pulumi.Input[builtins.str] documentation: Documentation describing the data exchange.
|
45
45
|
:param pulumi.Input[builtins.str] icon: Base64 encoded image representing the data exchange.
|
46
|
-
:param pulumi.Input[builtins.bool] log_linked_dataset_query_user_email: If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user.
|
46
|
+
:param pulumi.Input[builtins.bool] log_linked_dataset_query_user_email: If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
|
47
47
|
:param pulumi.Input[builtins.str] primary_contact: Email or URL of the primary point of contact of the data exchange.
|
48
48
|
:param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
|
49
49
|
If it is not provided, the provider project is used.
|
@@ -148,7 +148,7 @@ class DataExchangeArgs:
|
|
148
148
|
@pulumi.getter(name="logLinkedDatasetQueryUserEmail")
|
149
149
|
def log_linked_dataset_query_user_email(self) -> Optional[pulumi.Input[builtins.bool]]:
|
150
150
|
"""
|
151
|
-
If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user.
|
151
|
+
If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
|
152
152
|
"""
|
153
153
|
return pulumi.get(self, "log_linked_dataset_query_user_email")
|
154
154
|
|
@@ -223,7 +223,7 @@ class _DataExchangeState:
|
|
223
223
|
:param pulumi.Input[builtins.str] icon: Base64 encoded image representing the data exchange.
|
224
224
|
:param pulumi.Input[builtins.int] listing_count: Number of listings contained in the data exchange.
|
225
225
|
:param pulumi.Input[builtins.str] location: The name of the location this data exchange.
|
226
|
-
:param pulumi.Input[builtins.bool] log_linked_dataset_query_user_email: If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user.
|
226
|
+
:param pulumi.Input[builtins.bool] log_linked_dataset_query_user_email: If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
|
227
227
|
:param pulumi.Input[builtins.str] name: The resource name of the data exchange, for example:
|
228
228
|
"projects/myproject/locations/US/dataExchanges/123"
|
229
229
|
:param pulumi.Input[builtins.str] primary_contact: Email or URL of the primary point of contact of the data exchange.
|
@@ -349,7 +349,7 @@ class _DataExchangeState:
|
|
349
349
|
@pulumi.getter(name="logLinkedDatasetQueryUserEmail")
|
350
350
|
def log_linked_dataset_query_user_email(self) -> Optional[pulumi.Input[builtins.bool]]:
|
351
351
|
"""
|
352
|
-
If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user.
|
352
|
+
If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
|
353
353
|
"""
|
354
354
|
return pulumi.get(self, "log_linked_dataset_query_user_email")
|
355
355
|
|
@@ -520,7 +520,7 @@ class DataExchange(pulumi.CustomResource):
|
|
520
520
|
:param pulumi.Input[builtins.str] documentation: Documentation describing the data exchange.
|
521
521
|
:param pulumi.Input[builtins.str] icon: Base64 encoded image representing the data exchange.
|
522
522
|
:param pulumi.Input[builtins.str] location: The name of the location this data exchange.
|
523
|
-
:param pulumi.Input[builtins.bool] log_linked_dataset_query_user_email: If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user.
|
523
|
+
:param pulumi.Input[builtins.bool] log_linked_dataset_query_user_email: If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
|
524
524
|
:param pulumi.Input[builtins.str] primary_contact: Email or URL of the primary point of contact of the data exchange.
|
525
525
|
:param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
|
526
526
|
If it is not provided, the provider project is used.
|
@@ -707,7 +707,7 @@ class DataExchange(pulumi.CustomResource):
|
|
707
707
|
:param pulumi.Input[builtins.str] icon: Base64 encoded image representing the data exchange.
|
708
708
|
:param pulumi.Input[builtins.int] listing_count: Number of listings contained in the data exchange.
|
709
709
|
:param pulumi.Input[builtins.str] location: The name of the location this data exchange.
|
710
|
-
:param pulumi.Input[builtins.bool] log_linked_dataset_query_user_email: If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user.
|
710
|
+
:param pulumi.Input[builtins.bool] log_linked_dataset_query_user_email: If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
|
711
711
|
:param pulumi.Input[builtins.str] name: The resource name of the data exchange, for example:
|
712
712
|
"projects/myproject/locations/US/dataExchanges/123"
|
713
713
|
:param pulumi.Input[builtins.str] primary_contact: Email or URL of the primary point of contact of the data exchange.
|
@@ -798,7 +798,7 @@ class DataExchange(pulumi.CustomResource):
|
|
798
798
|
@pulumi.getter(name="logLinkedDatasetQueryUserEmail")
|
799
799
|
def log_linked_dataset_query_user_email(self) -> pulumi.Output[Optional[builtins.bool]]:
|
800
800
|
"""
|
801
|
-
If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user.
|
801
|
+
If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
|
802
802
|
"""
|
803
803
|
return pulumi.get(self, "log_linked_dataset_query_user_email")
|
804
804
|
|
@@ -56,7 +56,7 @@ class ListingArgs:
|
|
56
56
|
:param pulumi.Input[builtins.str] description: Short description of the listing. The description must not contain Unicode non-characters and C0 and C1 control codes except tabs (HT), new lines (LF), carriage returns (CR), and page breaks (FF).
|
57
57
|
:param pulumi.Input[builtins.str] documentation: Documentation describing the listing.
|
58
58
|
:param pulumi.Input[builtins.str] icon: Base64 encoded image representing the listing.
|
59
|
-
:param pulumi.Input[builtins.bool] log_linked_dataset_query_user_email: If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user.
|
59
|
+
:param pulumi.Input[builtins.bool] log_linked_dataset_query_user_email: If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
|
60
60
|
:param pulumi.Input[builtins.str] primary_contact: Email or URL of the primary point of contact of the listing.
|
61
61
|
:param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
|
62
62
|
If it is not provided, the provider project is used.
|
@@ -228,7 +228,7 @@ class ListingArgs:
|
|
228
228
|
@pulumi.getter(name="logLinkedDatasetQueryUserEmail")
|
229
229
|
def log_linked_dataset_query_user_email(self) -> Optional[pulumi.Input[builtins.bool]]:
|
230
230
|
"""
|
231
|
-
If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user.
|
231
|
+
If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
|
232
232
|
"""
|
233
233
|
return pulumi.get(self, "log_linked_dataset_query_user_email")
|
234
234
|
|
@@ -351,7 +351,7 @@ class _ListingState:
|
|
351
351
|
:param pulumi.Input[builtins.str] icon: Base64 encoded image representing the listing.
|
352
352
|
:param pulumi.Input[builtins.str] listing_id: The ID of the listing. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.
|
353
353
|
:param pulumi.Input[builtins.str] location: The name of the location this data exchange listing.
|
354
|
-
:param pulumi.Input[builtins.bool] log_linked_dataset_query_user_email: If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user.
|
354
|
+
:param pulumi.Input[builtins.bool] log_linked_dataset_query_user_email: If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
|
355
355
|
:param pulumi.Input[builtins.str] name: The resource name of the listing. e.g. "projects/myproject/locations/US/dataExchanges/123/listings/456"
|
356
356
|
:param pulumi.Input[builtins.str] primary_contact: Email or URL of the primary point of contact of the listing.
|
357
357
|
:param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
|
@@ -530,7 +530,7 @@ class _ListingState:
|
|
530
530
|
@pulumi.getter(name="logLinkedDatasetQueryUserEmail")
|
531
531
|
def log_linked_dataset_query_user_email(self) -> Optional[pulumi.Input[builtins.bool]]:
|
532
532
|
"""
|
533
|
-
If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user.
|
533
|
+
If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
|
534
534
|
"""
|
535
535
|
return pulumi.get(self, "log_linked_dataset_query_user_email")
|
536
536
|
|
@@ -870,7 +870,7 @@ class Listing(pulumi.CustomResource):
|
|
870
870
|
:param pulumi.Input[builtins.str] icon: Base64 encoded image representing the listing.
|
871
871
|
:param pulumi.Input[builtins.str] listing_id: The ID of the listing. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.
|
872
872
|
:param pulumi.Input[builtins.str] location: The name of the location this data exchange listing.
|
873
|
-
:param pulumi.Input[builtins.bool] log_linked_dataset_query_user_email: If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user.
|
873
|
+
:param pulumi.Input[builtins.bool] log_linked_dataset_query_user_email: If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
|
874
874
|
:param pulumi.Input[builtins.str] primary_contact: Email or URL of the primary point of contact of the listing.
|
875
875
|
:param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
|
876
876
|
If it is not provided, the provider project is used.
|
@@ -1207,7 +1207,7 @@ class Listing(pulumi.CustomResource):
|
|
1207
1207
|
:param pulumi.Input[builtins.str] icon: Base64 encoded image representing the listing.
|
1208
1208
|
:param pulumi.Input[builtins.str] listing_id: The ID of the listing. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.
|
1209
1209
|
:param pulumi.Input[builtins.str] location: The name of the location this data exchange listing.
|
1210
|
-
:param pulumi.Input[builtins.bool] log_linked_dataset_query_user_email: If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user.
|
1210
|
+
:param pulumi.Input[builtins.bool] log_linked_dataset_query_user_email: If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
|
1211
1211
|
:param pulumi.Input[builtins.str] name: The resource name of the listing. e.g. "projects/myproject/locations/US/dataExchanges/123/listings/456"
|
1212
1212
|
:param pulumi.Input[builtins.str] primary_contact: Email or URL of the primary point of contact of the listing.
|
1213
1213
|
:param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
|
@@ -1333,7 +1333,7 @@ class Listing(pulumi.CustomResource):
|
|
1333
1333
|
@pulumi.getter(name="logLinkedDatasetQueryUserEmail")
|
1334
1334
|
def log_linked_dataset_query_user_email(self) -> pulumi.Output[Optional[builtins.bool]]:
|
1335
1335
|
"""
|
1336
|
-
If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user.
|
1336
|
+
If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
|
1337
1337
|
"""
|
1338
1338
|
return pulumi.get(self, "log_linked_dataset_query_user_email")
|
1339
1339
|
|
@@ -24,6 +24,7 @@ class GroupMembershipArgs:
|
|
24
24
|
def __init__(__self__, *,
|
25
25
|
group: pulumi.Input[builtins.str],
|
26
26
|
roles: pulumi.Input[Sequence[pulumi.Input['GroupMembershipRoleArgs']]],
|
27
|
+
create_ignore_already_exists: Optional[pulumi.Input[builtins.bool]] = None,
|
27
28
|
member_key: Optional[pulumi.Input['GroupMembershipMemberKeyArgs']] = None,
|
28
29
|
preferred_member_key: Optional[pulumi.Input['GroupMembershipPreferredMemberKeyArgs']] = None):
|
29
30
|
"""
|
@@ -32,11 +33,14 @@ class GroupMembershipArgs:
|
|
32
33
|
:param pulumi.Input[Sequence[pulumi.Input['GroupMembershipRoleArgs']]] roles: The MembershipRoles that apply to the Membership.
|
33
34
|
Must not contain duplicate MembershipRoles with the same name.
|
34
35
|
Structure is documented below.
|
36
|
+
:param pulumi.Input[builtins.bool] create_ignore_already_exists: If set to true, skip group member creation if a membership with the same name already exists. Defaults to false.
|
35
37
|
:param pulumi.Input['GroupMembershipMemberKeyArgs'] member_key: EntityKey of the member.
|
36
38
|
:param pulumi.Input['GroupMembershipPreferredMemberKeyArgs'] preferred_member_key: EntityKey of the member.
|
37
39
|
"""
|
38
40
|
pulumi.set(__self__, "group", group)
|
39
41
|
pulumi.set(__self__, "roles", roles)
|
42
|
+
if create_ignore_already_exists is not None:
|
43
|
+
pulumi.set(__self__, "create_ignore_already_exists", create_ignore_already_exists)
|
40
44
|
if member_key is not None:
|
41
45
|
pulumi.set(__self__, "member_key", member_key)
|
42
46
|
if preferred_member_key is not None:
|
@@ -68,6 +72,18 @@ class GroupMembershipArgs:
|
|
68
72
|
def roles(self, value: pulumi.Input[Sequence[pulumi.Input['GroupMembershipRoleArgs']]]):
|
69
73
|
pulumi.set(self, "roles", value)
|
70
74
|
|
75
|
+
@property
|
76
|
+
@pulumi.getter(name="createIgnoreAlreadyExists")
|
77
|
+
def create_ignore_already_exists(self) -> Optional[pulumi.Input[builtins.bool]]:
|
78
|
+
"""
|
79
|
+
If set to true, skip group member creation if a membership with the same name already exists. Defaults to false.
|
80
|
+
"""
|
81
|
+
return pulumi.get(self, "create_ignore_already_exists")
|
82
|
+
|
83
|
+
@create_ignore_already_exists.setter
|
84
|
+
def create_ignore_already_exists(self, value: Optional[pulumi.Input[builtins.bool]]):
|
85
|
+
pulumi.set(self, "create_ignore_already_exists", value)
|
86
|
+
|
71
87
|
@property
|
72
88
|
@pulumi.getter(name="memberKey")
|
73
89
|
def member_key(self) -> Optional[pulumi.Input['GroupMembershipMemberKeyArgs']]:
|
@@ -96,6 +112,7 @@ class GroupMembershipArgs:
|
|
96
112
|
@pulumi.input_type
|
97
113
|
class _GroupMembershipState:
|
98
114
|
def __init__(__self__, *,
|
115
|
+
create_ignore_already_exists: Optional[pulumi.Input[builtins.bool]] = None,
|
99
116
|
create_time: Optional[pulumi.Input[builtins.str]] = None,
|
100
117
|
group: Optional[pulumi.Input[builtins.str]] = None,
|
101
118
|
member_key: Optional[pulumi.Input['GroupMembershipMemberKeyArgs']] = None,
|
@@ -106,6 +123,7 @@ class _GroupMembershipState:
|
|
106
123
|
update_time: Optional[pulumi.Input[builtins.str]] = None):
|
107
124
|
"""
|
108
125
|
Input properties used for looking up and filtering GroupMembership resources.
|
126
|
+
:param pulumi.Input[builtins.bool] create_ignore_already_exists: If set to true, skip group member creation if a membership with the same name already exists. Defaults to false.
|
109
127
|
:param pulumi.Input[builtins.str] create_time: The time when the Membership was created.
|
110
128
|
:param pulumi.Input[builtins.str] group: The name of the Group to create this membership in.
|
111
129
|
:param pulumi.Input['GroupMembershipMemberKeyArgs'] member_key: EntityKey of the member.
|
@@ -117,6 +135,8 @@ class _GroupMembershipState:
|
|
117
135
|
:param pulumi.Input[builtins.str] type: The type of the membership.
|
118
136
|
:param pulumi.Input[builtins.str] update_time: The time when the Membership was last updated.
|
119
137
|
"""
|
138
|
+
if create_ignore_already_exists is not None:
|
139
|
+
pulumi.set(__self__, "create_ignore_already_exists", create_ignore_already_exists)
|
120
140
|
if create_time is not None:
|
121
141
|
pulumi.set(__self__, "create_time", create_time)
|
122
142
|
if group is not None:
|
@@ -134,6 +154,18 @@ class _GroupMembershipState:
|
|
134
154
|
if update_time is not None:
|
135
155
|
pulumi.set(__self__, "update_time", update_time)
|
136
156
|
|
157
|
+
@property
|
158
|
+
@pulumi.getter(name="createIgnoreAlreadyExists")
|
159
|
+
def create_ignore_already_exists(self) -> Optional[pulumi.Input[builtins.bool]]:
|
160
|
+
"""
|
161
|
+
If set to true, skip group member creation if a membership with the same name already exists. Defaults to false.
|
162
|
+
"""
|
163
|
+
return pulumi.get(self, "create_ignore_already_exists")
|
164
|
+
|
165
|
+
@create_ignore_already_exists.setter
|
166
|
+
def create_ignore_already_exists(self, value: Optional[pulumi.Input[builtins.bool]]):
|
167
|
+
pulumi.set(self, "create_ignore_already_exists", value)
|
168
|
+
|
137
169
|
@property
|
138
170
|
@pulumi.getter(name="createTime")
|
139
171
|
def create_time(self) -> Optional[pulumi.Input[builtins.str]]:
|
@@ -239,6 +271,7 @@ class GroupMembership(pulumi.CustomResource):
|
|
239
271
|
def __init__(__self__,
|
240
272
|
resource_name: str,
|
241
273
|
opts: Optional[pulumi.ResourceOptions] = None,
|
274
|
+
create_ignore_already_exists: Optional[pulumi.Input[builtins.bool]] = None,
|
242
275
|
group: Optional[pulumi.Input[builtins.str]] = None,
|
243
276
|
member_key: Optional[pulumi.Input[Union['GroupMembershipMemberKeyArgs', 'GroupMembershipMemberKeyArgsDict']]] = None,
|
244
277
|
preferred_member_key: Optional[pulumi.Input[Union['GroupMembershipPreferredMemberKeyArgs', 'GroupMembershipPreferredMemberKeyArgsDict']]] = None,
|
@@ -338,6 +371,7 @@ class GroupMembership(pulumi.CustomResource):
|
|
338
371
|
|
339
372
|
:param str resource_name: The name of the resource.
|
340
373
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
374
|
+
:param pulumi.Input[builtins.bool] create_ignore_already_exists: If set to true, skip group member creation if a membership with the same name already exists. Defaults to false.
|
341
375
|
:param pulumi.Input[builtins.str] group: The name of the Group to create this membership in.
|
342
376
|
:param pulumi.Input[Union['GroupMembershipMemberKeyArgs', 'GroupMembershipMemberKeyArgsDict']] member_key: EntityKey of the member.
|
343
377
|
:param pulumi.Input[Union['GroupMembershipPreferredMemberKeyArgs', 'GroupMembershipPreferredMemberKeyArgsDict']] preferred_member_key: EntityKey of the member.
|
@@ -458,6 +492,7 @@ class GroupMembership(pulumi.CustomResource):
|
|
458
492
|
def _internal_init(__self__,
|
459
493
|
resource_name: str,
|
460
494
|
opts: Optional[pulumi.ResourceOptions] = None,
|
495
|
+
create_ignore_already_exists: Optional[pulumi.Input[builtins.bool]] = None,
|
461
496
|
group: Optional[pulumi.Input[builtins.str]] = None,
|
462
497
|
member_key: Optional[pulumi.Input[Union['GroupMembershipMemberKeyArgs', 'GroupMembershipMemberKeyArgsDict']]] = None,
|
463
498
|
preferred_member_key: Optional[pulumi.Input[Union['GroupMembershipPreferredMemberKeyArgs', 'GroupMembershipPreferredMemberKeyArgsDict']]] = None,
|
@@ -471,6 +506,7 @@ class GroupMembership(pulumi.CustomResource):
|
|
471
506
|
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
472
507
|
__props__ = GroupMembershipArgs.__new__(GroupMembershipArgs)
|
473
508
|
|
509
|
+
__props__.__dict__["create_ignore_already_exists"] = create_ignore_already_exists
|
474
510
|
if group is None and not opts.urn:
|
475
511
|
raise TypeError("Missing required property 'group'")
|
476
512
|
__props__.__dict__["group"] = group
|
@@ -493,6 +529,7 @@ class GroupMembership(pulumi.CustomResource):
|
|
493
529
|
def get(resource_name: str,
|
494
530
|
id: pulumi.Input[str],
|
495
531
|
opts: Optional[pulumi.ResourceOptions] = None,
|
532
|
+
create_ignore_already_exists: Optional[pulumi.Input[builtins.bool]] = None,
|
496
533
|
create_time: Optional[pulumi.Input[builtins.str]] = None,
|
497
534
|
group: Optional[pulumi.Input[builtins.str]] = None,
|
498
535
|
member_key: Optional[pulumi.Input[Union['GroupMembershipMemberKeyArgs', 'GroupMembershipMemberKeyArgsDict']]] = None,
|
@@ -508,6 +545,7 @@ class GroupMembership(pulumi.CustomResource):
|
|
508
545
|
:param str resource_name: The unique name of the resulting resource.
|
509
546
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
510
547
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
548
|
+
:param pulumi.Input[builtins.bool] create_ignore_already_exists: If set to true, skip group member creation if a membership with the same name already exists. Defaults to false.
|
511
549
|
:param pulumi.Input[builtins.str] create_time: The time when the Membership was created.
|
512
550
|
:param pulumi.Input[builtins.str] group: The name of the Group to create this membership in.
|
513
551
|
:param pulumi.Input[Union['GroupMembershipMemberKeyArgs', 'GroupMembershipMemberKeyArgsDict']] member_key: EntityKey of the member.
|
@@ -523,6 +561,7 @@ class GroupMembership(pulumi.CustomResource):
|
|
523
561
|
|
524
562
|
__props__ = _GroupMembershipState.__new__(_GroupMembershipState)
|
525
563
|
|
564
|
+
__props__.__dict__["create_ignore_already_exists"] = create_ignore_already_exists
|
526
565
|
__props__.__dict__["create_time"] = create_time
|
527
566
|
__props__.__dict__["group"] = group
|
528
567
|
__props__.__dict__["member_key"] = member_key
|
@@ -533,6 +572,14 @@ class GroupMembership(pulumi.CustomResource):
|
|
533
572
|
__props__.__dict__["update_time"] = update_time
|
534
573
|
return GroupMembership(resource_name, opts=opts, __props__=__props__)
|
535
574
|
|
575
|
+
@property
|
576
|
+
@pulumi.getter(name="createIgnoreAlreadyExists")
|
577
|
+
def create_ignore_already_exists(self) -> pulumi.Output[Optional[builtins.bool]]:
|
578
|
+
"""
|
579
|
+
If set to true, skip group member creation if a membership with the same name already exists. Defaults to false.
|
580
|
+
"""
|
581
|
+
return pulumi.get(self, "create_ignore_already_exists")
|
582
|
+
|
536
583
|
@property
|
537
584
|
@pulumi.getter(name="createTime")
|
538
585
|
def create_time(self) -> pulumi.Output[builtins.str]:
|
@@ -393,6 +393,7 @@ class GetGroupLookupGroupKeyResult(dict):
|
|
393
393
|
@pulumi.output_type
|
394
394
|
class GetGroupMembershipsMembershipResult(dict):
|
395
395
|
def __init__(__self__, *,
|
396
|
+
create_ignore_already_exists: builtins.bool,
|
396
397
|
create_time: builtins.str,
|
397
398
|
group: builtins.str,
|
398
399
|
member_keys: Sequence['outputs.GetGroupMembershipsMembershipMemberKeyResult'],
|
@@ -402,6 +403,7 @@ class GetGroupMembershipsMembershipResult(dict):
|
|
402
403
|
type: builtins.str,
|
403
404
|
update_time: builtins.str):
|
404
405
|
"""
|
406
|
+
:param builtins.bool create_ignore_already_exists: If set to true, skip group member creation if a membership with the same name already exists. Defaults to false.
|
405
407
|
:param builtins.str create_time: The time when the Membership was created.
|
406
408
|
:param builtins.str group: The parent Group resource under which to lookup the Membership names. Must be of the form groups/{group_id}.
|
407
409
|
:param Sequence['GetGroupMembershipsMembershipMemberKeyArgs'] member_keys: EntityKey of the member. Structure is documented below.
|
@@ -411,6 +413,7 @@ class GetGroupMembershipsMembershipResult(dict):
|
|
411
413
|
:param builtins.str type: The type of the membership.
|
412
414
|
:param builtins.str update_time: The time when the Membership was last updated.
|
413
415
|
"""
|
416
|
+
pulumi.set(__self__, "create_ignore_already_exists", create_ignore_already_exists)
|
414
417
|
pulumi.set(__self__, "create_time", create_time)
|
415
418
|
pulumi.set(__self__, "group", group)
|
416
419
|
pulumi.set(__self__, "member_keys", member_keys)
|
@@ -420,6 +423,14 @@ class GetGroupMembershipsMembershipResult(dict):
|
|
420
423
|
pulumi.set(__self__, "type", type)
|
421
424
|
pulumi.set(__self__, "update_time", update_time)
|
422
425
|
|
426
|
+
@property
|
427
|
+
@pulumi.getter(name="createIgnoreAlreadyExists")
|
428
|
+
def create_ignore_already_exists(self) -> builtins.bool:
|
429
|
+
"""
|
430
|
+
If set to true, skip group member creation if a membership with the same name already exists. Defaults to false.
|
431
|
+
"""
|
432
|
+
return pulumi.get(self, "create_ignore_already_exists")
|
433
|
+
|
423
434
|
@property
|
424
435
|
@pulumi.getter(name="createTime")
|
425
436
|
def create_time(self) -> builtins.str:
|
pulumi_gcp/cloudrunv2/_inputs.py
CHANGED
@@ -54,6 +54,8 @@ __all__ = [
|
|
54
54
|
'JobTemplateTemplateContainerStartupProbeTcpSocketArgsDict',
|
55
55
|
'JobTemplateTemplateContainerVolumeMountArgs',
|
56
56
|
'JobTemplateTemplateContainerVolumeMountArgsDict',
|
57
|
+
'JobTemplateTemplateNodeSelectorArgs',
|
58
|
+
'JobTemplateTemplateNodeSelectorArgsDict',
|
57
59
|
'JobTemplateTemplateVolumeArgs',
|
58
60
|
'JobTemplateTemplateVolumeArgsDict',
|
59
61
|
'JobTemplateTemplateVolumeCloudSqlInstanceArgs',
|
@@ -812,6 +814,11 @@ if not MYPY:
|
|
812
814
|
"""
|
813
815
|
Number of retries allowed per Task, before marking this Task failed. Defaults to 3. Minimum value is 0.
|
814
816
|
"""
|
817
|
+
node_selector: NotRequired[pulumi.Input['JobTemplateTemplateNodeSelectorArgsDict']]
|
818
|
+
"""
|
819
|
+
Node Selector describes the hardware requirements of the resources.
|
820
|
+
Structure is documented below.
|
821
|
+
"""
|
815
822
|
service_account: NotRequired[pulumi.Input[builtins.str]]
|
816
823
|
"""
|
817
824
|
Email address of the IAM service account associated with the Task of a Job. The service account represents the identity of the running task, and determines what permissions the task has. If not provided, the task will use the project's default service account.
|
@@ -841,6 +848,7 @@ class JobTemplateTemplateArgs:
|
|
841
848
|
encryption_key: Optional[pulumi.Input[builtins.str]] = None,
|
842
849
|
execution_environment: Optional[pulumi.Input[builtins.str]] = None,
|
843
850
|
max_retries: Optional[pulumi.Input[builtins.int]] = None,
|
851
|
+
node_selector: Optional[pulumi.Input['JobTemplateTemplateNodeSelectorArgs']] = None,
|
844
852
|
service_account: Optional[pulumi.Input[builtins.str]] = None,
|
845
853
|
timeout: Optional[pulumi.Input[builtins.str]] = None,
|
846
854
|
volumes: Optional[pulumi.Input[Sequence[pulumi.Input['JobTemplateTemplateVolumeArgs']]]] = None,
|
@@ -852,6 +860,8 @@ class JobTemplateTemplateArgs:
|
|
852
860
|
:param pulumi.Input[builtins.str] execution_environment: The execution environment being used to host this Task.
|
853
861
|
Possible values are: `EXECUTION_ENVIRONMENT_GEN1`, `EXECUTION_ENVIRONMENT_GEN2`.
|
854
862
|
:param pulumi.Input[builtins.int] max_retries: Number of retries allowed per Task, before marking this Task failed. Defaults to 3. Minimum value is 0.
|
863
|
+
:param pulumi.Input['JobTemplateTemplateNodeSelectorArgs'] node_selector: Node Selector describes the hardware requirements of the resources.
|
864
|
+
Structure is documented below.
|
855
865
|
:param pulumi.Input[builtins.str] service_account: Email address of the IAM service account associated with the Task of a Job. The service account represents the identity of the running task, and determines what permissions the task has. If not provided, the task will use the project's default service account.
|
856
866
|
:param pulumi.Input[builtins.str] timeout: Max allowed time duration the Task may be active before the system will actively try to mark it failed and kill associated containers. This applies per attempt of a task, meaning each retry can run for the full timeout.
|
857
867
|
A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
|
@@ -868,6 +878,8 @@ class JobTemplateTemplateArgs:
|
|
868
878
|
pulumi.set(__self__, "execution_environment", execution_environment)
|
869
879
|
if max_retries is not None:
|
870
880
|
pulumi.set(__self__, "max_retries", max_retries)
|
881
|
+
if node_selector is not None:
|
882
|
+
pulumi.set(__self__, "node_selector", node_selector)
|
871
883
|
if service_account is not None:
|
872
884
|
pulumi.set(__self__, "service_account", service_account)
|
873
885
|
if timeout is not None:
|
@@ -927,6 +939,19 @@ class JobTemplateTemplateArgs:
|
|
927
939
|
def max_retries(self, value: Optional[pulumi.Input[builtins.int]]):
|
928
940
|
pulumi.set(self, "max_retries", value)
|
929
941
|
|
942
|
+
@property
|
943
|
+
@pulumi.getter(name="nodeSelector")
|
944
|
+
def node_selector(self) -> Optional[pulumi.Input['JobTemplateTemplateNodeSelectorArgs']]:
|
945
|
+
"""
|
946
|
+
Node Selector describes the hardware requirements of the resources.
|
947
|
+
Structure is documented below.
|
948
|
+
"""
|
949
|
+
return pulumi.get(self, "node_selector")
|
950
|
+
|
951
|
+
@node_selector.setter
|
952
|
+
def node_selector(self, value: Optional[pulumi.Input['JobTemplateTemplateNodeSelectorArgs']]):
|
953
|
+
pulumi.set(self, "node_selector", value)
|
954
|
+
|
930
955
|
@property
|
931
956
|
@pulumi.getter(name="serviceAccount")
|
932
957
|
def service_account(self) -> Optional[pulumi.Input[builtins.str]]:
|
@@ -1449,7 +1474,7 @@ if not MYPY:
|
|
1449
1474
|
class JobTemplateTemplateContainerResourcesArgsDict(TypedDict):
|
1450
1475
|
limits: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]
|
1451
1476
|
"""
|
1452
|
-
Only memory and
|
1477
|
+
Only memory, CPU, and nvidia.com/gpu are supported. Use key `cpu` for CPU limit, `memory` for memory limit, `nvidia.com/gpu` for gpu limit. Note: The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
|
1453
1478
|
"""
|
1454
1479
|
elif False:
|
1455
1480
|
JobTemplateTemplateContainerResourcesArgsDict: TypeAlias = Mapping[str, Any]
|
@@ -1459,7 +1484,7 @@ class JobTemplateTemplateContainerResourcesArgs:
|
|
1459
1484
|
def __init__(__self__, *,
|
1460
1485
|
limits: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None):
|
1461
1486
|
"""
|
1462
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] limits: Only memory and
|
1487
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] limits: Only memory, CPU, and nvidia.com/gpu are supported. Use key `cpu` for CPU limit, `memory` for memory limit, `nvidia.com/gpu` for gpu limit. Note: The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
|
1463
1488
|
"""
|
1464
1489
|
if limits is not None:
|
1465
1490
|
pulumi.set(__self__, "limits", limits)
|
@@ -1468,7 +1493,7 @@ class JobTemplateTemplateContainerResourcesArgs:
|
|
1468
1493
|
@pulumi.getter
|
1469
1494
|
def limits(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
|
1470
1495
|
"""
|
1471
|
-
Only memory and
|
1496
|
+
Only memory, CPU, and nvidia.com/gpu are supported. Use key `cpu` for CPU limit, `memory` for memory limit, `nvidia.com/gpu` for gpu limit. Note: The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
|
1472
1497
|
"""
|
1473
1498
|
return pulumi.get(self, "limits")
|
1474
1499
|
|
@@ -1931,6 +1956,43 @@ class JobTemplateTemplateContainerVolumeMountArgs:
|
|
1931
1956
|
pulumi.set(self, "name", value)
|
1932
1957
|
|
1933
1958
|
|
1959
|
+
if not MYPY:
|
1960
|
+
class JobTemplateTemplateNodeSelectorArgsDict(TypedDict):
|
1961
|
+
accelerator: pulumi.Input[builtins.str]
|
1962
|
+
"""
|
1963
|
+
The GPU to attach to an instance. See https://cloud.google.com/run/docs/configuring/jobs/gpu for configuring GPU.
|
1964
|
+
|
1965
|
+
- - -
|
1966
|
+
"""
|
1967
|
+
elif False:
|
1968
|
+
JobTemplateTemplateNodeSelectorArgsDict: TypeAlias = Mapping[str, Any]
|
1969
|
+
|
1970
|
+
@pulumi.input_type
|
1971
|
+
class JobTemplateTemplateNodeSelectorArgs:
|
1972
|
+
def __init__(__self__, *,
|
1973
|
+
accelerator: pulumi.Input[builtins.str]):
|
1974
|
+
"""
|
1975
|
+
:param pulumi.Input[builtins.str] accelerator: The GPU to attach to an instance. See https://cloud.google.com/run/docs/configuring/jobs/gpu for configuring GPU.
|
1976
|
+
|
1977
|
+
- - -
|
1978
|
+
"""
|
1979
|
+
pulumi.set(__self__, "accelerator", accelerator)
|
1980
|
+
|
1981
|
+
@property
|
1982
|
+
@pulumi.getter
|
1983
|
+
def accelerator(self) -> pulumi.Input[builtins.str]:
|
1984
|
+
"""
|
1985
|
+
The GPU to attach to an instance. See https://cloud.google.com/run/docs/configuring/jobs/gpu for configuring GPU.
|
1986
|
+
|
1987
|
+
- - -
|
1988
|
+
"""
|
1989
|
+
return pulumi.get(self, "accelerator")
|
1990
|
+
|
1991
|
+
@accelerator.setter
|
1992
|
+
def accelerator(self, value: pulumi.Input[builtins.str]):
|
1993
|
+
pulumi.set(self, "accelerator", value)
|
1994
|
+
|
1995
|
+
|
1934
1996
|
if not MYPY:
|
1935
1997
|
class JobTemplateTemplateVolumeArgsDict(TypedDict):
|
1936
1998
|
name: pulumi.Input[builtins.str]
|
@@ -2551,8 +2613,6 @@ if not MYPY:
|
|
2551
2613
|
tags: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
|
2552
2614
|
"""
|
2553
2615
|
Network tags applied to this Cloud Run job.
|
2554
|
-
|
2555
|
-
- - -
|
2556
2616
|
"""
|
2557
2617
|
elif False:
|
2558
2618
|
JobTemplateTemplateVpcAccessNetworkInterfaceArgsDict: TypeAlias = Mapping[str, Any]
|
@@ -2571,8 +2631,6 @@ class JobTemplateTemplateVpcAccessNetworkInterfaceArgs:
|
|
2571
2631
|
network and subnetwork are specified, the given VPC subnetwork must belong to the given VPC network. If subnetwork is not specified, the
|
2572
2632
|
subnetwork with the same name with the network will be used.
|
2573
2633
|
:param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: Network tags applied to this Cloud Run job.
|
2574
|
-
|
2575
|
-
- - -
|
2576
2634
|
"""
|
2577
2635
|
if network is not None:
|
2578
2636
|
pulumi.set(__self__, "network", network)
|
@@ -2614,8 +2672,6 @@ class JobTemplateTemplateVpcAccessNetworkInterfaceArgs:
|
|
2614
2672
|
def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
|
2615
2673
|
"""
|
2616
2674
|
Network tags applied to this Cloud Run job.
|
2617
|
-
|
2618
|
-
- - -
|
2619
2675
|
"""
|
2620
2676
|
return pulumi.get(self, "tags")
|
2621
2677
|
|
pulumi_gcp/cloudrunv2/job.py
CHANGED
@@ -1151,6 +1151,28 @@ class Job(pulumi.CustomResource):
|
|
1151
1151
|
},
|
1152
1152
|
})
|
1153
1153
|
```
|
1154
|
+
### Cloudrunv2 Job Gpu
|
1155
|
+
|
1156
|
+
```python
|
1157
|
+
import pulumi
|
1158
|
+
import pulumi_gcp as gcp
|
1159
|
+
|
1160
|
+
default = gcp.cloudrunv2.Job("default",
|
1161
|
+
name="cloudrun-job",
|
1162
|
+
location="us-central1",
|
1163
|
+
deletion_protection=False,
|
1164
|
+
launch_stage="BETA",
|
1165
|
+
template={
|
1166
|
+
"template": {
|
1167
|
+
"containers": [{
|
1168
|
+
"image": "us-docker.pkg.dev/cloudrun/container/job",
|
1169
|
+
}],
|
1170
|
+
"node_selector": {
|
1171
|
+
"accelerator": "nvidia-l4",
|
1172
|
+
},
|
1173
|
+
},
|
1174
|
+
})
|
1175
|
+
```
|
1154
1176
|
|
1155
1177
|
## Import
|
1156
1178
|
|
@@ -1529,6 +1551,28 @@ class Job(pulumi.CustomResource):
|
|
1529
1551
|
},
|
1530
1552
|
})
|
1531
1553
|
```
|
1554
|
+
### Cloudrunv2 Job Gpu
|
1555
|
+
|
1556
|
+
```python
|
1557
|
+
import pulumi
|
1558
|
+
import pulumi_gcp as gcp
|
1559
|
+
|
1560
|
+
default = gcp.cloudrunv2.Job("default",
|
1561
|
+
name="cloudrun-job",
|
1562
|
+
location="us-central1",
|
1563
|
+
deletion_protection=False,
|
1564
|
+
launch_stage="BETA",
|
1565
|
+
template={
|
1566
|
+
"template": {
|
1567
|
+
"containers": [{
|
1568
|
+
"image": "us-docker.pkg.dev/cloudrun/container/job",
|
1569
|
+
}],
|
1570
|
+
"node_selector": {
|
1571
|
+
"accelerator": "nvidia-l4",
|
1572
|
+
},
|
1573
|
+
},
|
1574
|
+
})
|
1575
|
+
```
|
1532
1576
|
|
1533
1577
|
## Import
|
1534
1578
|
|