pulumi-gcp 7.15.0a1711038061__py3-none-any.whl → 7.16.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. pulumi_gcp/__init__.py +102 -0
  2. pulumi_gcp/accesscontextmanager/__init__.py +1 -0
  3. pulumi_gcp/accesscontextmanager/_inputs.py +74 -58
  4. pulumi_gcp/accesscontextmanager/outputs.py +74 -58
  5. pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
  6. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +345 -0
  7. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +80 -0
  8. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +86 -0
  9. pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +4 -2
  10. pulumi_gcp/apphub/__init__.py +15 -0
  11. pulumi_gcp/apphub/_inputs.py +1016 -0
  12. pulumi_gcp/apphub/application.py +775 -0
  13. pulumi_gcp/apphub/get_discovered_service.py +180 -0
  14. pulumi_gcp/apphub/get_discovered_workload.py +180 -0
  15. pulumi_gcp/apphub/outputs.py +1206 -0
  16. pulumi_gcp/apphub/service.py +1121 -0
  17. pulumi_gcp/apphub/service_project_attachment.py +516 -0
  18. pulumi_gcp/apphub/workload.py +1197 -0
  19. pulumi_gcp/cloudquota/__init__.py +10 -0
  20. pulumi_gcp/cloudquota/get_s_quota_info.py +322 -0
  21. pulumi_gcp/cloudquota/get_s_quota_infos.py +136 -0
  22. pulumi_gcp/cloudquota/outputs.py +375 -0
  23. pulumi_gcp/cloudrunv2/_inputs.py +85 -4
  24. pulumi_gcp/cloudrunv2/get_service.py +11 -1
  25. pulumi_gcp/cloudrunv2/outputs.py +165 -6
  26. pulumi_gcp/cloudrunv2/service.py +60 -6
  27. pulumi_gcp/composer/_inputs.py +16 -0
  28. pulumi_gcp/composer/outputs.py +23 -0
  29. pulumi_gcp/compute/_inputs.py +109 -11
  30. pulumi_gcp/compute/outputs.py +144 -13
  31. pulumi_gcp/compute/region_network_endpoint_group.py +30 -0
  32. pulumi_gcp/compute/region_url_map.py +152 -0
  33. pulumi_gcp/config/__init__.pyi +4 -0
  34. pulumi_gcp/config/vars.py +8 -0
  35. pulumi_gcp/dataform/repository.py +4 -74
  36. pulumi_gcp/firebase/__init__.py +1 -0
  37. pulumi_gcp/firebase/android_app.py +41 -40
  38. pulumi_gcp/firebase/app_check_device_check_config.py +572 -0
  39. pulumi_gcp/firestore/_inputs.py +69 -0
  40. pulumi_gcp/firestore/database.py +206 -0
  41. pulumi_gcp/firestore/index.py +34 -48
  42. pulumi_gcp/firestore/outputs.py +80 -0
  43. pulumi_gcp/gkeonprem/_inputs.py +1 -3
  44. pulumi_gcp/gkeonprem/outputs.py +1 -3
  45. pulumi_gcp/gkeonprem/v_mware_cluster.py +2 -0
  46. pulumi_gcp/iap/__init__.py +5 -0
  47. pulumi_gcp/iap/_inputs.py +100 -0
  48. pulumi_gcp/iap/get_tunnel_dest_group_iam_policy.py +172 -0
  49. pulumi_gcp/iap/outputs.py +76 -0
  50. pulumi_gcp/iap/tunnel_dest_group.py +524 -0
  51. pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +858 -0
  52. pulumi_gcp/iap/tunnel_dest_group_iam_member.py +858 -0
  53. pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +760 -0
  54. pulumi_gcp/kms/__init__.py +1 -0
  55. pulumi_gcp/kms/_inputs.py +246 -0
  56. pulumi_gcp/kms/ekm_connection.py +610 -0
  57. pulumi_gcp/kms/outputs.py +242 -0
  58. pulumi_gcp/monitoring/_inputs.py +2 -0
  59. pulumi_gcp/monitoring/outputs.py +2 -0
  60. pulumi_gcp/networksecurity/__init__.py +1 -0
  61. pulumi_gcp/networksecurity/firewall_endpoint.py +48 -0
  62. pulumi_gcp/networksecurity/firewall_endpoint_association.py +753 -0
  63. pulumi_gcp/notebooks/instance.py +8 -0
  64. pulumi_gcp/orgpolicy/policy.py +2 -2
  65. pulumi_gcp/provider.py +40 -0
  66. pulumi_gcp/pubsub/_inputs.py +108 -0
  67. pulumi_gcp/pubsub/get_topic.py +11 -1
  68. pulumi_gcp/pubsub/outputs.py +213 -0
  69. pulumi_gcp/pubsub/subscription.py +4 -4
  70. pulumi_gcp/pubsub/topic.py +92 -0
  71. pulumi_gcp/securityposture/posture.py +2 -2
  72. pulumi_gcp/securityposture/posture_deployment.py +2 -2
  73. pulumi_gcp/storage/_inputs.py +72 -15
  74. pulumi_gcp/storage/bucket.py +54 -0
  75. pulumi_gcp/storage/get_bucket.py +11 -1
  76. pulumi_gcp/storage/outputs.py +110 -14
  77. pulumi_gcp/workstations/_inputs.py +247 -4
  78. pulumi_gcp/workstations/outputs.py +261 -5
  79. pulumi_gcp/workstations/workstation_config.py +160 -0
  80. {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/METADATA +1 -1
  81. {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/RECORD +83 -61
  82. {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/WHEEL +0 -0
  83. {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,375 @@
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
+
13
+ __all__ = [
14
+ 'GetSQuotaInfoDimensionsInfoResult',
15
+ 'GetSQuotaInfoDimensionsInfoDetailResult',
16
+ 'GetSQuotaInfoQuotaIncreaseEligibilityResult',
17
+ 'GetSQuotaInfosQuotaInfoResult',
18
+ 'GetSQuotaInfosQuotaInfoDimensionsInfoResult',
19
+ 'GetSQuotaInfosQuotaInfoDimensionsInfoDetailResult',
20
+ 'GetSQuotaInfosQuotaInfoQuotaIncreaseEligibilityResult',
21
+ ]
22
+
23
+ @pulumi.output_type
24
+ class GetSQuotaInfoDimensionsInfoResult(dict):
25
+ def __init__(__self__, *,
26
+ applicable_locations: Sequence[str],
27
+ details: Sequence['outputs.GetSQuotaInfoDimensionsInfoDetailResult'],
28
+ dimensions: Mapping[str, Any]):
29
+ """
30
+ :param Sequence[str] applicable_locations: The applicable regions or zones of this dimensions info. The field will be set to `['global']` for quotas that are not per region or per zone. Otherwise, it will be set to the list of locations this dimension info is applicable to.
31
+ :param Sequence['GetSQuotaInfoDimensionsInfoDetailArgs'] details: The quota details for a map of dimensions.
32
+ :param Mapping[str, Any] dimensions: The map of dimensions for this dimensions info. The key of a map entry is "region", "zone" or the name of a service specific dimension, and the value of a map entry is the value of the dimension. If a dimension does not appear in the map of dimensions, the dimensions info applies to all the dimension values except for those that have another DimenisonInfo instance configured for the specific value. Example: {"provider" : "Foo Inc"} where "provider" is a service specific dimension of a quota.
33
+ """
34
+ pulumi.set(__self__, "applicable_locations", applicable_locations)
35
+ pulumi.set(__self__, "details", details)
36
+ pulumi.set(__self__, "dimensions", dimensions)
37
+
38
+ @property
39
+ @pulumi.getter(name="applicableLocations")
40
+ def applicable_locations(self) -> Sequence[str]:
41
+ """
42
+ The applicable regions or zones of this dimensions info. The field will be set to `['global']` for quotas that are not per region or per zone. Otherwise, it will be set to the list of locations this dimension info is applicable to.
43
+ """
44
+ return pulumi.get(self, "applicable_locations")
45
+
46
+ @property
47
+ @pulumi.getter
48
+ def details(self) -> Sequence['outputs.GetSQuotaInfoDimensionsInfoDetailResult']:
49
+ """
50
+ The quota details for a map of dimensions.
51
+ """
52
+ return pulumi.get(self, "details")
53
+
54
+ @property
55
+ @pulumi.getter
56
+ def dimensions(self) -> Mapping[str, Any]:
57
+ """
58
+ The map of dimensions for this dimensions info. The key of a map entry is "region", "zone" or the name of a service specific dimension, and the value of a map entry is the value of the dimension. If a dimension does not appear in the map of dimensions, the dimensions info applies to all the dimension values except for those that have another DimenisonInfo instance configured for the specific value. Example: {"provider" : "Foo Inc"} where "provider" is a service specific dimension of a quota.
59
+ """
60
+ return pulumi.get(self, "dimensions")
61
+
62
+
63
+ @pulumi.output_type
64
+ class GetSQuotaInfoDimensionsInfoDetailResult(dict):
65
+ def __init__(__self__, *,
66
+ value: str):
67
+ """
68
+ :param str value: The value currently in effect and being enforced.
69
+ """
70
+ pulumi.set(__self__, "value", value)
71
+
72
+ @property
73
+ @pulumi.getter
74
+ def value(self) -> str:
75
+ """
76
+ The value currently in effect and being enforced.
77
+ """
78
+ return pulumi.get(self, "value")
79
+
80
+
81
+ @pulumi.output_type
82
+ class GetSQuotaInfoQuotaIncreaseEligibilityResult(dict):
83
+ def __init__(__self__, *,
84
+ ineligibility_reason: str,
85
+ is_eligible: bool):
86
+ """
87
+ :param str ineligibility_reason: The enumeration of reasons when it is ineligible to request increase adjustment.
88
+ :param bool is_eligible: Whether a higher quota value can be requested for the quota.
89
+ """
90
+ pulumi.set(__self__, "ineligibility_reason", ineligibility_reason)
91
+ pulumi.set(__self__, "is_eligible", is_eligible)
92
+
93
+ @property
94
+ @pulumi.getter(name="ineligibilityReason")
95
+ def ineligibility_reason(self) -> str:
96
+ """
97
+ The enumeration of reasons when it is ineligible to request increase adjustment.
98
+ """
99
+ return pulumi.get(self, "ineligibility_reason")
100
+
101
+ @property
102
+ @pulumi.getter(name="isEligible")
103
+ def is_eligible(self) -> bool:
104
+ """
105
+ Whether a higher quota value can be requested for the quota.
106
+ """
107
+ return pulumi.get(self, "is_eligible")
108
+
109
+
110
+ @pulumi.output_type
111
+ class GetSQuotaInfosQuotaInfoResult(dict):
112
+ def __init__(__self__, *,
113
+ container_type: str,
114
+ dimensions: Sequence[str],
115
+ dimensions_infos: Sequence['outputs.GetSQuotaInfosQuotaInfoDimensionsInfoResult'],
116
+ is_concurrent: bool,
117
+ is_fixed: bool,
118
+ is_precise: bool,
119
+ metric: str,
120
+ metric_display_name: str,
121
+ metric_unit: str,
122
+ name: str,
123
+ quota_display_name: str,
124
+ quota_id: str,
125
+ quota_increase_eligibilities: Sequence['outputs.GetSQuotaInfosQuotaInfoQuotaIncreaseEligibilityResult'],
126
+ refresh_interval: str,
127
+ service: str,
128
+ service_request_quota_uri: str):
129
+ """
130
+ :param str container_type: (Output) The container type of the QuotaInfo.
131
+ :param Sequence[str] dimensions: The map of dimensions for this dimensions info. The key of a map entry is "region", "zone" or the name of a service specific dimension, and the value of a map entry is the value of the dimension. If a dimension does not appear in the map of dimensions, the dimensions info applies to all the dimension values except for those that have another DimenisonInfo instance configured for the specific value. Example: {"provider" : "Foo Inc"} where "provider" is a service specific dimension of a quota.
132
+ :param Sequence['GetSQuotaInfosQuotaInfoDimensionsInfoArgs'] dimensions_infos: (Output) The collection of dimensions info ordered by their dimensions from more specific ones to less specific ones.
133
+ :param bool is_concurrent: (Output) Whether the quota is a concurrent quota. Concurrent quotas are enforced on the total number of concurrent operations in flight at any given time.
134
+ :param bool is_fixed: (Output) Whether the quota value is fixed or adjustable.
135
+ :param bool is_precise: (Output) Whether this is a precise quota. A precise quota is tracked with absolute precision. In contrast, an imprecise quota is not tracked with precision.
136
+ :param str metric: (Output) The metric of the quota. It specifies the resources consumption the quota is defined for, for example: `compute.googleapis.com/cpus`.
137
+ :param str metric_display_name: (Output) The display name of the quota metric.
138
+ :param str metric_unit: (Output) The unit in which the metric value is reported, e.g., `MByte`.
139
+ :param str name: (Output) Resource name of this QuotaInfo, for example: `projects/123/locations/global/services/compute.googleapis.com/quotaInfos/CpusPerProjectPerRegion`.
140
+ :param str quota_display_name: (Output) The display name of the quota.
141
+ :param Sequence['GetSQuotaInfosQuotaInfoQuotaIncreaseEligibilityArgs'] quota_increase_eligibilities: (Output) Whether it is eligible to request a higher quota value for this quota.
142
+ :param str refresh_interval: (Output) The reset time interval for the quota. Refresh interval applies to rate quota only. Example: "minute" for per minute, "day" for per day, or "10 seconds" for every 10 seconds.
143
+ :param str service: The name of the service in which the quotas are defined.
144
+ :param str service_request_quota_uri: (Output) URI to the page where users can request more quota for the cloud service, for example: `https://console.cloud.google.com/iam-admin/quotas`.
145
+ """
146
+ pulumi.set(__self__, "container_type", container_type)
147
+ pulumi.set(__self__, "dimensions", dimensions)
148
+ pulumi.set(__self__, "dimensions_infos", dimensions_infos)
149
+ pulumi.set(__self__, "is_concurrent", is_concurrent)
150
+ pulumi.set(__self__, "is_fixed", is_fixed)
151
+ pulumi.set(__self__, "is_precise", is_precise)
152
+ pulumi.set(__self__, "metric", metric)
153
+ pulumi.set(__self__, "metric_display_name", metric_display_name)
154
+ pulumi.set(__self__, "metric_unit", metric_unit)
155
+ pulumi.set(__self__, "name", name)
156
+ pulumi.set(__self__, "quota_display_name", quota_display_name)
157
+ pulumi.set(__self__, "quota_id", quota_id)
158
+ pulumi.set(__self__, "quota_increase_eligibilities", quota_increase_eligibilities)
159
+ pulumi.set(__self__, "refresh_interval", refresh_interval)
160
+ pulumi.set(__self__, "service", service)
161
+ pulumi.set(__self__, "service_request_quota_uri", service_request_quota_uri)
162
+
163
+ @property
164
+ @pulumi.getter(name="containerType")
165
+ def container_type(self) -> str:
166
+ """
167
+ (Output) The container type of the QuotaInfo.
168
+ """
169
+ return pulumi.get(self, "container_type")
170
+
171
+ @property
172
+ @pulumi.getter
173
+ def dimensions(self) -> Sequence[str]:
174
+ """
175
+ The map of dimensions for this dimensions info. The key of a map entry is "region", "zone" or the name of a service specific dimension, and the value of a map entry is the value of the dimension. If a dimension does not appear in the map of dimensions, the dimensions info applies to all the dimension values except for those that have another DimenisonInfo instance configured for the specific value. Example: {"provider" : "Foo Inc"} where "provider" is a service specific dimension of a quota.
176
+ """
177
+ return pulumi.get(self, "dimensions")
178
+
179
+ @property
180
+ @pulumi.getter(name="dimensionsInfos")
181
+ def dimensions_infos(self) -> Sequence['outputs.GetSQuotaInfosQuotaInfoDimensionsInfoResult']:
182
+ """
183
+ (Output) The collection of dimensions info ordered by their dimensions from more specific ones to less specific ones.
184
+ """
185
+ return pulumi.get(self, "dimensions_infos")
186
+
187
+ @property
188
+ @pulumi.getter(name="isConcurrent")
189
+ def is_concurrent(self) -> bool:
190
+ """
191
+ (Output) Whether the quota is a concurrent quota. Concurrent quotas are enforced on the total number of concurrent operations in flight at any given time.
192
+ """
193
+ return pulumi.get(self, "is_concurrent")
194
+
195
+ @property
196
+ @pulumi.getter(name="isFixed")
197
+ def is_fixed(self) -> bool:
198
+ """
199
+ (Output) Whether the quota value is fixed or adjustable.
200
+ """
201
+ return pulumi.get(self, "is_fixed")
202
+
203
+ @property
204
+ @pulumi.getter(name="isPrecise")
205
+ def is_precise(self) -> bool:
206
+ """
207
+ (Output) Whether this is a precise quota. A precise quota is tracked with absolute precision. In contrast, an imprecise quota is not tracked with precision.
208
+ """
209
+ return pulumi.get(self, "is_precise")
210
+
211
+ @property
212
+ @pulumi.getter
213
+ def metric(self) -> str:
214
+ """
215
+ (Output) The metric of the quota. It specifies the resources consumption the quota is defined for, for example: `compute.googleapis.com/cpus`.
216
+ """
217
+ return pulumi.get(self, "metric")
218
+
219
+ @property
220
+ @pulumi.getter(name="metricDisplayName")
221
+ def metric_display_name(self) -> str:
222
+ """
223
+ (Output) The display name of the quota metric.
224
+ """
225
+ return pulumi.get(self, "metric_display_name")
226
+
227
+ @property
228
+ @pulumi.getter(name="metricUnit")
229
+ def metric_unit(self) -> str:
230
+ """
231
+ (Output) The unit in which the metric value is reported, e.g., `MByte`.
232
+ """
233
+ return pulumi.get(self, "metric_unit")
234
+
235
+ @property
236
+ @pulumi.getter
237
+ def name(self) -> str:
238
+ """
239
+ (Output) Resource name of this QuotaInfo, for example: `projects/123/locations/global/services/compute.googleapis.com/quotaInfos/CpusPerProjectPerRegion`.
240
+ """
241
+ return pulumi.get(self, "name")
242
+
243
+ @property
244
+ @pulumi.getter(name="quotaDisplayName")
245
+ def quota_display_name(self) -> str:
246
+ """
247
+ (Output) The display name of the quota.
248
+ """
249
+ return pulumi.get(self, "quota_display_name")
250
+
251
+ @property
252
+ @pulumi.getter(name="quotaId")
253
+ def quota_id(self) -> str:
254
+ return pulumi.get(self, "quota_id")
255
+
256
+ @property
257
+ @pulumi.getter(name="quotaIncreaseEligibilities")
258
+ def quota_increase_eligibilities(self) -> Sequence['outputs.GetSQuotaInfosQuotaInfoQuotaIncreaseEligibilityResult']:
259
+ """
260
+ (Output) Whether it is eligible to request a higher quota value for this quota.
261
+ """
262
+ return pulumi.get(self, "quota_increase_eligibilities")
263
+
264
+ @property
265
+ @pulumi.getter(name="refreshInterval")
266
+ def refresh_interval(self) -> str:
267
+ """
268
+ (Output) The reset time interval for the quota. Refresh interval applies to rate quota only. Example: "minute" for per minute, "day" for per day, or "10 seconds" for every 10 seconds.
269
+ """
270
+ return pulumi.get(self, "refresh_interval")
271
+
272
+ @property
273
+ @pulumi.getter
274
+ def service(self) -> str:
275
+ """
276
+ The name of the service in which the quotas are defined.
277
+ """
278
+ return pulumi.get(self, "service")
279
+
280
+ @property
281
+ @pulumi.getter(name="serviceRequestQuotaUri")
282
+ def service_request_quota_uri(self) -> str:
283
+ """
284
+ (Output) URI to the page where users can request more quota for the cloud service, for example: `https://console.cloud.google.com/iam-admin/quotas`.
285
+ """
286
+ return pulumi.get(self, "service_request_quota_uri")
287
+
288
+
289
+ @pulumi.output_type
290
+ class GetSQuotaInfosQuotaInfoDimensionsInfoResult(dict):
291
+ def __init__(__self__, *,
292
+ applicable_locations: Sequence[str],
293
+ details: Sequence['outputs.GetSQuotaInfosQuotaInfoDimensionsInfoDetailResult'],
294
+ dimensions: Mapping[str, Any]):
295
+ """
296
+ :param Sequence[str] applicable_locations: The applicable regions or zones of this dimensions info. The field will be set to `['global']` for quotas that are not per region or per zone. Otherwise, it will be set to the list of locations this dimension info is applicable to.
297
+ :param Sequence['GetSQuotaInfosQuotaInfoDimensionsInfoDetailArgs'] details: The quota details for a map of dimensions.
298
+ :param Mapping[str, Any] dimensions: The map of dimensions for this dimensions info. The key of a map entry is "region", "zone" or the name of a service specific dimension, and the value of a map entry is the value of the dimension. If a dimension does not appear in the map of dimensions, the dimensions info applies to all the dimension values except for those that have another DimenisonInfo instance configured for the specific value. Example: {"provider" : "Foo Inc"} where "provider" is a service specific dimension of a quota.
299
+ """
300
+ pulumi.set(__self__, "applicable_locations", applicable_locations)
301
+ pulumi.set(__self__, "details", details)
302
+ pulumi.set(__self__, "dimensions", dimensions)
303
+
304
+ @property
305
+ @pulumi.getter(name="applicableLocations")
306
+ def applicable_locations(self) -> Sequence[str]:
307
+ """
308
+ The applicable regions or zones of this dimensions info. The field will be set to `['global']` for quotas that are not per region or per zone. Otherwise, it will be set to the list of locations this dimension info is applicable to.
309
+ """
310
+ return pulumi.get(self, "applicable_locations")
311
+
312
+ @property
313
+ @pulumi.getter
314
+ def details(self) -> Sequence['outputs.GetSQuotaInfosQuotaInfoDimensionsInfoDetailResult']:
315
+ """
316
+ The quota details for a map of dimensions.
317
+ """
318
+ return pulumi.get(self, "details")
319
+
320
+ @property
321
+ @pulumi.getter
322
+ def dimensions(self) -> Mapping[str, Any]:
323
+ """
324
+ The map of dimensions for this dimensions info. The key of a map entry is "region", "zone" or the name of a service specific dimension, and the value of a map entry is the value of the dimension. If a dimension does not appear in the map of dimensions, the dimensions info applies to all the dimension values except for those that have another DimenisonInfo instance configured for the specific value. Example: {"provider" : "Foo Inc"} where "provider" is a service specific dimension of a quota.
325
+ """
326
+ return pulumi.get(self, "dimensions")
327
+
328
+
329
+ @pulumi.output_type
330
+ class GetSQuotaInfosQuotaInfoDimensionsInfoDetailResult(dict):
331
+ def __init__(__self__, *,
332
+ value: str):
333
+ """
334
+ :param str value: The value currently in effect and being enforced.
335
+ """
336
+ pulumi.set(__self__, "value", value)
337
+
338
+ @property
339
+ @pulumi.getter
340
+ def value(self) -> str:
341
+ """
342
+ The value currently in effect and being enforced.
343
+ """
344
+ return pulumi.get(self, "value")
345
+
346
+
347
+ @pulumi.output_type
348
+ class GetSQuotaInfosQuotaInfoQuotaIncreaseEligibilityResult(dict):
349
+ def __init__(__self__, *,
350
+ ineligibility_reason: str,
351
+ is_eligible: bool):
352
+ """
353
+ :param str ineligibility_reason: The enumeration of reasons when it is ineligible to request increase adjustment.
354
+ :param bool is_eligible: Whether a higher quota value can be requested for the quota.
355
+ """
356
+ pulumi.set(__self__, "ineligibility_reason", ineligibility_reason)
357
+ pulumi.set(__self__, "is_eligible", is_eligible)
358
+
359
+ @property
360
+ @pulumi.getter(name="ineligibilityReason")
361
+ def ineligibility_reason(self) -> str:
362
+ """
363
+ The enumeration of reasons when it is ineligible to request increase adjustment.
364
+ """
365
+ return pulumi.get(self, "ineligibility_reason")
366
+
367
+ @property
368
+ @pulumi.getter(name="isEligible")
369
+ def is_eligible(self) -> bool:
370
+ """
371
+ Whether a higher quota value can be requested for the quota.
372
+ """
373
+ return pulumi.get(self, "is_eligible")
374
+
375
+
@@ -27,6 +27,7 @@ __all__ = [
27
27
  'JobTemplateTemplateVolumeArgs',
28
28
  'JobTemplateTemplateVolumeCloudSqlInstanceArgs',
29
29
  'JobTemplateTemplateVolumeEmptyDirArgs',
30
+ 'JobTemplateTemplateVolumeGcsArgs',
30
31
  'JobTemplateTemplateVolumeSecretArgs',
31
32
  'JobTemplateTemplateVolumeSecretItemArgs',
32
33
  'JobTemplateTemplateVpcAccessArgs',
@@ -36,6 +37,7 @@ __all__ = [
36
37
  'ServiceConditionArgs',
37
38
  'ServiceIamBindingConditionArgs',
38
39
  'ServiceIamMemberConditionArgs',
40
+ 'ServiceScalingArgs',
39
41
  'ServiceTemplateArgs',
40
42
  'ServiceTemplateContainerArgs',
41
43
  'ServiceTemplateContainerEnvArgs',
@@ -1032,6 +1034,7 @@ class JobTemplateTemplateVolumeArgs:
1032
1034
  name: pulumi.Input[str],
1033
1035
  cloud_sql_instance: Optional[pulumi.Input['JobTemplateTemplateVolumeCloudSqlInstanceArgs']] = None,
1034
1036
  empty_dir: Optional[pulumi.Input['JobTemplateTemplateVolumeEmptyDirArgs']] = None,
1037
+ gcs: Optional[pulumi.Input['JobTemplateTemplateVolumeGcsArgs']] = None,
1035
1038
  secret: Optional[pulumi.Input['JobTemplateTemplateVolumeSecretArgs']] = None):
1036
1039
  """
1037
1040
  :param pulumi.Input[str] name: Volume's name.
@@ -1039,6 +1042,8 @@ class JobTemplateTemplateVolumeArgs:
1039
1042
  Structure is documented below.
1040
1043
  :param pulumi.Input['JobTemplateTemplateVolumeEmptyDirArgs'] empty_dir: Ephemeral storage used as a shared volume.
1041
1044
  Structure is documented below.
1045
+ :param pulumi.Input['JobTemplateTemplateVolumeGcsArgs'] gcs: Cloud Storage bucket mounted as a volume using GCSFuse. This feature requires the launch stage to be set to ALPHA or BETA.
1046
+ Structure is documented below.
1042
1047
  :param pulumi.Input['JobTemplateTemplateVolumeSecretArgs'] secret: Secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
1043
1048
  Structure is documented below.
1044
1049
  """
@@ -1047,6 +1052,8 @@ class JobTemplateTemplateVolumeArgs:
1047
1052
  pulumi.set(__self__, "cloud_sql_instance", cloud_sql_instance)
1048
1053
  if empty_dir is not None:
1049
1054
  pulumi.set(__self__, "empty_dir", empty_dir)
1055
+ if gcs is not None:
1056
+ pulumi.set(__self__, "gcs", gcs)
1050
1057
  if secret is not None:
1051
1058
  pulumi.set(__self__, "secret", secret)
1052
1059
 
@@ -1088,6 +1095,19 @@ class JobTemplateTemplateVolumeArgs:
1088
1095
  def empty_dir(self, value: Optional[pulumi.Input['JobTemplateTemplateVolumeEmptyDirArgs']]):
1089
1096
  pulumi.set(self, "empty_dir", value)
1090
1097
 
1098
+ @property
1099
+ @pulumi.getter
1100
+ def gcs(self) -> Optional[pulumi.Input['JobTemplateTemplateVolumeGcsArgs']]:
1101
+ """
1102
+ Cloud Storage bucket mounted as a volume using GCSFuse. This feature requires the launch stage to be set to ALPHA or BETA.
1103
+ Structure is documented below.
1104
+ """
1105
+ return pulumi.get(self, "gcs")
1106
+
1107
+ @gcs.setter
1108
+ def gcs(self, value: Optional[pulumi.Input['JobTemplateTemplateVolumeGcsArgs']]):
1109
+ pulumi.set(self, "gcs", value)
1110
+
1091
1111
  @property
1092
1112
  @pulumi.getter
1093
1113
  def secret(self) -> Optional[pulumi.Input['JobTemplateTemplateVolumeSecretArgs']]:
@@ -1168,6 +1188,44 @@ class JobTemplateTemplateVolumeEmptyDirArgs:
1168
1188
  pulumi.set(self, "size_limit", value)
1169
1189
 
1170
1190
 
1191
+ @pulumi.input_type
1192
+ class JobTemplateTemplateVolumeGcsArgs:
1193
+ def __init__(__self__, *,
1194
+ bucket: pulumi.Input[str],
1195
+ read_only: Optional[pulumi.Input[bool]] = None):
1196
+ """
1197
+ :param pulumi.Input[str] bucket: Name of the cloud storage bucket to back the volume. The resource service account must have permission to access the bucket.
1198
+ :param pulumi.Input[bool] read_only: If true, mount this volume as read-only in all mounts. If false, mount this volume as read-write.
1199
+ """
1200
+ pulumi.set(__self__, "bucket", bucket)
1201
+ if read_only is not None:
1202
+ pulumi.set(__self__, "read_only", read_only)
1203
+
1204
+ @property
1205
+ @pulumi.getter
1206
+ def bucket(self) -> pulumi.Input[str]:
1207
+ """
1208
+ Name of the cloud storage bucket to back the volume. The resource service account must have permission to access the bucket.
1209
+ """
1210
+ return pulumi.get(self, "bucket")
1211
+
1212
+ @bucket.setter
1213
+ def bucket(self, value: pulumi.Input[str]):
1214
+ pulumi.set(self, "bucket", value)
1215
+
1216
+ @property
1217
+ @pulumi.getter(name="readOnly")
1218
+ def read_only(self) -> Optional[pulumi.Input[bool]]:
1219
+ """
1220
+ If true, mount this volume as read-only in all mounts. If false, mount this volume as read-write.
1221
+ """
1222
+ return pulumi.get(self, "read_only")
1223
+
1224
+ @read_only.setter
1225
+ def read_only(self, value: Optional[pulumi.Input[bool]]):
1226
+ pulumi.set(self, "read_only", value)
1227
+
1228
+
1171
1229
  @pulumi.input_type
1172
1230
  class JobTemplateTemplateVolumeSecretArgs:
1173
1231
  def __init__(__self__, *,
@@ -1826,6 +1884,29 @@ class ServiceIamMemberConditionArgs:
1826
1884
  pulumi.set(self, "description", value)
1827
1885
 
1828
1886
 
1887
+ @pulumi.input_type
1888
+ class ServiceScalingArgs:
1889
+ def __init__(__self__, *,
1890
+ min_instance_count: Optional[pulumi.Input[int]] = None):
1891
+ """
1892
+ :param pulumi.Input[int] min_instance_count: Minimum number of instances for the service, to be divided among all revisions receiving traffic.
1893
+ """
1894
+ if min_instance_count is not None:
1895
+ pulumi.set(__self__, "min_instance_count", min_instance_count)
1896
+
1897
+ @property
1898
+ @pulumi.getter(name="minInstanceCount")
1899
+ def min_instance_count(self) -> Optional[pulumi.Input[int]]:
1900
+ """
1901
+ Minimum number of instances for the service, to be divided among all revisions receiving traffic.
1902
+ """
1903
+ return pulumi.get(self, "min_instance_count")
1904
+
1905
+ @min_instance_count.setter
1906
+ def min_instance_count(self, value: Optional[pulumi.Input[int]]):
1907
+ pulumi.set(self, "min_instance_count", value)
1908
+
1909
+
1829
1910
  @pulumi.input_type
1830
1911
  class ServiceTemplateArgs:
1831
1912
  def __init__(__self__, *,
@@ -3119,7 +3200,7 @@ class ServiceTemplateScalingArgs:
3119
3200
  min_instance_count: Optional[pulumi.Input[int]] = None):
3120
3201
  """
3121
3202
  :param pulumi.Input[int] max_instance_count: Maximum number of serving instances that this resource should have.
3122
- :param pulumi.Input[int] min_instance_count: Minimum number of serving instances that this resource should have.
3203
+ :param pulumi.Input[int] min_instance_count: Minimum number of instances for the service, to be divided among all revisions receiving traffic.
3123
3204
  """
3124
3205
  if max_instance_count is not None:
3125
3206
  pulumi.set(__self__, "max_instance_count", max_instance_count)
@@ -3142,7 +3223,7 @@ class ServiceTemplateScalingArgs:
3142
3223
  @pulumi.getter(name="minInstanceCount")
3143
3224
  def min_instance_count(self) -> Optional[pulumi.Input[int]]:
3144
3225
  """
3145
- Minimum number of serving instances that this resource should have.
3226
+ Minimum number of instances for the service, to be divided among all revisions receiving traffic.
3146
3227
  """
3147
3228
  return pulumi.get(self, "min_instance_count")
3148
3229
 
@@ -3166,7 +3247,7 @@ class ServiceTemplateVolumeArgs:
3166
3247
  Structure is documented below.
3167
3248
  :param pulumi.Input['ServiceTemplateVolumeEmptyDirArgs'] empty_dir: Ephemeral storage used as a shared volume.
3168
3249
  Structure is documented below.
3169
- :param pulumi.Input['ServiceTemplateVolumeGcsArgs'] gcs: Represents a GCS Bucket mounted as a volume.
3250
+ :param pulumi.Input['ServiceTemplateVolumeGcsArgs'] gcs: Cloud Storage bucket mounted as a volume using GCSFuse. This feature is only supported in the gen2 execution environment and requires launch-stage to be set to ALPHA or BETA.
3170
3251
  Structure is documented below.
3171
3252
  :param pulumi.Input['ServiceTemplateVolumeNfsArgs'] nfs: Represents an NFS mount.
3172
3253
  Structure is documented below.
@@ -3227,7 +3308,7 @@ class ServiceTemplateVolumeArgs:
3227
3308
  @pulumi.getter
3228
3309
  def gcs(self) -> Optional[pulumi.Input['ServiceTemplateVolumeGcsArgs']]:
3229
3310
  """
3230
- Represents a GCS Bucket mounted as a volume.
3311
+ Cloud Storage bucket mounted as a volume using GCSFuse. This feature is only supported in the gen2 execution environment and requires launch-stage to be set to ALPHA or BETA.
3231
3312
  Structure is documented below.
3232
3313
  """
3233
3314
  return pulumi.get(self, "gcs")
@@ -22,7 +22,7 @@ class GetServiceResult:
22
22
  """
23
23
  A collection of values returned by getService.
24
24
  """
25
- def __init__(__self__, annotations=None, binary_authorizations=None, client=None, client_version=None, conditions=None, create_time=None, creator=None, custom_audiences=None, delete_time=None, description=None, effective_annotations=None, effective_labels=None, etag=None, expire_time=None, generation=None, id=None, ingress=None, labels=None, last_modifier=None, latest_created_revision=None, latest_ready_revision=None, launch_stage=None, location=None, name=None, observed_generation=None, project=None, pulumi_labels=None, reconciling=None, templates=None, terminal_conditions=None, traffic_statuses=None, traffics=None, uid=None, update_time=None, uri=None):
25
+ def __init__(__self__, annotations=None, binary_authorizations=None, client=None, client_version=None, conditions=None, create_time=None, creator=None, custom_audiences=None, delete_time=None, description=None, effective_annotations=None, effective_labels=None, etag=None, expire_time=None, generation=None, id=None, ingress=None, labels=None, last_modifier=None, latest_created_revision=None, latest_ready_revision=None, launch_stage=None, location=None, name=None, observed_generation=None, project=None, pulumi_labels=None, reconciling=None, scalings=None, templates=None, terminal_conditions=None, traffic_statuses=None, traffics=None, uid=None, update_time=None, uri=None):
26
26
  if annotations and not isinstance(annotations, dict):
27
27
  raise TypeError("Expected argument 'annotations' to be a dict")
28
28
  pulumi.set(__self__, "annotations", annotations)
@@ -107,6 +107,9 @@ class GetServiceResult:
107
107
  if reconciling and not isinstance(reconciling, bool):
108
108
  raise TypeError("Expected argument 'reconciling' to be a bool")
109
109
  pulumi.set(__self__, "reconciling", reconciling)
110
+ if scalings and not isinstance(scalings, list):
111
+ raise TypeError("Expected argument 'scalings' to be a list")
112
+ pulumi.set(__self__, "scalings", scalings)
110
113
  if templates and not isinstance(templates, list):
111
114
  raise TypeError("Expected argument 'templates' to be a list")
112
115
  pulumi.set(__self__, "templates", templates)
@@ -272,6 +275,11 @@ class GetServiceResult:
272
275
  def reconciling(self) -> bool:
273
276
  return pulumi.get(self, "reconciling")
274
277
 
278
+ @property
279
+ @pulumi.getter
280
+ def scalings(self) -> Sequence['outputs.GetServiceScalingResult']:
281
+ return pulumi.get(self, "scalings")
282
+
275
283
  @property
276
284
  @pulumi.getter
277
285
  def templates(self) -> Sequence['outputs.GetServiceTemplateResult']:
@@ -342,6 +350,7 @@ class AwaitableGetServiceResult(GetServiceResult):
342
350
  project=self.project,
343
351
  pulumi_labels=self.pulumi_labels,
344
352
  reconciling=self.reconciling,
353
+ scalings=self.scalings,
345
354
  templates=self.templates,
346
355
  terminal_conditions=self.terminal_conditions,
347
356
  traffic_statuses=self.traffic_statuses,
@@ -416,6 +425,7 @@ def get_service(location: Optional[str] = None,
416
425
  project=pulumi.get(__ret__, 'project'),
417
426
  pulumi_labels=pulumi.get(__ret__, 'pulumi_labels'),
418
427
  reconciling=pulumi.get(__ret__, 'reconciling'),
428
+ scalings=pulumi.get(__ret__, 'scalings'),
419
429
  templates=pulumi.get(__ret__, 'templates'),
420
430
  terminal_conditions=pulumi.get(__ret__, 'terminal_conditions'),
421
431
  traffic_statuses=pulumi.get(__ret__, 'traffic_statuses'),