pulumi-gcp 8.24.0a1743057423__py3-none-any.whl → 8.24.0a1743177741__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 (55) hide show
  1. pulumi_gcp/__init__.py +27 -0
  2. pulumi_gcp/bigquery/_inputs.py +158 -0
  3. pulumi_gcp/bigquery/outputs.py +115 -0
  4. pulumi_gcp/bigquery/reservation.py +189 -1
  5. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +11 -7
  6. pulumi_gcp/chronicle/data_access_label.py +16 -0
  7. pulumi_gcp/cloudrunv2/service.py +14 -14
  8. pulumi_gcp/compute/__init__.py +1 -0
  9. pulumi_gcp/compute/_inputs.py +616 -18
  10. pulumi_gcp/compute/get_images.py +172 -0
  11. pulumi_gcp/compute/get_resource_policy.py +15 -4
  12. pulumi_gcp/compute/image.py +54 -0
  13. pulumi_gcp/compute/interconnect.py +14 -7
  14. pulumi_gcp/compute/outputs.py +710 -18
  15. pulumi_gcp/compute/resource_policy.py +169 -3
  16. pulumi_gcp/compute/router_route_policy.py +16 -0
  17. pulumi_gcp/config/__init__.pyi +6 -0
  18. pulumi_gcp/config/vars.py +12 -0
  19. pulumi_gcp/container/_inputs.py +262 -1
  20. pulumi_gcp/container/cluster.py +54 -0
  21. pulumi_gcp/container/get_cluster.py +12 -1
  22. pulumi_gcp/container/outputs.py +297 -2
  23. pulumi_gcp/dataproc/_inputs.py +23 -0
  24. pulumi_gcp/dataproc/outputs.py +27 -0
  25. pulumi_gcp/lustre/__init__.py +8 -0
  26. pulumi_gcp/lustre/instance.py +983 -0
  27. pulumi_gcp/memorystore/_inputs.py +419 -0
  28. pulumi_gcp/memorystore/get_instance.py +23 -1
  29. pulumi_gcp/memorystore/instance.py +137 -7
  30. pulumi_gcp/memorystore/outputs.py +544 -0
  31. pulumi_gcp/networkmanagement/_inputs.py +422 -91
  32. pulumi_gcp/networkmanagement/connectivity_test.py +233 -211
  33. pulumi_gcp/networkmanagement/outputs.py +280 -61
  34. pulumi_gcp/networksecurity/_inputs.py +392 -0
  35. pulumi_gcp/networksecurity/intercept_deployment_group.py +44 -16
  36. pulumi_gcp/networksecurity/intercept_endpoint_group.py +90 -36
  37. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +53 -8
  38. pulumi_gcp/networksecurity/outputs.py +240 -0
  39. pulumi_gcp/organizations/__init__.py +1 -0
  40. pulumi_gcp/organizations/get_iam_custom_role.py +198 -0
  41. pulumi_gcp/osconfig/__init__.py +1 -0
  42. pulumi_gcp/osconfig/_inputs.py +5413 -0
  43. pulumi_gcp/osconfig/outputs.py +3962 -0
  44. pulumi_gcp/osconfig/v2_policy_orchestrator.py +971 -0
  45. pulumi_gcp/provider.py +60 -0
  46. pulumi_gcp/pulumi-plugin.json +1 -1
  47. pulumi_gcp/storage/__init__.py +2 -0
  48. pulumi_gcp/storage/_inputs.py +726 -0
  49. pulumi_gcp/storage/control_project_intelligence_config.py +366 -0
  50. pulumi_gcp/storage/get_control_project_intelligence_config.py +130 -0
  51. pulumi_gcp/storage/outputs.py +716 -0
  52. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/METADATA +1 -1
  53. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/RECORD +55 -48
  54. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/WHEEL +0 -0
  55. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,172 @@
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 sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetImagesResult',
20
+ 'AwaitableGetImagesResult',
21
+ 'get_images',
22
+ 'get_images_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetImagesResult:
27
+ """
28
+ A collection of values returned by getImages.
29
+ """
30
+ def __init__(__self__, filter=None, id=None, images=None, project=None):
31
+ if filter and not isinstance(filter, str):
32
+ raise TypeError("Expected argument 'filter' to be a str")
33
+ pulumi.set(__self__, "filter", filter)
34
+ if id and not isinstance(id, str):
35
+ raise TypeError("Expected argument 'id' to be a str")
36
+ pulumi.set(__self__, "id", id)
37
+ if images and not isinstance(images, list):
38
+ raise TypeError("Expected argument 'images' to be a list")
39
+ pulumi.set(__self__, "images", images)
40
+ if project and not isinstance(project, str):
41
+ raise TypeError("Expected argument 'project' to be a str")
42
+ pulumi.set(__self__, "project", project)
43
+
44
+ @property
45
+ @pulumi.getter
46
+ def filter(self) -> Optional[str]:
47
+ return pulumi.get(self, "filter")
48
+
49
+ @property
50
+ @pulumi.getter
51
+ def id(self) -> str:
52
+ """
53
+ The provider-assigned unique ID for this managed resource.
54
+ """
55
+ return pulumi.get(self, "id")
56
+
57
+ @property
58
+ @pulumi.getter
59
+ def images(self) -> Sequence['outputs.GetImagesImageResult']:
60
+ return pulumi.get(self, "images")
61
+
62
+ @property
63
+ @pulumi.getter
64
+ def project(self) -> Optional[str]:
65
+ return pulumi.get(self, "project")
66
+
67
+
68
+ class AwaitableGetImagesResult(GetImagesResult):
69
+ # pylint: disable=using-constant-test
70
+ def __await__(self):
71
+ if False:
72
+ yield self
73
+ return GetImagesResult(
74
+ filter=self.filter,
75
+ id=self.id,
76
+ images=self.images,
77
+ project=self.project)
78
+
79
+
80
+ def get_images(filter: Optional[str] = None,
81
+ project: Optional[str] = None,
82
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetImagesResult:
83
+ """
84
+ Get information about Google Compute Images. Check that your service account has the `compute.imageUser` role if you want to share [custom images](https://cloud.google.com/compute/docs/images/sharing-images-across-projects) from another project. If you want to use [public images][pubimg], do not forget to specify the dedicated project. For more information see
85
+ [the official documentation](https://cloud.google.com/compute/docs/images) and its [API](https://cloud.google.com/compute/docs/reference/latest/images).
86
+
87
+ ## Example Usage
88
+
89
+ ```python
90
+ import pulumi
91
+ import pulumi_gcp as gcp
92
+
93
+ debian = gcp.compute.get_images(filter="name eq my-image.*")
94
+ default = gcp.compute.Instance("default",
95
+ name="test",
96
+ machine_type="f1-micro",
97
+ zone="us-central1-a",
98
+ boot_disk={
99
+ "initialize_params": {
100
+ "image": debian.images[0].self_link,
101
+ },
102
+ },
103
+ network_interfaces=[{
104
+ "network": default_google_compute_network["name"],
105
+ }])
106
+ ```
107
+
108
+
109
+ :param str filter: Filter for the images to be returned by the data source. Syntax can be found [here](https://cloud.google.com/compute/docs/reference/rest/v1/images/list) in the filter section.
110
+
111
+ - - -
112
+ :param str project: The project in which the resource belongs. If it is not
113
+ provided, the provider project is used. If you are using a
114
+ [public base image][pubimg], be sure to specify the correct Image Project.
115
+ """
116
+ __args__ = dict()
117
+ __args__['filter'] = filter
118
+ __args__['project'] = project
119
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
120
+ __ret__ = pulumi.runtime.invoke('gcp:compute/getImages:getImages', __args__, opts=opts, typ=GetImagesResult).value
121
+
122
+ return AwaitableGetImagesResult(
123
+ filter=pulumi.get(__ret__, 'filter'),
124
+ id=pulumi.get(__ret__, 'id'),
125
+ images=pulumi.get(__ret__, 'images'),
126
+ project=pulumi.get(__ret__, 'project'))
127
+ def get_images_output(filter: Optional[pulumi.Input[Optional[str]]] = None,
128
+ project: Optional[pulumi.Input[Optional[str]]] = None,
129
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetImagesResult]:
130
+ """
131
+ Get information about Google Compute Images. Check that your service account has the `compute.imageUser` role if you want to share [custom images](https://cloud.google.com/compute/docs/images/sharing-images-across-projects) from another project. If you want to use [public images][pubimg], do not forget to specify the dedicated project. For more information see
132
+ [the official documentation](https://cloud.google.com/compute/docs/images) and its [API](https://cloud.google.com/compute/docs/reference/latest/images).
133
+
134
+ ## Example Usage
135
+
136
+ ```python
137
+ import pulumi
138
+ import pulumi_gcp as gcp
139
+
140
+ debian = gcp.compute.get_images(filter="name eq my-image.*")
141
+ default = gcp.compute.Instance("default",
142
+ name="test",
143
+ machine_type="f1-micro",
144
+ zone="us-central1-a",
145
+ boot_disk={
146
+ "initialize_params": {
147
+ "image": debian.images[0].self_link,
148
+ },
149
+ },
150
+ network_interfaces=[{
151
+ "network": default_google_compute_network["name"],
152
+ }])
153
+ ```
154
+
155
+
156
+ :param str filter: Filter for the images to be returned by the data source. Syntax can be found [here](https://cloud.google.com/compute/docs/reference/rest/v1/images/list) in the filter section.
157
+
158
+ - - -
159
+ :param str project: The project in which the resource belongs. If it is not
160
+ provided, the provider project is used. If you are using a
161
+ [public base image][pubimg], be sure to specify the correct Image Project.
162
+ """
163
+ __args__ = dict()
164
+ __args__['filter'] = filter
165
+ __args__['project'] = project
166
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
167
+ __ret__ = pulumi.runtime.invoke_output('gcp:compute/getImages:getImages', __args__, opts=opts, typ=GetImagesResult)
168
+ return __ret__.apply(lambda __response__: GetImagesResult(
169
+ filter=pulumi.get(__response__, 'filter'),
170
+ id=pulumi.get(__response__, 'id'),
171
+ images=pulumi.get(__response__, 'images'),
172
+ project=pulumi.get(__response__, 'project')))
@@ -27,7 +27,7 @@ class GetResourcePolicyResult:
27
27
  """
28
28
  A collection of values returned by getResourcePolicy.
29
29
  """
30
- def __init__(__self__, description=None, disk_consistency_group_policies=None, group_placement_policies=None, id=None, instance_schedule_policies=None, name=None, project=None, region=None, self_link=None, snapshot_schedule_policies=None):
30
+ def __init__(__self__, description=None, disk_consistency_group_policies=None, group_placement_policies=None, id=None, instance_schedule_policies=None, name=None, project=None, region=None, self_link=None, snapshot_schedule_policies=None, workload_policies=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)
@@ -58,6 +58,9 @@ class GetResourcePolicyResult:
58
58
  if snapshot_schedule_policies and not isinstance(snapshot_schedule_policies, list):
59
59
  raise TypeError("Expected argument 'snapshot_schedule_policies' to be a list")
60
60
  pulumi.set(__self__, "snapshot_schedule_policies", snapshot_schedule_policies)
61
+ if workload_policies and not isinstance(workload_policies, list):
62
+ raise TypeError("Expected argument 'workload_policies' to be a list")
63
+ pulumi.set(__self__, "workload_policies", workload_policies)
61
64
 
62
65
  @property
63
66
  @pulumi.getter
@@ -118,6 +121,11 @@ class GetResourcePolicyResult:
118
121
  def snapshot_schedule_policies(self) -> Sequence['outputs.GetResourcePolicySnapshotSchedulePolicyResult']:
119
122
  return pulumi.get(self, "snapshot_schedule_policies")
120
123
 
124
+ @property
125
+ @pulumi.getter(name="workloadPolicies")
126
+ def workload_policies(self) -> Sequence['outputs.GetResourcePolicyWorkloadPolicyResult']:
127
+ return pulumi.get(self, "workload_policies")
128
+
121
129
 
122
130
  class AwaitableGetResourcePolicyResult(GetResourcePolicyResult):
123
131
  # pylint: disable=using-constant-test
@@ -134,7 +142,8 @@ class AwaitableGetResourcePolicyResult(GetResourcePolicyResult):
134
142
  project=self.project,
135
143
  region=self.region,
136
144
  self_link=self.self_link,
137
- snapshot_schedule_policies=self.snapshot_schedule_policies)
145
+ snapshot_schedule_policies=self.snapshot_schedule_policies,
146
+ workload_policies=self.workload_policies)
138
147
 
