pulumi-gcp 8.10.2__py3-none-any.whl → 8.11.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 (142) hide show
  1. pulumi_gcp/__init__.py +91 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +29 -0
  3. pulumi_gcp/accesscontextmanager/outputs.py +18 -0
  4. pulumi_gcp/accesscontextmanager/service_perimeter.py +36 -0
  5. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +6 -0
  6. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +6 -0
  7. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +6 -0
  8. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +6 -0
  9. pulumi_gcp/apigee/app_group.py +7 -7
  10. pulumi_gcp/applicationintegration/client.py +8 -6
  11. pulumi_gcp/artifactregistry/_inputs.py +24 -15
  12. pulumi_gcp/artifactregistry/outputs.py +32 -20
  13. pulumi_gcp/artifactregistry/repository.py +128 -0
  14. pulumi_gcp/assuredworkloads/workload.py +7 -7
  15. pulumi_gcp/backupdisasterrecovery/__init__.py +2 -0
  16. pulumi_gcp/backupdisasterrecovery/backup_plan.py +2 -2
  17. pulumi_gcp/backupdisasterrecovery/backup_vault.py +12 -8
  18. pulumi_gcp/backupdisasterrecovery/get_backup.py +153 -0
  19. pulumi_gcp/backupdisasterrecovery/get_backup_vault.py +415 -0
  20. pulumi_gcp/backupdisasterrecovery/outputs.py +63 -0
  21. pulumi_gcp/bigquery/app_profile.py +75 -0
  22. pulumi_gcp/billing/_inputs.py +6 -6
  23. pulumi_gcp/billing/outputs.py +4 -4
  24. pulumi_gcp/certificateauthority/_inputs.py +9 -9
  25. pulumi_gcp/certificateauthority/outputs.py +8 -8
  26. pulumi_gcp/cloudbuild/_inputs.py +53 -0
  27. pulumi_gcp/cloudbuild/outputs.py +50 -0
  28. pulumi_gcp/cloudbuild/worker_pool.py +47 -0
  29. pulumi_gcp/clouddeploy/_inputs.py +254 -0
  30. pulumi_gcp/clouddeploy/outputs.py +211 -0
  31. pulumi_gcp/clouddeploy/target.py +47 -0
  32. pulumi_gcp/cloudfunctionsv2/_inputs.py +6 -6
  33. pulumi_gcp/cloudfunctionsv2/outputs.py +8 -8
  34. pulumi_gcp/cloudrunv2/job.py +4 -4
  35. pulumi_gcp/cloudrunv2/service.py +4 -4
  36. pulumi_gcp/composer/get_user_workloads_config_map.py +4 -0
  37. pulumi_gcp/composer/get_user_workloads_secret.py +4 -0
  38. pulumi_gcp/composer/user_workloads_config_map.py +14 -0
  39. pulumi_gcp/composer/user_workloads_secret.py +6 -0
  40. pulumi_gcp/compute/_inputs.py +566 -25
  41. pulumi_gcp/compute/disk.py +21 -7
  42. pulumi_gcp/compute/firewall_policy_rule.py +12 -0
  43. pulumi_gcp/compute/get_forwarding_rules.py +2 -2
  44. pulumi_gcp/compute/get_global_forwarding_rule.py +12 -1
  45. pulumi_gcp/compute/get_instance_group_manager.py +12 -1
  46. pulumi_gcp/compute/get_network.py +35 -1
  47. pulumi_gcp/compute/get_region_instance_group_manager.py +12 -1
  48. pulumi_gcp/compute/get_region_network_endpoint_group.py +12 -1
  49. pulumi_gcp/compute/global_forwarding_rule.py +28 -0
  50. pulumi_gcp/compute/instance_group_manager.py +28 -0
  51. pulumi_gcp/compute/network.py +75 -0
  52. pulumi_gcp/compute/outputs.py +655 -26
  53. pulumi_gcp/compute/region_health_check.py +28 -0
  54. pulumi_gcp/compute/region_instance_group_manager.py +28 -0
  55. pulumi_gcp/compute/region_network_endpoint.py +28 -0
  56. pulumi_gcp/compute/region_network_endpoint_group.py +70 -2
  57. pulumi_gcp/compute/subnetwork.py +30 -2
  58. pulumi_gcp/compute/url_map.py +7 -7
  59. pulumi_gcp/config/__init__.pyi +4 -0
  60. pulumi_gcp/config/vars.py +8 -0
  61. pulumi_gcp/container/_inputs.py +201 -3
  62. pulumi_gcp/container/cluster.py +68 -14
  63. pulumi_gcp/container/get_cluster.py +12 -1
  64. pulumi_gcp/container/outputs.py +249 -3
  65. pulumi_gcp/dataproc/_inputs.py +209 -1
  66. pulumi_gcp/dataproc/batch.py +76 -0
  67. pulumi_gcp/dataproc/outputs.py +169 -3
  68. pulumi_gcp/diagflow/_inputs.py +3 -3
  69. pulumi_gcp/diagflow/outputs.py +2 -2
  70. pulumi_gcp/discoveryengine/search_engine.py +7 -7
  71. pulumi_gcp/firebaserules/release.py +76 -0
  72. pulumi_gcp/firestore/field.py +4 -4
  73. pulumi_gcp/gemini/__init__.py +15 -0
  74. pulumi_gcp/gemini/_inputs.py +183 -0
  75. pulumi_gcp/gemini/code_repository_index.py +659 -0
  76. pulumi_gcp/gemini/get_repository_group_iam_policy.py +171 -0
  77. pulumi_gcp/gemini/outputs.py +130 -0
  78. pulumi_gcp/gemini/repository_group.py +586 -0
  79. pulumi_gcp/gemini/repository_group_iam_binding.py +604 -0
  80. pulumi_gcp/gemini/repository_group_iam_member.py +604 -0
  81. pulumi_gcp/gemini/repository_group_iam_policy.py +443 -0
  82. pulumi_gcp/gkehub/_inputs.py +30 -10
  83. pulumi_gcp/gkehub/membership_binding.py +6 -6
  84. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  85. pulumi_gcp/gkehub/namespace.py +4 -4
  86. pulumi_gcp/gkehub/outputs.py +21 -7
  87. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  88. pulumi_gcp/iam/__init__.py +1 -0
  89. pulumi_gcp/iam/_inputs.py +137 -0
  90. pulumi_gcp/iam/folders_policy_binding.py +16 -0
  91. pulumi_gcp/iam/organizations_policy_binding.py +16 -0
  92. pulumi_gcp/iam/outputs.py +99 -0
  93. pulumi_gcp/iam/principal_access_boundary_policy.py +16 -0
  94. pulumi_gcp/iam/projects_policy_binding.py +917 -0
  95. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  96. pulumi_gcp/integrationconnectors/_inputs.py +15 -15
  97. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  98. pulumi_gcp/integrationconnectors/outputs.py +10 -10
  99. pulumi_gcp/monitoring/_inputs.py +13 -6
  100. pulumi_gcp/monitoring/outputs.py +10 -4
  101. pulumi_gcp/netapp/_inputs.py +3 -3
  102. pulumi_gcp/netapp/active_directory.py +7 -7
  103. pulumi_gcp/netapp/outputs.py +2 -2
  104. pulumi_gcp/netapp/volume.py +11 -11
  105. pulumi_gcp/networkconnectivity/spoke.py +10 -10
  106. pulumi_gcp/networksecurity/__init__.py +4 -0
  107. pulumi_gcp/networksecurity/_inputs.py +115 -0
  108. pulumi_gcp/networksecurity/mirroring_deployment.py +848 -0
  109. pulumi_gcp/networksecurity/mirroring_deployment_group.py +752 -0
  110. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +737 -0
  111. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +840 -0
  112. pulumi_gcp/networksecurity/outputs.py +70 -0
  113. pulumi_gcp/oracledatabase/autonomous_database.py +42 -4
  114. pulumi_gcp/oracledatabase/cloud_exadata_infrastructure.py +42 -4
  115. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +50 -8
  116. pulumi_gcp/oracledatabase/get_autonomous_database.py +12 -1
  117. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructure.py +12 -1
  118. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +12 -1
  119. pulumi_gcp/oracledatabase/outputs.py +21 -0
  120. pulumi_gcp/orgpolicy/policy.py +2 -2
  121. pulumi_gcp/parallelstore/instance.py +4 -0
  122. pulumi_gcp/provider.py +20 -0
  123. pulumi_gcp/pubsub/subscription.py +6 -6
  124. pulumi_gcp/pulumi-plugin.json +1 -1
  125. pulumi_gcp/redis/_inputs.py +435 -3
  126. pulumi_gcp/redis/cluster.py +287 -16
  127. pulumi_gcp/redis/outputs.py +304 -2
  128. pulumi_gcp/serviceaccount/get_account_id_token.py +2 -2
  129. pulumi_gcp/serviceaccount/get_account_key.py +2 -2
  130. pulumi_gcp/storage/get_bucket.py +2 -2
  131. pulumi_gcp/storage/get_bucket_object_content.py +2 -2
  132. pulumi_gcp/tpu/__init__.py +1 -0
  133. pulumi_gcp/tpu/_inputs.py +188 -6
  134. pulumi_gcp/tpu/outputs.py +164 -4
  135. pulumi_gcp/tpu/v2_queued_resource.py +434 -0
  136. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  137. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  138. pulumi_gcp/vertex/ai_index_endpoint.py +2 -2
  139. {pulumi_gcp-8.10.2.dist-info → pulumi_gcp-8.11.0.dist-info}/METADATA +3 -3
  140. {pulumi_gcp-8.10.2.dist-info → pulumi_gcp-8.11.0.dist-info}/RECORD +142 -125
  141. {pulumi_gcp-8.10.2.dist-info → pulumi_gcp-8.11.0.dist-info}/WHEEL +0 -0
  142. {pulumi_gcp-8.10.2.dist-info → pulumi_gcp-8.11.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,737 @@
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
+
17
+ __all__ = ['MirroringEndpointGroupArgs', 'MirroringEndpointGroup']
18
+
19
+ @pulumi.input_type
20
+ class MirroringEndpointGroupArgs:
21
+ def __init__(__self__, *,
22
+ location: pulumi.Input[str],
23
+ mirroring_deployment_group: pulumi.Input[str],
24
+ mirroring_endpoint_group_id: pulumi.Input[str],
25
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
26
+ project: Optional[pulumi.Input[str]] = None):
27
+ """
28
+ The set of arguments for constructing a MirroringEndpointGroup resource.
29
+ :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122. See documentation for resource type `networksecurity.googleapis.com/MirroringEndpointGroup`.
30
+ :param pulumi.Input[str] mirroring_deployment_group: Required. Immutable. The Mirroring Deployment Group that this resource is connected to. Format
31
+ is:
32
+ `projects/{project}/locations/global/mirroringDeploymentGroups/{mirroringDeploymentGroup}`
33
+ :param pulumi.Input[str] mirroring_endpoint_group_id: Required. Id of the requesting object
34
+ If auto-generating Id server-side, remove this field and
35
+ mirroring_endpoint_group_id from the method_signature of Create RPC
36
+
37
+
38
+ - - -
39
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Labels as key value pairs
40
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
41
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
42
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
43
+ If it is not provided, the provider project is used.
44
+ """
45
+ pulumi.set(__self__, "location", location)
46
+ pulumi.set(__self__, "mirroring_deployment_group", mirroring_deployment_group)
47
+ pulumi.set(__self__, "mirroring_endpoint_group_id", mirroring_endpoint_group_id)
48
+ if labels is not None:
49
+ pulumi.set(__self__, "labels", labels)
50
+ if project is not None:
51
+ pulumi.set(__self__, "project", project)
52
+
53
+ @property
54
+ @pulumi.getter
55
+ def location(self) -> pulumi.Input[str]:
56
+ """
57
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122. See documentation for resource type `networksecurity.googleapis.com/MirroringEndpointGroup`.
58
+ """
59
+ return pulumi.get(self, "location")
60
+
61
+ @location.setter
62
+ def location(self, value: pulumi.Input[str]):
63
+ pulumi.set(self, "location", value)
64
+
65
+ @property
66
+ @pulumi.getter(name="mirroringDeploymentGroup")
67
+ def mirroring_deployment_group(self) -> pulumi.Input[str]:
68
+ """
69
+ Required. Immutable. The Mirroring Deployment Group that this resource is connected to. Format
70
+ is:
71
+ `projects/{project}/locations/global/mirroringDeploymentGroups/{mirroringDeploymentGroup}`
72
+ """
73
+ return pulumi.get(self, "mirroring_deployment_group")
74
+
75
+ @mirroring_deployment_group.setter
76
+ def mirroring_deployment_group(self, value: pulumi.Input[str]):
77
+ pulumi.set(self, "mirroring_deployment_group", value)
78
+
79
+ @property
80
+ @pulumi.getter(name="mirroringEndpointGroupId")
81
+ def mirroring_endpoint_group_id(self) -> pulumi.Input[str]:
82
+ """
83
+ Required. Id of the requesting object
84
+ If auto-generating Id server-side, remove this field and
85
+ mirroring_endpoint_group_id from the method_signature of Create RPC
86
+
87
+
88
+ - - -
89
+ """
90
+ return pulumi.get(self, "mirroring_endpoint_group_id")
91
+
92
+ @mirroring_endpoint_group_id.setter
93
+ def mirroring_endpoint_group_id(self, value: pulumi.Input[str]):
94
+ pulumi.set(self, "mirroring_endpoint_group_id", value)
95
+
96
+ @property
97
+ @pulumi.getter
98
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
99
+ """
100
+ Optional. Labels as key value pairs
101
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
102
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
103
+ """
104
+ return pulumi.get(self, "labels")
105
+
106
+ @labels.setter
107
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
108
+ pulumi.set(self, "labels", value)
109
+
110
+ @property
111
+ @pulumi.getter
112
+ def project(self) -> Optional[pulumi.Input[str]]:
113
+ """
114
+ The ID of the project in which the resource belongs.
115
+ If it is not provided, the provider project is used.
116
+ """
117
+ return pulumi.get(self, "project")
118
+
119
+ @project.setter
120
+ def project(self, value: Optional[pulumi.Input[str]]):
121
+ pulumi.set(self, "project", value)
122
+
123
+
124
+ @pulumi.input_type
125
+ class _MirroringEndpointGroupState:
126
+ def __init__(__self__, *,
127
+ create_time: Optional[pulumi.Input[str]] = None,
128
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
129
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
130
+ location: Optional[pulumi.Input[str]] = None,
131
+ mirroring_deployment_group: Optional[pulumi.Input[str]] = None,
132
+ mirroring_endpoint_group_id: Optional[pulumi.Input[str]] = None,
133
+ name: Optional[pulumi.Input[str]] = None,
134
+ project: Optional[pulumi.Input[str]] = None,
135
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
136
+ reconciling: Optional[pulumi.Input[bool]] = None,
137
+ state: Optional[pulumi.Input[str]] = None,
138
+ update_time: Optional[pulumi.Input[str]] = None):
139
+ """
140
+ Input properties used for looking up and filtering MirroringEndpointGroup resources.
141
+ :param pulumi.Input[str] create_time: Output only. [Output only] Create time stamp
142
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
143
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Labels as key value pairs
144
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
145
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
146
+ :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122. See documentation for resource type `networksecurity.googleapis.com/MirroringEndpointGroup`.
147
+ :param pulumi.Input[str] mirroring_deployment_group: Required. Immutable. The Mirroring Deployment Group that this resource is connected to. Format
148
+ is:
149
+ `projects/{project}/locations/global/mirroringDeploymentGroups/{mirroringDeploymentGroup}`
150
+ :param pulumi.Input[str] mirroring_endpoint_group_id: Required. Id of the requesting object
151
+ If auto-generating Id server-side, remove this field and
152
+ mirroring_endpoint_group_id from the method_signature of Create RPC
153
+
154
+
155
+ - - -
156
+ :param pulumi.Input[str] name: Immutable. Identifier. The name of the MirroringEndpointGroup.
157
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
158
+ If it is not provided, the provider project is used.
159
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
160
+ and default labels configured on the provider.
161
+ :param pulumi.Input[bool] reconciling: Output only. Whether reconciling is in progress, recommended per
162
+ https://google.aip.dev/128.
163
+ :param pulumi.Input[str] state: Output only. Current state of the endpoint group.
164
+ Possible values:
165
+ STATE_UNSPECIFIED
166
+ ACTIVE
167
+ CLOSED
168
+ CREATING
169
+ DELETING
170
+ OUT_OF_SYNC
171
+ :param pulumi.Input[str] update_time: Output only. [Output only] Update time stamp
172
+ """
173
+ if create_time is not None:
174
+ pulumi.set(__self__, "create_time", create_time)
175
+ if effective_labels is not None:
176
+ pulumi.set(__self__, "effective_labels", effective_labels)
177
+ if labels is not None:
178
+ pulumi.set(__self__, "labels", labels)
179
+ if location is not None:
180
+ pulumi.set(__self__, "location", location)
181
+ if mirroring_deployment_group is not None:
182
+ pulumi.set(__self__, "mirroring_deployment_group", mirroring_deployment_group)
183
+ if mirroring_endpoint_group_id is not None:
184
+ pulumi.set(__self__, "mirroring_endpoint_group_id", mirroring_endpoint_group_id)
185
+ if name is not None:
186
+ pulumi.set(__self__, "name", name)
187
+ if project is not None:
188
+ pulumi.set(__self__, "project", project)
189
+ if pulumi_labels is not None:
190
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
191
+ if reconciling is not None:
192
+ pulumi.set(__self__, "reconciling", reconciling)
193
+ if state is not None:
194
+ pulumi.set(__self__, "state", state)
195
+ if update_time is not None:
196
+ pulumi.set(__self__, "update_time", update_time)
197
+
198
+ @property
199
+ @pulumi.getter(name="createTime")
200
+ def create_time(self) -> Optional[pulumi.Input[str]]:
201
+ """
202
+ Output only. [Output only] Create time stamp
203
+ """
204
+ return pulumi.get(self, "create_time")
205
+
206
+ @create_time.setter
207
+ def create_time(self, value: Optional[pulumi.Input[str]]):
208
+ pulumi.set(self, "create_time", value)
209
+
210
+ @property
211
+ @pulumi.getter(name="effectiveLabels")
212
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
213
+ """
214
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
215
+ """
216
+ return pulumi.get(self, "effective_labels")
217
+
218
+ @effective_labels.setter
219
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
220
+ pulumi.set(self, "effective_labels", value)
221
+
222
+ @property
223
+ @pulumi.getter
224
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
225
+ """
226
+ Optional. Labels as key value pairs
227
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
228
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
229
+ """
230
+ return pulumi.get(self, "labels")
231
+
232
+ @labels.setter
233
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
234
+ pulumi.set(self, "labels", value)
235
+
236
+ @property
237
+ @pulumi.getter
238
+ def location(self) -> Optional[pulumi.Input[str]]:
239
+ """
240
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122. See documentation for resource type `networksecurity.googleapis.com/MirroringEndpointGroup`.
241
+ """
242
+ return pulumi.get(self, "location")
243
+
244
+ @location.setter
245
+ def location(self, value: Optional[pulumi.Input[str]]):
246
+ pulumi.set(self, "location", value)
247
+
248
+ @property
249
+ @pulumi.getter(name="mirroringDeploymentGroup")
250
+ def mirroring_deployment_group(self) -> Optional[pulumi.Input[str]]:
251
+ """
252
+ Required. Immutable. The Mirroring Deployment Group that this resource is connected to. Format
253
+ is:
254
+ `projects/{project}/locations/global/mirroringDeploymentGroups/{mirroringDeploymentGroup}`
255
+ """
256
+ return pulumi.get(self, "mirroring_deployment_group")
257
+
258
+ @mirroring_deployment_group.setter
259
+ def mirroring_deployment_group(self, value: Optional[pulumi.Input[str]]):
260
+ pulumi.set(self, "mirroring_deployment_group", value)
261
+
262
+ @property
263
+ @pulumi.getter(name="mirroringEndpointGroupId")
264
+ def mirroring_endpoint_group_id(self) -> Optional[pulumi.Input[str]]:
265
+ """
266
+ Required. Id of the requesting object
267
+ If auto-generating Id server-side, remove this field and
268
+ mirroring_endpoint_group_id from the method_signature of Create RPC
269
+
270
+
271
+ - - -
272
+ """
273
+ return pulumi.get(self, "mirroring_endpoint_group_id")
274
+
275
+ @mirroring_endpoint_group_id.setter
276
+ def mirroring_endpoint_group_id(self, value: Optional[pulumi.Input[str]]):
277
+ pulumi.set(self, "mirroring_endpoint_group_id", value)
278
+
279
+ @property
280
+ @pulumi.getter
281
+ def name(self) -> Optional[pulumi.Input[str]]:
282
+ """
283
+ Immutable. Identifier. The name of the MirroringEndpointGroup.
284
+ """
285
+ return pulumi.get(self, "name")
286
+
287
+ @name.setter
288
+ def name(self, value: Optional[pulumi.Input[str]]):
289
+ pulumi.set(self, "name", value)
290
+
291
+ @property
292
+ @pulumi.getter
293
+ def project(self) -> Optional[pulumi.Input[str]]:
294
+ """
295
+ The ID of the project in which the resource belongs.
296
+ If it is not provided, the provider project is used.
297
+ """
298
+ return pulumi.get(self, "project")
299
+
300
+ @project.setter
301
+ def project(self, value: Optional[pulumi.Input[str]]):
302
+ pulumi.set(self, "project", value)
303
+
304
+ @property
305
+ @pulumi.getter(name="pulumiLabels")
306
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
307
+ """
308
+ The combination of labels configured directly on the resource
309
+ and default labels configured on the provider.
310
+ """
311
+ return pulumi.get(self, "pulumi_labels")
312
+
313
+ @pulumi_labels.setter
314
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
315
+ pulumi.set(self, "pulumi_labels", value)
316
+
317
+ @property
318
+ @pulumi.getter
319
+ def reconciling(self) -> Optional[pulumi.Input[bool]]:
320
+ """
321
+ Output only. Whether reconciling is in progress, recommended per
322
+ https://google.aip.dev/128.
323
+ """
324
+ return pulumi.get(self, "reconciling")
325
+
326
+ @reconciling.setter
327
+ def reconciling(self, value: Optional[pulumi.Input[bool]]):
328
+ pulumi.set(self, "reconciling", value)
329
+
330
+ @property
331
+ @pulumi.getter
332
+ def state(self) -> Optional[pulumi.Input[str]]:
333
+ """
334
+ Output only. Current state of the endpoint group.
335
+ Possible values:
336
+ STATE_UNSPECIFIED
337
+ ACTIVE
338
+ CLOSED
339
+ CREATING
340
+ DELETING
341
+ OUT_OF_SYNC
342
+ """
343
+ return pulumi.get(self, "state")
344
+
345
+ @state.setter
346
+ def state(self, value: Optional[pulumi.Input[str]]):
347
+ pulumi.set(self, "state", value)
348
+
349
+ @property
350
+ @pulumi.getter(name="updateTime")
351
+ def update_time(self) -> Optional[pulumi.Input[str]]:
352
+ """
353
+ Output only. [Output only] Update time stamp
354
+ """
355
+ return pulumi.get(self, "update_time")
356
+
357
+ @update_time.setter
358
+ def update_time(self, value: Optional[pulumi.Input[str]]):
359
+ pulumi.set(self, "update_time", value)
360
+
361
+
362
+ class MirroringEndpointGroup(pulumi.CustomResource):
363
+ @overload
364
+ def __init__(__self__,
365
+ resource_name: str,
366
+ opts: Optional[pulumi.ResourceOptions] = None,
367
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
368
+ location: Optional[pulumi.Input[str]] = None,
369
+ mirroring_deployment_group: Optional[pulumi.Input[str]] = None,
370
+ mirroring_endpoint_group_id: Optional[pulumi.Input[str]] = None,
371
+ project: Optional[pulumi.Input[str]] = None,
372
+ __props__=None):
373
+ """
374
+ ## Example Usage
375
+
376
+ ### Network Security Mirroring Endpoint Group Basic
377
+
378
+ ```python
379
+ import pulumi
380
+ import pulumi_gcp as gcp
381
+
382
+ network = gcp.compute.Network("network",
383
+ name="example-network",
384
+ auto_create_subnetworks=False)
385
+ deployment_group = gcp.networksecurity.MirroringDeploymentGroup("deployment_group",
386
+ mirroring_deployment_group_id="example-dg",
387
+ location="global",
388
+ network=network.id)
389
+ default = gcp.networksecurity.MirroringEndpointGroup("default",
390
+ mirroring_endpoint_group_id="example-eg",
391
+ location="global",
392
+ mirroring_deployment_group=deployment_group.id,
393
+ labels={
394
+ "foo": "bar",
395
+ })
396
+ ```
397
+
398
+ ## Import
399
+
400
+ MirroringEndpointGroup can be imported using any of these accepted formats:
401
+
402
+ * `projects/{{project}}/locations/{{location}}/mirroringEndpointGroups/{{mirroring_endpoint_group_id}}`
403
+
404
+ * `{{project}}/{{location}}/{{mirroring_endpoint_group_id}}`
405
+
406
+ * `{{location}}/{{mirroring_endpoint_group_id}}`
407
+
408
+ When using the `pulumi import` command, MirroringEndpointGroup can be imported using one of the formats above. For example:
409
+
410
+ ```sh
411
+ $ pulumi import gcp:networksecurity/mirroringEndpointGroup:MirroringEndpointGroup default projects/{{project}}/locations/{{location}}/mirroringEndpointGroups/{{mirroring_endpoint_group_id}}
412
+ ```
413
+
414
+ ```sh
415
+ $ pulumi import gcp:networksecurity/mirroringEndpointGroup:MirroringEndpointGroup default {{project}}/{{location}}/{{mirroring_endpoint_group_id}}
416
+ ```
417
+
418
+ ```sh
419
+ $ pulumi import gcp:networksecurity/mirroringEndpointGroup:MirroringEndpointGroup default {{location}}/{{mirroring_endpoint_group_id}}
420
+ ```
421
+
422
+ :param str resource_name: The name of the resource.
423
+ :param pulumi.ResourceOptions opts: Options for the resource.
424
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Labels as key value pairs
425
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
426
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
427
+ :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122. See documentation for resource type `networksecurity.googleapis.com/MirroringEndpointGroup`.
428
+ :param pulumi.Input[str] mirroring_deployment_group: Required. Immutable. The Mirroring Deployment Group that this resource is connected to. Format
429
+ is:
430
+ `projects/{project}/locations/global/mirroringDeploymentGroups/{mirroringDeploymentGroup}`
431
+ :param pulumi.Input[str] mirroring_endpoint_group_id: Required. Id of the requesting object
432
+ If auto-generating Id server-side, remove this field and
433
+ mirroring_endpoint_group_id from the method_signature of Create RPC
434
+
435
+
436
+ - - -
437
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
438
+ If it is not provided, the provider project is used.
439
+ """
440
+ ...
441
+ @overload
442
+ def __init__(__self__,
443
+ resource_name: str,
444
+ args: MirroringEndpointGroupArgs,
445
+ opts: Optional[pulumi.ResourceOptions] = None):
446
+ """
447
+ ## Example Usage
448
+
449
+ ### Network Security Mirroring Endpoint Group Basic
450
+
451
+ ```python
452
+ import pulumi
453
+ import pulumi_gcp as gcp
454
+
455
+ network = gcp.compute.Network("network",
456
+ name="example-network",
457
+ auto_create_subnetworks=False)
458
+ deployment_group = gcp.networksecurity.MirroringDeploymentGroup("deployment_group",
459
+ mirroring_deployment_group_id="example-dg",
460
+ location="global",
461
+ network=network.id)
462
+ default = gcp.networksecurity.MirroringEndpointGroup("default",
463
+ mirroring_endpoint_group_id="example-eg",
464
+ location="global",
465
+ mirroring_deployment_group=deployment_group.id,
466
+ labels={
467
+ "foo": "bar",
468
+ })
469
+ ```
470
+
471
+ ## Import
472
+
473
+ MirroringEndpointGroup can be imported using any of these accepted formats:
474
+
475
+ * `projects/{{project}}/locations/{{location}}/mirroringEndpointGroups/{{mirroring_endpoint_group_id}}`
476
+
477
+ * `{{project}}/{{location}}/{{mirroring_endpoint_group_id}}`
478
+
479
+ * `{{location}}/{{mirroring_endpoint_group_id}}`
480
+
481
+ When using the `pulumi import` command, MirroringEndpointGroup can be imported using one of the formats above. For example:
482
+
483
+ ```sh
484
+ $ pulumi import gcp:networksecurity/mirroringEndpointGroup:MirroringEndpointGroup default projects/{{project}}/locations/{{location}}/mirroringEndpointGroups/{{mirroring_endpoint_group_id}}
485
+ ```
486
+
487
+ ```sh
488
+ $ pulumi import gcp:networksecurity/mirroringEndpointGroup:MirroringEndpointGroup default {{project}}/{{location}}/{{mirroring_endpoint_group_id}}
489
+ ```
490
+
491
+ ```sh
492
+ $ pulumi import gcp:networksecurity/mirroringEndpointGroup:MirroringEndpointGroup default {{location}}/{{mirroring_endpoint_group_id}}
493
+ ```
494
+
495
+ :param str resource_name: The name of the resource.
496
+ :param MirroringEndpointGroupArgs args: The arguments to use to populate this resource's properties.
497
+ :param pulumi.ResourceOptions opts: Options for the resource.
498
+ """
499
+ ...
500
+ def __init__(__self__, resource_name: str, *args, **kwargs):
501
+ resource_args, opts = _utilities.get_resource_args_opts(MirroringEndpointGroupArgs, pulumi.ResourceOptions, *args, **kwargs)
502
+ if resource_args is not None:
503
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
504
+ else:
505
+ __self__._internal_init(resource_name, *args, **kwargs)
506
+
507
+ def _internal_init(__self__,
508
+ resource_name: str,
509
+ opts: Optional[pulumi.ResourceOptions] = None,
510
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
511
+ location: Optional[pulumi.Input[str]] = None,
512
+ mirroring_deployment_group: Optional[pulumi.Input[str]] = None,
513
+ mirroring_endpoint_group_id: Optional[pulumi.Input[str]] = None,
514
+ project: Optional[pulumi.Input[str]] = None,
515
+ __props__=None):
516
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
517
+ if not isinstance(opts, pulumi.ResourceOptions):
518
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
519
+ if opts.id is None:
520
+ if __props__ is not None:
521
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
522
+ __props__ = MirroringEndpointGroupArgs.__new__(MirroringEndpointGroupArgs)
523
+
524
+ __props__.__dict__["labels"] = labels
525
+ if location is None and not opts.urn:
526
+ raise TypeError("Missing required property 'location'")
527
+ __props__.__dict__["location"] = location
528
+ if mirroring_deployment_group is None and not opts.urn:
529
+ raise TypeError("Missing required property 'mirroring_deployment_group'")
530
+ __props__.__dict__["mirroring_deployment_group"] = mirroring_deployment_group
531
+ if mirroring_endpoint_group_id is None and not opts.urn:
532
+ raise TypeError("Missing required property 'mirroring_endpoint_group_id'")
533
+ __props__.__dict__["mirroring_endpoint_group_id"] = mirroring_endpoint_group_id
534
+ __props__.__dict__["project"] = project
535
+ __props__.__dict__["create_time"] = None
536
+ __props__.__dict__["effective_labels"] = None
537
+ __props__.__dict__["name"] = None
538
+ __props__.__dict__["pulumi_labels"] = None
539
+ __props__.__dict__["reconciling"] = None
540
+ __props__.__dict__["state"] = None
541
+ __props__.__dict__["update_time"] = None
542
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
543
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
544
+ super(MirroringEndpointGroup, __self__).__init__(
545
+ 'gcp:networksecurity/mirroringEndpointGroup:MirroringEndpointGroup',
546
+ resource_name,
547
+ __props__,
548
+ opts)
549
+
550
+ @staticmethod
551
+ def get(resource_name: str,
552
+ id: pulumi.Input[str],
553
+ opts: Optional[pulumi.ResourceOptions] = None,
554
+ create_time: Optional[pulumi.Input[str]] = None,
555
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
556
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
557
+ location: Optional[pulumi.Input[str]] = None,
558
+ mirroring_deployment_group: Optional[pulumi.Input[str]] = None,
559
+ mirroring_endpoint_group_id: Optional[pulumi.Input[str]] = None,
560
+ name: Optional[pulumi.Input[str]] = None,
561
+ project: Optional[pulumi.Input[str]] = None,
562
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
563
+ reconciling: Optional[pulumi.Input[bool]] = None,
564
+ state: Optional[pulumi.Input[str]] = None,
565
+ update_time: Optional[pulumi.Input[str]] = None) -> 'MirroringEndpointGroup':
566
+ """
567
+ Get an existing MirroringEndpointGroup resource's state with the given name, id, and optional extra
568
+ properties used to qualify the lookup.
569
+
570
+ :param str resource_name: The unique name of the resulting resource.
571
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
572
+ :param pulumi.ResourceOptions opts: Options for the resource.
573
+ :param pulumi.Input[str] create_time: Output only. [Output only] Create time stamp
574
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
575
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Labels as key value pairs
576
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
577
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
578
+ :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122. See documentation for resource type `networksecurity.googleapis.com/MirroringEndpointGroup`.
579
+ :param pulumi.Input[str] mirroring_deployment_group: Required. Immutable. The Mirroring Deployment Group that this resource is connected to. Format
580
+ is:
581
+ `projects/{project}/locations/global/mirroringDeploymentGroups/{mirroringDeploymentGroup}`
582
+ :param pulumi.Input[str] mirroring_endpoint_group_id: Required. Id of the requesting object
583
+ If auto-generating Id server-side, remove this field and
584
+ mirroring_endpoint_group_id from the method_signature of Create RPC
585
+
586
+
587
+ - - -
588
+ :param pulumi.Input[str] name: Immutable. Identifier. The name of the MirroringEndpointGroup.
589
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
590
+ If it is not provided, the provider project is used.
591
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
592
+ and default labels configured on the provider.
593
+ :param pulumi.Input[bool] reconciling: Output only. Whether reconciling is in progress, recommended per
594
+ https://google.aip.dev/128.
595
+ :param pulumi.Input[str] state: Output only. Current state of the endpoint group.
596
+ Possible values:
597
+ STATE_UNSPECIFIED
598
+ ACTIVE
599
+ CLOSED
600
+ CREATING
601
+ DELETING
602
+ OUT_OF_SYNC
603
+ :param pulumi.Input[str] update_time: Output only. [Output only] Update time stamp
604
+ """
605
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
606
+
607
+ __props__ = _MirroringEndpointGroupState.__new__(_MirroringEndpointGroupState)
608
+
609
+ __props__.__dict__["create_time"] = create_time
610
+ __props__.__dict__["effective_labels"] = effective_labels
611
+ __props__.__dict__["labels"] = labels
612
+ __props__.__dict__["location"] = location
613
+ __props__.__dict__["mirroring_deployment_group"] = mirroring_deployment_group
614
+ __props__.__dict__["mirroring_endpoint_group_id"] = mirroring_endpoint_group_id
615
+ __props__.__dict__["name"] = name
616
+ __props__.__dict__["project"] = project
617
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
618
+ __props__.__dict__["reconciling"] = reconciling
619
+ __props__.__dict__["state"] = state
620
+ __props__.__dict__["update_time"] = update_time
621
+ return MirroringEndpointGroup(resource_name, opts=opts, __props__=__props__)
622
+
623
+ @property
624
+ @pulumi.getter(name="createTime")
625
+ def create_time(self) -> pulumi.Output[str]:
626
+ """
627
+ Output only. [Output only] Create time stamp
628
+ """
629
+ return pulumi.get(self, "create_time")
630
+
631
+ @property
632
+ @pulumi.getter(name="effectiveLabels")
633
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
634
+ """
635
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
636
+ """
637
+ return pulumi.get(self, "effective_labels")
638
+
639
+ @property
640
+ @pulumi.getter
641
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
642
+ """
643
+ Optional. Labels as key value pairs
644
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
645
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
646
+ """
647
+ return pulumi.get(self, "labels")
648
+
649
+ @property
650
+ @pulumi.getter
651
+ def location(self) -> pulumi.Output[str]:
652
+ """
653
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122. See documentation for resource type `networksecurity.googleapis.com/MirroringEndpointGroup`.
654
+ """
655
+ return pulumi.get(self, "location")
656
+
657
+ @property
658
+ @pulumi.getter(name="mirroringDeploymentGroup")
659
+ def mirroring_deployment_group(self) -> pulumi.Output[str]:
660
+ """
661
+ Required. Immutable. The Mirroring Deployment Group that this resource is connected to. Format
662
+ is:
663
+ `projects/{project}/locations/global/mirroringDeploymentGroups/{mirroringDeploymentGroup}`
664
+ """
665
+ return pulumi.get(self, "mirroring_deployment_group")
666
+
667
+ @property
668
+ @pulumi.getter(name="mirroringEndpointGroupId")
669
+ def mirroring_endpoint_group_id(self) -> pulumi.Output[str]:
670
+ """
671
+ Required. Id of the requesting object
672
+ If auto-generating Id server-side, remove this field and
673
+ mirroring_endpoint_group_id from the method_signature of Create RPC
674
+
675
+
676
+ - - -
677
+ """
678
+ return pulumi.get(self, "mirroring_endpoint_group_id")
679
+
680
+ @property
681
+ @pulumi.getter
682
+ def name(self) -> pulumi.Output[str]:
683
+ """
684
+ Immutable. Identifier. The name of the MirroringEndpointGroup.
685
+ """
686
+ return pulumi.get(self, "name")
687
+
688
+ @property
689
+ @pulumi.getter
690
+ def project(self) -> pulumi.Output[str]:
691
+ """
692
+ The ID of the project in which the resource belongs.
693
+ If it is not provided, the provider project is used.
694
+ """
695
+ return pulumi.get(self, "project")
696
+
697
+ @property
698
+ @pulumi.getter(name="pulumiLabels")
699
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
700
+ """
701
+ The combination of labels configured directly on the resource
702
+ and default labels configured on the provider.
703
+ """
704
+ return pulumi.get(self, "pulumi_labels")
705
+
706
+ @property
707
+ @pulumi.getter
708
+ def reconciling(self) -> pulumi.Output[bool]:
709
+ """
710
+ Output only. Whether reconciling is in progress, recommended per
711
+ https://google.aip.dev/128.
712
+ """
713
+ return pulumi.get(self, "reconciling")
714
+
715
+ @property
716
+ @pulumi.getter
717
+ def state(self) -> pulumi.Output[str]:
718
+ """
719
+ Output only. Current state of the endpoint group.
720
+ Possible values:
721
+ STATE_UNSPECIFIED
722
+ ACTIVE
723
+ CLOSED
724
+ CREATING
725
+ DELETING
726
+ OUT_OF_SYNC
727
+ """
728
+ return pulumi.get(self, "state")
729
+
730
+ @property
731
+ @pulumi.getter(name="updateTime")
732
+ def update_time(self) -> pulumi.Output[str]:
733
+ """
734
+ Output only. [Output only] Update time stamp
735
+ """
736
+ return pulumi.get(self, "update_time")
737
+