pulumi-gcp 8.36.0a1750484065__py3-none-any.whl → 8.37.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 (117) hide show
  1. pulumi_gcp/__init__.py +59 -0
  2. pulumi_gcp/alloydb/_inputs.py +26 -0
  3. pulumi_gcp/alloydb/outputs.py +34 -1
  4. pulumi_gcp/apihub/__init__.py +2 -0
  5. pulumi_gcp/apihub/_inputs.py +1658 -0
  6. pulumi_gcp/apihub/outputs.py +1374 -0
  7. pulumi_gcp/apihub/plugin.py +1146 -0
  8. pulumi_gcp/apihub/plugin_instance.py +808 -0
  9. pulumi_gcp/bigquery/table.py +16 -12
  10. pulumi_gcp/bigqueryanalyticshub/_inputs.py +56 -6
  11. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +73 -0
  12. pulumi_gcp/bigqueryanalyticshub/listing.py +201 -48
  13. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +28 -0
  14. pulumi_gcp/bigqueryanalyticshub/outputs.py +50 -4
  15. pulumi_gcp/bigtable/table.py +82 -0
  16. pulumi_gcp/cloudidentity/group_membership.py +47 -0
  17. pulumi_gcp/cloudidentity/outputs.py +11 -0
  18. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +64 -8
  19. pulumi_gcp/cloudrunv2/_inputs.py +65 -9
  20. pulumi_gcp/cloudrunv2/job.py +44 -0
  21. pulumi_gcp/cloudrunv2/outputs.py +73 -8
  22. pulumi_gcp/cloudrunv2/service.py +0 -2
  23. pulumi_gcp/cloudrunv2/worker_pool.py +18 -20
  24. pulumi_gcp/compute/__init__.py +1 -0
  25. pulumi_gcp/compute/_inputs.py +787 -18
  26. pulumi_gcp/compute/disk.py +35 -28
  27. pulumi_gcp/compute/firewall_policy_rule.py +207 -0
  28. pulumi_gcp/compute/get_instance_group_manager.py +12 -1
  29. pulumi_gcp/compute/get_region_disk.py +12 -1
  30. pulumi_gcp/compute/instance.py +2 -2
  31. pulumi_gcp/compute/instance_group_manager.py +165 -14
  32. pulumi_gcp/compute/instance_template.py +2 -2
  33. pulumi_gcp/compute/interconnect.py +43 -11
  34. pulumi_gcp/compute/network.py +56 -0
  35. pulumi_gcp/compute/network_firewall_policy.py +68 -0
  36. pulumi_gcp/compute/network_firewall_policy_with_rules.py +61 -0
  37. pulumi_gcp/compute/node_template.py +21 -0
  38. pulumi_gcp/compute/outputs.py +620 -12
  39. pulumi_gcp/compute/region_disk.py +114 -0
  40. pulumi_gcp/compute/region_network_firewall_policy.py +90 -0
  41. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +109 -0
  42. pulumi_gcp/compute/service_attachment.py +76 -8
  43. pulumi_gcp/compute/wire_group.py +751 -0
  44. pulumi_gcp/config/__init__.pyi +2 -0
  45. pulumi_gcp/config/vars.py +4 -0
  46. pulumi_gcp/contactcenterinsights/__init__.py +9 -0
  47. pulumi_gcp/contactcenterinsights/view.py +526 -0
  48. pulumi_gcp/container/_inputs.py +207 -28
  49. pulumi_gcp/container/cluster.py +54 -0
  50. pulumi_gcp/container/get_cluster.py +12 -1
  51. pulumi_gcp/container/get_engine_versions.py +15 -1
  52. pulumi_gcp/container/node_pool.py +14 -0
  53. pulumi_gcp/container/outputs.py +295 -21
  54. pulumi_gcp/dataplex/_inputs.py +431 -6
  55. pulumi_gcp/dataplex/datascan.py +251 -0
  56. pulumi_gcp/dataplex/entry_type.py +2 -2
  57. pulumi_gcp/dataplex/glossary_category.py +8 -8
  58. pulumi_gcp/dataplex/glossary_term.py +8 -8
  59. pulumi_gcp/dataplex/outputs.py +353 -4
  60. pulumi_gcp/dataplex/task.py +16 -16
  61. pulumi_gcp/dataproc/__init__.py +1 -0
  62. pulumi_gcp/dataproc/_inputs.py +486 -0
  63. pulumi_gcp/dataproc/batch.py +10 -10
  64. pulumi_gcp/dataproc/outputs.py +407 -0
  65. pulumi_gcp/dataproc/session_template.py +1084 -0
  66. pulumi_gcp/diagflow/__init__.py +2 -0
  67. pulumi_gcp/diagflow/_inputs.py +479 -0
  68. pulumi_gcp/diagflow/cx_generative_settings.py +625 -0
  69. pulumi_gcp/diagflow/cx_tool.py +2 -2
  70. pulumi_gcp/diagflow/encryption_spec.py +382 -0
  71. pulumi_gcp/diagflow/outputs.py +416 -0
  72. pulumi_gcp/dns/record_set.py +4 -2
  73. pulumi_gcp/firestore/database.py +0 -9
  74. pulumi_gcp/firestore/field.py +6 -6
  75. pulumi_gcp/gkehub/membership_binding.py +6 -6
  76. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  77. pulumi_gcp/gkehub/namespace.py +4 -4
  78. pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -8
  79. pulumi_gcp/iam/_inputs.py +36 -0
  80. pulumi_gcp/iam/outputs.py +38 -0
  81. pulumi_gcp/iam/workload_identity_pool_managed_identity.py +88 -2
  82. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  83. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  84. pulumi_gcp/kms/autokey_config.py +28 -0
  85. pulumi_gcp/kms/get_autokey_config.py +12 -1
  86. pulumi_gcp/lustre/get_instance.py +12 -1
  87. pulumi_gcp/lustre/instance.py +143 -86
  88. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  89. pulumi_gcp/managedkafka/connector.py +4 -4
  90. pulumi_gcp/memorystore/get_instance.py +12 -1
  91. pulumi_gcp/memorystore/instance.py +49 -0
  92. pulumi_gcp/monitoring/metric_descriptor.py +55 -57
  93. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  94. pulumi_gcp/notebooks/instance.py +8 -8
  95. pulumi_gcp/orgpolicy/policy.py +2 -2
  96. pulumi_gcp/provider.py +20 -0
  97. pulumi_gcp/pubsub/subscription.py +6 -6
  98. pulumi_gcp/pulumi-plugin.json +1 -1
  99. pulumi_gcp/redis/get_instance.py +12 -1
  100. pulumi_gcp/redis/instance.py +44 -0
  101. pulumi_gcp/secretmanager/get_regional_secret.py +12 -1
  102. pulumi_gcp/secretmanager/outputs.py +7 -0
  103. pulumi_gcp/secretmanager/regional_secret.py +38 -2
  104. pulumi_gcp/spanner/_inputs.py +24 -1
  105. pulumi_gcp/spanner/outputs.py +17 -1
  106. pulumi_gcp/storage/_inputs.py +43 -3
  107. pulumi_gcp/storage/bucket_object.py +56 -0
  108. pulumi_gcp/storage/get_bucket_object.py +12 -1
  109. pulumi_gcp/storage/get_bucket_object_content.py +12 -1
  110. pulumi_gcp/storage/outputs.py +53 -3
  111. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  112. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  113. pulumi_gcp/workbench/instance.py +2 -0
  114. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/METADATA +2 -2
  115. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/RECORD +117 -109
  116. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/WHEEL +0 -0
  117. {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,808 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins
6
+ import copy
7
+ import warnings
8
+ import sys
9
+ import pulumi
10
+ import pulumi.runtime
11
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
12
+ if sys.version_info >= (3, 11):
13
+ from typing import NotRequired, TypedDict, TypeAlias
14
+ else:
15
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
16
+ from .. import _utilities
17
+ from . import outputs
18
+ from ._inputs import *
19
+
20
+ __all__ = ['PluginInstanceArgs', 'PluginInstance']
21
+
22
+ @pulumi.input_type
23
+ class PluginInstanceArgs:
24
+ def __init__(__self__, *,
25
+ display_name: pulumi.Input[builtins.str],
26
+ location: pulumi.Input[builtins.str],
27
+ plugin: pulumi.Input[builtins.str],
28
+ plugin_instance_id: pulumi.Input[builtins.str],
29
+ actions: Optional[pulumi.Input[Sequence[pulumi.Input['PluginInstanceActionArgs']]]] = None,
30
+ auth_config: Optional[pulumi.Input['PluginInstanceAuthConfigArgs']] = None,
31
+ disable: Optional[pulumi.Input[builtins.bool]] = None,
32
+ project: Optional[pulumi.Input[builtins.str]] = None):
33
+ """
34
+ The set of arguments for constructing a PluginInstance resource.
35
+ :param pulumi.Input[builtins.str] display_name: The display name for this plugin instance. Max length is 255 characters.
36
+ :param pulumi.Input[builtins.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.
37
+ :param pulumi.Input[builtins.str] plugin: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
38
+ :param pulumi.Input[builtins.str] plugin_instance_id: The ID to use for the plugin instance, which will become the final
39
+ component of the plugin instance's resource name. This field is optional.
40
+ * If provided, the same will be used. The service will throw an error if
41
+ the specified id is already used by another plugin instance in the plugin
42
+ resource.
43
+ * If not provided, a system generated id will be used.
44
+ This value should be 4-63 characters, and valid characters
45
+ are /a-z[0-9]-_/.
46
+ :param pulumi.Input[Sequence[pulumi.Input['PluginInstanceActionArgs']]] actions: The action status for the plugin instance.
47
+ Structure is documented below.
48
+ :param pulumi.Input['PluginInstanceAuthConfigArgs'] auth_config: AuthConfig represents the authentication information.
49
+ :param pulumi.Input[builtins.bool] disable: The display name for this plugin instance. Max length is 255 characters.
50
+ """
51
+ pulumi.set(__self__, "display_name", display_name)
52
+ pulumi.set(__self__, "location", location)
53
+ pulumi.set(__self__, "plugin", plugin)
54
+ pulumi.set(__self__, "plugin_instance_id", plugin_instance_id)
55
+ if actions is not None:
56
+ pulumi.set(__self__, "actions", actions)
57
+ if auth_config is not None:
58
+ pulumi.set(__self__, "auth_config", auth_config)
59
+ if disable is not None:
60
+ pulumi.set(__self__, "disable", disable)
61
+ if project is not None:
62
+ pulumi.set(__self__, "project", project)
63
+
64
+ @property
65
+ @pulumi.getter(name="displayName")
66
+ def display_name(self) -> pulumi.Input[builtins.str]:
67
+ """
68
+ The display name for this plugin instance. Max length is 255 characters.
69
+ """
70
+ return pulumi.get(self, "display_name")
71
+
72
+ @display_name.setter
73
+ def display_name(self, value: pulumi.Input[builtins.str]):
74
+ pulumi.set(self, "display_name", value)
75
+
76
+ @property
77
+ @pulumi.getter
78
+ def location(self) -> pulumi.Input[builtins.str]:
79
+ """
80
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
81
+ """
82
+ return pulumi.get(self, "location")
83
+
84
+ @location.setter
85
+ def location(self, value: pulumi.Input[builtins.str]):
86
+ pulumi.set(self, "location", value)
87
+
88
+ @property
89
+ @pulumi.getter
90
+ def plugin(self) -> pulumi.Input[builtins.str]:
91
+ """
92
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
93
+ """
94
+ return pulumi.get(self, "plugin")
95
+
96
+ @plugin.setter
97
+ def plugin(self, value: pulumi.Input[builtins.str]):
98
+ pulumi.set(self, "plugin", value)
99
+
100
+ @property
101
+ @pulumi.getter(name="pluginInstanceId")
102
+ def plugin_instance_id(self) -> pulumi.Input[builtins.str]:
103
+ """
104
+ The ID to use for the plugin instance, which will become the final
105
+ component of the plugin instance's resource name. This field is optional.
106
+ * If provided, the same will be used. The service will throw an error if
107
+ the specified id is already used by another plugin instance in the plugin
108
+ resource.
109
+ * If not provided, a system generated id will be used.
110
+ This value should be 4-63 characters, and valid characters
111
+ are /a-z[0-9]-_/.
112
+ """
113
+ return pulumi.get(self, "plugin_instance_id")
114
+
115
+ @plugin_instance_id.setter
116
+ def plugin_instance_id(self, value: pulumi.Input[builtins.str]):
117
+ pulumi.set(self, "plugin_instance_id", value)
118
+
119
+ @property
120
+ @pulumi.getter
121
+ def actions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PluginInstanceActionArgs']]]]:
122
+ """
123
+ The action status for the plugin instance.
124
+ Structure is documented below.
125
+ """
126
+ return pulumi.get(self, "actions")
127
+
128
+ @actions.setter
129
+ def actions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PluginInstanceActionArgs']]]]):
130
+ pulumi.set(self, "actions", value)
131
+
132
+ @property
133
+ @pulumi.getter(name="authConfig")
134
+ def auth_config(self) -> Optional[pulumi.Input['PluginInstanceAuthConfigArgs']]:
135
+ """
136
+ AuthConfig represents the authentication information.
137
+ """
138
+ return pulumi.get(self, "auth_config")
139
+
140
+ @auth_config.setter
141
+ def auth_config(self, value: Optional[pulumi.Input['PluginInstanceAuthConfigArgs']]):
142
+ pulumi.set(self, "auth_config", value)
143
+
144
+ @property
145
+ @pulumi.getter
146
+ def disable(self) -> Optional[pulumi.Input[builtins.bool]]:
147
+ """
148
+ The display name for this plugin instance. Max length is 255 characters.
149
+ """
150
+ return pulumi.get(self, "disable")
151
+
152
+ @disable.setter
153
+ def disable(self, value: Optional[pulumi.Input[builtins.bool]]):
154
+ pulumi.set(self, "disable", value)
155
+
156
+ @property
157
+ @pulumi.getter
158
+ def project(self) -> Optional[pulumi.Input[builtins.str]]:
159
+ return pulumi.get(self, "project")
160
+
161
+ @project.setter
162
+ def project(self, value: Optional[pulumi.Input[builtins.str]]):
163
+ pulumi.set(self, "project", value)
164
+
165
+
166
+ @pulumi.input_type
167
+ class _PluginInstanceState:
168
+ def __init__(__self__, *,
169
+ actions: Optional[pulumi.Input[Sequence[pulumi.Input['PluginInstanceActionArgs']]]] = None,
170
+ auth_config: Optional[pulumi.Input['PluginInstanceAuthConfigArgs']] = None,
171
+ create_time: Optional[pulumi.Input[builtins.str]] = None,
172
+ disable: Optional[pulumi.Input[builtins.bool]] = None,
173
+ display_name: Optional[pulumi.Input[builtins.str]] = None,
174
+ error_message: Optional[pulumi.Input[builtins.str]] = None,
175
+ location: Optional[pulumi.Input[builtins.str]] = None,
176
+ name: Optional[pulumi.Input[builtins.str]] = None,
177
+ plugin: Optional[pulumi.Input[builtins.str]] = None,
178
+ plugin_instance_id: Optional[pulumi.Input[builtins.str]] = None,
179
+ project: Optional[pulumi.Input[builtins.str]] = None,
180
+ state: Optional[pulumi.Input[builtins.str]] = None,
181
+ update_time: Optional[pulumi.Input[builtins.str]] = None):
182
+ """
183
+ Input properties used for looking up and filtering PluginInstance resources.
184
+ :param pulumi.Input[Sequence[pulumi.Input['PluginInstanceActionArgs']]] actions: The action status for the plugin instance.
185
+ Structure is documented below.
186
+ :param pulumi.Input['PluginInstanceAuthConfigArgs'] auth_config: AuthConfig represents the authentication information.
187
+ :param pulumi.Input[builtins.str] create_time: Timestamp indicating when the plugin instance was created.
188
+ :param pulumi.Input[builtins.bool] disable: The display name for this plugin instance. Max length is 255 characters.
189
+ :param pulumi.Input[builtins.str] display_name: The display name for this plugin instance. Max length is 255 characters.
190
+ :param pulumi.Input[builtins.str] error_message: Error message describing the failure, if any, during Create, Delete or
191
+ ApplyConfig operation corresponding to the plugin instance.This field will
192
+ only be populated if the plugin instance is in the ERROR or FAILED state.
193
+ :param pulumi.Input[builtins.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.
194
+ :param pulumi.Input[builtins.str] name: Identifier. The unique name of the plugin instance resource.
195
+ Format:
196
+ `projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}`
197
+ :param pulumi.Input[builtins.str] plugin: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
198
+ :param pulumi.Input[builtins.str] plugin_instance_id: The ID to use for the plugin instance, which will become the final
199
+ component of the plugin instance's resource name. This field is optional.
200
+ * If provided, the same will be used. The service will throw an error if
201
+ the specified id is already used by another plugin instance in the plugin
202
+ resource.
203
+ * If not provided, a system generated id will be used.
204
+ This value should be 4-63 characters, and valid characters
205
+ are /a-z[0-9]-_/.
206
+ :param pulumi.Input[builtins.str] state: The current state of the plugin instance (e.g., enabled, disabled,
207
+ provisioning).
208
+ Possible values:
209
+ STATE_UNSPECIFIED
210
+ CREATING
211
+ ACTIVE
212
+ APPLYING_CONFIG
213
+ ERROR
214
+ FAILED
215
+ DELETING
216
+ :param pulumi.Input[builtins.str] update_time: Timestamp indicating when the plugin instance was last updated.
217
+ """
218
+ if actions is not None:
219
+ pulumi.set(__self__, "actions", actions)
220
+ if auth_config is not None:
221
+ pulumi.set(__self__, "auth_config", auth_config)
222
+ if create_time is not None:
223
+ pulumi.set(__self__, "create_time", create_time)
224
+ if disable is not None:
225
+ pulumi.set(__self__, "disable", disable)
226
+ if display_name is not None:
227
+ pulumi.set(__self__, "display_name", display_name)
228
+ if error_message is not None:
229
+ pulumi.set(__self__, "error_message", error_message)
230
+ if location is not None:
231
+ pulumi.set(__self__, "location", location)
232
+ if name is not None:
233
+ pulumi.set(__self__, "name", name)
234
+ if plugin is not None:
235
+ pulumi.set(__self__, "plugin", plugin)
236
+ if plugin_instance_id is not None:
237
+ pulumi.set(__self__, "plugin_instance_id", plugin_instance_id)
238
+ if project is not None:
239
+ pulumi.set(__self__, "project", project)
240
+ if state is not None:
241
+ pulumi.set(__self__, "state", state)
242
+ if update_time is not None:
243
+ pulumi.set(__self__, "update_time", update_time)
244
+
245
+ @property
246
+ @pulumi.getter
247
+ def actions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PluginInstanceActionArgs']]]]:
248
+ """
249
+ The action status for the plugin instance.
250
+ Structure is documented below.
251
+ """
252
+ return pulumi.get(self, "actions")
253
+
254
+ @actions.setter
255
+ def actions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PluginInstanceActionArgs']]]]):
256
+ pulumi.set(self, "actions", value)
257
+
258
+ @property
259
+ @pulumi.getter(name="authConfig")
260
+ def auth_config(self) -> Optional[pulumi.Input['PluginInstanceAuthConfigArgs']]:
261
+ """
262
+ AuthConfig represents the authentication information.
263
+ """
264
+ return pulumi.get(self, "auth_config")
265
+
266
+ @auth_config.setter
267
+ def auth_config(self, value: Optional[pulumi.Input['PluginInstanceAuthConfigArgs']]):
268
+ pulumi.set(self, "auth_config", value)
269
+
270
+ @property
271
+ @pulumi.getter(name="createTime")
272
+ def create_time(self) -> Optional[pulumi.Input[builtins.str]]:
273
+ """
274
+ Timestamp indicating when the plugin instance was created.
275
+ """
276
+ return pulumi.get(self, "create_time")
277
+
278
+ @create_time.setter
279
+ def create_time(self, value: Optional[pulumi.Input[builtins.str]]):
280
+ pulumi.set(self, "create_time", value)
281
+
282
+ @property
283
+ @pulumi.getter
284
+ def disable(self) -> Optional[pulumi.Input[builtins.bool]]:
285
+ """
286
+ The display name for this plugin instance. Max length is 255 characters.
287
+ """
288
+ return pulumi.get(self, "disable")
289
+
290
+ @disable.setter
291
+ def disable(self, value: Optional[pulumi.Input[builtins.bool]]):
292
+ pulumi.set(self, "disable", value)
293
+
294
+ @property
295
+ @pulumi.getter(name="displayName")
296
+ def display_name(self) -> Optional[pulumi.Input[builtins.str]]:
297
+ """
298
+ The display name for this plugin instance. Max length is 255 characters.
299
+ """
300
+ return pulumi.get(self, "display_name")
301
+
302
+ @display_name.setter
303
+ def display_name(self, value: Optional[pulumi.Input[builtins.str]]):
304
+ pulumi.set(self, "display_name", value)
305
+
306
+ @property
307
+ @pulumi.getter(name="errorMessage")
308
+ def error_message(self) -> Optional[pulumi.Input[builtins.str]]:
309
+ """
310
+ Error message describing the failure, if any, during Create, Delete or
311
+ ApplyConfig operation corresponding to the plugin instance.This field will
312
+ only be populated if the plugin instance is in the ERROR or FAILED state.
313
+ """
314
+ return pulumi.get(self, "error_message")
315
+
316
+ @error_message.setter
317
+ def error_message(self, value: Optional[pulumi.Input[builtins.str]]):
318
+ pulumi.set(self, "error_message", value)
319
+
320
+ @property
321
+ @pulumi.getter
322
+ def location(self) -> Optional[pulumi.Input[builtins.str]]:
323
+ """
324
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
325
+ """
326
+ return pulumi.get(self, "location")
327
+
328
+ @location.setter
329
+ def location(self, value: Optional[pulumi.Input[builtins.str]]):
330
+ pulumi.set(self, "location", value)
331
+
332
+ @property
333
+ @pulumi.getter
334
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
335
+ """
336
+ Identifier. The unique name of the plugin instance resource.
337
+ Format:
338
+ `projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}`
339
+ """
340
+ return pulumi.get(self, "name")
341
+
342
+ @name.setter
343
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
344
+ pulumi.set(self, "name", value)
345
+
346
+ @property
347
+ @pulumi.getter
348
+ def plugin(self) -> Optional[pulumi.Input[builtins.str]]:
349
+ """
350
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
351
+ """
352
+ return pulumi.get(self, "plugin")
353
+
354
+ @plugin.setter
355
+ def plugin(self, value: Optional[pulumi.Input[builtins.str]]):
356
+ pulumi.set(self, "plugin", value)
357
+
358
+ @property
359
+ @pulumi.getter(name="pluginInstanceId")
360
+ def plugin_instance_id(self) -> Optional[pulumi.Input[builtins.str]]:
361
+ """
362
+ The ID to use for the plugin instance, which will become the final
363
+ component of the plugin instance's resource name. This field is optional.
364
+ * If provided, the same will be used. The service will throw an error if
365
+ the specified id is already used by another plugin instance in the plugin
366
+ resource.
367
+ * If not provided, a system generated id will be used.
368
+ This value should be 4-63 characters, and valid characters
369
+ are /a-z[0-9]-_/.
370
+ """
371
+ return pulumi.get(self, "plugin_instance_id")
372
+
373
+ @plugin_instance_id.setter
374
+ def plugin_instance_id(self, value: Optional[pulumi.Input[builtins.str]]):
375
+ pulumi.set(self, "plugin_instance_id", value)
376
+
377
+ @property
378
+ @pulumi.getter
379
+ def project(self) -> Optional[pulumi.Input[builtins.str]]:
380
+ return pulumi.get(self, "project")
381
+
382
+ @project.setter
383
+ def project(self, value: Optional[pulumi.Input[builtins.str]]):
384
+ pulumi.set(self, "project", value)
385
+
386
+ @property
387
+ @pulumi.getter
388
+ def state(self) -> Optional[pulumi.Input[builtins.str]]:
389
+ """
390
+ The current state of the plugin instance (e.g., enabled, disabled,
391
+ provisioning).
392
+ Possible values:
393
+ STATE_UNSPECIFIED
394
+ CREATING
395
+ ACTIVE
396
+ APPLYING_CONFIG
397
+ ERROR
398
+ FAILED
399
+ DELETING
400
+ """
401
+ return pulumi.get(self, "state")
402
+
403
+ @state.setter
404
+ def state(self, value: Optional[pulumi.Input[builtins.str]]):
405
+ pulumi.set(self, "state", value)
406
+
407
+ @property
408
+ @pulumi.getter(name="updateTime")
409
+ def update_time(self) -> Optional[pulumi.Input[builtins.str]]:
410
+ """
411
+ Timestamp indicating when the plugin instance was last updated.
412
+ """
413
+ return pulumi.get(self, "update_time")
414
+
415
+ @update_time.setter
416
+ def update_time(self, value: Optional[pulumi.Input[builtins.str]]):
417
+ pulumi.set(self, "update_time", value)
418
+
419
+
420
+ @pulumi.type_token("gcp:apihub/pluginInstance:PluginInstance")
421
+ class PluginInstance(pulumi.CustomResource):
422
+ @overload
423
+ def __init__(__self__,
424
+ resource_name: str,
425
+ opts: Optional[pulumi.ResourceOptions] = None,
426
+ actions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PluginInstanceActionArgs', 'PluginInstanceActionArgsDict']]]]] = None,
427
+ auth_config: Optional[pulumi.Input[Union['PluginInstanceAuthConfigArgs', 'PluginInstanceAuthConfigArgsDict']]] = None,
428
+ disable: Optional[pulumi.Input[builtins.bool]] = None,
429
+ display_name: Optional[pulumi.Input[builtins.str]] = None,
430
+ location: Optional[pulumi.Input[builtins.str]] = None,
431
+ plugin: Optional[pulumi.Input[builtins.str]] = None,
432
+ plugin_instance_id: Optional[pulumi.Input[builtins.str]] = None,
433
+ project: Optional[pulumi.Input[builtins.str]] = None,
434
+ __props__=None):
435
+ """
436
+ Description
437
+
438
+ ## Example Usage
439
+
440
+ ### Apihub Plugin Instance Basic
441
+
442
+ ```python
443
+ import pulumi
444
+ import pulumi_gcp as gcp
445
+
446
+ apihub_plugin_instance_basic = gcp.apihub.PluginInstance("apihub_plugin_instance_basic",
447
+ location="us-central1",
448
+ plugin="existing-plugin-id",
449
+ plugin_instance_id="test",
450
+ display_name="Sample Plugin Instance Display Name",
451
+ disable=False,
452
+ actions=[{
453
+ "action_id": "existing-action-id",
454
+ }])
455
+ ```
456
+
457
+ ## Import
458
+
459
+ PluginInstance can be imported using any of these accepted formats:
460
+
461
+ * `projects/{{project}}/locations/{{location}}/plugins/{{plugin}}/instances/{{plugin_instance_id}}`
462
+
463
+ * `{{project}}/{{location}}/{{plugin}}/{{plugin_instance_id}}`
464
+
465
+ * `{{location}}/{{plugin}}/{{plugin_instance_id}}`
466
+
467
+ When using the `pulumi import` command, PluginInstance can be imported using one of the formats above. For example:
468
+
469
+ ```sh
470
+ $ pulumi import gcp:apihub/pluginInstance:PluginInstance default projects/{{project}}/locations/{{location}}/plugins/{{plugin}}/instances/{{plugin_instance_id}}
471
+ ```
472
+
473
+ ```sh
474
+ $ pulumi import gcp:apihub/pluginInstance:PluginInstance default {{project}}/{{location}}/{{plugin}}/{{plugin_instance_id}}
475
+ ```
476
+
477
+ ```sh
478
+ $ pulumi import gcp:apihub/pluginInstance:PluginInstance default {{location}}/{{plugin}}/{{plugin_instance_id}}
479
+ ```
480
+
481
+ :param str resource_name: The name of the resource.
482
+ :param pulumi.ResourceOptions opts: Options for the resource.
483
+ :param pulumi.Input[Sequence[pulumi.Input[Union['PluginInstanceActionArgs', 'PluginInstanceActionArgsDict']]]] actions: The action status for the plugin instance.
484
+ Structure is documented below.
485
+ :param pulumi.Input[Union['PluginInstanceAuthConfigArgs', 'PluginInstanceAuthConfigArgsDict']] auth_config: AuthConfig represents the authentication information.
486
+ :param pulumi.Input[builtins.bool] disable: The display name for this plugin instance. Max length is 255 characters.
487
+ :param pulumi.Input[builtins.str] display_name: The display name for this plugin instance. Max length is 255 characters.
488
+ :param pulumi.Input[builtins.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.
489
+ :param pulumi.Input[builtins.str] plugin: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
490
+ :param pulumi.Input[builtins.str] plugin_instance_id: The ID to use for the plugin instance, which will become the final
491
+ component of the plugin instance's resource name. This field is optional.
492
+ * If provided, the same will be used. The service will throw an error if
493
+ the specified id is already used by another plugin instance in the plugin
494
+ resource.
495
+ * If not provided, a system generated id will be used.
496
+ This value should be 4-63 characters, and valid characters
497
+ are /a-z[0-9]-_/.
498
+ """
499
+ ...
500
+ @overload
501
+ def __init__(__self__,
502
+ resource_name: str,
503
+ args: PluginInstanceArgs,
504
+ opts: Optional[pulumi.ResourceOptions] = None):
505
+ """
506
+ Description
507
+
508
+ ## Example Usage
509
+
510
+ ### Apihub Plugin Instance Basic
511
+
512
+ ```python
513
+ import pulumi
514
+ import pulumi_gcp as gcp
515
+
516
+ apihub_plugin_instance_basic = gcp.apihub.PluginInstance("apihub_plugin_instance_basic",
517
+ location="us-central1",
518
+ plugin="existing-plugin-id",
519
+ plugin_instance_id="test",
520
+ display_name="Sample Plugin Instance Display Name",
521
+ disable=False,
522
+ actions=[{
523
+ "action_id": "existing-action-id",
524
+ }])
525
+ ```
526
+
527
+ ## Import
528
+
529
+ PluginInstance can be imported using any of these accepted formats:
530
+
531
+ * `projects/{{project}}/locations/{{location}}/plugins/{{plugin}}/instances/{{plugin_instance_id}}`
532
+
533
+ * `{{project}}/{{location}}/{{plugin}}/{{plugin_instance_id}}`
534
+
535
+ * `{{location}}/{{plugin}}/{{plugin_instance_id}}`
536
+
537
+ When using the `pulumi import` command, PluginInstance can be imported using one of the formats above. For example:
538
+
539
+ ```sh
540
+ $ pulumi import gcp:apihub/pluginInstance:PluginInstance default projects/{{project}}/locations/{{location}}/plugins/{{plugin}}/instances/{{plugin_instance_id}}
541
+ ```
542
+
543
+ ```sh
544
+ $ pulumi import gcp:apihub/pluginInstance:PluginInstance default {{project}}/{{location}}/{{plugin}}/{{plugin_instance_id}}
545
+ ```
546
+
547
+ ```sh
548
+ $ pulumi import gcp:apihub/pluginInstance:PluginInstance default {{location}}/{{plugin}}/{{plugin_instance_id}}
549
+ ```
550
+
551
+ :param str resource_name: The name of the resource.
552
+ :param PluginInstanceArgs args: The arguments to use to populate this resource's properties.
553
+ :param pulumi.ResourceOptions opts: Options for the resource.
554
+ """
555
+ ...
556
+ def __init__(__self__, resource_name: str, *args, **kwargs):
557
+ resource_args, opts = _utilities.get_resource_args_opts(PluginInstanceArgs, pulumi.ResourceOptions, *args, **kwargs)
558
+ if resource_args is not None:
559
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
560
+ else:
561
+ __self__._internal_init(resource_name, *args, **kwargs)
562
+
563
+ def _internal_init(__self__,
564
+ resource_name: str,
565
+ opts: Optional[pulumi.ResourceOptions] = None,
566
+ actions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PluginInstanceActionArgs', 'PluginInstanceActionArgsDict']]]]] = None,
567
+ auth_config: Optional[pulumi.Input[Union['PluginInstanceAuthConfigArgs', 'PluginInstanceAuthConfigArgsDict']]] = None,
568
+ disable: Optional[pulumi.Input[builtins.bool]] = None,
569
+ display_name: Optional[pulumi.Input[builtins.str]] = None,
570
+ location: Optional[pulumi.Input[builtins.str]] = None,
571
+ plugin: Optional[pulumi.Input[builtins.str]] = None,
572
+ plugin_instance_id: Optional[pulumi.Input[builtins.str]] = None,
573
+ project: Optional[pulumi.Input[builtins.str]] = None,
574
+ __props__=None):
575
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
576
+ if not isinstance(opts, pulumi.ResourceOptions):
577
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
578
+ if opts.id is None:
579
+ if __props__ is not None:
580
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
581
+ __props__ = PluginInstanceArgs.__new__(PluginInstanceArgs)
582
+
583
+ __props__.__dict__["actions"] = actions
584
+ __props__.__dict__["auth_config"] = auth_config
585
+ __props__.__dict__["disable"] = disable
586
+ if display_name is None and not opts.urn:
587
+ raise TypeError("Missing required property 'display_name'")
588
+ __props__.__dict__["display_name"] = display_name
589
+ if location is None and not opts.urn:
590
+ raise TypeError("Missing required property 'location'")
591
+ __props__.__dict__["location"] = location
592
+ if plugin is None and not opts.urn:
593
+ raise TypeError("Missing required property 'plugin'")
594
+ __props__.__dict__["plugin"] = plugin
595
+ if plugin_instance_id is None and not opts.urn:
596
+ raise TypeError("Missing required property 'plugin_instance_id'")
597
+ __props__.__dict__["plugin_instance_id"] = plugin_instance_id
598
+ __props__.__dict__["project"] = project
599
+ __props__.__dict__["create_time"] = None
600
+ __props__.__dict__["error_message"] = None
601
+ __props__.__dict__["name"] = None
602
+ __props__.__dict__["state"] = None
603
+ __props__.__dict__["update_time"] = None
604
+ super(PluginInstance, __self__).__init__(
605
+ 'gcp:apihub/pluginInstance:PluginInstance',
606
+ resource_name,
607
+ __props__,
608
+ opts)
609
+
610
+ @staticmethod
611
+ def get(resource_name: str,
612
+ id: pulumi.Input[str],
613
+ opts: Optional[pulumi.ResourceOptions] = None,
614
+ actions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PluginInstanceActionArgs', 'PluginInstanceActionArgsDict']]]]] = None,
615
+ auth_config: Optional[pulumi.Input[Union['PluginInstanceAuthConfigArgs', 'PluginInstanceAuthConfigArgsDict']]] = None,
616
+ create_time: Optional[pulumi.Input[builtins.str]] = None,
617
+ disable: Optional[pulumi.Input[builtins.bool]] = None,
618
+ display_name: Optional[pulumi.Input[builtins.str]] = None,
619
+ error_message: Optional[pulumi.Input[builtins.str]] = None,
620
+ location: Optional[pulumi.Input[builtins.str]] = None,
621
+ name: Optional[pulumi.Input[builtins.str]] = None,
622
+ plugin: Optional[pulumi.Input[builtins.str]] = None,
623
+ plugin_instance_id: Optional[pulumi.Input[builtins.str]] = None,
624
+ project: Optional[pulumi.Input[builtins.str]] = None,
625
+ state: Optional[pulumi.Input[builtins.str]] = None,
626
+ update_time: Optional[pulumi.Input[builtins.str]] = None) -> 'PluginInstance':
627
+ """
628
+ Get an existing PluginInstance resource's state with the given name, id, and optional extra
629
+ properties used to qualify the lookup.
630
+
631
+ :param str resource_name: The unique name of the resulting resource.
632
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
633
+ :param pulumi.ResourceOptions opts: Options for the resource.
634
+ :param pulumi.Input[Sequence[pulumi.Input[Union['PluginInstanceActionArgs', 'PluginInstanceActionArgsDict']]]] actions: The action status for the plugin instance.
635
+ Structure is documented below.
636
+ :param pulumi.Input[Union['PluginInstanceAuthConfigArgs', 'PluginInstanceAuthConfigArgsDict']] auth_config: AuthConfig represents the authentication information.
637
+ :param pulumi.Input[builtins.str] create_time: Timestamp indicating when the plugin instance was created.
638
+ :param pulumi.Input[builtins.bool] disable: The display name for this plugin instance. Max length is 255 characters.
639
+ :param pulumi.Input[builtins.str] display_name: The display name for this plugin instance. Max length is 255 characters.
640
+ :param pulumi.Input[builtins.str] error_message: Error message describing the failure, if any, during Create, Delete or
641
+ ApplyConfig operation corresponding to the plugin instance.This field will
642
+ only be populated if the plugin instance is in the ERROR or FAILED state.
643
+ :param pulumi.Input[builtins.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.
644
+ :param pulumi.Input[builtins.str] name: Identifier. The unique name of the plugin instance resource.
645
+ Format:
646
+ `projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}`
647
+ :param pulumi.Input[builtins.str] plugin: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
648
+ :param pulumi.Input[builtins.str] plugin_instance_id: The ID to use for the plugin instance, which will become the final
649
+ component of the plugin instance's resource name. This field is optional.
650
+ * If provided, the same will be used. The service will throw an error if
651
+ the specified id is already used by another plugin instance in the plugin
652
+ resource.
653
+ * If not provided, a system generated id will be used.
654
+ This value should be 4-63 characters, and valid characters
655
+ are /a-z[0-9]-_/.
656
+ :param pulumi.Input[builtins.str] state: The current state of the plugin instance (e.g., enabled, disabled,
657
+ provisioning).
658
+ Possible values:
659
+ STATE_UNSPECIFIED
660
+ CREATING
661
+ ACTIVE
662
+ APPLYING_CONFIG
663
+ ERROR
664
+ FAILED
665
+ DELETING
666
+ :param pulumi.Input[builtins.str] update_time: Timestamp indicating when the plugin instance was last updated.
667
+ """
668
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
669
+
670
+ __props__ = _PluginInstanceState.__new__(_PluginInstanceState)
671
+
672
+ __props__.__dict__["actions"] = actions
673
+ __props__.__dict__["auth_config"] = auth_config
674
+ __props__.__dict__["create_time"] = create_time
675
+ __props__.__dict__["disable"] = disable
676
+ __props__.__dict__["display_name"] = display_name
677
+ __props__.__dict__["error_message"] = error_message
678
+ __props__.__dict__["location"] = location
679
+ __props__.__dict__["name"] = name
680
+ __props__.__dict__["plugin"] = plugin
681
+ __props__.__dict__["plugin_instance_id"] = plugin_instance_id
682
+ __props__.__dict__["project"] = project
683
+ __props__.__dict__["state"] = state
684
+ __props__.__dict__["update_time"] = update_time
685
+ return PluginInstance(resource_name, opts=opts, __props__=__props__)
686
+
687
+ @property
688
+ @pulumi.getter
689
+ def actions(self) -> pulumi.Output[Sequence['outputs.PluginInstanceAction']]:
690
+ """
691
+ The action status for the plugin instance.
692
+ Structure is documented below.
693
+ """
694
+ return pulumi.get(self, "actions")
695
+
696
+ @property
697
+ @pulumi.getter(name="authConfig")
698
+ def auth_config(self) -> pulumi.Output[Optional['outputs.PluginInstanceAuthConfig']]:
699
+ """
700
+ AuthConfig represents the authentication information.
701
+ """
702
+ return pulumi.get(self, "auth_config")
703
+
704
+ @property
705
+ @pulumi.getter(name="createTime")
706
+ def create_time(self) -> pulumi.Output[builtins.str]:
707
+ """
708
+ Timestamp indicating when the plugin instance was created.
709
+ """
710
+ return pulumi.get(self, "create_time")
711
+
712
+ @property
713
+ @pulumi.getter
714
+ def disable(self) -> pulumi.Output[Optional[builtins.bool]]:
715
+ """
716
+ The display name for this plugin instance. Max length is 255 characters.
717
+ """
718
+ return pulumi.get(self, "disable")
719
+
720
+ @property
721
+ @pulumi.getter(name="displayName")
722
+ def display_name(self) -> pulumi.Output[builtins.str]:
723
+ """
724
+ The display name for this plugin instance. Max length is 255 characters.
725
+ """
726
+ return pulumi.get(self, "display_name")
727
+
728
+ @property
729
+ @pulumi.getter(name="errorMessage")
730
+ def error_message(self) -> pulumi.Output[builtins.str]:
731
+ """
732
+ Error message describing the failure, if any, during Create, Delete or
733
+ ApplyConfig operation corresponding to the plugin instance.This field will
734
+ only be populated if the plugin instance is in the ERROR or FAILED state.
735
+ """
736
+ return pulumi.get(self, "error_message")
737
+
738
+ @property
739
+ @pulumi.getter
740
+ def location(self) -> pulumi.Output[builtins.str]:
741
+ """
742
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
743
+ """
744
+ return pulumi.get(self, "location")
745
+
746
+ @property
747
+ @pulumi.getter
748
+ def name(self) -> pulumi.Output[builtins.str]:
749
+ """
750
+ Identifier. The unique name of the plugin instance resource.
751
+ Format:
752
+ `projects/{project}/locations/{location}/plugins/{plugin}/instances/{instance}`
753
+ """
754
+ return pulumi.get(self, "name")
755
+
756
+ @property
757
+ @pulumi.getter
758
+ def plugin(self) -> pulumi.Output[builtins.str]:
759
+ """
760
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
761
+ """
762
+ return pulumi.get(self, "plugin")
763
+
764
+ @property
765
+ @pulumi.getter(name="pluginInstanceId")
766
+ def plugin_instance_id(self) -> pulumi.Output[builtins.str]:
767
+ """
768
+ The ID to use for the plugin instance, which will become the final
769
+ component of the plugin instance's resource name. This field is optional.
770
+ * If provided, the same will be used. The service will throw an error if
771
+ the specified id is already used by another plugin instance in the plugin
772
+ resource.
773
+ * If not provided, a system generated id will be used.
774
+ This value should be 4-63 characters, and valid characters
775
+ are /a-z[0-9]-_/.
776
+ """
777
+ return pulumi.get(self, "plugin_instance_id")
778
+
779
+ @property
780
+ @pulumi.getter
781
+ def project(self) -> pulumi.Output[builtins.str]:
782
+ return pulumi.get(self, "project")
783
+
784
+ @property
785
+ @pulumi.getter
786
+ def state(self) -> pulumi.Output[builtins.str]:
787
+ """
788
+ The current state of the plugin instance (e.g., enabled, disabled,
789
+ provisioning).
790
+ Possible values:
791
+ STATE_UNSPECIFIED
792
+ CREATING
793
+ ACTIVE
794
+ APPLYING_CONFIG
795
+ ERROR
796
+ FAILED
797
+ DELETING
798
+ """
799
+ return pulumi.get(self, "state")
800
+
801
+ @property
802
+ @pulumi.getter(name="updateTime")
803
+ def update_time(self) -> pulumi.Output[builtins.str]:
804
+ """
805
+ Timestamp indicating when the plugin instance was last updated.
806
+ """
807
+ return pulumi.get(self, "update_time")
808
+