139
148
 
140
149
  def get_resource_policy(name: Optional[str] = None,
@@ -174,7 +183,8 @@ def get_resource_policy(name: Optional[str] = None,
174
183
  project=pulumi.get(__ret__, 'project'),
175
184
  region=pulumi.get(__ret__, 'region'),
176
185
  self_link=pulumi.get(__ret__, 'self_link'),
177
- snapshot_schedule_policies=pulumi.get(__ret__, 'snapshot_schedule_policies'))
186
+ snapshot_schedule_policies=pulumi.get(__ret__, 'snapshot_schedule_policies'),
187
+ workload_policies=pulumi.get(__ret__, 'workload_policies'))
178
188
  def get_resource_policy_output(name: Optional[pulumi.Input[str]] = None,
179
189
  project: Optional[pulumi.Input[Optional[str]]] = None,
180
190
  region: Optional[pulumi.Input[Optional[str]]] = None,
@@ -211,4 +221,5 @@ def get_resource_policy_output(name: Optional[pulumi.Input[str]] = None,
211
221
  project=pulumi.get(__response__, 'project'),
212
222
  region=pulumi.get(__response__, 'region'),
213
223
  self_link=pulumi.get(__response__, 'self_link'),
214
- snapshot_schedule_policies=pulumi.get(__response__, 'snapshot_schedule_policies')))
224
+ snapshot_schedule_policies=pulumi.get(__response__, 'snapshot_schedule_policies'),
225
+ workload_policies=pulumi.get(__response__, 'workload_policies')))
@@ -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]]:
@@ -50,7 +50,8 @@ class InterconnectArgs:
50
50
  bundle, not the speed of the entire bundle. Can take one of the following values:
