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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. pulumi_gcp/__init__.py +72 -0
  2. pulumi_gcp/appengine/application_url_dispatch_rules.py +2 -2
  3. pulumi_gcp/appengine/engine_split_traffic.py +4 -4
  4. pulumi_gcp/appengine/service_network_settings.py +2 -2
  5. pulumi_gcp/appengine/standard_app_version.py +4 -4
  6. pulumi_gcp/bigquery/_inputs.py +88 -0
  7. pulumi_gcp/bigquery/dataset_iam_binding.py +35 -28
  8. pulumi_gcp/bigquery/dataset_iam_member.py +35 -28
  9. pulumi_gcp/bigquery/dataset_iam_policy.py +35 -28
  10. pulumi_gcp/bigquery/outputs.py +91 -0
  11. pulumi_gcp/bigquery/routine.py +118 -12
  12. pulumi_gcp/certificatemanager/dns_authorization.py +63 -14
  13. pulumi_gcp/clouddeploy/__init__.py +4 -0
  14. pulumi_gcp/clouddeploy/_inputs.py +80 -0
  15. pulumi_gcp/clouddeploy/automation.py +16 -0
  16. pulumi_gcp/clouddeploy/get_target_iam_policy.py +162 -0
  17. pulumi_gcp/clouddeploy/outputs.py +56 -0
  18. pulumi_gcp/clouddeploy/target_iam_binding.py +324 -0
  19. pulumi_gcp/clouddeploy/target_iam_member.py +324 -0
  20. pulumi_gcp/clouddeploy/target_iam_policy.py +253 -0
  21. pulumi_gcp/cloudfunctionsv2/function.py +0 -2
  22. pulumi_gcp/cloudrunv2/_inputs.py +4 -2
  23. pulumi_gcp/cloudrunv2/outputs.py +8 -4
  24. pulumi_gcp/composer/_inputs.py +18 -2
  25. pulumi_gcp/composer/outputs.py +29 -4
  26. pulumi_gcp/compute/__init__.py +1 -0
  27. pulumi_gcp/compute/get_forwarding_rules.py +142 -0
  28. pulumi_gcp/compute/instance_group_membership.py +4 -4
  29. pulumi_gcp/compute/outputs.py +816 -0
  30. pulumi_gcp/compute/region_network_endpoint.py +2 -2
  31. pulumi_gcp/compute/region_target_https_proxy.py +162 -37
  32. pulumi_gcp/compute/router_nat.py +8 -8
  33. pulumi_gcp/container/_inputs.py +80 -0
  34. pulumi_gcp/container/cluster.py +20 -16
  35. pulumi_gcp/container/outputs.py +115 -1
  36. pulumi_gcp/firebase/__init__.py +4 -0
  37. pulumi_gcp/firebase/app_check_app_attest_config.py +461 -0
  38. pulumi_gcp/firebase/app_check_play_integrity_config.py +465 -0
  39. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +474 -0
  40. pulumi_gcp/firebase/app_check_recaptcha_v3_config.py +511 -0
  41. pulumi_gcp/gkehub/scope.py +85 -0
  42. pulumi_gcp/integrationconnectors/connection.py +4 -4
  43. pulumi_gcp/looker/_inputs.py +42 -0
  44. pulumi_gcp/looker/instance.py +90 -0
  45. pulumi_gcp/looker/outputs.py +34 -0
  46. pulumi_gcp/migrationcenter/__init__.py +3 -0
  47. pulumi_gcp/migrationcenter/_inputs.py +500 -0
  48. pulumi_gcp/migrationcenter/outputs.py +562 -0
  49. pulumi_gcp/migrationcenter/preference_set.py +687 -0
  50. pulumi_gcp/monitoring/custom_service.py +4 -2
  51. pulumi_gcp/monitoring/generic_service.py +4 -2
  52. pulumi_gcp/monitoring/get_app_engine_service.py +2 -2
  53. pulumi_gcp/netapp/__init__.py +1 -0
  54. pulumi_gcp/netapp/_inputs.py +275 -0
  55. pulumi_gcp/netapp/outputs.py +290 -0
  56. pulumi_gcp/netapp/volume.py +140 -2
  57. pulumi_gcp/netapp/volume_replication.py +1292 -0
  58. pulumi_gcp/notebooks/instance.py +1 -1
  59. pulumi_gcp/securityposture/_inputs.py +22 -19
  60. pulumi_gcp/securityposture/outputs.py +18 -15
  61. pulumi_gcp/securityposture/posture.py +28 -48
  62. pulumi_gcp/spanner/_inputs.py +20 -0
  63. pulumi_gcp/spanner/database_iam_binding.py +134 -0
  64. pulumi_gcp/spanner/database_iam_member.py +134 -0
  65. pulumi_gcp/spanner/database_iam_policy.py +114 -0
  66. pulumi_gcp/spanner/outputs.py +20 -0
  67. pulumi_gcp/workbench/_inputs.py +157 -2
  68. pulumi_gcp/workbench/instance.py +52 -0
  69. pulumi_gcp/workbench/outputs.py +154 -2
  70. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/METADATA +1 -1
  71. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/RECORD +73 -60
  72. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/WHEEL +0 -0
  73. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,562 @@
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
+ 'PreferenceSetVirtualMachinePreferences',
15
+ 'PreferenceSetVirtualMachinePreferencesComputeEnginePreferences',
16
+ 'PreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferences',
17
+ 'PreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeries',
18
+ 'PreferenceSetVirtualMachinePreferencesRegionPreferences',
19
+ 'PreferenceSetVirtualMachinePreferencesSoleTenancyPreferences',
20
+ 'PreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeType',
21
+ 'PreferenceSetVirtualMachinePreferencesVmwareEnginePreferences',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class PreferenceSetVirtualMachinePreferences(dict):
26
+ @staticmethod
27
+ def __key_warning(key: str):
28
+ suggest = None
29
+ if key == "commitmentPlan":
30
+ suggest = "commitment_plan"
31
+ elif key == "computeEnginePreferences":
32
+ suggest = "compute_engine_preferences"
33
+ elif key == "regionPreferences":
34
+ suggest = "region_preferences"
35
+ elif key == "sizingOptimizationStrategy":
36
+ suggest = "sizing_optimization_strategy"
37
+ elif key == "soleTenancyPreferences":
38
+ suggest = "sole_tenancy_preferences"
39
+ elif key == "targetProduct":
40
+ suggest = "target_product"
41
+ elif key == "vmwareEnginePreferences":
42
+ suggest = "vmware_engine_preferences"
43
+
44
+ if suggest:
45
+ pulumi.log.warn(f"Key '{key}' not found in PreferenceSetVirtualMachinePreferences. Access the value via the '{suggest}' property getter instead.")
46
+
47
+ def __getitem__(self, key: str) -> Any:
48
+ PreferenceSetVirtualMachinePreferences.__key_warning(key)
49
+ return super().__getitem__(key)
50
+
51
+ def get(self, key: str, default = None) -> Any:
52
+ PreferenceSetVirtualMachinePreferences.__key_warning(key)
53
+ return super().get(key, default)
54
+
55
+ def __init__(__self__, *,
56
+ commitment_plan: Optional[str] = None,
57
+ compute_engine_preferences: Optional['outputs.PreferenceSetVirtualMachinePreferencesComputeEnginePreferences'] = None,
58
+ region_preferences: Optional['outputs.PreferenceSetVirtualMachinePreferencesRegionPreferences'] = None,
59
+ sizing_optimization_strategy: Optional[str] = None,
60
+ sole_tenancy_preferences: Optional['outputs.PreferenceSetVirtualMachinePreferencesSoleTenancyPreferences'] = None,
61
+ target_product: Optional[str] = None,
62
+ vmware_engine_preferences: Optional['outputs.PreferenceSetVirtualMachinePreferencesVmwareEnginePreferences'] = None):
63
+ """
64
+ :param str commitment_plan: Commitment plan to consider when calculating costs for virtual machine insights and recommendations. If you are unsure which value to set, a 3 year commitment plan is often a good value to start with.
65
+ Possible values:
66
+ COMMITMENT_PLAN_UNSPECIFIED
67
+ COMMITMENT_PLAN_NONE
68
+ COMMITMENT_PLAN_ONE_YEAR
69
+ COMMITMENT_PLAN_THREE_YEARS
70
+ :param 'PreferenceSetVirtualMachinePreferencesComputeEnginePreferencesArgs' compute_engine_preferences: The user preferences relating to Compute Engine target platform.
71
+ Structure is documented below.
72
+ :param 'PreferenceSetVirtualMachinePreferencesRegionPreferencesArgs' region_preferences: The user preferences relating to target regions.
73
+ Structure is documented below.
74
+ :param str sizing_optimization_strategy: Sizing optimization strategy specifies the preferred strategy used when extrapolating usage data to calculate insights and recommendations for a virtual machine. If you are unsure which value to set, a moderate sizing optimization strategy is often a good value to start with.
75
+ Possible values:
76
+ SIZING_OPTIMIZATION_STRATEGY_UNSPECIFIED
77
+ SIZING_OPTIMIZATION_STRATEGY_SAME_AS_SOURCE
78
+ SIZING_OPTIMIZATION_STRATEGY_MODERATE
79
+ SIZING_OPTIMIZATION_STRATEGY_AGGRESSIVE
80
+ :param 'PreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesArgs' sole_tenancy_preferences: Preferences concerning Sole Tenancy nodes and VMs.
81
+ Structure is documented below.
82
+ :param str target_product: Target product for assets using this preference set. Specify either target product or business goal, but not both.
83
+ Possible values:
84
+ COMPUTE_MIGRATION_TARGET_PRODUCT_UNSPECIFIED
85
+ COMPUTE_MIGRATION_TARGET_PRODUCT_COMPUTE_ENGINE
86
+ COMPUTE_MIGRATION_TARGET_PRODUCT_VMWARE_ENGINE
87
+ COMPUTE_MIGRATION_TARGET_PRODUCT_SOLE_TENANCY
88
+ :param 'PreferenceSetVirtualMachinePreferencesVmwareEnginePreferencesArgs' vmware_engine_preferences: The user preferences relating to Google Cloud VMware Engine target platform.
89
+ Structure is documented below.
90
+ """
91
+ if commitment_plan is not None:
92
+ pulumi.set(__self__, "commitment_plan", commitment_plan)
93
+ if compute_engine_preferences is not None:
94
+ pulumi.set(__self__, "compute_engine_preferences", compute_engine_preferences)
95
+ if region_preferences is not None:
96
+ pulumi.set(__self__, "region_preferences", region_preferences)
97
+ if sizing_optimization_strategy is not None:
98
+ pulumi.set(__self__, "sizing_optimization_strategy", sizing_optimization_strategy)
99
+ if sole_tenancy_preferences is not None:
100
+ pulumi.set(__self__, "sole_tenancy_preferences", sole_tenancy_preferences)
101
+ if target_product is not None:
102
+ pulumi.set(__self__, "target_product", target_product)
103
+ if vmware_engine_preferences is not None:
104
+ pulumi.set(__self__, "vmware_engine_preferences", vmware_engine_preferences)
105
+
106
+ @property
107
+ @pulumi.getter(name="commitmentPlan")
108
+ def commitment_plan(self) -> Optional[str]:
109
+ """
110
+ Commitment plan to consider when calculating costs for virtual machine insights and recommendations. If you are unsure which value to set, a 3 year commitment plan is often a good value to start with.
111
+ Possible values:
112
+ COMMITMENT_PLAN_UNSPECIFIED
113
+ COMMITMENT_PLAN_NONE
114
+ COMMITMENT_PLAN_ONE_YEAR
115
+ COMMITMENT_PLAN_THREE_YEARS
116
+ """
117
+ return pulumi.get(self, "commitment_plan")
118
+
119
+ @property
120
+ @pulumi.getter(name="computeEnginePreferences")
121
+ def compute_engine_preferences(self) -> Optional['outputs.PreferenceSetVirtualMachinePreferencesComputeEnginePreferences']:
122
+ """
123
+ The user preferences relating to Compute Engine target platform.
124
+ Structure is documented below.
125
+ """
126
+ return pulumi.get(self, "compute_engine_preferences")
127
+
128
+ @property
129
+ @pulumi.getter(name="regionPreferences")
130
+ def region_preferences(self) -> Optional['outputs.PreferenceSetVirtualMachinePreferencesRegionPreferences']:
131
+ """
132
+ The user preferences relating to target regions.
133
+ Structure is documented below.
134
+ """
135
+ return pulumi.get(self, "region_preferences")
136
+
137
+ @property
138
+ @pulumi.getter(name="sizingOptimizationStrategy")
139
+ def sizing_optimization_strategy(self) -> Optional[str]:
140
+ """
141
+ Sizing optimization strategy specifies the preferred strategy used when extrapolating usage data to calculate insights and recommendations for a virtual machine. If you are unsure which value to set, a moderate sizing optimization strategy is often a good value to start with.
142
+ Possible values:
143
+ SIZING_OPTIMIZATION_STRATEGY_UNSPECIFIED
144
+ SIZING_OPTIMIZATION_STRATEGY_SAME_AS_SOURCE
145
+ SIZING_OPTIMIZATION_STRATEGY_MODERATE
146
+ SIZING_OPTIMIZATION_STRATEGY_AGGRESSIVE
147
+ """
148
+ return pulumi.get(self, "sizing_optimization_strategy")
149
+
150
+ @property
151
+ @pulumi.getter(name="soleTenancyPreferences")
152
+ def sole_tenancy_preferences(self) -> Optional['outputs.PreferenceSetVirtualMachinePreferencesSoleTenancyPreferences']:
153
+ """
154
+ Preferences concerning Sole Tenancy nodes and VMs.
155
+ Structure is documented below.
156
+ """
157
+ return pulumi.get(self, "sole_tenancy_preferences")
158
+
159
+ @property
160
+ @pulumi.getter(name="targetProduct")
161
+ def target_product(self) -> Optional[str]:
162
+ """
163
+ Target product for assets using this preference set. Specify either target product or business goal, but not both.
164
+ Possible values:
165
+ COMPUTE_MIGRATION_TARGET_PRODUCT_UNSPECIFIED
166
+ COMPUTE_MIGRATION_TARGET_PRODUCT_COMPUTE_ENGINE
167
+ COMPUTE_MIGRATION_TARGET_PRODUCT_VMWARE_ENGINE
168
+ COMPUTE_MIGRATION_TARGET_PRODUCT_SOLE_TENANCY
169
+ """
170
+ return pulumi.get(self, "target_product")
171
+
172
+ @property
173
+ @pulumi.getter(name="vmwareEnginePreferences")
174
+ def vmware_engine_preferences(self) -> Optional['outputs.PreferenceSetVirtualMachinePreferencesVmwareEnginePreferences']:
175
+ """
176
+ The user preferences relating to Google Cloud VMware Engine target platform.
177
+ Structure is documented below.
178
+ """
179
+ return pulumi.get(self, "vmware_engine_preferences")
180
+
181
+
182
+ @pulumi.output_type
183
+ class PreferenceSetVirtualMachinePreferencesComputeEnginePreferences(dict):
184
+ @staticmethod
185
+ def __key_warning(key: str):
186
+ suggest = None
187
+ if key == "licenseType":
188
+ suggest = "license_type"
189
+ elif key == "machinePreferences":
190
+ suggest = "machine_preferences"
191
+
192
+ if suggest:
193
+ pulumi.log.warn(f"Key '{key}' not found in PreferenceSetVirtualMachinePreferencesComputeEnginePreferences. Access the value via the '{suggest}' property getter instead.")
194
+
195
+ def __getitem__(self, key: str) -> Any:
196
+ PreferenceSetVirtualMachinePreferencesComputeEnginePreferences.__key_warning(key)
197
+ return super().__getitem__(key)
198
+
199
+ def get(self, key: str, default = None) -> Any:
200
+ PreferenceSetVirtualMachinePreferencesComputeEnginePreferences.__key_warning(key)
201
+ return super().get(key, default)
202
+
203
+ def __init__(__self__, *,
204
+ license_type: Optional[str] = None,
205
+ machine_preferences: Optional['outputs.PreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferences'] = None):
206
+ """
207
+ :param str license_type: License type to consider when calculating costs for virtual machine insights and recommendations. If unspecified, costs are calculated based on the default licensing plan.
208
+ Possible values:
209
+ LICENSE_TYPE_UNSPECIFIED
210
+ LICENSE_TYPE_DEFAULT
211
+ LICENSE_TYPE_BRING_YOUR_OWN_LICENSE
212
+ :param 'PreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesArgs' machine_preferences: The type of machines to consider when calculating virtual machine migration insights and recommendations. Not all machine types are available in all zones and regions.
213
+ Structure is documented below.
214
+ """
215
+ if license_type is not None:
216
+ pulumi.set(__self__, "license_type", license_type)
217
+ if machine_preferences is not None:
218
+ pulumi.set(__self__, "machine_preferences", machine_preferences)
219
+
220
+ @property
221
+ @pulumi.getter(name="licenseType")
222
+ def license_type(self) -> Optional[str]:
223
+ """
224
+ License type to consider when calculating costs for virtual machine insights and recommendations. If unspecified, costs are calculated based on the default licensing plan.
225
+ Possible values:
226
+ LICENSE_TYPE_UNSPECIFIED
227
+ LICENSE_TYPE_DEFAULT
228
+ LICENSE_TYPE_BRING_YOUR_OWN_LICENSE
229
+ """
230
+ return pulumi.get(self, "license_type")
231
+
232
+ @property
233
+ @pulumi.getter(name="machinePreferences")
234
+ def machine_preferences(self) -> Optional['outputs.PreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferences']:
235
+ """
236
+ The type of machines to consider when calculating virtual machine migration insights and recommendations. Not all machine types are available in all zones and regions.
237
+ Structure is documented below.
238
+ """
239
+ return pulumi.get(self, "machine_preferences")
240
+
241
+
242
+ @pulumi.output_type
243
+ class PreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferences(dict):
244
+ @staticmethod
245
+ def __key_warning(key: str):
246
+ suggest = None
247
+ if key == "allowedMachineSeries":
248
+ suggest = "allowed_machine_series"
249
+
250
+ if suggest:
251
+ pulumi.log.warn(f"Key '{key}' not found in PreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferences. Access the value via the '{suggest}' property getter instead.")
252
+
253
+ def __getitem__(self, key: str) -> Any:
254
+ PreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferences.__key_warning(key)
255
+ return super().__getitem__(key)
256
+
257
+ def get(self, key: str, default = None) -> Any:
258
+ PreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferences.__key_warning(key)
259
+ return super().get(key, default)
260
+
261
+ def __init__(__self__, *,
262
+ allowed_machine_series: Optional[Sequence['outputs.PreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeries']] = None):
263
+ """
264
+ :param Sequence['PreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeriesArgs'] allowed_machine_series: Compute Engine machine series to consider for insights and recommendations. If empty, no restriction is applied on the machine series.
265
+ Structure is documented below.
266
+ """
267
+ if allowed_machine_series is not None:
268
+ pulumi.set(__self__, "allowed_machine_series", allowed_machine_series)
269
+
270
+ @property
271
+ @pulumi.getter(name="allowedMachineSeries")
272
+ def allowed_machine_series(self) -> Optional[Sequence['outputs.PreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeries']]:
273
+ """
274
+ Compute Engine machine series to consider for insights and recommendations. If empty, no restriction is applied on the machine series.
275
+ Structure is documented below.
276
+ """
277
+ return pulumi.get(self, "allowed_machine_series")
278
+
279
+
280
+ @pulumi.output_type
281
+ class PreferenceSetVirtualMachinePreferencesComputeEnginePreferencesMachinePreferencesAllowedMachineSeries(dict):
282
+ def __init__(__self__, *,
283
+ code: Optional[str] = None):
284
+ """
285
+ :param str code: Code to identify a Compute Engine machine series. Consult https://cloud.google.com/compute/docs/machine-resource#machine_type_comparison for more details on the available series.
286
+ """
287
+ if code is not None:
288
+ pulumi.set(__self__, "code", code)
289
+
290
+ @property
291
+ @pulumi.getter
292
+ def code(self) -> Optional[str]:
293
+ """
294
+ Code to identify a Compute Engine machine series. Consult https://cloud.google.com/compute/docs/machine-resource#machine_type_comparison for more details on the available series.
295
+ """
296
+ return pulumi.get(self, "code")
297
+
298
+
299
+ @pulumi.output_type
300
+ class PreferenceSetVirtualMachinePreferencesRegionPreferences(dict):
301
+ @staticmethod
302
+ def __key_warning(key: str):
303
+ suggest = None
304
+ if key == "preferredRegions":
305
+ suggest = "preferred_regions"
306
+
307
+ if suggest:
308
+ pulumi.log.warn(f"Key '{key}' not found in PreferenceSetVirtualMachinePreferencesRegionPreferences. Access the value via the '{suggest}' property getter instead.")
309
+
310
+ def __getitem__(self, key: str) -> Any:
311
+ PreferenceSetVirtualMachinePreferencesRegionPreferences.__key_warning(key)
312
+ return super().__getitem__(key)
313
+
314
+ def get(self, key: str, default = None) -> Any:
315
+ PreferenceSetVirtualMachinePreferencesRegionPreferences.__key_warning(key)
316
+ return super().get(key, default)
317
+
318
+ def __init__(__self__, *,
319
+ preferred_regions: Optional[Sequence[str]] = None):
320
+ """
321
+ :param Sequence[str] preferred_regions: A list of preferred regions, ordered by the most preferred region first. Set only valid Google Cloud region names. See https://cloud.google.com/compute/docs/regions-zones for available regions.
322
+ """
323
+ if preferred_regions is not None:
324
+ pulumi.set(__self__, "preferred_regions", preferred_regions)
325
+
326
+ @property
327
+ @pulumi.getter(name="preferredRegions")
328
+ def preferred_regions(self) -> Optional[Sequence[str]]:
329
+ """
330
+ A list of preferred regions, ordered by the most preferred region first. Set only valid Google Cloud region names. See https://cloud.google.com/compute/docs/regions-zones for available regions.
331
+ """
332
+ return pulumi.get(self, "preferred_regions")
333
+
334
+
335
+ @pulumi.output_type
336
+ class PreferenceSetVirtualMachinePreferencesSoleTenancyPreferences(dict):
337
+ @staticmethod
338
+ def __key_warning(key: str):
339
+ suggest = None
340
+ if key == "commitmentPlan":
341
+ suggest = "commitment_plan"
342
+ elif key == "cpuOvercommitRatio":
343
+ suggest = "cpu_overcommit_ratio"
344
+ elif key == "hostMaintenancePolicy":
345
+ suggest = "host_maintenance_policy"
346
+ elif key == "nodeTypes":
347
+ suggest = "node_types"
348
+
349
+ if suggest:
350
+ pulumi.log.warn(f"Key '{key}' not found in PreferenceSetVirtualMachinePreferencesSoleTenancyPreferences. Access the value via the '{suggest}' property getter instead.")
351
+
352
+ def __getitem__(self, key: str) -> Any:
353
+ PreferenceSetVirtualMachinePreferencesSoleTenancyPreferences.__key_warning(key)
354
+ return super().__getitem__(key)
355
+
356
+ def get(self, key: str, default = None) -> Any:
357
+ PreferenceSetVirtualMachinePreferencesSoleTenancyPreferences.__key_warning(key)
358
+ return super().get(key, default)
359
+
360
+ def __init__(__self__, *,
361
+ commitment_plan: Optional[str] = None,
362
+ cpu_overcommit_ratio: Optional[float] = None,
363
+ host_maintenance_policy: Optional[str] = None,
364
+ node_types: Optional[Sequence['outputs.PreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeType']] = None):
365
+ """
366
+ :param str commitment_plan: Commitment plan to consider when calculating costs for virtual machine insights and recommendations. If you are unsure which value to set, a 3 year commitment plan is often a good value to start with.
367
+ Possible values:
368
+ COMMITMENT_PLAN_UNSPECIFIED
369
+ ON_DEMAND
370
+ COMMITMENT_1_YEAR
371
+ COMMITMENT_3_YEAR
372
+ :param float cpu_overcommit_ratio: CPU overcommit ratio. Acceptable values are between 1.0 and 2.0 inclusive.
373
+ :param str host_maintenance_policy: Sole Tenancy nodes maintenance policy.
374
+ Possible values:
375
+ HOST_MAINTENANCE_POLICY_UNSPECIFIED
376
+ HOST_MAINTENANCE_POLICY_DEFAULT
377
+ HOST_MAINTENANCE_POLICY_RESTART_IN_PLACE
378
+ HOST_MAINTENANCE_POLICY_MIGRATE_WITHIN_NODE_GROUP
379
+ :param Sequence['PreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeTypeArgs'] node_types: A list of sole tenant node types. An empty list means that all possible node types will be considered.
380
+ Structure is documented below.
381
+ """
382
+ if commitment_plan is not None:
383
+ pulumi.set(__self__, "commitment_plan", commitment_plan)
384
+ if cpu_overcommit_ratio is not None:
385
+ pulumi.set(__self__, "cpu_overcommit_ratio", cpu_overcommit_ratio)
386
+ if host_maintenance_policy is not None:
387
+ pulumi.set(__self__, "host_maintenance_policy", host_maintenance_policy)
388
+ if node_types is not None:
389
+ pulumi.set(__self__, "node_types", node_types)
390
+
391
+ @property
392
+ @pulumi.getter(name="commitmentPlan")
393
+ def commitment_plan(self) -> Optional[str]:
394
+ """
395
+ Commitment plan to consider when calculating costs for virtual machine insights and recommendations. If you are unsure which value to set, a 3 year commitment plan is often a good value to start with.
396
+ Possible values:
397
+ COMMITMENT_PLAN_UNSPECIFIED
398
+ ON_DEMAND
399
+ COMMITMENT_1_YEAR
400
+ COMMITMENT_3_YEAR
401
+ """
402
+ return pulumi.get(self, "commitment_plan")
403
+
404
+ @property
405
+ @pulumi.getter(name="cpuOvercommitRatio")
406
+ def cpu_overcommit_ratio(self) -> Optional[float]:
407
+ """
408
+ CPU overcommit ratio. Acceptable values are between 1.0 and 2.0 inclusive.
409
+ """
410
+ return pulumi.get(self, "cpu_overcommit_ratio")
411
+
412
+ @property
413
+ @pulumi.getter(name="hostMaintenancePolicy")
414
+ def host_maintenance_policy(self) -> Optional[str]:
415
+ """
416
+ Sole Tenancy nodes maintenance policy.
417
+ Possible values:
418
+ HOST_MAINTENANCE_POLICY_UNSPECIFIED
419
+ HOST_MAINTENANCE_POLICY_DEFAULT
420
+ HOST_MAINTENANCE_POLICY_RESTART_IN_PLACE
421
+ HOST_MAINTENANCE_POLICY_MIGRATE_WITHIN_NODE_GROUP
422
+ """
423
+ return pulumi.get(self, "host_maintenance_policy")
424
+
425
+ @property
426
+ @pulumi.getter(name="nodeTypes")
427
+ def node_types(self) -> Optional[Sequence['outputs.PreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeType']]:
428
+ """
429
+ A list of sole tenant node types. An empty list means that all possible node types will be considered.
430
+ Structure is documented below.
431
+ """
432
+ return pulumi.get(self, "node_types")
433
+
434
+
435
+ @pulumi.output_type
436
+ class PreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeType(dict):
437
+ @staticmethod
438
+ def __key_warning(key: str):
439
+ suggest = None
440
+ if key == "nodeName":
441
+ suggest = "node_name"
442
+
443
+ if suggest:
444
+ pulumi.log.warn(f"Key '{key}' not found in PreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeType. Access the value via the '{suggest}' property getter instead.")
445
+
446
+ def __getitem__(self, key: str) -> Any:
447
+ PreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeType.__key_warning(key)
448
+ return super().__getitem__(key)
449
+
450
+ def get(self, key: str, default = None) -> Any:
451
+ PreferenceSetVirtualMachinePreferencesSoleTenancyPreferencesNodeType.__key_warning(key)
452
+ return super().get(key, default)
453
+
454
+ def __init__(__self__, *,
455
+ node_name: Optional[str] = None):
456
+ """
457
+ :param str node_name: Name of the Sole Tenant node. Consult https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes
458
+ """
459
+ if node_name is not None:
460
+ pulumi.set(__self__, "node_name", node_name)
461
+
462
+ @property
463
+ @pulumi.getter(name="nodeName")
464
+ def node_name(self) -> Optional[str]:
465
+ """
466
+ Name of the Sole Tenant node. Consult https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes
467
+ """
468
+ return pulumi.get(self, "node_name")
469
+
470
+
471
+ @pulumi.output_type
472
+ class PreferenceSetVirtualMachinePreferencesVmwareEnginePreferences(dict):
473
+ @staticmethod
474
+ def __key_warning(key: str):
475
+ suggest = None
476
+ if key == "commitmentPlan":
477
+ suggest = "commitment_plan"
478
+ elif key == "cpuOvercommitRatio":
479
+ suggest = "cpu_overcommit_ratio"
480
+ elif key == "memoryOvercommitRatio":
481
+ suggest = "memory_overcommit_ratio"
482
+ elif key == "storageDeduplicationCompressionRatio":
483
+ suggest = "storage_deduplication_compression_ratio"
484
+
485
+ if suggest:
486
+ pulumi.log.warn(f"Key '{key}' not found in PreferenceSetVirtualMachinePreferencesVmwareEnginePreferences. Access the value via the '{suggest}' property getter instead.")
487
+
488
+ def __getitem__(self, key: str) -> Any:
489
+ PreferenceSetVirtualMachinePreferencesVmwareEnginePreferences.__key_warning(key)
490
+ return super().__getitem__(key)
491
+
492
+ def get(self, key: str, default = None) -> Any:
493
+ PreferenceSetVirtualMachinePreferencesVmwareEnginePreferences.__key_warning(key)
494
+ return super().get(key, default)
495
+
496
+ def __init__(__self__, *,
497
+ commitment_plan: Optional[str] = None,
498
+ cpu_overcommit_ratio: Optional[float] = None,
499
+ memory_overcommit_ratio: Optional[float] = None,
500
+ storage_deduplication_compression_ratio: Optional[float] = None):
501
+ """
502
+ :param str commitment_plan: Commitment plan to consider when calculating costs for virtual machine insights and recommendations. If you are unsure which value to set, a 3 year commitment plan is often a good value to start with.
503
+ Possible values:
504
+ COMMITMENT_PLAN_UNSPECIFIED
505
+ ON_DEMAND
506
+ COMMITMENT_1_YEAR_MONTHLY_PAYMENTS
507
+ COMMITMENT_3_YEAR_MONTHLY_PAYMENTS
508
+ COMMITMENT_1_YEAR_UPFRONT_PAYMENT
509
+ COMMITMENT_3_YEAR_UPFRONT_PAYMENT
510
+ :param float cpu_overcommit_ratio: CPU overcommit ratio. Acceptable values are between 1.0 and 8.0, with 0.1 increment.
511
+ :param float memory_overcommit_ratio: Memory overcommit ratio. Acceptable values are 1.0, 1.25, 1.5, 1.75 and 2.0.
512
+ :param float storage_deduplication_compression_ratio: The Deduplication and Compression ratio is based on the logical (Used Before) space required to store data before applying deduplication and compression, in relation to the physical (Used After) space required after applying deduplication and compression. Specifically, the ratio is the Used Before space divided by the Used After space. For example, if the Used Before space is 3 GB, but the physical Used After space is 1 GB, the deduplication and compression ratio is 3x. Acceptable values are between 1.0 and 4.0.
513
+ """
514
+ if commitment_plan is not None:
515
+ pulumi.set(__self__, "commitment_plan", commitment_plan)
516
+ if cpu_overcommit_ratio is not None:
517
+ pulumi.set(__self__, "cpu_overcommit_ratio", cpu_overcommit_ratio)
518
+ if memory_overcommit_ratio is not None:
519
+ pulumi.set(__self__, "memory_overcommit_ratio", memory_overcommit_ratio)
520
+ if storage_deduplication_compression_ratio is not None:
521
+ pulumi.set(__self__, "storage_deduplication_compression_ratio", storage_deduplication_compression_ratio)
522
+
523
+ @property
524
+ @pulumi.getter(name="commitmentPlan")
525
+ def commitment_plan(self) -> Optional[str]:
526
+ """
527
+ Commitment plan to consider when calculating costs for virtual machine insights and recommendations. If you are unsure which value to set, a 3 year commitment plan is often a good value to start with.
528
+ Possible values:
529
+ COMMITMENT_PLAN_UNSPECIFIED
530
+ ON_DEMAND
531
+ COMMITMENT_1_YEAR_MONTHLY_PAYMENTS
532
+ COMMITMENT_3_YEAR_MONTHLY_PAYMENTS
533
+ COMMITMENT_1_YEAR_UPFRONT_PAYMENT
534
+ COMMITMENT_3_YEAR_UPFRONT_PAYMENT
535
+ """
536
+ return pulumi.get(self, "commitment_plan")
537
+
538
+ @property
539
+ @pulumi.getter(name="cpuOvercommitRatio")
540
+ def cpu_overcommit_ratio(self) -> Optional[float]:
541
+ """
542
+ CPU overcommit ratio. Acceptable values are between 1.0 and 8.0, with 0.1 increment.
543
+ """
544
+ return pulumi.get(self, "cpu_overcommit_ratio")
545
+
546
+ @property
547
+ @pulumi.getter(name="memoryOvercommitRatio")
548
+ def memory_overcommit_ratio(self) -> Optional[float]:
549
+ """
550
+ Memory overcommit ratio. Acceptable values are 1.0, 1.25, 1.5, 1.75 and 2.0.
551
+ """
552
+ return pulumi.get(self, "memory_overcommit_ratio")
553
+
554
+ @property
555
+ @pulumi.getter(name="storageDeduplicationCompressionRatio")
556
+ def storage_deduplication_compression_ratio(self) -> Optional[float]:
557
+ """
558
+ The Deduplication and Compression ratio is based on the logical (Used Before) space required to store data before applying deduplication and compression, in relation to the physical (Used After) space required after applying deduplication and compression. Specifically, the ratio is the Used Before space divided by the Used After space. For example, if the Used Before space is 3 GB, but the physical Used After space is 1 GB, the deduplication and compression ratio is 3x. Acceptable values are between 1.0 and 4.0.
559
+ """
560
+ return pulumi.get(self, "storage_deduplication_compression_ratio")
561
+
562
+