pulumi-gcp 8.24.0a1743057423__py3-none-any.whl → 8.25.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 (150) hide show
  1. pulumi_gcp/__init__.py +131 -0
  2. pulumi_gcp/_inputs.py +48 -0
  3. pulumi_gcp/accesscontextmanager/_inputs.py +324 -12
  4. pulumi_gcp/accesscontextmanager/outputs.py +204 -12
  5. pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
  6. pulumi_gcp/apigee/__init__.py +1 -0
  7. pulumi_gcp/apigee/_inputs.py +58 -0
  8. pulumi_gcp/apigee/dns_zone.py +491 -0
  9. pulumi_gcp/apigee/outputs.py +53 -0
  10. pulumi_gcp/bigquery/_inputs.py +158 -0
  11. pulumi_gcp/bigquery/outputs.py +115 -0
  12. pulumi_gcp/bigquery/reservation.py +189 -1
  13. pulumi_gcp/bigquery/reservation_assignment.py +7 -7
  14. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +11 -7
  15. pulumi_gcp/bigtable/table.py +8 -8
  16. pulumi_gcp/chronicle/data_access_label.py +16 -0
  17. pulumi_gcp/chronicle/data_access_scope.py +16 -0
  18. pulumi_gcp/chronicle/reference_list.py +16 -0
  19. pulumi_gcp/chronicle/retrohunt.py +16 -0
  20. pulumi_gcp/chronicle/rule.py +16 -0
  21. pulumi_gcp/chronicle/rule_deployment.py +16 -0
  22. pulumi_gcp/chronicle/watchlist.py +16 -0
  23. pulumi_gcp/cloudfunctionsv2/_inputs.py +20 -0
  24. pulumi_gcp/cloudfunctionsv2/outputs.py +25 -0
  25. pulumi_gcp/cloudrunv2/_inputs.py +20 -0
  26. pulumi_gcp/cloudrunv2/outputs.py +25 -0
  27. pulumi_gcp/cloudrunv2/service.py +14 -14
  28. pulumi_gcp/compute/__init__.py +2 -0
  29. pulumi_gcp/compute/_inputs.py +2627 -61
  30. pulumi_gcp/compute/backend_service.py +121 -3
  31. pulumi_gcp/compute/get_backend_service.py +15 -4
  32. pulumi_gcp/compute/get_images.py +172 -0
  33. pulumi_gcp/compute/get_instance.py +12 -1
  34. pulumi_gcp/compute/get_region_backend_service.py +482 -0
  35. pulumi_gcp/compute/get_resource_policy.py +15 -4
  36. pulumi_gcp/compute/get_router.py +12 -1
  37. pulumi_gcp/compute/get_subnetwork.py +43 -1
  38. pulumi_gcp/compute/image.py +54 -0
  39. pulumi_gcp/compute/instance.py +47 -0
  40. pulumi_gcp/compute/instance_from_machine_image.py +94 -0
  41. pulumi_gcp/compute/instance_from_template.py +47 -0
  42. pulumi_gcp/compute/interconnect.py +14 -7
  43. pulumi_gcp/compute/outputs.py +4522 -391
  44. pulumi_gcp/compute/public_delegated_prefix.py +69 -15
  45. pulumi_gcp/compute/resource_policy.py +169 -3
  46. pulumi_gcp/compute/router.py +54 -0
  47. pulumi_gcp/compute/router_route_policy.py +16 -0
  48. pulumi_gcp/compute/subnetwork.py +35 -5
  49. pulumi_gcp/config/__init__.pyi +8 -0
  50. pulumi_gcp/config/outputs.py +27 -0
  51. pulumi_gcp/config/vars.py +16 -0
  52. pulumi_gcp/container/_inputs.py +274 -13
  53. pulumi_gcp/container/cluster.py +101 -0
  54. pulumi_gcp/container/get_cluster.py +23 -1
  55. pulumi_gcp/container/get_registry_image.py +4 -0
  56. pulumi_gcp/container/get_registry_repository.py +4 -0
  57. pulumi_gcp/container/outputs.py +305 -10
  58. pulumi_gcp/container/registry.py +4 -0
  59. pulumi_gcp/datafusion/instance.py +68 -0
  60. pulumi_gcp/dataproc/__init__.py +8 -0
  61. pulumi_gcp/dataproc/_inputs.py +219 -0
  62. pulumi_gcp/dataproc/get_metastore_database_iam_policy.py +193 -0
  63. pulumi_gcp/dataproc/get_metastore_table_iam_policy.py +210 -0
  64. pulumi_gcp/dataproc/metastore_database_iam_binding.py +848 -0
  65. pulumi_gcp/dataproc/metastore_database_iam_member.py +848 -0
  66. pulumi_gcp/dataproc/metastore_database_iam_policy.py +687 -0
  67. pulumi_gcp/dataproc/metastore_federation.py +38 -2
  68. pulumi_gcp/dataproc/metastore_table_iam_binding.py +895 -0
  69. pulumi_gcp/dataproc/metastore_table_iam_member.py +895 -0
  70. pulumi_gcp/dataproc/metastore_table_iam_policy.py +734 -0
  71. pulumi_gcp/dataproc/outputs.py +139 -0
  72. pulumi_gcp/datastream/_inputs.py +311 -94
  73. pulumi_gcp/datastream/connection_profile.py +40 -0
  74. pulumi_gcp/datastream/outputs.py +244 -51
  75. pulumi_gcp/datastream/stream.py +216 -0
  76. pulumi_gcp/discoveryengine/__init__.py +1 -0
  77. pulumi_gcp/discoveryengine/sitemap.py +504 -0
  78. pulumi_gcp/eventarc/__init__.py +1 -0
  79. pulumi_gcp/eventarc/enrollment.py +980 -0
  80. pulumi_gcp/firebase/__init__.py +1 -0
  81. pulumi_gcp/firebase/_inputs.py +484 -0
  82. pulumi_gcp/firebase/app_hosting_build.py +1232 -0
  83. pulumi_gcp/firebase/outputs.py +333 -0
  84. pulumi_gcp/identityplatform/_inputs.py +91 -0
  85. pulumi_gcp/identityplatform/outputs.py +73 -0
  86. pulumi_gcp/identityplatform/tenant.py +56 -0
  87. pulumi_gcp/lustre/__init__.py +8 -0
  88. pulumi_gcp/lustre/instance.py +983 -0
  89. pulumi_gcp/managedkafka/cluster.py +2 -2
  90. pulumi_gcp/memorystore/__init__.py +1 -0
  91. pulumi_gcp/memorystore/_inputs.py +1252 -7
  92. pulumi_gcp/memorystore/get_instance.py +45 -1
  93. pulumi_gcp/memorystore/instance.py +481 -30
  94. pulumi_gcp/memorystore/instance_desired_user_created_endpoints.py +843 -0
  95. pulumi_gcp/memorystore/outputs.py +1440 -15
  96. pulumi_gcp/networkmanagement/_inputs.py +422 -91
  97. pulumi_gcp/networkmanagement/connectivity_test.py +233 -211
  98. pulumi_gcp/networkmanagement/outputs.py +280 -61
  99. pulumi_gcp/networksecurity/_inputs.py +891 -26
  100. pulumi_gcp/networksecurity/intercept_deployment_group.py +44 -16
  101. pulumi_gcp/networksecurity/intercept_endpoint_group.py +90 -36
  102. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +53 -8
  103. pulumi_gcp/networksecurity/mirroring_deployment_group.py +44 -16
  104. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +94 -36
  105. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +53 -8
  106. pulumi_gcp/networksecurity/outputs.py +531 -1
  107. pulumi_gcp/networksecurity/security_profile.py +8 -0
  108. pulumi_gcp/organizations/__init__.py +2 -0
  109. pulumi_gcp/organizations/get_iam_custom_role.py +198 -0
  110. pulumi_gcp/organizations/get_iam_custom_roles.py +164 -0
  111. pulumi_gcp/organizations/outputs.py +96 -0
  112. pulumi_gcp/osconfig/__init__.py +1 -0
  113. pulumi_gcp/osconfig/_inputs.py +5413 -0
  114. pulumi_gcp/osconfig/outputs.py +3962 -0
  115. pulumi_gcp/osconfig/v2_policy_orchestrator.py +971 -0
  116. pulumi_gcp/parametermanager/get_parameter.py +16 -1
  117. pulumi_gcp/parametermanager/get_parameter_version.py +19 -1
  118. pulumi_gcp/parametermanager/get_parameter_version_render.py +4 -0
  119. pulumi_gcp/parametermanager/get_parameters.py +4 -0
  120. pulumi_gcp/parametermanager/get_regional_parameter.py +4 -0
  121. pulumi_gcp/parametermanager/get_regional_parameter_version.py +4 -0
  122. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +8 -0
  123. pulumi_gcp/parametermanager/get_regional_parameters.py +4 -0
  124. pulumi_gcp/parametermanager/outputs.py +11 -0
  125. pulumi_gcp/parametermanager/parameter.py +88 -0
  126. pulumi_gcp/parametermanager/parameter_version.py +74 -0
  127. pulumi_gcp/parametermanager/regional_parameter.py +12 -0
  128. pulumi_gcp/parametermanager/regional_parameter_version.py +12 -0
  129. pulumi_gcp/provider.py +75 -0
  130. pulumi_gcp/pulumi-plugin.json +1 -1
  131. pulumi_gcp/redis/_inputs.py +136 -0
  132. pulumi_gcp/redis/cluster.py +54 -0
  133. pulumi_gcp/redis/outputs.py +114 -0
  134. pulumi_gcp/secretmanager/regional_secret_version.py +0 -16
  135. pulumi_gcp/storage/__init__.py +6 -0
  136. pulumi_gcp/storage/_inputs.py +1322 -0
  137. pulumi_gcp/storage/bucket.py +7 -7
  138. pulumi_gcp/storage/control_folder_intelligence_config.py +420 -0
  139. pulumi_gcp/storage/control_organization_intelligence_config.py +420 -0
  140. pulumi_gcp/storage/control_project_intelligence_config.py +408 -0
  141. pulumi_gcp/storage/get_bucket_object_content.py +16 -1
  142. pulumi_gcp/storage/get_control_folder_intelligence_config.py +160 -0
  143. pulumi_gcp/storage/get_control_organization_intelligence_config.py +160 -0
  144. pulumi_gcp/storage/get_control_project_intelligence_config.py +160 -0
  145. pulumi_gcp/storage/outputs.py +1553 -17
  146. pulumi_gcp/workbench/instance.py +14 -2
  147. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/METADATA +1 -1
  148. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/RECORD +150 -124
  149. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/WHEEL +0 -0
  150. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/top_level.txt +0 -0