51
51
  - LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics.
52
52
  - LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics.
53
- Possible values are: `LINK_TYPE_ETHERNET_10G_LR`, `LINK_TYPE_ETHERNET_100G_LR`.
53
+ - LINK_TYPE_ETHERNET_400G_LR4: A 400G Ethernet with LR4 optics
54
+ Possible values are: `LINK_TYPE_ETHERNET_10G_LR`, `LINK_TYPE_ETHERNET_100G_LR`, `LINK_TYPE_ETHERNET_400G_LR4`.
54
55
  :param pulumi.Input[int] requested_link_count: Target number of physical links in the link bundle, as requested by the customer.
55
56
  :param pulumi.Input[bool] admin_enabled: Administrative status of the interconnect. When this is set to true, the Interconnect is
56
57
  functional and can carry traffic. When set to false, no packets can be carried over the
@@ -147,7 +148,8 @@ class InterconnectArgs:
147
148
  bundle, not the speed of the entire bundle. Can take one of the following values:
148
149
  - LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics.
149
150
  - LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics.
150
- Possible values are: `LINK_TYPE_ETHERNET_10G_LR`, `LINK_TYPE_ETHERNET_100G_LR`.
151
+ - LINK_TYPE_ETHERNET_400G_LR4: A 400G Ethernet with LR4 optics
152
+ Possible values are: `LINK_TYPE_ETHERNET_10G_LR`, `LINK_TYPE_ETHERNET_100G_LR`, `LINK_TYPE_ETHERNET_400G_LR4`.
151
153
  """
152
154
  return pulumi.get(self, "link_type")
153
155
 
@@ -418,7 +420,8 @@ class _InterconnectState:
418
420
  bundle, not the speed of the entire bundle. Can take one of the following values:
419
421
  - LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics.
420
422
  - LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics.
421
- Possible values are: `LINK_TYPE_ETHERNET_10G_LR`, `LINK_TYPE_ETHERNET_100G_LR`.
423
+ - LINK_TYPE_ETHERNET_400G_LR4: A 400G Ethernet with LR4 optics
424
+ Possible values are: `LINK_TYPE_ETHERNET_10G_LR`, `LINK_TYPE_ETHERNET_100G_LR`, `LINK_TYPE_ETHERNET_400G_LR4`.
422
425
  :param pulumi.Input[str] location: URL of the InterconnectLocation object that represents where this connection is to be provisioned.
423
426
  Specifies the location inside Google's Networks, should not be passed in case of cross-cloud interconnect.
424
427
  :param pulumi.Input['InterconnectMacsecArgs'] macsec: Configuration that enables Media Access Control security (MACsec) on the Cloud
@@ -733,7 +736,8 @@ class _InterconnectState:
733
736
  bundle, not the speed of the entire bundle. Can take one of the following values:
734
737
  - LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics.
735
738
  - LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics.
736
- Possible values are: `LINK_TYPE_ETHERNET_10G_LR`, `LINK_TYPE_ETHERNET_100G_LR`.
739
+ - LINK_TYPE_ETHERNET_400G_LR4: A 400G Ethernet with LR4 optics
740
+ Possible values are: `LINK_TYPE_ETHERNET_10G_LR`, `LINK_TYPE_ETHERNET_100G_LR`, `LINK_TYPE_ETHERNET_400G_LR4`.
737
741
  """
