pulumi-gcp 8.19.0a1739290509__py3-none-any.whl → 8.19.1a1739444689__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 (76) hide show
  1. pulumi_gcp/__init__.py +80 -0
  2. pulumi_gcp/_utilities.py +8 -4
  3. pulumi_gcp/accesscontextmanager/_inputs.py +288 -78
  4. pulumi_gcp/accesscontextmanager/outputs.py +186 -54
  5. pulumi_gcp/appengine/_inputs.py +3 -0
  6. pulumi_gcp/appengine/outputs.py +2 -0
  7. pulumi_gcp/beyondcorp/__init__.py +5 -0
  8. pulumi_gcp/beyondcorp/_inputs.py +189 -0
  9. pulumi_gcp/beyondcorp/application.py +604 -0
  10. pulumi_gcp/beyondcorp/application_iam_binding.py +1049 -0
  11. pulumi_gcp/beyondcorp/application_iam_member.py +1049 -0
  12. pulumi_gcp/beyondcorp/application_iam_policy.py +868 -0
  13. pulumi_gcp/beyondcorp/get_application_iam_policy.py +174 -0
  14. pulumi_gcp/beyondcorp/outputs.py +111 -0
  15. pulumi_gcp/bigqueryanalyticshub/__init__.py +1 -0
  16. pulumi_gcp/bigqueryanalyticshub/_inputs.py +318 -0
  17. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +808 -0
  18. pulumi_gcp/bigqueryanalyticshub/outputs.py +263 -0
  19. pulumi_gcp/certificateauthority/_inputs.py +54 -0
  20. pulumi_gcp/certificateauthority/authority.py +149 -3
  21. pulumi_gcp/certificateauthority/get_authority.py +15 -4
  22. pulumi_gcp/certificateauthority/outputs.py +81 -0
  23. pulumi_gcp/cloudrunv2/_inputs.py +112 -0
  24. pulumi_gcp/cloudrunv2/outputs.py +144 -1
  25. pulumi_gcp/cloudrunv2/service.py +2 -0
  26. pulumi_gcp/colab/__init__.py +2 -0
  27. pulumi_gcp/colab/_inputs.py +655 -0
  28. pulumi_gcp/colab/notebook_execution.py +1259 -0
  29. pulumi_gcp/colab/outputs.py +512 -0
  30. pulumi_gcp/colab/runtime.py +266 -2
  31. pulumi_gcp/colab/runtime_template.py +79 -3
  32. pulumi_gcp/colab/schedule.py +1318 -0
  33. pulumi_gcp/compute/__init__.py +1 -0
  34. pulumi_gcp/compute/_inputs.py +204 -0
  35. pulumi_gcp/compute/firewall_policy.py +54 -43
  36. pulumi_gcp/compute/forwarding_rule.py +103 -0
  37. pulumi_gcp/compute/get_forwarding_rule.py +12 -1
  38. pulumi_gcp/compute/interconnect_attachment.py +12 -0
  39. pulumi_gcp/compute/network_firewall_policy_packet_mirroring_rule.py +1011 -0
  40. pulumi_gcp/compute/outputs.py +187 -0
  41. pulumi_gcp/compute/public_advertised_prefix.py +35 -7
  42. pulumi_gcp/compute/public_delegated_prefix.py +171 -7
  43. pulumi_gcp/compute/region_resize_request.py +21 -22
  44. pulumi_gcp/compute/resize_request.py +22 -23
  45. pulumi_gcp/compute/subnetwork.py +14 -7
  46. pulumi_gcp/container/_inputs.py +54 -1
  47. pulumi_gcp/container/outputs.py +79 -1
  48. pulumi_gcp/datastream/connection_profile.py +120 -46
  49. pulumi_gcp/discoveryengine/chat_engine.py +7 -7
  50. pulumi_gcp/filestore/_inputs.py +222 -0
  51. pulumi_gcp/filestore/get_instance.py +23 -1
  52. pulumi_gcp/filestore/instance.py +86 -0
  53. pulumi_gcp/filestore/outputs.py +282 -0
  54. pulumi_gcp/gemini/__init__.py +2 -0
  55. pulumi_gcp/gemini/logging_setting.py +671 -0
  56. pulumi_gcp/gemini/release_channel_setting.py +639 -0
  57. pulumi_gcp/memorystore/_inputs.py +296 -0
  58. pulumi_gcp/memorystore/instance.py +32 -28
  59. pulumi_gcp/memorystore/outputs.py +224 -0
  60. pulumi_gcp/monitoring/_inputs.py +12 -9
  61. pulumi_gcp/monitoring/outputs.py +8 -6
  62. pulumi_gcp/networkservices/_inputs.py +89 -0
  63. pulumi_gcp/networkservices/outputs.py +75 -0
  64. pulumi_gcp/parametermanager/__init__.py +2 -0
  65. pulumi_gcp/parametermanager/get_parameter_version_render.py +199 -0
  66. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +220 -0
  67. pulumi_gcp/privilegedaccessmanager/entitlement.py +14 -0
  68. pulumi_gcp/pulumi-plugin.json +1 -1
  69. pulumi_gcp/securesourcemanager/branch_rule.py +4 -0
  70. pulumi_gcp/securesourcemanager/repository.py +4 -0
  71. pulumi_gcp/storage/bucket_object.py +8 -0
  72. pulumi_gcp/workbench/instance.py +70 -2
  73. {pulumi_gcp-8.19.0a1739290509.dist-info → pulumi_gcp-8.19.1a1739444689.dist-info}/METADATA +1 -1
  74. {pulumi_gcp-8.19.0a1739290509.dist-info → pulumi_gcp-8.19.1a1739444689.dist-info}/RECORD +76 -63
  75. {pulumi_gcp-8.19.0a1739290509.dist-info → pulumi_gcp-8.19.1a1739444689.dist-info}/WHEEL +0 -0
  76. {pulumi_gcp-8.19.0a1739290509.dist-info → pulumi_gcp-8.19.1a1739444689.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,604 @@
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
+ from ._inputs import *
18
+
19
+ __all__ = ['ApplicationArgs', 'Application']
20
+
21
+ @pulumi.input_type
22
+ class ApplicationArgs:
23
+ def __init__(__self__, *,
24
+ application_id: pulumi.Input[str],
25
+ endpoint_matchers: pulumi.Input[Sequence[pulumi.Input['ApplicationEndpointMatcherArgs']]],
26
+ security_gateways_id: pulumi.Input[str],
27
+ display_name: Optional[pulumi.Input[str]] = None,
28
+ project: Optional[pulumi.Input[str]] = None):
29
+ """
30
+ The set of arguments for constructing a Application resource.
31
+ :param pulumi.Input[str] application_id: Optional. User-settable Application resource ID.
32
+ * Must start with a letter.
33
+ * Must contain between 4-63 characters from `/a-z-/`.
34
+ * Must end with a number or letter.
35
+ :param pulumi.Input[Sequence[pulumi.Input['ApplicationEndpointMatcherArgs']]] endpoint_matchers: Required. Endpoint matchers associated with an application.
36
+ A combination of hostname and ports as endpoint matcher is used to match
37
+ the application.
38
+ Match conditions for OR logic.
39
+ An array of match conditions to allow for multiple matching criteria.
40
+ The rule is considered a match if one the conditions are met.
41
+ The conditions can be one of the following combination
42
+ (Hostname), (Hostname & Ports)
43
+ EXAMPLES:
44
+ Hostname - ("*.abc.com"), ("xyz.abc.com")
45
+ Hostname and Ports - ("abc.com" and "22"), ("abc.com" and "22,33") etc
46
+ Structure is documented below.
47
+ :param pulumi.Input[str] security_gateways_id: Part of `parent`. See documentation of `projectsId`.
48
+ :param pulumi.Input[str] display_name: Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters.
49
+ """
50
+ pulumi.set(__self__, "application_id", application_id)
51
+ pulumi.set(__self__, "endpoint_matchers", endpoint_matchers)
52
+ pulumi.set(__self__, "security_gateways_id", security_gateways_id)
53
+ if display_name is not None:
54
+ pulumi.set(__self__, "display_name", display_name)
55
+ if project is not None:
56
+ pulumi.set(__self__, "project", project)
57
+
58
+ @property
59
+ @pulumi.getter(name="applicationId")
60
+ def application_id(self) -> pulumi.Input[str]:
61
+ """
62
+ Optional. User-settable Application resource ID.
63
+ * Must start with a letter.
64
+ * Must contain between 4-63 characters from `/a-z-/`.
65
+ * Must end with a number or letter.
66
+ """
67
+ return pulumi.get(self, "application_id")
68
+
69
+ @application_id.setter
70
+ def application_id(self, value: pulumi.Input[str]):
71
+ pulumi.set(self, "application_id", value)
72
+
73
+ @property
74
+ @pulumi.getter(name="endpointMatchers")
75
+ def endpoint_matchers(self) -> pulumi.Input[Sequence[pulumi.Input['ApplicationEndpointMatcherArgs']]]:
76
+ """
77
+ Required. Endpoint matchers associated with an application.
78
+ A combination of hostname and ports as endpoint matcher is used to match
79
+ the application.
80
+ Match conditions for OR logic.
81
+ An array of match conditions to allow for multiple matching criteria.
82
+ The rule is considered a match if one the conditions are met.
83
+ The conditions can be one of the following combination
84
+ (Hostname), (Hostname & Ports)
85
+ EXAMPLES:
86
+ Hostname - ("*.abc.com"), ("xyz.abc.com")
87
+ Hostname and Ports - ("abc.com" and "22"), ("abc.com" and "22,33") etc
88
+ Structure is documented below.
89
+ """
90
+ return pulumi.get(self, "endpoint_matchers")
91
+
92
+ @endpoint_matchers.setter
93
+ def endpoint_matchers(self, value: pulumi.Input[Sequence[pulumi.Input['ApplicationEndpointMatcherArgs']]]):
94
+ pulumi.set(self, "endpoint_matchers", value)
95
+
96
+ @property
97
+ @pulumi.getter(name="securityGatewaysId")
98
+ def security_gateways_id(self) -> pulumi.Input[str]:
99
+ """
100
+ Part of `parent`. See documentation of `projectsId`.
101
+ """
102
+ return pulumi.get(self, "security_gateways_id")
103
+
104
+ @security_gateways_id.setter
105
+ def security_gateways_id(self, value: pulumi.Input[str]):
106
+ pulumi.set(self, "security_gateways_id", value)
107
+
108
+ @property
109
+ @pulumi.getter(name="displayName")
110
+ def display_name(self) -> Optional[pulumi.Input[str]]:
111
+ """
112
+ Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters.
113
+ """
114
+ return pulumi.get(self, "display_name")
115
+
116
+ @display_name.setter
117
+ def display_name(self, value: Optional[pulumi.Input[str]]):
118
+ pulumi.set(self, "display_name", value)
119
+
120
+ @property
121
+ @pulumi.getter
122
+ def project(self) -> Optional[pulumi.Input[str]]:
123
+ return pulumi.get(self, "project")
124
+
125
+ @project.setter
126
+ def project(self, value: Optional[pulumi.Input[str]]):
127
+ pulumi.set(self, "project", value)
128
+
129
+
130
+ @pulumi.input_type
131
+ class _ApplicationState:
132
+ def __init__(__self__, *,
133
+ application_id: Optional[pulumi.Input[str]] = None,
134
+ create_time: Optional[pulumi.Input[str]] = None,
135
+ display_name: Optional[pulumi.Input[str]] = None,
136
+ endpoint_matchers: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationEndpointMatcherArgs']]]] = None,
137
+ name: Optional[pulumi.Input[str]] = None,
138
+ project: Optional[pulumi.Input[str]] = None,
139
+ security_gateways_id: Optional[pulumi.Input[str]] = None,
140
+ update_time: Optional[pulumi.Input[str]] = None):
141
+ """
142
+ Input properties used for looking up and filtering Application resources.
143
+ :param pulumi.Input[str] application_id: Optional. User-settable Application resource ID.
144
+ * Must start with a letter.
145
+ * Must contain between 4-63 characters from `/a-z-/`.
146
+ * Must end with a number or letter.
147
+ :param pulumi.Input[str] create_time: Output only. Timestamp when the resource was created.
148
+ :param pulumi.Input[str] display_name: Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters.
149
+ :param pulumi.Input[Sequence[pulumi.Input['ApplicationEndpointMatcherArgs']]] endpoint_matchers: Required. Endpoint matchers associated with an application.
150
+ A combination of hostname and ports as endpoint matcher is used to match
151
+ the application.
152
+ Match conditions for OR logic.
153
+ An array of match conditions to allow for multiple matching criteria.
154
+ The rule is considered a match if one the conditions are met.
155
+ The conditions can be one of the following combination
156
+ (Hostname), (Hostname & Ports)
157
+ EXAMPLES:
158
+ Hostname - ("*.abc.com"), ("xyz.abc.com")
159
+ Hostname and Ports - ("abc.com" and "22"), ("abc.com" and "22,33") etc
160
+ Structure is documented below.
161
+ :param pulumi.Input[str] name: Identifier. Name of the resource.
162
+ :param pulumi.Input[str] security_gateways_id: Part of `parent`. See documentation of `projectsId`.
163
+ :param pulumi.Input[str] update_time: Output only. Timestamp when the resource was last modified.
164
+ """
165
+ if application_id is not None:
166
+ pulumi.set(__self__, "application_id", application_id)
167
+ if create_time is not None:
168
+ pulumi.set(__self__, "create_time", create_time)
169
+ if display_name is not None:
170
+ pulumi.set(__self__, "display_name", display_name)
171
+ if endpoint_matchers is not None:
172
+ pulumi.set(__self__, "endpoint_matchers", endpoint_matchers)
173
+ if name is not None:
174
+ pulumi.set(__self__, "name", name)
175
+ if project is not None:
176
+ pulumi.set(__self__, "project", project)
177
+ if security_gateways_id is not None:
178
+ pulumi.set(__self__, "security_gateways_id", security_gateways_id)
179
+ if update_time is not None:
180
+ pulumi.set(__self__, "update_time", update_time)
181
+
182
+ @property
183
+ @pulumi.getter(name="applicationId")
184
+ def application_id(self) -> Optional[pulumi.Input[str]]:
185
+ """
186
+ Optional. User-settable Application resource ID.
187
+ * Must start with a letter.
188
+ * Must contain between 4-63 characters from `/a-z-/`.
189
+ * Must end with a number or letter.
190
+ """
191
+ return pulumi.get(self, "application_id")
192
+
193
+ @application_id.setter
194
+ def application_id(self, value: Optional[pulumi.Input[str]]):
195
+ pulumi.set(self, "application_id", value)
196
+
197
+ @property
198
+ @pulumi.getter(name="createTime")
199
+ def create_time(self) -> Optional[pulumi.Input[str]]:
200
+ """
201
+ Output only. Timestamp when the resource was created.
202
+ """
203
+ return pulumi.get(self, "create_time")
204
+
205
+ @create_time.setter
206
+ def create_time(self, value: Optional[pulumi.Input[str]]):
207
+ pulumi.set(self, "create_time", value)
208
+
209
+ @property
210
+ @pulumi.getter(name="displayName")
211
+ def display_name(self) -> Optional[pulumi.Input[str]]:
212
+ """
213
+ Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters.
214
+ """
215
+ return pulumi.get(self, "display_name")
216
+
217
+ @display_name.setter
218
+ def display_name(self, value: Optional[pulumi.Input[str]]):
219
+ pulumi.set(self, "display_name", value)
220
+
221
+ @property
222
+ @pulumi.getter(name="endpointMatchers")
223
+ def endpoint_matchers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationEndpointMatcherArgs']]]]:
224
+ """
225
+ Required. Endpoint matchers associated with an application.
226
+ A combination of hostname and ports as endpoint matcher is used to match
227
+ the application.
228
+ Match conditions for OR logic.
229
+ An array of match conditions to allow for multiple matching criteria.
230
+ The rule is considered a match if one the conditions are met.
231
+ The conditions can be one of the following combination
232
+ (Hostname), (Hostname & Ports)
233
+ EXAMPLES:
234
+ Hostname - ("*.abc.com"), ("xyz.abc.com")
235
+ Hostname and Ports - ("abc.com" and "22"), ("abc.com" and "22,33") etc
236
+ Structure is documented below.
237
+ """
238
+ return pulumi.get(self, "endpoint_matchers")
239
+
240
+ @endpoint_matchers.setter
241
+ def endpoint_matchers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationEndpointMatcherArgs']]]]):
242
+ pulumi.set(self, "endpoint_matchers", value)
243
+
244
+ @property
245
+ @pulumi.getter
246
+ def name(self) -> Optional[pulumi.Input[str]]:
247
+ """
248
+ Identifier. Name of the resource.
249
+ """
250
+ return pulumi.get(self, "name")
251
+
252
+ @name.setter
253
+ def name(self, value: Optional[pulumi.Input[str]]):
254
+ pulumi.set(self, "name", value)
255
+
256
+ @property
257
+ @pulumi.getter
258
+ def project(self) -> Optional[pulumi.Input[str]]:
259
+ return pulumi.get(self, "project")
260
+
261
+ @project.setter
262
+ def project(self, value: Optional[pulumi.Input[str]]):
263
+ pulumi.set(self, "project", value)
264
+
265
+ @property
266
+ @pulumi.getter(name="securityGatewaysId")
267
+ def security_gateways_id(self) -> Optional[pulumi.Input[str]]:
268
+ """
269
+ Part of `parent`. See documentation of `projectsId`.
270
+ """
271
+ return pulumi.get(self, "security_gateways_id")
272
+
273
+ @security_gateways_id.setter
274
+ def security_gateways_id(self, value: Optional[pulumi.Input[str]]):
275
+ pulumi.set(self, "security_gateways_id", value)
276
+
277
+ @property
278
+ @pulumi.getter(name="updateTime")
279
+ def update_time(self) -> Optional[pulumi.Input[str]]:
280
+ """
281
+ Output only. Timestamp when the resource was last modified.
282
+ """
283
+ return pulumi.get(self, "update_time")
284
+
285
+ @update_time.setter
286
+ def update_time(self, value: Optional[pulumi.Input[str]]):
287
+ pulumi.set(self, "update_time", value)
288
+
289
+
290
+ class Application(pulumi.CustomResource):
291
+ @overload
292
+ def __init__(__self__,
293
+ resource_name: str,
294
+ opts: Optional[pulumi.ResourceOptions] = None,
295
+ application_id: Optional[pulumi.Input[str]] = None,
296
+ display_name: Optional[pulumi.Input[str]] = None,
297
+ endpoint_matchers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ApplicationEndpointMatcherArgs', 'ApplicationEndpointMatcherArgsDict']]]]] = None,
298
+ project: Optional[pulumi.Input[str]] = None,
299
+ security_gateways_id: Optional[pulumi.Input[str]] = None,
300
+ __props__=None):
301
+ """
302
+ Specifies application endpoint(s) to protect behind a Security Gateway.
303
+
304
+ ## Example Usage
305
+
306
+ ### Beyondcorp Security Gateway Application Basic
307
+
308
+ ```python
309
+ import pulumi
310
+ import pulumi_gcp as gcp
311
+
312
+ default = gcp.beyondcorp.SecurityGateway("default",
313
+ security_gateway_id="default",
314
+ display_name="My Security Gateway resource",
315
+ hubs=[{
316
+ "region": "us-central1",
317
+ }])
318
+ example = gcp.beyondcorp.Application("example",
319
+ security_gateways_id=default.security_gateway_id,
320
+ application_id="google",
321
+ endpoint_matchers=[{
322
+ "hostname": "google.com",
323
+ }])
324
+ ```
325
+
326
+ ## Import
327
+
328
+ Application can be imported using any of these accepted formats:
329
+
330
+ * `projects/{{project}}/locations/global/securityGateways/{{security_gateways_id}}/applications/{{application_id}}`
331
+
332
+ * `{{project}}/{{security_gateways_id}}/{{application_id}}`
333
+
334
+ * `{{security_gateways_id}}/{{application_id}}`
335
+
336
+ When using the `pulumi import` command, Application can be imported using one of the formats above. For example:
337
+
338
+ ```sh
339
+ $ pulumi import gcp:beyondcorp/application:Application default projects/{{project}}/locations/global/securityGateways/{{security_gateways_id}}/applications/{{application_id}}
340
+ ```
341
+
342
+ ```sh
343
+ $ pulumi import gcp:beyondcorp/application:Application default {{project}}/{{security_gateways_id}}/{{application_id}}
344
+ ```
345
+
346
+ ```sh
347
+ $ pulumi import gcp:beyondcorp/application:Application default {{security_gateways_id}}/{{application_id}}
348
+ ```
349
+
350
+ :param str resource_name: The name of the resource.
351
+ :param pulumi.ResourceOptions opts: Options for the resource.
352
+ :param pulumi.Input[str] application_id: Optional. User-settable Application resource ID.
353
+ * Must start with a letter.
354
+ * Must contain between 4-63 characters from `/a-z-/`.
355
+ * Must end with a number or letter.
356
+ :param pulumi.Input[str] display_name: Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters.
357
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ApplicationEndpointMatcherArgs', 'ApplicationEndpointMatcherArgsDict']]]] endpoint_matchers: Required. Endpoint matchers associated with an application.
358
+ A combination of hostname and ports as endpoint matcher is used to match
359
+ the application.
360
+ Match conditions for OR logic.
361
+ An array of match conditions to allow for multiple matching criteria.
362
+ The rule is considered a match if one the conditions are met.
363
+ The conditions can be one of the following combination
364
+ (Hostname), (Hostname & Ports)
365
+ EXAMPLES:
366
+ Hostname - ("*.abc.com"), ("xyz.abc.com")
367
+ Hostname and Ports - ("abc.com" and "22"), ("abc.com" and "22,33") etc
368
+ Structure is documented below.
369
+ :param pulumi.Input[str] security_gateways_id: Part of `parent`. See documentation of `projectsId`.
370
+ """
371
+ ...
372
+ @overload
373
+ def __init__(__self__,
374
+ resource_name: str,
375
+ args: ApplicationArgs,
376
+ opts: Optional[pulumi.ResourceOptions] = None):
377
+ """
378
+ Specifies application endpoint(s) to protect behind a Security Gateway.
379
+
380
+ ## Example Usage
381
+
382
+ ### Beyondcorp Security Gateway Application Basic
383
+
384
+ ```python
385
+ import pulumi
386
+ import pulumi_gcp as gcp
387
+
388
+ default = gcp.beyondcorp.SecurityGateway("default",
389
+ security_gateway_id="default",
390
+ display_name="My Security Gateway resource",
391
+ hubs=[{
392
+ "region": "us-central1",
393
+ }])
394
+ example = gcp.beyondcorp.Application("example",
395
+ security_gateways_id=default.security_gateway_id,
396
+ application_id="google",
397
+ endpoint_matchers=[{
398
+ "hostname": "google.com",
399
+ }])
400
+ ```
401
+
402
+ ## Import
403
+
404
+ Application can be imported using any of these accepted formats:
405
+
406
+ * `projects/{{project}}/locations/global/securityGateways/{{security_gateways_id}}/applications/{{application_id}}`
407
+
408
+ * `{{project}}/{{security_gateways_id}}/{{application_id}}`
409
+
410
+ * `{{security_gateways_id}}/{{application_id}}`
411
+
412
+ When using the `pulumi import` command, Application can be imported using one of the formats above. For example:
413
+
414
+ ```sh
415
+ $ pulumi import gcp:beyondcorp/application:Application default projects/{{project}}/locations/global/securityGateways/{{security_gateways_id}}/applications/{{application_id}}
416
+ ```
417
+
418
+ ```sh
419
+ $ pulumi import gcp:beyondcorp/application:Application default {{project}}/{{security_gateways_id}}/{{application_id}}
420
+ ```
421
+
422
+ ```sh
423
+ $ pulumi import gcp:beyondcorp/application:Application default {{security_gateways_id}}/{{application_id}}
424
+ ```
425
+
426
+ :param str resource_name: The name of the resource.
427
+ :param ApplicationArgs args: The arguments to use to populate this resource's properties.
428
+ :param pulumi.ResourceOptions opts: Options for the resource.
429
+ """
430
+ ...
431
+ def __init__(__self__, resource_name: str, *args, **kwargs):
432
+ resource_args, opts = _utilities.get_resource_args_opts(ApplicationArgs, pulumi.ResourceOptions, *args, **kwargs)
433
+ if resource_args is not None:
434
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
435
+ else:
436
+ __self__._internal_init(resource_name, *args, **kwargs)
437
+
438
+ def _internal_init(__self__,
439
+ resource_name: str,
440
+ opts: Optional[pulumi.ResourceOptions] = None,
441
+ application_id: Optional[pulumi.Input[str]] = None,
442
+ display_name: Optional[pulumi.Input[str]] = None,
443
+ endpoint_matchers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ApplicationEndpointMatcherArgs', 'ApplicationEndpointMatcherArgsDict']]]]] = None,
444
+ project: Optional[pulumi.Input[str]] = None,
445
+ security_gateways_id: Optional[pulumi.Input[str]] = None,
446
+ __props__=None):
447
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
448
+ if not isinstance(opts, pulumi.ResourceOptions):
449
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
450
+ if opts.id is None:
451
+ if __props__ is not None:
452
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
453
+ __props__ = ApplicationArgs.__new__(ApplicationArgs)
454
+
455
+ if application_id is None and not opts.urn:
456
+ raise TypeError("Missing required property 'application_id'")
457
+ __props__.__dict__["application_id"] = application_id
458
+ __props__.__dict__["display_name"] = display_name
459
+ if endpoint_matchers is None and not opts.urn:
460
+ raise TypeError("Missing required property 'endpoint_matchers'")
461
+ __props__.__dict__["endpoint_matchers"] = endpoint_matchers
462
+ __props__.__dict__["project"] = project
463
+ if security_gateways_id is None and not opts.urn:
464
+ raise TypeError("Missing required property 'security_gateways_id'")
465
+ __props__.__dict__["security_gateways_id"] = security_gateways_id
466
+ __props__.__dict__["create_time"] = None
467
+ __props__.__dict__["name"] = None
468
+ __props__.__dict__["update_time"] = None
469
+ super(Application, __self__).__init__(
470
+ 'gcp:beyondcorp/application:Application',
471
+ resource_name,
472
+ __props__,
473
+ opts)
474
+
475
+ @staticmethod
476
+ def get(resource_name: str,
477
+ id: pulumi.Input[str],
478
+ opts: Optional[pulumi.ResourceOptions] = None,
479
+ application_id: Optional[pulumi.Input[str]] = None,
480
+ create_time: Optional[pulumi.Input[str]] = None,
481
+ display_name: Optional[pulumi.Input[str]] = None,
482
+ endpoint_matchers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ApplicationEndpointMatcherArgs', 'ApplicationEndpointMatcherArgsDict']]]]] = None,
483
+ name: Optional[pulumi.Input[str]] = None,
484
+ project: Optional[pulumi.Input[str]] = None,
485
+ security_gateways_id: Optional[pulumi.Input[str]] = None,
486
+ update_time: Optional[pulumi.Input[str]] = None) -> 'Application':
487
+ """
488
+ Get an existing Application resource's state with the given name, id, and optional extra
489
+ properties used to qualify the lookup.
490
+
491
+ :param str resource_name: The unique name of the resulting resource.
492
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
493
+ :param pulumi.ResourceOptions opts: Options for the resource.
494
+ :param pulumi.Input[str] application_id: Optional. User-settable Application resource ID.
495
+ * Must start with a letter.
496
+ * Must contain between 4-63 characters from `/a-z-/`.
497
+ * Must end with a number or letter.
498
+ :param pulumi.Input[str] create_time: Output only. Timestamp when the resource was created.
499
+ :param pulumi.Input[str] display_name: Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters.
500
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ApplicationEndpointMatcherArgs', 'ApplicationEndpointMatcherArgsDict']]]] endpoint_matchers: Required. Endpoint matchers associated with an application.
501
+ A combination of hostname and ports as endpoint matcher is used to match
502
+ the application.
503
+ Match conditions for OR logic.
504
+ An array of match conditions to allow for multiple matching criteria.
505
+ The rule is considered a match if one the conditions are met.
506
+ The conditions can be one of the following combination
507
+ (Hostname), (Hostname & Ports)
508
+ EXAMPLES:
509
+ Hostname - ("*.abc.com"), ("xyz.abc.com")
510
+ Hostname and Ports - ("abc.com" and "22"), ("abc.com" and "22,33") etc
511
+ Structure is documented below.
512
+ :param pulumi.Input[str] name: Identifier. Name of the resource.
513
+ :param pulumi.Input[str] security_gateways_id: Part of `parent`. See documentation of `projectsId`.
514
+ :param pulumi.Input[str] update_time: Output only. Timestamp when the resource was last modified.
515
+ """
516
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
517
+
518
+ __props__ = _ApplicationState.__new__(_ApplicationState)
519
+
520
+ __props__.__dict__["application_id"] = application_id
521
+ __props__.__dict__["create_time"] = create_time
522
+ __props__.__dict__["display_name"] = display_name
523
+ __props__.__dict__["endpoint_matchers"] = endpoint_matchers
524
+ __props__.__dict__["name"] = name
525
+ __props__.__dict__["project"] = project
526
+ __props__.__dict__["security_gateways_id"] = security_gateways_id
527
+ __props__.__dict__["update_time"] = update_time
528
+ return Application(resource_name, opts=opts, __props__=__props__)
529
+
530
+ @property
531
+ @pulumi.getter(name="applicationId")
532
+ def application_id(self) -> pulumi.Output[str]:
533
+ """
534
+ Optional. User-settable Application resource ID.
535
+ * Must start with a letter.
536
+ * Must contain between 4-63 characters from `/a-z-/`.
537
+ * Must end with a number or letter.
538
+ """
539
+ return pulumi.get(self, "application_id")
540
+
541
+ @property
542
+ @pulumi.getter(name="createTime")
543
+ def create_time(self) -> pulumi.Output[str]:
544
+ """
545
+ Output only. Timestamp when the resource was created.
546
+ """
547
+ return pulumi.get(self, "create_time")
548
+
549
+ @property
550
+ @pulumi.getter(name="displayName")
551
+ def display_name(self) -> pulumi.Output[Optional[str]]:
552
+ """
553
+ Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters.
554
+ """
555
+ return pulumi.get(self, "display_name")
556
+
557
+ @property
558
+ @pulumi.getter(name="endpointMatchers")
559
+ def endpoint_matchers(self) -> pulumi.Output[Sequence['outputs.ApplicationEndpointMatcher']]:
560
+ """
561
+ Required. Endpoint matchers associated with an application.
562
+ A combination of hostname and ports as endpoint matcher is used to match
563
+ the application.
564
+ Match conditions for OR logic.
565
+ An array of match conditions to allow for multiple matching criteria.
566
+ The rule is considered a match if one the conditions are met.
567
+ The conditions can be one of the following combination
568
+ (Hostname), (Hostname & Ports)
569
+ EXAMPLES:
570
+ Hostname - ("*.abc.com"), ("xyz.abc.com")
571
+ Hostname and Ports - ("abc.com" and "22"), ("abc.com" and "22,33") etc
572
+ Structure is documented below.
573
+ """
574
+ return pulumi.get(self, "endpoint_matchers")
575
+
576
+ @property
577
+ @pulumi.getter
578
+ def name(self) -> pulumi.Output[str]:
579
+ """
580
+ Identifier. Name of the resource.
581
+ """
582
+ return pulumi.get(self, "name")
583
+
584
+ @property
585
+ @pulumi.getter
586
+ def project(self) -> pulumi.Output[str]:
587
+ return pulumi.get(self, "project")
588
+
589
+ @property
590
+ @pulumi.getter(name="securityGatewaysId")
591
+ def security_gateways_id(self) -> pulumi.Output[str]:
592
+ """
593
+ Part of `parent`. See documentation of `projectsId`.
594
+ """
595
+ return pulumi.get(self, "security_gateways_id")
596
+
597
+ @property
598
+ @pulumi.getter(name="updateTime")
599
+ def update_time(self) -> pulumi.Output[str]:
600
+ """
601
+ Output only. Timestamp when the resource was last modified.
602
+ """
603
+ return pulumi.get(self, "update_time")
604
+