@@ -27,10 +27,13 @@ class GetSubnetworkResult:
27
27
  """
28
28
  A collection of values returned by getSubnetwork.
29
29
  """
30
- def __init__(__self__, description=None, gateway_address=None, id=None, internal_ipv6_prefix=None, ip_cidr_range=None, name=None, network=None, private_ip_google_access=None, project=None, region=None, secondary_ip_ranges=None, self_link=None, subnetwork_id=None):
30
+ def __init__(__self__, description=None, external_ipv6_prefix=None, gateway_address=None, id=None, internal_ipv6_prefix=None, ip_cidr_range=None, ipv6_access_type=None, name=None, network=None, private_ip_google_access=None, project=None, region=None, secondary_ip_ranges=None, self_link=None, stack_type=None, subnetwork_id=None):
31
31
  if description and not isinstance(description, str):
32
32
  raise TypeError("Expected argument 'description' to be a str")
33
33
  pulumi.set(__self__, "description", description)
34
+ if external_ipv6_prefix and not isinstance(external_ipv6_prefix, str):
35
+ raise TypeError("Expected argument 'external_ipv6_prefix' to be a str")
36
+ pulumi.set(__self__, "external_ipv6_prefix", external_ipv6_prefix)
34
37
  if gateway_address and not isinstance(gateway_address, str):