738
742
  return pulumi.get(self, "link_type")
739
743
 
@@ -1056,7 +1060,8 @@ class Interconnect(pulumi.CustomResource):
1056
1060
  bundle, not the speed of the entire bundle. Can take one of the following values:
1057
1061
  - LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics.
1058
1062
  - LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics.
1059
- Possible values are: `LINK_TYPE_ETHERNET_10G_LR`, `LINK_TYPE_ETHERNET_100G_LR`.
1063
+ - LINK_TYPE_ETHERNET_400G_LR4: A 400G Ethernet with LR4 optics
1064
+ Possible values are: `LINK_TYPE_ETHERNET_10G_LR`, `LINK_TYPE_ETHERNET_100G_LR`, `LINK_TYPE_ETHERNET_400G_LR4`.
1060
1065
  :param pulumi.Input[str] location: URL of the InterconnectLocation object that represents where this connection is to be provisioned.
1061
1066
  Specifies the location inside Google's Networks, should not be passed in case of cross-cloud interconnect.
1062
1067
  :param pulumi.Input[Union['InterconnectMacsecArgs', 'InterconnectMacsecArgsDict']] macsec: Configuration that enables Media Access Control security (MACsec) on the Cloud
@@ -1312,7 +1317,8 @@ class Interconnect(pulumi.CustomResource):
1312
1317
  bundle, not the speed of the entire bundle. Can take one of the following values:
1313
1318
  - LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics.
1314
1319
  - LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics.
1315
- Possible values are: `LINK_TYPE_ETHERNET_10G_LR`, `LINK_TYPE_ETHERNET_100G_LR`.
1320
+ - LINK_TYPE_ETHERNET_400G_LR4: A 400G Ethernet with LR4 optics
1321
+ Possible values are: `LINK_TYPE_ETHERNET_10G_LR`, `LINK_TYPE_ETHERNET_100G_LR`, `LINK_TYPE_ETHERNET_400G_LR4`.
1316
1322
  :param pulumi.Input[str] location: URL of the InterconnectLocation object that represents where this connection is to be provisioned.
1317
1323
  Specifies the location inside Google's Networks, should not be passed in case of cross-cloud interconnect.
1318
1324
  :param pulumi.Input[Union['InterconnectMacsecArgs', 'InterconnectMacsecArgsDict']] macsec: Configuration that enables Media Access Control security (MACsec) on the Cloud
@@ -1546,7 +1552,8 @@ class Interconnect(pulumi.CustomResource):
1546
1552
  bundle, not the speed of the entire bundle. Can take one of the following values:
1547
1553
  - LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics.
1548
1554
  - LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics.
1549
- Possible values are: `LINK_TYPE_ETHERNET_10G_LR`, `LINK_TYPE_ETHERNET_100G_LR`.
1555
+ - LINK_TYPE_ETHERNET_400G_LR4: A 400G Ethernet with LR4 optics
1556
+ Possible values are: `LINK_TYPE_ETHERNET_10G_LR`, `LINK_TYPE_ETHERNET_100G_LR`, `LINK_TYPE_ETHERNET_400G_LR4`.
1550
1557
  """
1551
1558
  return pulumi.get(self, "link_type")
1552
1559