35
38
  raise TypeError("Expected argument 'gateway_address' to be a str")
36
39
  pulumi.set(__self__, "gateway_address", gateway_address)
@@ -43,6 +46,9 @@ class GetSubnetworkResult:
43
46
  if ip_cidr_range and not isinstance(ip_cidr_range, str):
44
47
  raise TypeError("Expected argument 'ip_cidr_range' to be a str")
45
48
  pulumi.set(__self__, "ip_cidr_range", ip_cidr_range)
49
+ if ipv6_access_type and not isinstance(ipv6_access_type, str):
50
+ raise TypeError("Expected argument 'ipv6_access_type' to be a str")
51
+ pulumi.set(__self__, "ipv6_access_type", ipv6_access_type)
46
52
  if name and not isinstance(name, str):
47
53
  raise TypeError("Expected argument 'name' to be a str")
48
54
  pulumi.set(__self__, "name", name)
@@ -64,6 +70,9 @@ class GetSubnetworkResult:
64
70
  if self_link and not isinstance(self_link, str):
65
71
  raise TypeError("Expected argument 'self_link' to be a str")
66
72
  pulumi.set(__self__, "self_link", self_link)
73
+ if stack_type and not isinstance(stack_type, str):
74
+ raise TypeError("Expected argument 'stack_type' to be a str")
75
+ pulumi.set(__self__, "stack_type", stack_type)
67
76
  if subnetwork_id and not isinstance(subnetwork_id, int):
68
77
  raise TypeError("Expected argument 'subnetwork_id' to be a int")
69
78
  pulumi.set(__self__, "subnetwork_id", subnetwork_id)
@@ -76,6 +85,14 @@ class GetSubnetworkResult:
76
85
  """
77
86
  return pulumi.get(self, "description")
78
87
 
88
+ @property
89
+ @pulumi.getter(name="externalIpv6Prefix")
90
+ def external_ipv6_prefix(self) -> str:
91
+ """
92
+ The external IPv6 address range that is assigned to this subnetwork.
93
+ """
94
+ return pulumi.get(self, "external_ipv6_prefix")
95
+
79
96
  @property
80
97
  @pulumi.getter(name="gatewayAddress")
81
98
  def gateway_address(self) -> str:
@@ -109,6 +126,14 @@ class GetSubnetworkResult:
109
126
  """
110
127
  return pulumi.get(self, "ip_cidr_range")
111
128
 
129
+ @property
130
+ @pulumi.getter(name="ipv6AccessType")
131
+ def ipv6_access_type(self) -> str:
132
+ """
133
+ The access type of IPv6 address this subnet holds. Possible values are: `EXTERNAL`, `INTERNAL`.
134
+ """
135
+ return pulumi.get(self, "ipv6_access_type")
136
+
112
137
  @property
113
138
  @pulumi.getter
114
139
  def name(self) -> Optional[str]:
@@ -157,6 +182,14 @@ class GetSubnetworkResult:
157
182
  def self_link(self) -> str:
158
183
  return pulumi.get(self, "self_link")
159
184
 
185
+ @property
186
+ @pulumi.getter(name="stackType")
187
+ def stack_type(self) -> str:
188
+ """
189
+ The stack type for the subnet. Possible values are: `IPV4_ONLY`, `IPV4_IPV6`, `IPV6_ONLY`.
190
+ """
191
+ return pulumi.get(self, "stack_type")
192
+
160
193
  @property
161
194
  @pulumi.getter(name="subnetworkId")
162
195
  def subnetwork_id(self) -> int:
@@ -173,10 +206,12 @@ class AwaitableGetSubnetworkResult(GetSubnetworkResult):
173
206
  yield self
174
207
  return GetSubnetworkResult(
175
208
  description=self.description,
209
+ external_ipv6_prefix=self.external_ipv6_prefix,
176
210
  gateway_address=self.gateway_address,
177
211
  id=self.id,
178
212
  internal_ipv6_prefix=self.internal_ipv6_prefix,
179
213
  ip_cidr_range=self.ip_cidr_range,
214
+ ipv6_access_type=self.ipv6_access_type,
180
215
  name=self.name,
181
216
  network=self.network,
182
217
  private_ip_google_access=self.private_ip_google_access,
@@ -184,6 +219,7 @@ class AwaitableGetSubnetworkResult(GetSubnetworkResult):
184
219
  region=self.region,
185
220
  secondary_ip_ranges=self.secondary_ip_ranges,
186
221
  self_link=self.self_link,
222
+ stack_type=self.stack_type,
187
223
  subnetwork_id=self.subnetwork_id)
188
224
 
189
225
 
@@ -225,10 +261,12 @@ def get_subnetwork(name: Optional[str] = None,
225
261
 
226
262
  return AwaitableGetSubnetworkResult(
227
263
  description=pulumi.get(__ret__, 'description'),
264
+ external_ipv6_prefix=pulumi.get(__ret__, 'external_ipv6_prefix'),
228
265
  gateway_address=pulumi.get(__ret__, 'gateway_address'),
229
266
  id=pulumi.get(__ret__, 'id'),
230
267
  internal_ipv6_prefix=pulumi.get(__ret__, 'internal_ipv6_prefix'),
231
268
  ip_cidr_range=pulumi.get(__ret__, 'ip_cidr_range'),
269
+ ipv6_access_type=pulumi.get(__ret__, 'ipv6_access_type'),
232
270
  name=pulumi.get(__ret__, 'name'),
233
271
  network=pulumi.get(__ret__, 'network'),
234
272
  private_ip_google_access=pulumi.get(__ret__, 'private_ip_google_access'),
@@ -236,6 +274,7 @@ def get_subnetwork(name: Optional[str] = None,
236
274
  region=pulumi.get(__ret__, 'region'),
237
275
  secondary_ip_ranges=pulumi.get(__ret__, 'secondary_ip_ranges'),
238
276
  self_link=pulumi.get(__ret__, 'self_link'),
277
+ stack_type=pulumi.get(__ret__, 'stack_type'),
239
278
  subnetwork_id=pulumi.get(__ret__, 'subnetwork_id'))
240
279
  def get_subnetwork_output(name: Optional[pulumi.Input[Optional[str]]] = None,
241
280
  project: Optional[pulumi.Input[Optional[str]]] = None,
@@ -274,10 +313,12 @@ def get_subnetwork_output(name: Optional[pulumi.Input[Optional[str]]] = None,
274
313
  __ret__ = pulumi.runtime.invoke_output('gcp:compute/getSubnetwork:getSubnetwork', __args__, opts=opts, typ=GetSubnetworkResult)
275
314
  return __ret__.apply(lambda __response__: GetSubnetworkResult(
276
315
  description=pulumi.get(__response__, 'description'),
316
+ external_ipv6_prefix=pulumi.get(__response__, 'external_ipv6_prefix'),
277
317
  gateway_address=pulumi.get(__response__, 'gateway_address'),
278
318
  id=pulumi.get(__response__, 'id'),
279
319
  internal_ipv6_prefix=pulumi.get(__response__, 'internal_ipv6_prefix'),
280
320
  ip_cidr_range=pulumi.get(__response__, 'ip_cidr_range'),
321
+ ipv6_access_type=pulumi.get(__response__, 'ipv6_access_type'),
281
322
  name=pulumi.get(__response__, 'name'),
282
323
  network=pulumi.get(__response__, 'network'),
283
324
  private_ip_google_access=pulumi.get(__response__, 'private_ip_google_access'),
@@ -285,4 +326,5 @@ def get_subnetwork_output(name: Optional[pulumi.Input[Optional[str]]] = None,
285
326
  region=pulumi.get(__response__, 'region'),
286
327
  secondary_ip_ranges=pulumi.get(__response__, 'secondary_ip_ranges'),
287
328
  self_link=pulumi.get(__response__, 'self_link'),
329
+ stack_type=pulumi.get(__response__, 'stack_type'),
288
330
  subnetwork_id=pulumi.get(__response__, 'subnetwork_id')))
@@ -31,6 +31,7 @@ class ImageArgs:
31
31
  name: Optional[pulumi.Input[str]] = None,
32
32
  project: Optional[pulumi.Input[str]] = None,
33
33
  raw_disk: Optional[pulumi.Input['ImageRawDiskArgs']] = None,
34
+ shielded_instance_initial_state: Optional[pulumi.Input['ImageShieldedInstanceInitialStateArgs']] = None,
34
35
  source_disk: Optional[pulumi.Input[str]] = None,
35
36
  source_image: Optional[pulumi.Input[str]] = None,
36
37
  source_snapshot: Optional[pulumi.Input[str]] = None,
@@ -71,6 +72,8 @@ class ImageArgs:
71
72
  If it is not provided, the provider project is used.
72
73
  :param pulumi.Input['ImageRawDiskArgs'] raw_disk: The parameters of the raw disk image.
73
74
  Structure is documented below.
75
+ :param pulumi.Input['ImageShieldedInstanceInitialStateArgs'] shielded_instance_initial_state: Set the secure boot keys of shielded instance.
76
+ Structure is documented below.
74
77
  :param pulumi.Input[str] source_disk: The source disk to create this image based on.
75
78
  You must provide either this property or the
76
79
  rawDisk.source property but not both to create an image.
@@ -111,6 +114,8 @@ class ImageArgs:
111
114
  pulumi.set(__self__, "project", project)
112
115
  if raw_disk is not None:
113
116
  pulumi.set(__self__, "raw_disk", raw_disk)
117
+ if shielded_instance_initial_state is not None:
118
+ pulumi.set(__self__, "shielded_instance_initial_state", shielded_instance_initial_state)
114
119
  if source_disk is not None:
115
120
  pulumi.set(__self__, "source_disk", source_disk)
116
121
  if source_image is not None:
@@ -264,6 +269,19 @@ class ImageArgs:
264
269
  def raw_disk(self, value: Optional[pulumi.Input['ImageRawDiskArgs']]):
265
270
  pulumi.set(self, "raw_disk", value)
266
271
 
272
+ @property
273
+ @pulumi.getter(name="shieldedInstanceInitialState")
274
+ def shielded_instance_initial_state(self) -> Optional[pulumi.Input['ImageShieldedInstanceInitialStateArgs']]:
275
+ """
276
+ Set the secure boot keys of shielded instance.
277
+ Structure is documented below.
278
+ """
279
+ return pulumi.get(self, "shielded_instance_initial_state")
280
+
281
+ @shielded_instance_initial_state.setter
282
+ def shielded_instance_initial_state(self, value: Optional[pulumi.Input['ImageShieldedInstanceInitialStateArgs']]):
283
+ pulumi.set(self, "shielded_instance_initial_state", value)
284
+
267
285
  @property
268
286
  @pulumi.getter(name="sourceDisk")
269
287
  def source_disk(self) -> Optional[pulumi.Input[str]]:
@@ -347,6 +365,7 @@ class _ImageState:
347
365
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
348
366
  raw_disk: Optional[pulumi.Input['ImageRawDiskArgs']] = None,
349
367
  self_link: Optional[pulumi.Input[str]] = None,
368
+ shielded_instance_initial_state: Optional[pulumi.Input['ImageShieldedInstanceInitialStateArgs']] = None,
350
369
  source_disk: Optional[pulumi.Input[str]] = None,
351
370
  source_image: Optional[pulumi.Input[str]] = None,
352
371
  source_snapshot: Optional[pulumi.Input[str]] = None,
@@ -396,6 +415,8 @@ class _ImageState:
396
415
  :param pulumi.Input['ImageRawDiskArgs'] raw_disk: The parameters of the raw disk image.
397
416
  Structure is documented below.
398
417
  :param pulumi.Input[str] self_link: The URI of the created resource.
418
+ :param pulumi.Input['ImageShieldedInstanceInitialStateArgs'] shielded_instance_initial_state: Set the secure boot keys of shielded instance.
419
+ Structure is documented below.
399
420
  :param pulumi.Input[str] source_disk: The source disk to create this image based on.
400
421
  You must provide either this property or the
401
422
  rawDisk.source property but not both to create an image.
@@ -448,6 +469,8 @@ class _ImageState:
448
469
  pulumi.set(__self__, "raw_disk", raw_disk)
449
470
  if self_link is not None:
450
471
  pulumi.set(__self__, "self_link", self_link)
472
+ if shielded_instance_initial_state is not None:
473
+ pulumi.set(__self__, "shielded_instance_initial_state", shielded_instance_initial_state)
451
474
  if source_disk is not None:
452
475
  pulumi.set(__self__, "source_disk", source_disk)
453
476
  if source_image is not None:
@@ -676,6 +699,19 @@ class _ImageState:
676
699
  def self_link(self, value: Optional[pulumi.Input[str]]):
677
700
  pulumi.set(self, "self_link", value)
678
701
 
702
+ @property
703
+ @pulumi.getter(name="shieldedInstanceInitialState")
704
+ def shielded_instance_initial_state(self) -> Optional[pulumi.Input['ImageShieldedInstanceInitialStateArgs']]:
705
+ """
706
+ Set the secure boot keys of shielded instance.
707
+ Structure is documented below.
708
+ """
709
+ return pulumi.get(self, "shielded_instance_initial_state")
710
+
711
+ @shielded_instance_initial_state.setter
712
+ def shielded_instance_initial_state(self, value: Optional[pulumi.Input['ImageShieldedInstanceInitialStateArgs']]):
713
+ pulumi.set(self, "shielded_instance_initial_state", value)
714
+
679
715
  @property
680
716
  @pulumi.getter(name="sourceDisk")
681
717
  def source_disk(self) -> Optional[pulumi.Input[str]]:
@@ -755,6 +791,7 @@ class Image(pulumi.CustomResource):
755
791
  name: Optional[pulumi.Input[str]] = None,
756
792
  project: Optional[pulumi.Input[str]] = None,
757
793
  raw_disk: Optional[pulumi.Input[Union['ImageRawDiskArgs', 'ImageRawDiskArgsDict']]] = None,
794
+ shielded_instance_initial_state: Optional[pulumi.Input[Union['ImageShieldedInstanceInitialStateArgs', 'ImageShieldedInstanceInitialStateArgsDict']]] = None,
758
795
  source_disk: Optional[pulumi.Input[str]] = None,
759
796
  source_image: Optional[pulumi.Input[str]] = None,
760
797
  source_snapshot: Optional[pulumi.Input[str]] = None,
@@ -919,6 +956,8 @@ class Image(pulumi.CustomResource):
919
956
  If it is not provided, the provider project is used.
920
957
  :param pulumi.Input[Union['ImageRawDiskArgs', 'ImageRawDiskArgsDict']] raw_disk: The parameters of the raw disk image.
921
958
  Structure is documented below.
959
+ :param pulumi.Input[Union['ImageShieldedInstanceInitialStateArgs', 'ImageShieldedInstanceInitialStateArgsDict']] shielded_instance_initial_state: Set the secure boot keys of shielded instance.
960
+ Structure is documented below.
922
961
  :param pulumi.Input[str] source_disk: The source disk to create this image based on.
923
962
  You must provide either this property or the
924
963
  rawDisk.source property but not both to create an image.
@@ -1093,6 +1132,7 @@ class Image(pulumi.CustomResource):
1093
1132
  name: Optional[pulumi.Input[str]] = None,
1094
1133
  project: Optional[pulumi.Input[str]] = None,
1095
1134
  raw_disk: Optional[pulumi.Input[Union['ImageRawDiskArgs', 'ImageRawDiskArgsDict']]] = None,
1135
+ shielded_instance_initial_state: Optional[pulumi.Input[Union['ImageShieldedInstanceInitialStateArgs', 'ImageShieldedInstanceInitialStateArgsDict']]] = None,
1096
1136
  source_disk: Optional[pulumi.Input[str]] = None,
1097
1137
  source_image: Optional[pulumi.Input[str]] = None,
1098
1138
  source_snapshot: Optional[pulumi.Input[str]] = None,
@@ -1116,6 +1156,7 @@ class Image(pulumi.CustomResource):
1116
1156
  __props__.__dict__["name"] = name
1117
1157
  __props__.__dict__["project"] = project
1118
1158
  __props__.__dict__["raw_disk"] = raw_disk
1159
+ __props__.__dict__["shielded_instance_initial_state"] = shielded_instance_initial_state
1119
1160
  __props__.__dict__["source_disk"] = source_disk
1120
1161
  __props__.__dict__["source_image"] = source_image
1121
1162
  __props__.__dict__["source_snapshot"] = source_snapshot
@@ -1154,6 +1195,7 @@ class Image(pulumi.CustomResource):
1154
1195
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1155
1196
  raw_disk: Optional[pulumi.Input[Union['ImageRawDiskArgs', 'ImageRawDiskArgsDict']]] = None,
1156
1197
  self_link: Optional[pulumi.Input[str]] = None,
1198
+ shielded_instance_initial_state: Optional[pulumi.Input[Union['ImageShieldedInstanceInitialStateArgs', 'ImageShieldedInstanceInitialStateArgsDict']]] = None,
1157
1199
  source_disk: Optional[pulumi.Input[str]] = None,
1158
1200
  source_image: Optional[pulumi.Input[str]] = None,
1159
1201
  source_snapshot: Optional[pulumi.Input[str]] = None,
@@ -1208,6 +1250,8 @@ class Image(pulumi.CustomResource):
1208
1250
  :param pulumi.Input[Union['ImageRawDiskArgs', 'ImageRawDiskArgsDict']] raw_disk: The parameters of the raw disk image.
1209
1251
  Structure is documented below.
1210
1252
  :param pulumi.Input[str] self_link: The URI of the created resource.
1253
+ :param pulumi.Input[Union['ImageShieldedInstanceInitialStateArgs', 'ImageShieldedInstanceInitialStateArgsDict']] shielded_instance_initial_state: Set the secure boot keys of shielded instance.
1254
+ Structure is documented below.
1211
1255
  :param pulumi.Input[str] source_disk: The source disk to create this image based on.
1212
1256
  You must provide either this property or the
1213
1257
  rawDisk.source property but not both to create an image.
@@ -1248,6 +1292,7 @@ class Image(pulumi.CustomResource):
1248
1292
  __props__.__dict__["pulumi_labels"] = pulumi_labels
1249
1293
  __props__.__dict__["raw_disk"] = raw_disk
1250
1294
  __props__.__dict__["self_link"] = self_link
1295
+ __props__.__dict__["shielded_instance_initial_state"] = shielded_instance_initial_state
1251
1296
  __props__.__dict__["source_disk"] = source_disk
1252
1297
  __props__.__dict__["source_image"] = source_image
1253
1298
  __props__.__dict__["source_snapshot"] = source_snapshot
@@ -1409,6 +1454,15 @@ class Image(pulumi.CustomResource):
1409
1454
  """
1410
1455
  return pulumi.get(self, "self_link")
1411
1456
 
1457
+ @property
1458
+ @pulumi.getter(name="shieldedInstanceInitialState")
1459
+ def shielded_instance_initial_state(self) -> pulumi.Output['outputs.ImageShieldedInstanceInitialState']:
1460
+ """
1461
+ Set the secure boot keys of shielded instance.
1462
+ Structure is documented below.
1463
+ """
1464
+ return pulumi.get(self, "shielded_instance_initial_state")
1465
+
1412
1466
  @property
1413
1467
  @pulumi.getter(name="sourceDisk")
1414
1468
  def source_disk(self) -> pulumi.Output[Optional[str]]:
@@ -35,6 +35,7 @@ class InstanceArgs:
35
35
  enable_display: Optional[pulumi.Input[bool]] = None,
36
36
  guest_accelerators: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceGuestAcceleratorArgs']]]] = None,
37
37
  hostname: Optional[pulumi.Input[str]] = None,
38
+ instance_encryption_key: Optional[pulumi.Input['InstanceInstanceEncryptionKeyArgs']] = None,
38
39
  key_revocation_action_type: Optional[pulumi.Input[str]] = None,
39
40
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
40
41
  metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -90,6 +91,7 @@ class InstanceArgs:
90
91
  :param pulumi.Input[str] hostname: A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid.
91
92
  Valid format is a series of labels 1-63 characters long matching the regular expression `a-z`, concatenated with periods.
92
93
  The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.
94
+ :param pulumi.Input['InstanceInstanceEncryptionKeyArgs'] instance_encryption_key: Configuration for data encryption on the instance with encryption keys. Structure is documented below.
93
95
  :param pulumi.Input[str] key_revocation_action_type: Action to be taken when a customer's encryption key is revoked. Supports `STOP` and `NONE`, with `NONE` being the default.
94
96
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A map of key/value label pairs to assign to the instance.
95
97
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
@@ -174,6 +176,8 @@ class InstanceArgs:
174
176
  pulumi.set(__self__, "guest_accelerators", guest_accelerators)
175
177
  if hostname is not None:
176
178
  pulumi.set(__self__, "hostname", hostname)
179
+ if instance_encryption_key is not None:
180
+ pulumi.set(__self__, "instance_encryption_key", instance_encryption_key)
177
181
  if key_revocation_action_type is not None:
178
182
  pulumi.set(__self__, "key_revocation_action_type", key_revocation_action_type)
179
183
  if labels is not None:
@@ -400,6 +404,18 @@ class InstanceArgs:
400
404
  def hostname(self, value: Optional[pulumi.Input[str]]):
401
405
  pulumi.set(self, "hostname", value)
402
406
 
407
+ @property
408
+ @pulumi.getter(name="instanceEncryptionKey")
409
+ def instance_encryption_key(self) -> Optional[pulumi.Input['InstanceInstanceEncryptionKeyArgs']]:
410
+ """
411
+ Configuration for data encryption on the instance with encryption keys. Structure is documented below.
412
+ """
413
+ return pulumi.get(self, "instance_encryption_key")
414
+
415
+ @instance_encryption_key.setter
416
+ def instance_encryption_key(self, value: Optional[pulumi.Input['InstanceInstanceEncryptionKeyArgs']]):
417
+ pulumi.set(self, "instance_encryption_key", value)
418
+
403
419
  @property
404
420
  @pulumi.getter(name="keyRevocationActionType")
405
421
  def key_revocation_action_type(self) -> Optional[pulumi.Input[str]]:
@@ -676,6 +692,7 @@ class _InstanceState:
676
692
  enable_display: Optional[pulumi.Input[bool]] = None,
677
693
  guest_accelerators: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceGuestAcceleratorArgs']]]] = None,
678
694
  hostname: Optional[pulumi.Input[str]] = None,
695
+ instance_encryption_key: Optional[pulumi.Input['InstanceInstanceEncryptionKeyArgs']] = None,
679
696
  instance_id: Optional[pulumi.Input[str]] = None,
680
697
  key_revocation_action_type: Optional[pulumi.Input[str]] = None,
681
698
  label_fingerprint: Optional[pulumi.Input[str]] = None,
@@ -730,6 +747,7 @@ class _InstanceState:
730
747
  :param pulumi.Input[str] hostname: A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid.
731
748
  Valid format is a series of labels 1-63 characters long matching the regular expression `a-z`, concatenated with periods.
732
749
  The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.
750
+ :param pulumi.Input['InstanceInstanceEncryptionKeyArgs'] instance_encryption_key: Configuration for data encryption on the instance with encryption keys. Structure is documented below.
733
751
  :param pulumi.Input[str] instance_id: The server-assigned unique identifier of this instance.
734
752
  :param pulumi.Input[str] key_revocation_action_type: Action to be taken when a customer's encryption key is revoked. Supports `STOP` and `NONE`, with `NONE` being the default.
735
753
  :param pulumi.Input[str] label_fingerprint: The unique fingerprint of the labels.
@@ -840,6 +858,8 @@ class _InstanceState:
840
858
  pulumi.set(__self__, "guest_accelerators", guest_accelerators)
841
859
  if hostname is not None:
842
860
  pulumi.set(__self__, "hostname", hostname)
861
+ if instance_encryption_key is not None:
862
+ pulumi.set(__self__, "instance_encryption_key", instance_encryption_key)
843
863
  if instance_id is not None:
844
864
  pulumi.set(__self__, "instance_id", instance_id)
845
865
  if key_revocation_action_type is not None:
@@ -1095,6 +1115,18 @@ class _InstanceState:
1095
1115
  def hostname(self, value: Optional[pulumi.Input[str]]):
1096
1116
  pulumi.set(self, "hostname", value)
1097
1117
 
1118
+ @property
1119
+ @pulumi.getter(name="instanceEncryptionKey")
1120
+ def instance_encryption_key(self) -> Optional[pulumi.Input['InstanceInstanceEncryptionKeyArgs']]:
1121
+ """
1122
+ Configuration for data encryption on the instance with encryption keys. Structure is documented below.
1123
+ """
1124
+ return pulumi.get(self, "instance_encryption_key")
1125
+
1126
+ @instance_encryption_key.setter
1127
+ def instance_encryption_key(self, value: Optional[pulumi.Input['InstanceInstanceEncryptionKeyArgs']]):
1128
+ pulumi.set(self, "instance_encryption_key", value)
1129
+
1098
1130
  @property
1099
1131
  @pulumi.getter(name="instanceId")
1100
1132
  def instance_id(self) -> Optional[pulumi.Input[str]]:
@@ -1476,6 +1508,7 @@ class Instance(pulumi.CustomResource):
1476
1508
  enable_display: Optional[pulumi.Input[bool]] = None,
1477
1509
  guest_accelerators: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceGuestAcceleratorArgs', 'InstanceGuestAcceleratorArgsDict']]]]] = None,
1478
1510
  hostname: Optional[pulumi.Input[str]] = None,
1511
+ instance_encryption_key: Optional[pulumi.Input[Union['InstanceInstanceEncryptionKeyArgs', 'InstanceInstanceEncryptionKeyArgsDict']]] = None,
1479
1512
  key_revocation_action_type: Optional[pulumi.Input[str]] = None,
1480
1513
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1481
1514
  machine_type: Optional[pulumi.Input[str]] = None,
@@ -1634,6 +1667,7 @@ class Instance(pulumi.CustomResource):
1634
1667
  :param pulumi.Input[str] hostname: A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid.
1635
1668
  Valid format is a series of labels 1-63 characters long matching the regular expression `a-z`, concatenated with periods.
1636
1669
  The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.
1670
+ :param pulumi.Input[Union['InstanceInstanceEncryptionKeyArgs', 'InstanceInstanceEncryptionKeyArgsDict']] instance_encryption_key: Configuration for data encryption on the instance with encryption keys. Structure is documented below.
1637
1671
  :param pulumi.Input[str] key_revocation_action_type: Action to be taken when a customer's encryption key is revoked. Supports `STOP` and `NONE`, with `NONE` being the default.
1638
1672
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A map of key/value label pairs to assign to the instance.
1639
1673
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
@@ -1852,6 +1886,7 @@ class Instance(pulumi.CustomResource):
1852
1886
  enable_display: Optional[pulumi.Input[bool]] = None,
1853
1887
  guest_accelerators: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceGuestAcceleratorArgs', 'InstanceGuestAcceleratorArgsDict']]]]] = None,
1854
1888
  hostname: Optional[pulumi.Input[str]] = None,
1889
+ instance_encryption_key: Optional[pulumi.Input[Union['InstanceInstanceEncryptionKeyArgs', 'InstanceInstanceEncryptionKeyArgsDict']]] = None,
1855
1890
  key_revocation_action_type: Optional[pulumi.Input[str]] = None,
1856
1891
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1857
1892
  machine_type: Optional[pulumi.Input[str]] = None,
@@ -1895,6 +1930,7 @@ class Instance(pulumi.CustomResource):
1895
1930
  __props__.__dict__["enable_display"] = enable_display
1896
1931
  __props__.__dict__["guest_accelerators"] = guest_accelerators
1897
1932
  __props__.__dict__["hostname"] = hostname
1933
+ __props__.__dict__["instance_encryption_key"] = instance_encryption_key
1898
1934
  __props__.__dict__["key_revocation_action_type"] = key_revocation_action_type
1899
1935
  __props__.__dict__["labels"] = labels
1900
1936
  if machine_type is None and not opts.urn:
@@ -1957,6 +1993,7 @@ class Instance(pulumi.CustomResource):
1957
1993
  enable_display: Optional[pulumi.Input[bool]] = None,
1958
1994
  guest_accelerators: Optional[pulumi.Input[Sequence[pulumi.Input[Union['InstanceGuestAcceleratorArgs', 'InstanceGuestAcceleratorArgsDict']]]]] = None,
1959
1995
  hostname: Optional[pulumi.Input[str]] = None,
1996
+ instance_encryption_key: Optional[pulumi.Input[Union['InstanceInstanceEncryptionKeyArgs', 'InstanceInstanceEncryptionKeyArgsDict']]] = None,
1960
1997
  instance_id: Optional[pulumi.Input[str]] = None,
1961
1998
  key_revocation_action_type: Optional[pulumi.Input[str]] = None,
1962
1999
  label_fingerprint: Optional[pulumi.Input[str]] = None,
@@ -2016,6 +2053,7 @@ class Instance(pulumi.CustomResource):
2016
2053
  :param pulumi.Input[str] hostname: A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid.
2017
2054
  Valid format is a series of labels 1-63 characters long matching the regular expression `a-z`, concatenated with periods.
2018
2055
  The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.
2056
+ :param pulumi.Input[Union['InstanceInstanceEncryptionKeyArgs', 'InstanceInstanceEncryptionKeyArgsDict']] instance_encryption_key: Configuration for data encryption on the instance with encryption keys. Structure is documented below.
2019
2057
  :param pulumi.Input[str] instance_id: The server-assigned unique identifier of this instance.
2020
2058
  :param pulumi.Input[str] key_revocation_action_type: Action to be taken when a customer's encryption key is revoked. Supports `STOP` and `NONE`, with `NONE` being the default.
2021
2059
  :param pulumi.Input[str] label_fingerprint: The unique fingerprint of the labels.
@@ -2114,6 +2152,7 @@ class Instance(pulumi.CustomResource):
2114
2152
  __props__.__dict__["enable_display"] = enable_display
2115
2153
  __props__.__dict__["guest_accelerators"] = guest_accelerators
2116
2154
  __props__.__dict__["hostname"] = hostname
2155
+ __props__.__dict__["instance_encryption_key"] = instance_encryption_key
2117
2156
  __props__.__dict__["instance_id"] = instance_id
2118
2157
  __props__.__dict__["key_revocation_action_type"] = key_revocation_action_type
2119
2158
  __props__.__dict__["label_fingerprint"] = label_fingerprint
@@ -2280,6 +2319,14 @@ class Instance(pulumi.CustomResource):
2280
2319
  """
2281
2320
  return pulumi.get(self, "hostname")
2282
2321
 
2322
+ @property
2323
+ @pulumi.getter(name="instanceEncryptionKey")
2324
+ def instance_encryption_key(self) -> pulumi.Output[Optional['outputs.InstanceInstanceEncryptionKey']]:
2325
+ """
2326
+ Configuration for data encryption on the instance with encryption keys. Structure is documented below.
2327
+ """
2328
+ return pulumi.get(self, "instance_encryption_key")
2329
+
2283
2330
  @property
2284
2331
  @pulumi.getter(name="instanceId")
2285
2332
  def instance_id(self) -> pulumi.Output[str]: