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.
- pulumi_gcp/__init__.py +59 -0
- pulumi_gcp/alloydb/_inputs.py +26 -0
- pulumi_gcp/alloydb/outputs.py +34 -1
- pulumi_gcp/apihub/__init__.py +2 -0
- pulumi_gcp/apihub/_inputs.py +1658 -0
- pulumi_gcp/apihub/outputs.py +1374 -0
- pulumi_gcp/apihub/plugin.py +1146 -0
- pulumi_gcp/apihub/plugin_instance.py +808 -0
- pulumi_gcp/bigquery/table.py +16 -12
- pulumi_gcp/bigqueryanalyticshub/_inputs.py +56 -6
- pulumi_gcp/bigqueryanalyticshub/data_exchange.py +73 -0
- pulumi_gcp/bigqueryanalyticshub/listing.py +201 -48
- pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +28 -0
- pulumi_gcp/bigqueryanalyticshub/outputs.py +50 -4
- pulumi_gcp/bigtable/table.py +82 -0
- pulumi_gcp/cloudidentity/group_membership.py +47 -0
- pulumi_gcp/cloudidentity/outputs.py +11 -0
- pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +64 -8
- pulumi_gcp/cloudrunv2/_inputs.py +65 -9
- pulumi_gcp/cloudrunv2/job.py +44 -0
- pulumi_gcp/cloudrunv2/outputs.py +73 -8
- pulumi_gcp/cloudrunv2/service.py +0 -2
- pulumi_gcp/cloudrunv2/worker_pool.py +18 -20
- pulumi_gcp/compute/__init__.py +1 -0
- pulumi_gcp/compute/_inputs.py +787 -18
- pulumi_gcp/compute/disk.py +35 -28
- pulumi_gcp/compute/firewall_policy_rule.py +207 -0
- pulumi_gcp/compute/get_instance_group_manager.py +12 -1
- pulumi_gcp/compute/get_region_disk.py +12 -1
- pulumi_gcp/compute/instance.py +2 -2
- pulumi_gcp/compute/instance_group_manager.py +165 -14
- pulumi_gcp/compute/instance_template.py +2 -2
- pulumi_gcp/compute/interconnect.py +43 -11
- pulumi_gcp/compute/network.py +56 -0
- pulumi_gcp/compute/network_firewall_policy.py +68 -0
- pulumi_gcp/compute/network_firewall_policy_with_rules.py +61 -0
- pulumi_gcp/compute/node_template.py +21 -0
- pulumi_gcp/compute/outputs.py +620 -12
- pulumi_gcp/compute/region_disk.py +114 -0
- pulumi_gcp/compute/region_network_firewall_policy.py +90 -0
- pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +109 -0
- pulumi_gcp/compute/service_attachment.py +76 -8
- pulumi_gcp/compute/wire_group.py +751 -0
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/contactcenterinsights/__init__.py +9 -0
- pulumi_gcp/contactcenterinsights/view.py +526 -0
- pulumi_gcp/container/_inputs.py +207 -28
- pulumi_gcp/container/cluster.py +54 -0
- pulumi_gcp/container/get_cluster.py +12 -1
- pulumi_gcp/container/get_engine_versions.py +15 -1
- pulumi_gcp/container/node_pool.py +14 -0
- pulumi_gcp/container/outputs.py +295 -21
- pulumi_gcp/dataplex/_inputs.py +431 -6
- pulumi_gcp/dataplex/datascan.py +251 -0
- pulumi_gcp/dataplex/entry_type.py +2 -2
- pulumi_gcp/dataplex/glossary_category.py +8 -8
- pulumi_gcp/dataplex/glossary_term.py +8 -8
- pulumi_gcp/dataplex/outputs.py +353 -4
- pulumi_gcp/dataplex/task.py +16 -16
- pulumi_gcp/dataproc/__init__.py +1 -0
- pulumi_gcp/dataproc/_inputs.py +486 -0
- pulumi_gcp/dataproc/batch.py +10 -10
- pulumi_gcp/dataproc/outputs.py +407 -0
- pulumi_gcp/dataproc/session_template.py +1084 -0
- pulumi_gcp/diagflow/__init__.py +2 -0
- pulumi_gcp/diagflow/_inputs.py +479 -0
- pulumi_gcp/diagflow/cx_generative_settings.py +625 -0
- pulumi_gcp/diagflow/cx_tool.py +2 -2
- pulumi_gcp/diagflow/encryption_spec.py +382 -0
- pulumi_gcp/diagflow/outputs.py +416 -0
- pulumi_gcp/dns/record_set.py +4 -2
- pulumi_gcp/firestore/database.py +0 -9
- pulumi_gcp/firestore/field.py +6 -6
- pulumi_gcp/gkehub/membership_binding.py +6 -6
- pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
- pulumi_gcp/gkehub/namespace.py +4 -4
- pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -8
- pulumi_gcp/iam/_inputs.py +36 -0
- pulumi_gcp/iam/outputs.py +38 -0
- pulumi_gcp/iam/workload_identity_pool_managed_identity.py +88 -2
- pulumi_gcp/iap/tunnel_dest_group.py +2 -2
- pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
- pulumi_gcp/kms/autokey_config.py +28 -0
- pulumi_gcp/kms/get_autokey_config.py +12 -1
- pulumi_gcp/lustre/get_instance.py +12 -1
- pulumi_gcp/lustre/instance.py +143 -86
- pulumi_gcp/managedkafka/connect_cluster.py +4 -4
- pulumi_gcp/managedkafka/connector.py +4 -4
- pulumi_gcp/memorystore/get_instance.py +12 -1
- pulumi_gcp/memorystore/instance.py +49 -0
- pulumi_gcp/monitoring/metric_descriptor.py +55 -57
- pulumi_gcp/networkconnectivity/spoke.py +14 -14
- pulumi_gcp/notebooks/instance.py +8 -8
- pulumi_gcp/orgpolicy/policy.py +2 -2
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/pubsub/subscription.py +6 -6
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/get_instance.py +12 -1
- pulumi_gcp/redis/instance.py +44 -0
- pulumi_gcp/secretmanager/get_regional_secret.py +12 -1
- pulumi_gcp/secretmanager/outputs.py +7 -0
- pulumi_gcp/secretmanager/regional_secret.py +38 -2
- pulumi_gcp/spanner/_inputs.py +24 -1
- pulumi_gcp/spanner/outputs.py +17 -1
- pulumi_gcp/storage/_inputs.py +43 -3
- pulumi_gcp/storage/bucket_object.py +56 -0
- pulumi_gcp/storage/get_bucket_object.py +12 -1
- pulumi_gcp/storage/get_bucket_object_content.py +12 -1
- pulumi_gcp/storage/outputs.py +53 -3
- pulumi_gcp/vertex/ai_endpoint.py +4 -4
- pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
- pulumi_gcp/workbench/instance.py +2 -0
- {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/METADATA +2 -2
- {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/RECORD +117 -109
- {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.36.0a1750484065.dist-info → pulumi_gcp-8.37.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1146 @@
|
|
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__ = ['PluginArgs', 'Plugin']
|
21
|
+
|
22
|
+
@pulumi.input_type
|
23
|
+
class PluginArgs:
|
24
|
+
def __init__(__self__, *,
|
25
|
+
display_name: pulumi.Input[builtins.str],
|
26
|
+
location: pulumi.Input[builtins.str],
|
27
|
+
plugin_id: pulumi.Input[builtins.str],
|
28
|
+
actions_configs: Optional[pulumi.Input[Sequence[pulumi.Input['PluginActionsConfigArgs']]]] = None,
|
29
|
+
config_template: Optional[pulumi.Input['PluginConfigTemplateArgs']] = None,
|
30
|
+
description: Optional[pulumi.Input[builtins.str]] = None,
|
31
|
+
documentation: Optional[pulumi.Input['PluginDocumentationArgs']] = None,
|
32
|
+
hosting_service: Optional[pulumi.Input['PluginHostingServiceArgs']] = None,
|
33
|
+
plugin_category: Optional[pulumi.Input[builtins.str]] = None,
|
34
|
+
project: Optional[pulumi.Input[builtins.str]] = None):
|
35
|
+
"""
|
36
|
+
The set of arguments for constructing a Plugin resource.
|
37
|
+
:param pulumi.Input[builtins.str] display_name: The display name of the plugin. Max length is 50 characters (Unicode code
|
38
|
+
points).
|
39
|
+
: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.
|
40
|
+
:param pulumi.Input[builtins.str] plugin_id: The ID to use for the Plugin resource, which will become the final
|
41
|
+
component of the Plugin's resource name. This field is optional.
|
42
|
+
* If provided, the same will be used. The service will throw an error if
|
43
|
+
the specified id is already used by another Plugin resource in the API hub
|
44
|
+
instance.
|
45
|
+
* If not provided, a system generated id will be used.
|
46
|
+
This value should be 4-63 characters, overall resource name which will be
|
47
|
+
of format
|
48
|
+
`projects/{project}/locations/{location}/plugins/{plugin}`,
|
49
|
+
its length is limited to 1000 characters and valid characters are
|
50
|
+
/a-z[0-9]-_/.
|
51
|
+
|
52
|
+
|
53
|
+
- - -
|
54
|
+
:param pulumi.Input[Sequence[pulumi.Input['PluginActionsConfigArgs']]] actions_configs: The configuration of actions supported by the plugin.
|
55
|
+
Structure is documented below.
|
56
|
+
:param pulumi.Input['PluginConfigTemplateArgs'] config_template: ConfigTemplate represents the configuration template for a plugin.
|
57
|
+
Structure is documented below.
|
58
|
+
:param pulumi.Input[builtins.str] description: The plugin description. Max length is 2000 characters (Unicode code
|
59
|
+
points).
|
60
|
+
:param pulumi.Input['PluginDocumentationArgs'] documentation: Documentation details.
|
61
|
+
Structure is documented below.
|
62
|
+
:param pulumi.Input['PluginHostingServiceArgs'] hosting_service: The information related to the service implemented by the plugin
|
63
|
+
developer, used to invoke the plugin's functionality.
|
64
|
+
Structure is documented below.
|
65
|
+
:param pulumi.Input[builtins.str] plugin_category: Possible values:
|
66
|
+
PLUGIN_CATEGORY_UNSPECIFIED
|
67
|
+
API_GATEWAY
|
68
|
+
API_PRODUCER
|
69
|
+
:param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
|
70
|
+
If it is not provided, the provider project is used.
|
71
|
+
"""
|
72
|
+
pulumi.set(__self__, "display_name", display_name)
|
73
|
+
pulumi.set(__self__, "location", location)
|
74
|
+
pulumi.set(__self__, "plugin_id", plugin_id)
|
75
|
+
if actions_configs is not None:
|
76
|
+
pulumi.set(__self__, "actions_configs", actions_configs)
|
77
|
+
if config_template is not None:
|
78
|
+
pulumi.set(__self__, "config_template", config_template)
|
79
|
+
if description is not None:
|
80
|
+
pulumi.set(__self__, "description", description)
|
81
|
+
if documentation is not None:
|
82
|
+
pulumi.set(__self__, "documentation", documentation)
|
83
|
+
if hosting_service is not None:
|
84
|
+
pulumi.set(__self__, "hosting_service", hosting_service)
|
85
|
+
if plugin_category is not None:
|
86
|
+
pulumi.set(__self__, "plugin_category", plugin_category)
|
87
|
+
if project is not None:
|
88
|
+
pulumi.set(__self__, "project", project)
|
89
|
+
|
90
|
+
@property
|
91
|
+
@pulumi.getter(name="displayName")
|
92
|
+
def display_name(self) -> pulumi.Input[builtins.str]:
|
93
|
+
"""
|
94
|
+
The display name of the plugin. Max length is 50 characters (Unicode code
|
95
|
+
points).
|
96
|
+
"""
|
97
|
+
return pulumi.get(self, "display_name")
|
98
|
+
|
99
|
+
@display_name.setter
|
100
|
+
def display_name(self, value: pulumi.Input[builtins.str]):
|
101
|
+
pulumi.set(self, "display_name", value)
|
102
|
+
|
103
|
+
@property
|
104
|
+
@pulumi.getter
|
105
|
+
def location(self) -> pulumi.Input[builtins.str]:
|
106
|
+
"""
|
107
|
+
Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
|
108
|
+
"""
|
109
|
+
return pulumi.get(self, "location")
|
110
|
+
|
111
|
+
@location.setter
|
112
|
+
def location(self, value: pulumi.Input[builtins.str]):
|
113
|
+
pulumi.set(self, "location", value)
|
114
|
+
|
115
|
+
@property
|
116
|
+
@pulumi.getter(name="pluginId")
|
117
|
+
def plugin_id(self) -> pulumi.Input[builtins.str]:
|
118
|
+
"""
|
119
|
+
The ID to use for the Plugin resource, which will become the final
|
120
|
+
component of the Plugin's resource name. This field is optional.
|
121
|
+
* If provided, the same will be used. The service will throw an error if
|
122
|
+
the specified id is already used by another Plugin resource in the API hub
|
123
|
+
instance.
|
124
|
+
* If not provided, a system generated id will be used.
|
125
|
+
This value should be 4-63 characters, overall resource name which will be
|
126
|
+
of format
|
127
|
+
`projects/{project}/locations/{location}/plugins/{plugin}`,
|
128
|
+
its length is limited to 1000 characters and valid characters are
|
129
|
+
/a-z[0-9]-_/.
|
130
|
+
|
131
|
+
|
132
|
+
- - -
|
133
|
+
"""
|
134
|
+
return pulumi.get(self, "plugin_id")
|
135
|
+
|
136
|
+
@plugin_id.setter
|
137
|
+
def plugin_id(self, value: pulumi.Input[builtins.str]):
|
138
|
+
pulumi.set(self, "plugin_id", value)
|
139
|
+
|
140
|
+
@property
|
141
|
+
@pulumi.getter(name="actionsConfigs")
|
142
|
+
def actions_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PluginActionsConfigArgs']]]]:
|
143
|
+
"""
|
144
|
+
The configuration of actions supported by the plugin.
|
145
|
+
Structure is documented below.
|
146
|
+
"""
|
147
|
+
return pulumi.get(self, "actions_configs")
|
148
|
+
|
149
|
+
@actions_configs.setter
|
150
|
+
def actions_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PluginActionsConfigArgs']]]]):
|
151
|
+
pulumi.set(self, "actions_configs", value)
|
152
|
+
|
153
|
+
@property
|
154
|
+
@pulumi.getter(name="configTemplate")
|
155
|
+
def config_template(self) -> Optional[pulumi.Input['PluginConfigTemplateArgs']]:
|
156
|
+
"""
|
157
|
+
ConfigTemplate represents the configuration template for a plugin.
|
158
|
+
Structure is documented below.
|
159
|
+
"""
|
160
|
+
return pulumi.get(self, "config_template")
|
161
|
+
|
162
|
+
@config_template.setter
|
163
|
+
def config_template(self, value: Optional[pulumi.Input['PluginConfigTemplateArgs']]):
|
164
|
+
pulumi.set(self, "config_template", value)
|
165
|
+
|
166
|
+
@property
|
167
|
+
@pulumi.getter
|
168
|
+
def description(self) -> Optional[pulumi.Input[builtins.str]]:
|
169
|
+
"""
|
170
|
+
The plugin description. Max length is 2000 characters (Unicode code
|
171
|
+
points).
|
172
|
+
"""
|
173
|
+
return pulumi.get(self, "description")
|
174
|
+
|
175
|
+
@description.setter
|
176
|
+
def description(self, value: Optional[pulumi.Input[builtins.str]]):
|
177
|
+
pulumi.set(self, "description", value)
|
178
|
+
|
179
|
+
@property
|
180
|
+
@pulumi.getter
|
181
|
+
def documentation(self) -> Optional[pulumi.Input['PluginDocumentationArgs']]:
|
182
|
+
"""
|
183
|
+
Documentation details.
|
184
|
+
Structure is documented below.
|
185
|
+
"""
|
186
|
+
return pulumi.get(self, "documentation")
|
187
|
+
|
188
|
+
@documentation.setter
|
189
|
+
def documentation(self, value: Optional[pulumi.Input['PluginDocumentationArgs']]):
|
190
|
+
pulumi.set(self, "documentation", value)
|
191
|
+
|
192
|
+
@property
|
193
|
+
@pulumi.getter(name="hostingService")
|
194
|
+
def hosting_service(self) -> Optional[pulumi.Input['PluginHostingServiceArgs']]:
|
195
|
+
"""
|
196
|
+
The information related to the service implemented by the plugin
|
197
|
+
developer, used to invoke the plugin's functionality.
|
198
|
+
Structure is documented below.
|
199
|
+
"""
|
200
|
+
return pulumi.get(self, "hosting_service")
|
201
|
+
|
202
|
+
@hosting_service.setter
|
203
|
+
def hosting_service(self, value: Optional[pulumi.Input['PluginHostingServiceArgs']]):
|
204
|
+
pulumi.set(self, "hosting_service", value)
|
205
|
+
|
206
|
+
@property
|
207
|
+
@pulumi.getter(name="pluginCategory")
|
208
|
+
def plugin_category(self) -> Optional[pulumi.Input[builtins.str]]:
|
209
|
+
"""
|
210
|
+
Possible values:
|
211
|
+
PLUGIN_CATEGORY_UNSPECIFIED
|
212
|
+
API_GATEWAY
|
213
|
+
API_PRODUCER
|
214
|
+
"""
|
215
|
+
return pulumi.get(self, "plugin_category")
|
216
|
+
|
217
|
+
@plugin_category.setter
|
218
|
+
def plugin_category(self, value: Optional[pulumi.Input[builtins.str]]):
|
219
|
+
pulumi.set(self, "plugin_category", value)
|
220
|
+
|
221
|
+
@property
|
222
|
+
@pulumi.getter
|
223
|
+
def project(self) -> Optional[pulumi.Input[builtins.str]]:
|
224
|
+
"""
|
225
|
+
The ID of the project in which the resource belongs.
|
226
|
+
If it is not provided, the provider project is used.
|
227
|
+
"""
|
228
|
+
return pulumi.get(self, "project")
|
229
|
+
|
230
|
+
@project.setter
|
231
|
+
def project(self, value: Optional[pulumi.Input[builtins.str]]):
|
232
|
+
pulumi.set(self, "project", value)
|
233
|
+
|
234
|
+
|
235
|
+
@pulumi.input_type
|
236
|
+
class _PluginState:
|
237
|
+
def __init__(__self__, *,
|
238
|
+
actions_configs: Optional[pulumi.Input[Sequence[pulumi.Input['PluginActionsConfigArgs']]]] = None,
|
239
|
+
config_template: Optional[pulumi.Input['PluginConfigTemplateArgs']] = None,
|
240
|
+
create_time: Optional[pulumi.Input[builtins.str]] = None,
|
241
|
+
description: Optional[pulumi.Input[builtins.str]] = None,
|
242
|
+
display_name: Optional[pulumi.Input[builtins.str]] = None,
|
243
|
+
documentation: Optional[pulumi.Input['PluginDocumentationArgs']] = None,
|
244
|
+
hosting_service: Optional[pulumi.Input['PluginHostingServiceArgs']] = None,
|
245
|
+
location: Optional[pulumi.Input[builtins.str]] = None,
|
246
|
+
name: Optional[pulumi.Input[builtins.str]] = None,
|
247
|
+
ownership_type: Optional[pulumi.Input[builtins.str]] = None,
|
248
|
+
plugin_category: Optional[pulumi.Input[builtins.str]] = None,
|
249
|
+
plugin_id: Optional[pulumi.Input[builtins.str]] = None,
|
250
|
+
project: Optional[pulumi.Input[builtins.str]] = None,
|
251
|
+
state: Optional[pulumi.Input[builtins.str]] = None,
|
252
|
+
update_time: Optional[pulumi.Input[builtins.str]] = None):
|
253
|
+
"""
|
254
|
+
Input properties used for looking up and filtering Plugin resources.
|
255
|
+
:param pulumi.Input[Sequence[pulumi.Input['PluginActionsConfigArgs']]] actions_configs: The configuration of actions supported by the plugin.
|
256
|
+
Structure is documented below.
|
257
|
+
:param pulumi.Input['PluginConfigTemplateArgs'] config_template: ConfigTemplate represents the configuration template for a plugin.
|
258
|
+
Structure is documented below.
|
259
|
+
:param pulumi.Input[builtins.str] create_time: Timestamp indicating when the plugin was created.
|
260
|
+
:param pulumi.Input[builtins.str] description: The plugin description. Max length is 2000 characters (Unicode code
|
261
|
+
points).
|
262
|
+
:param pulumi.Input[builtins.str] display_name: The display name of the plugin. Max length is 50 characters (Unicode code
|
263
|
+
points).
|
264
|
+
:param pulumi.Input['PluginDocumentationArgs'] documentation: Documentation details.
|
265
|
+
Structure is documented below.
|
266
|
+
:param pulumi.Input['PluginHostingServiceArgs'] hosting_service: The information related to the service implemented by the plugin
|
267
|
+
developer, used to invoke the plugin's functionality.
|
268
|
+
Structure is documented below.
|
269
|
+
: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.
|
270
|
+
:param pulumi.Input[builtins.str] name: Identifier. The name of the plugin.
|
271
|
+
Format: `projects/{project}/locations/{location}/plugins/{plugin}`
|
272
|
+
:param pulumi.Input[builtins.str] ownership_type: The type of the plugin, indicating whether it is 'SYSTEM_OWNED' or
|
273
|
+
'USER_OWNED'.
|
274
|
+
Possible values:
|
275
|
+
OWNERSHIP_TYPE_UNSPECIFIED
|
276
|
+
SYSTEM_OWNED
|
277
|
+
USER_OWNED
|
278
|
+
:param pulumi.Input[builtins.str] plugin_category: Possible values:
|
279
|
+
PLUGIN_CATEGORY_UNSPECIFIED
|
280
|
+
API_GATEWAY
|
281
|
+
API_PRODUCER
|
282
|
+
:param pulumi.Input[builtins.str] plugin_id: The ID to use for the Plugin resource, which will become the final
|
283
|
+
component of the Plugin's resource name. This field is optional.
|
284
|
+
* If provided, the same will be used. The service will throw an error if
|
285
|
+
the specified id is already used by another Plugin resource in the API hub
|
286
|
+
instance.
|
287
|
+
* If not provided, a system generated id will be used.
|
288
|
+
This value should be 4-63 characters, overall resource name which will be
|
289
|
+
of format
|
290
|
+
`projects/{project}/locations/{location}/plugins/{plugin}`,
|
291
|
+
its length is limited to 1000 characters and valid characters are
|
292
|
+
/a-z[0-9]-_/.
|
293
|
+
|
294
|
+
|
295
|
+
- - -
|
296
|
+
:param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
|
297
|
+
If it is not provided, the provider project is used.
|
298
|
+
:param pulumi.Input[builtins.str] state: Represents the state of the plugin.
|
299
|
+
Note this field will not be set for plugins developed via plugin
|
300
|
+
framework as the state will be managed at plugin instance level.
|
301
|
+
Possible values:
|
302
|
+
STATE_UNSPECIFIED
|
303
|
+
ENABLED
|
304
|
+
DISABLED
|
305
|
+
:param pulumi.Input[builtins.str] update_time: Timestamp indicating when the plugin was last updated.
|
306
|
+
"""
|
307
|
+
if actions_configs is not None:
|
308
|
+
pulumi.set(__self__, "actions_configs", actions_configs)
|
309
|
+
if config_template is not None:
|
310
|
+
pulumi.set(__self__, "config_template", config_template)
|
311
|
+
if create_time is not None:
|
312
|
+
pulumi.set(__self__, "create_time", create_time)
|
313
|
+
if description is not None:
|
314
|
+
pulumi.set(__self__, "description", description)
|
315
|
+
if display_name is not None:
|
316
|
+
pulumi.set(__self__, "display_name", display_name)
|
317
|
+
if documentation is not None:
|
318
|
+
pulumi.set(__self__, "documentation", documentation)
|
319
|
+
if hosting_service is not None:
|
320
|
+
pulumi.set(__self__, "hosting_service", hosting_service)
|
321
|
+
if location is not None:
|
322
|
+
pulumi.set(__self__, "location", location)
|
323
|
+
if name is not None:
|
324
|
+
pulumi.set(__self__, "name", name)
|
325
|
+
if ownership_type is not None:
|
326
|
+
pulumi.set(__self__, "ownership_type", ownership_type)
|
327
|
+
if plugin_category is not None:
|
328
|
+
pulumi.set(__self__, "plugin_category", plugin_category)
|
329
|
+
if plugin_id is not None:
|
330
|
+
pulumi.set(__self__, "plugin_id", plugin_id)
|
331
|
+
if project is not None:
|
332
|
+
pulumi.set(__self__, "project", project)
|
333
|
+
if state is not None:
|
334
|
+
pulumi.set(__self__, "state", state)
|
335
|
+
if update_time is not None:
|
336
|
+
pulumi.set(__self__, "update_time", update_time)
|
337
|
+
|
338
|
+
@property
|
339
|
+
@pulumi.getter(name="actionsConfigs")
|
340
|
+
def actions_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PluginActionsConfigArgs']]]]:
|
341
|
+
"""
|
342
|
+
The configuration of actions supported by the plugin.
|
343
|
+
Structure is documented below.
|
344
|
+
"""
|
345
|
+
return pulumi.get(self, "actions_configs")
|
346
|
+
|
347
|
+
@actions_configs.setter
|
348
|
+
def actions_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PluginActionsConfigArgs']]]]):
|
349
|
+
pulumi.set(self, "actions_configs", value)
|
350
|
+
|
351
|
+
@property
|
352
|
+
@pulumi.getter(name="configTemplate")
|
353
|
+
def config_template(self) -> Optional[pulumi.Input['PluginConfigTemplateArgs']]:
|
354
|
+
"""
|
355
|
+
ConfigTemplate represents the configuration template for a plugin.
|
356
|
+
Structure is documented below.
|
357
|
+
"""
|
358
|
+
return pulumi.get(self, "config_template")
|
359
|
+
|
360
|
+
@config_template.setter
|
361
|
+
def config_template(self, value: Optional[pulumi.Input['PluginConfigTemplateArgs']]):
|
362
|
+
pulumi.set(self, "config_template", value)
|
363
|
+
|
364
|
+
@property
|
365
|
+
@pulumi.getter(name="createTime")
|
366
|
+
def create_time(self) -> Optional[pulumi.Input[builtins.str]]:
|
367
|
+
"""
|
368
|
+
Timestamp indicating when the plugin was created.
|
369
|
+
"""
|
370
|
+
return pulumi.get(self, "create_time")
|
371
|
+
|
372
|
+
@create_time.setter
|
373
|
+
def create_time(self, value: Optional[pulumi.Input[builtins.str]]):
|
374
|
+
pulumi.set(self, "create_time", value)
|
375
|
+
|
376
|
+
@property
|
377
|
+
@pulumi.getter
|
378
|
+
def description(self) -> Optional[pulumi.Input[builtins.str]]:
|
379
|
+
"""
|
380
|
+
The plugin description. Max length is 2000 characters (Unicode code
|
381
|
+
points).
|
382
|
+
"""
|
383
|
+
return pulumi.get(self, "description")
|
384
|
+
|
385
|
+
@description.setter
|
386
|
+
def description(self, value: Optional[pulumi.Input[builtins.str]]):
|
387
|
+
pulumi.set(self, "description", value)
|
388
|
+
|
389
|
+
@property
|
390
|
+
@pulumi.getter(name="displayName")
|
391
|
+
def display_name(self) -> Optional[pulumi.Input[builtins.str]]:
|
392
|
+
"""
|
393
|
+
The display name of the plugin. Max length is 50 characters (Unicode code
|
394
|
+
points).
|
395
|
+
"""
|
396
|
+
return pulumi.get(self, "display_name")
|
397
|
+
|
398
|
+
@display_name.setter
|
399
|
+
def display_name(self, value: Optional[pulumi.Input[builtins.str]]):
|
400
|
+
pulumi.set(self, "display_name", value)
|
401
|
+
|
402
|
+
@property
|
403
|
+
@pulumi.getter
|
404
|
+
def documentation(self) -> Optional[pulumi.Input['PluginDocumentationArgs']]:
|
405
|
+
"""
|
406
|
+
Documentation details.
|
407
|
+
Structure is documented below.
|
408
|
+
"""
|
409
|
+
return pulumi.get(self, "documentation")
|
410
|
+
|
411
|
+
@documentation.setter
|
412
|
+
def documentation(self, value: Optional[pulumi.Input['PluginDocumentationArgs']]):
|
413
|
+
pulumi.set(self, "documentation", value)
|
414
|
+
|
415
|
+
@property
|
416
|
+
@pulumi.getter(name="hostingService")
|
417
|
+
def hosting_service(self) -> Optional[pulumi.Input['PluginHostingServiceArgs']]:
|
418
|
+
"""
|
419
|
+
The information related to the service implemented by the plugin
|
420
|
+
developer, used to invoke the plugin's functionality.
|
421
|
+
Structure is documented below.
|
422
|
+
"""
|
423
|
+
return pulumi.get(self, "hosting_service")
|
424
|
+
|
425
|
+
@hosting_service.setter
|
426
|
+
def hosting_service(self, value: Optional[pulumi.Input['PluginHostingServiceArgs']]):
|
427
|
+
pulumi.set(self, "hosting_service", value)
|
428
|
+
|
429
|
+
@property
|
430
|
+
@pulumi.getter
|
431
|
+
def location(self) -> Optional[pulumi.Input[builtins.str]]:
|
432
|
+
"""
|
433
|
+
Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
|
434
|
+
"""
|
435
|
+
return pulumi.get(self, "location")
|
436
|
+
|
437
|
+
@location.setter
|
438
|
+
def location(self, value: Optional[pulumi.Input[builtins.str]]):
|
439
|
+
pulumi.set(self, "location", value)
|
440
|
+
|
441
|
+
@property
|
442
|
+
@pulumi.getter
|
443
|
+
def name(self) -> Optional[pulumi.Input[builtins.str]]:
|
444
|
+
"""
|
445
|
+
Identifier. The name of the plugin.
|
446
|
+
Format: `projects/{project}/locations/{location}/plugins/{plugin}`
|
447
|
+
"""
|
448
|
+
return pulumi.get(self, "name")
|
449
|
+
|
450
|
+
@name.setter
|
451
|
+
def name(self, value: Optional[pulumi.Input[builtins.str]]):
|
452
|
+
pulumi.set(self, "name", value)
|
453
|
+
|
454
|
+
@property
|
455
|
+
@pulumi.getter(name="ownershipType")
|
456
|
+
def ownership_type(self) -> Optional[pulumi.Input[builtins.str]]:
|
457
|
+
"""
|
458
|
+
The type of the plugin, indicating whether it is 'SYSTEM_OWNED' or
|
459
|
+
'USER_OWNED'.
|
460
|
+
Possible values:
|
461
|
+
OWNERSHIP_TYPE_UNSPECIFIED
|
462
|
+
SYSTEM_OWNED
|
463
|
+
USER_OWNED
|
464
|
+
"""
|
465
|
+
return pulumi.get(self, "ownership_type")
|
466
|
+
|
467
|
+
@ownership_type.setter
|
468
|
+
def ownership_type(self, value: Optional[pulumi.Input[builtins.str]]):
|
469
|
+
pulumi.set(self, "ownership_type", value)
|
470
|
+
|
471
|
+
@property
|
472
|
+
@pulumi.getter(name="pluginCategory")
|
473
|
+
def plugin_category(self) -> Optional[pulumi.Input[builtins.str]]:
|
474
|
+
"""
|
475
|
+
Possible values:
|
476
|
+
PLUGIN_CATEGORY_UNSPECIFIED
|
477
|
+
API_GATEWAY
|
478
|
+
API_PRODUCER
|
479
|
+
"""
|
480
|
+
return pulumi.get(self, "plugin_category")
|
481
|
+
|
482
|
+
@plugin_category.setter
|
483
|
+
def plugin_category(self, value: Optional[pulumi.Input[builtins.str]]):
|
484
|
+
pulumi.set(self, "plugin_category", value)
|
485
|
+
|
486
|
+
@property
|
487
|
+
@pulumi.getter(name="pluginId")
|
488
|
+
def plugin_id(self) -> Optional[pulumi.Input[builtins.str]]:
|
489
|
+
"""
|
490
|
+
The ID to use for the Plugin resource, which will become the final
|
491
|
+
component of the Plugin'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 resource in the API hub
|
494
|
+
instance.
|
495
|
+
* If not provided, a system generated id will be used.
|
496
|
+
This value should be 4-63 characters, overall resource name which will be
|
497
|
+
of format
|
498
|
+
`projects/{project}/locations/{location}/plugins/{plugin}`,
|
499
|
+
its length is limited to 1000 characters and valid characters are
|
500
|
+
/a-z[0-9]-_/.
|
501
|
+
|
502
|
+
|
503
|
+
- - -
|
504
|
+
"""
|
505
|
+
return pulumi.get(self, "plugin_id")
|
506
|
+
|
507
|
+
@plugin_id.setter
|
508
|
+
def plugin_id(self, value: Optional[pulumi.Input[builtins.str]]):
|
509
|
+
pulumi.set(self, "plugin_id", value)
|
510
|
+
|
511
|
+
@property
|
512
|
+
@pulumi.getter
|
513
|
+
def project(self) -> Optional[pulumi.Input[builtins.str]]:
|
514
|
+
"""
|
515
|
+
The ID of the project in which the resource belongs.
|
516
|
+
If it is not provided, the provider project is used.
|
517
|
+
"""
|
518
|
+
return pulumi.get(self, "project")
|
519
|
+
|
520
|
+
@project.setter
|
521
|
+
def project(self, value: Optional[pulumi.Input[builtins.str]]):
|
522
|
+
pulumi.set(self, "project", value)
|
523
|
+
|
524
|
+
@property
|
525
|
+
@pulumi.getter
|
526
|
+
def state(self) -> Optional[pulumi.Input[builtins.str]]:
|
527
|
+
"""
|
528
|
+
Represents the state of the plugin.
|
529
|
+
Note this field will not be set for plugins developed via plugin
|
530
|
+
framework as the state will be managed at plugin instance level.
|
531
|
+
Possible values:
|
532
|
+
STATE_UNSPECIFIED
|
533
|
+
ENABLED
|
534
|
+
DISABLED
|
535
|
+
"""
|
536
|
+
return pulumi.get(self, "state")
|
537
|
+
|
538
|
+
@state.setter
|
539
|
+
def state(self, value: Optional[pulumi.Input[builtins.str]]):
|
540
|
+
pulumi.set(self, "state", value)
|
541
|
+
|
542
|
+
@property
|
543
|
+
@pulumi.getter(name="updateTime")
|
544
|
+
def update_time(self) -> Optional[pulumi.Input[builtins.str]]:
|
545
|
+
"""
|
546
|
+
Timestamp indicating when the plugin was last updated.
|
547
|
+
"""
|
548
|
+
return pulumi.get(self, "update_time")
|
549
|
+
|
550
|
+
@update_time.setter
|
551
|
+
def update_time(self, value: Optional[pulumi.Input[builtins.str]]):
|
552
|
+
pulumi.set(self, "update_time", value)
|
553
|
+
|
554
|
+
|
555
|
+
@pulumi.type_token("gcp:apihub/plugin:Plugin")
|
556
|
+
class Plugin(pulumi.CustomResource):
|
557
|
+
@overload
|
558
|
+
def __init__(__self__,
|
559
|
+
resource_name: str,
|
560
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
561
|
+
actions_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PluginActionsConfigArgs', 'PluginActionsConfigArgsDict']]]]] = None,
|
562
|
+
config_template: Optional[pulumi.Input[Union['PluginConfigTemplateArgs', 'PluginConfigTemplateArgsDict']]] = None,
|
563
|
+
description: Optional[pulumi.Input[builtins.str]] = None,
|
564
|
+
display_name: Optional[pulumi.Input[builtins.str]] = None,
|
565
|
+
documentation: Optional[pulumi.Input[Union['PluginDocumentationArgs', 'PluginDocumentationArgsDict']]] = None,
|
566
|
+
hosting_service: Optional[pulumi.Input[Union['PluginHostingServiceArgs', 'PluginHostingServiceArgsDict']]] = None,
|
567
|
+
location: Optional[pulumi.Input[builtins.str]] = None,
|
568
|
+
plugin_category: Optional[pulumi.Input[builtins.str]] = None,
|
569
|
+
plugin_id: Optional[pulumi.Input[builtins.str]] = None,
|
570
|
+
project: Optional[pulumi.Input[builtins.str]] = None,
|
571
|
+
__props__=None):
|
572
|
+
"""
|
573
|
+
A plugin resource in the API hub.
|
574
|
+
|
575
|
+
## Example Usage
|
576
|
+
|
577
|
+
### Apihub Plugin Full
|
578
|
+
|
579
|
+
```python
|
580
|
+
import pulumi
|
581
|
+
import pulumi_gcp as gcp
|
582
|
+
|
583
|
+
apihub_plugin_full = gcp.apihub.Plugin("apihub_plugin_full",
|
584
|
+
location="us-central1",
|
585
|
+
display_name="Test Plugin",
|
586
|
+
description="Test description",
|
587
|
+
plugin_id="plugin-full",
|
588
|
+
plugin_category="API_GATEWAY",
|
589
|
+
actions_configs=[{
|
590
|
+
"id": "sync-metadata",
|
591
|
+
"display_name": "Sync Metadata",
|
592
|
+
"description": "Syncs API metadata.",
|
593
|
+
"trigger_mode": "API_HUB_SCHEDULE_TRIGGER",
|
594
|
+
}],
|
595
|
+
documentation={
|
596
|
+
"external_uri": "https://example.com/plugin-documentation",
|
597
|
+
},
|
598
|
+
hosting_service={
|
599
|
+
"service_uri": "https://your-plugin-service.example.com/api",
|
600
|
+
},
|
601
|
+
config_template={
|
602
|
+
"auth_config_template": {
|
603
|
+
"supported_auth_types": [
|
604
|
+
"NO_AUTH",
|
605
|
+
"USER_PASSWORD",
|
606
|
+
],
|
607
|
+
"service_account": {
|
608
|
+
"service_account": "test@developer.gserviceaccount.com",
|
609
|
+
},
|
610
|
+
},
|
611
|
+
"additional_config_templates": [
|
612
|
+
{
|
613
|
+
"id": "string-val",
|
614
|
+
"description": "API key for the service.",
|
615
|
+
"value_type": "STRING",
|
616
|
+
"required": False,
|
617
|
+
"validation_regex": "^[a-zA-Z0-9]{5,20}$",
|
618
|
+
},
|
619
|
+
{
|
620
|
+
"id": "integer-val",
|
621
|
+
"description": "API key for the service.",
|
622
|
+
"value_type": "INT",
|
623
|
+
"required": True,
|
624
|
+
"validation_regex": "",
|
625
|
+
},
|
626
|
+
{
|
627
|
+
"id": "bool-val",
|
628
|
+
"description": "API key for the service.",
|
629
|
+
"value_type": "BOOL",
|
630
|
+
"required": False,
|
631
|
+
"validation_regex": "",
|
632
|
+
},
|
633
|
+
{
|
634
|
+
"id": "enum-val",
|
635
|
+
"description": "API key for the service.",
|
636
|
+
"value_type": "ENUM",
|
637
|
+
"enum_options": [
|
638
|
+
{
|
639
|
+
"id": "Option1",
|
640
|
+
"display_name": "Option1",
|
641
|
+
"description": "Description for Option1",
|
642
|
+
},
|
643
|
+
{
|
644
|
+
"id": "Option2",
|
645
|
+
"display_name": "Option2",
|
646
|
+
"description": "Description for Option2",
|
647
|
+
},
|
648
|
+
],
|
649
|
+
"required": False,
|
650
|
+
"validation_regex": "",
|
651
|
+
},
|
652
|
+
],
|
653
|
+
})
|
654
|
+
```
|
655
|
+
|
656
|
+
## Import
|
657
|
+
|
658
|
+
Plugin can be imported using any of these accepted formats:
|
659
|
+
|
660
|
+
* `projects/{{project}}/locations/{{location}}/plugins/{{plugin_id}}`
|
661
|
+
|
662
|
+
* `{{project}}/{{location}}/{{plugin_id}}`
|
663
|
+
|
664
|
+
* `{{location}}/{{plugin_id}}`
|
665
|
+
|
666
|
+
When using the `pulumi import` command, Plugin can be imported using one of the formats above. For example:
|
667
|
+
|
668
|
+
```sh
|
669
|
+
$ pulumi import gcp:apihub/plugin:Plugin default projects/{{project}}/locations/{{location}}/plugins/{{plugin_id}}
|
670
|
+
```
|
671
|
+
|
672
|
+
```sh
|
673
|
+
$ pulumi import gcp:apihub/plugin:Plugin default {{project}}/{{location}}/{{plugin_id}}
|
674
|
+
```
|
675
|
+
|
676
|
+
```sh
|
677
|
+
$ pulumi import gcp:apihub/plugin:Plugin default {{location}}/{{plugin_id}}
|
678
|
+
```
|
679
|
+
|
680
|
+
:param str resource_name: The name of the resource.
|
681
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
682
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['PluginActionsConfigArgs', 'PluginActionsConfigArgsDict']]]] actions_configs: The configuration of actions supported by the plugin.
|
683
|
+
Structure is documented below.
|
684
|
+
:param pulumi.Input[Union['PluginConfigTemplateArgs', 'PluginConfigTemplateArgsDict']] config_template: ConfigTemplate represents the configuration template for a plugin.
|
685
|
+
Structure is documented below.
|
686
|
+
:param pulumi.Input[builtins.str] description: The plugin description. Max length is 2000 characters (Unicode code
|
687
|
+
points).
|
688
|
+
:param pulumi.Input[builtins.str] display_name: The display name of the plugin. Max length is 50 characters (Unicode code
|
689
|
+
points).
|
690
|
+
:param pulumi.Input[Union['PluginDocumentationArgs', 'PluginDocumentationArgsDict']] documentation: Documentation details.
|
691
|
+
Structure is documented below.
|
692
|
+
:param pulumi.Input[Union['PluginHostingServiceArgs', 'PluginHostingServiceArgsDict']] hosting_service: The information related to the service implemented by the plugin
|
693
|
+
developer, used to invoke the plugin's functionality.
|
694
|
+
Structure is documented below.
|
695
|
+
: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.
|
696
|
+
:param pulumi.Input[builtins.str] plugin_category: Possible values:
|
697
|
+
PLUGIN_CATEGORY_UNSPECIFIED
|
698
|
+
API_GATEWAY
|
699
|
+
API_PRODUCER
|
700
|
+
:param pulumi.Input[builtins.str] plugin_id: The ID to use for the Plugin resource, which will become the final
|
701
|
+
component of the Plugin's resource name. This field is optional.
|
702
|
+
* If provided, the same will be used. The service will throw an error if
|
703
|
+
the specified id is already used by another Plugin resource in the API hub
|
704
|
+
instance.
|
705
|
+
* If not provided, a system generated id will be used.
|
706
|
+
This value should be 4-63 characters, overall resource name which will be
|
707
|
+
of format
|
708
|
+
`projects/{project}/locations/{location}/plugins/{plugin}`,
|
709
|
+
its length is limited to 1000 characters and valid characters are
|
710
|
+
/a-z[0-9]-_/.
|
711
|
+
|
712
|
+
|
713
|
+
- - -
|
714
|
+
:param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
|
715
|
+
If it is not provided, the provider project is used.
|
716
|
+
"""
|
717
|
+
...
|
718
|
+
@overload
|
719
|
+
def __init__(__self__,
|
720
|
+
resource_name: str,
|
721
|
+
args: PluginArgs,
|
722
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
723
|
+
"""
|
724
|
+
A plugin resource in the API hub.
|
725
|
+
|
726
|
+
## Example Usage
|
727
|
+
|
728
|
+
### Apihub Plugin Full
|
729
|
+
|
730
|
+
```python
|
731
|
+
import pulumi
|
732
|
+
import pulumi_gcp as gcp
|
733
|
+
|
734
|
+
apihub_plugin_full = gcp.apihub.Plugin("apihub_plugin_full",
|
735
|
+
location="us-central1",
|
736
|
+
display_name="Test Plugin",
|
737
|
+
description="Test description",
|
738
|
+
plugin_id="plugin-full",
|
739
|
+
plugin_category="API_GATEWAY",
|
740
|
+
actions_configs=[{
|
741
|
+
"id": "sync-metadata",
|
742
|
+
"display_name": "Sync Metadata",
|
743
|
+
"description": "Syncs API metadata.",
|
744
|
+
"trigger_mode": "API_HUB_SCHEDULE_TRIGGER",
|
745
|
+
}],
|
746
|
+
documentation={
|
747
|
+
"external_uri": "https://example.com/plugin-documentation",
|
748
|
+
},
|
749
|
+
hosting_service={
|
750
|
+
"service_uri": "https://your-plugin-service.example.com/api",
|
751
|
+
},
|
752
|
+
config_template={
|
753
|
+
"auth_config_template": {
|
754
|
+
"supported_auth_types": [
|
755
|
+
"NO_AUTH",
|
756
|
+
"USER_PASSWORD",
|
757
|
+
],
|
758
|
+
"service_account": {
|
759
|
+
"service_account": "test@developer.gserviceaccount.com",
|
760
|
+
},
|
761
|
+
},
|
762
|
+
"additional_config_templates": [
|
763
|
+
{
|
764
|
+
"id": "string-val",
|
765
|
+
"description": "API key for the service.",
|
766
|
+
"value_type": "STRING",
|
767
|
+
"required": False,
|
768
|
+
"validation_regex": "^[a-zA-Z0-9]{5,20}$",
|
769
|
+
},
|
770
|
+
{
|
771
|
+
"id": "integer-val",
|
772
|
+
"description": "API key for the service.",
|
773
|
+
"value_type": "INT",
|
774
|
+
"required": True,
|
775
|
+
"validation_regex": "",
|
776
|
+
},
|
777
|
+
{
|
778
|
+
"id": "bool-val",
|
779
|
+
"description": "API key for the service.",
|
780
|
+
"value_type": "BOOL",
|
781
|
+
"required": False,
|
782
|
+
"validation_regex": "",
|
783
|
+
},
|
784
|
+
{
|
785
|
+
"id": "enum-val",
|
786
|
+
"description": "API key for the service.",
|
787
|
+
"value_type": "ENUM",
|
788
|
+
"enum_options": [
|
789
|
+
{
|
790
|
+
"id": "Option1",
|
791
|
+
"display_name": "Option1",
|
792
|
+
"description": "Description for Option1",
|
793
|
+
},
|
794
|
+
{
|
795
|
+
"id": "Option2",
|
796
|
+
"display_name": "Option2",
|
797
|
+
"description": "Description for Option2",
|
798
|
+
},
|
799
|
+
],
|
800
|
+
"required": False,
|
801
|
+
"validation_regex": "",
|
802
|
+
},
|
803
|
+
],
|
804
|
+
})
|
805
|
+
```
|
806
|
+
|
807
|
+
## Import
|
808
|
+
|
809
|
+
Plugin can be imported using any of these accepted formats:
|
810
|
+
|
811
|
+
* `projects/{{project}}/locations/{{location}}/plugins/{{plugin_id}}`
|
812
|
+
|
813
|
+
* `{{project}}/{{location}}/{{plugin_id}}`
|
814
|
+
|
815
|
+
* `{{location}}/{{plugin_id}}`
|
816
|
+
|
817
|
+
When using the `pulumi import` command, Plugin can be imported using one of the formats above. For example:
|
818
|
+
|
819
|
+
```sh
|
820
|
+
$ pulumi import gcp:apihub/plugin:Plugin default projects/{{project}}/locations/{{location}}/plugins/{{plugin_id}}
|
821
|
+
```
|
822
|
+
|
823
|
+
```sh
|
824
|
+
$ pulumi import gcp:apihub/plugin:Plugin default {{project}}/{{location}}/{{plugin_id}}
|
825
|
+
```
|
826
|
+
|
827
|
+
```sh
|
828
|
+
$ pulumi import gcp:apihub/plugin:Plugin default {{location}}/{{plugin_id}}
|
829
|
+
```
|
830
|
+
|
831
|
+
:param str resource_name: The name of the resource.
|
832
|
+
:param PluginArgs args: The arguments to use to populate this resource's properties.
|
833
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
834
|
+
"""
|
835
|
+
...
|
836
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
837
|
+
resource_args, opts = _utilities.get_resource_args_opts(PluginArgs, pulumi.ResourceOptions, *args, **kwargs)
|
838
|
+
if resource_args is not None:
|
839
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
840
|
+
else:
|
841
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
842
|
+
|
843
|
+
def _internal_init(__self__,
|
844
|
+
resource_name: str,
|
845
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
846
|
+
actions_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PluginActionsConfigArgs', 'PluginActionsConfigArgsDict']]]]] = None,
|
847
|
+
config_template: Optional[pulumi.Input[Union['PluginConfigTemplateArgs', 'PluginConfigTemplateArgsDict']]] = None,
|
848
|
+
description: Optional[pulumi.Input[builtins.str]] = None,
|
849
|
+
display_name: Optional[pulumi.Input[builtins.str]] = None,
|
850
|
+
documentation: Optional[pulumi.Input[Union['PluginDocumentationArgs', 'PluginDocumentationArgsDict']]] = None,
|
851
|
+
hosting_service: Optional[pulumi.Input[Union['PluginHostingServiceArgs', 'PluginHostingServiceArgsDict']]] = None,
|
852
|
+
location: Optional[pulumi.Input[builtins.str]] = None,
|
853
|
+
plugin_category: Optional[pulumi.Input[builtins.str]] = None,
|
854
|
+
plugin_id: Optional[pulumi.Input[builtins.str]] = None,
|
855
|
+
project: Optional[pulumi.Input[builtins.str]] = None,
|
856
|
+
__props__=None):
|
857
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
858
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
859
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
860
|
+
if opts.id is None:
|
861
|
+
if __props__ is not None:
|
862
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
863
|
+
__props__ = PluginArgs.__new__(PluginArgs)
|
864
|
+
|
865
|
+
__props__.__dict__["actions_configs"] = actions_configs
|
866
|
+
__props__.__dict__["config_template"] = config_template
|
867
|
+
__props__.__dict__["description"] = description
|
868
|
+
if display_name is None and not opts.urn:
|
869
|
+
raise TypeError("Missing required property 'display_name'")
|
870
|
+
__props__.__dict__["display_name"] = display_name
|
871
|
+
__props__.__dict__["documentation"] = documentation
|
872
|
+
__props__.__dict__["hosting_service"] = hosting_service
|
873
|
+
if location is None and not opts.urn:
|
874
|
+
raise TypeError("Missing required property 'location'")
|
875
|
+
__props__.__dict__["location"] = location
|
876
|
+
__props__.__dict__["plugin_category"] = plugin_category
|
877
|
+
if plugin_id is None and not opts.urn:
|
878
|
+
raise TypeError("Missing required property 'plugin_id'")
|
879
|
+
__props__.__dict__["plugin_id"] = plugin_id
|
880
|
+
__props__.__dict__["project"] = project
|
881
|
+
__props__.__dict__["create_time"] = None
|
882
|
+
__props__.__dict__["name"] = None
|
883
|
+
__props__.__dict__["ownership_type"] = None
|
884
|
+
__props__.__dict__["state"] = None
|
885
|
+
__props__.__dict__["update_time"] = None
|
886
|
+
super(Plugin, __self__).__init__(
|
887
|
+
'gcp:apihub/plugin:Plugin',
|
888
|
+
resource_name,
|
889
|
+
__props__,
|
890
|
+
opts)
|
891
|
+
|
892
|
+
@staticmethod
|
893
|
+
def get(resource_name: str,
|
894
|
+
id: pulumi.Input[str],
|
895
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
896
|
+
actions_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PluginActionsConfigArgs', 'PluginActionsConfigArgsDict']]]]] = None,
|
897
|
+
config_template: Optional[pulumi.Input[Union['PluginConfigTemplateArgs', 'PluginConfigTemplateArgsDict']]] = None,
|
898
|
+
create_time: Optional[pulumi.Input[builtins.str]] = None,
|
899
|
+
description: Optional[pulumi.Input[builtins.str]] = None,
|
900
|
+
display_name: Optional[pulumi.Input[builtins.str]] = None,
|
901
|
+
documentation: Optional[pulumi.Input[Union['PluginDocumentationArgs', 'PluginDocumentationArgsDict']]] = None,
|
902
|
+
hosting_service: Optional[pulumi.Input[Union['PluginHostingServiceArgs', 'PluginHostingServiceArgsDict']]] = None,
|
903
|
+
location: Optional[pulumi.Input[builtins.str]] = None,
|
904
|
+
name: Optional[pulumi.Input[builtins.str]] = None,
|
905
|
+
ownership_type: Optional[pulumi.Input[builtins.str]] = None,
|
906
|
+
plugin_category: Optional[pulumi.Input[builtins.str]] = None,
|
907
|
+
plugin_id: Optional[pulumi.Input[builtins.str]] = None,
|
908
|
+
project: Optional[pulumi.Input[builtins.str]] = None,
|
909
|
+
state: Optional[pulumi.Input[builtins.str]] = None,
|
910
|
+
update_time: Optional[pulumi.Input[builtins.str]] = None) -> 'Plugin':
|
911
|
+
"""
|
912
|
+
Get an existing Plugin resource's state with the given name, id, and optional extra
|
913
|
+
properties used to qualify the lookup.
|
914
|
+
|
915
|
+
:param str resource_name: The unique name of the resulting resource.
|
916
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
917
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
918
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['PluginActionsConfigArgs', 'PluginActionsConfigArgsDict']]]] actions_configs: The configuration of actions supported by the plugin.
|
919
|
+
Structure is documented below.
|
920
|
+
:param pulumi.Input[Union['PluginConfigTemplateArgs', 'PluginConfigTemplateArgsDict']] config_template: ConfigTemplate represents the configuration template for a plugin.
|
921
|
+
Structure is documented below.
|
922
|
+
:param pulumi.Input[builtins.str] create_time: Timestamp indicating when the plugin was created.
|
923
|
+
:param pulumi.Input[builtins.str] description: The plugin description. Max length is 2000 characters (Unicode code
|
924
|
+
points).
|
925
|
+
:param pulumi.Input[builtins.str] display_name: The display name of the plugin. Max length is 50 characters (Unicode code
|
926
|
+
points).
|
927
|
+
:param pulumi.Input[Union['PluginDocumentationArgs', 'PluginDocumentationArgsDict']] documentation: Documentation details.
|
928
|
+
Structure is documented below.
|
929
|
+
:param pulumi.Input[Union['PluginHostingServiceArgs', 'PluginHostingServiceArgsDict']] hosting_service: The information related to the service implemented by the plugin
|
930
|
+
developer, used to invoke the plugin's functionality.
|
931
|
+
Structure is documented below.
|
932
|
+
: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.
|
933
|
+
:param pulumi.Input[builtins.str] name: Identifier. The name of the plugin.
|
934
|
+
Format: `projects/{project}/locations/{location}/plugins/{plugin}`
|
935
|
+
:param pulumi.Input[builtins.str] ownership_type: The type of the plugin, indicating whether it is 'SYSTEM_OWNED' or
|
936
|
+
'USER_OWNED'.
|
937
|
+
Possible values:
|
938
|
+
OWNERSHIP_TYPE_UNSPECIFIED
|
939
|
+
SYSTEM_OWNED
|
940
|
+
USER_OWNED
|
941
|
+
:param pulumi.Input[builtins.str] plugin_category: Possible values:
|
942
|
+
PLUGIN_CATEGORY_UNSPECIFIED
|
943
|
+
API_GATEWAY
|
944
|
+
API_PRODUCER
|
945
|
+
:param pulumi.Input[builtins.str] plugin_id: The ID to use for the Plugin resource, which will become the final
|
946
|
+
component of the Plugin's resource name. This field is optional.
|
947
|
+
* If provided, the same will be used. The service will throw an error if
|
948
|
+
the specified id is already used by another Plugin resource in the API hub
|
949
|
+
instance.
|
950
|
+
* If not provided, a system generated id will be used.
|
951
|
+
This value should be 4-63 characters, overall resource name which will be
|
952
|
+
of format
|
953
|
+
`projects/{project}/locations/{location}/plugins/{plugin}`,
|
954
|
+
its length is limited to 1000 characters and valid characters are
|
955
|
+
/a-z[0-9]-_/.
|
956
|
+
|
957
|
+
|
958
|
+
- - -
|
959
|
+
:param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
|
960
|
+
If it is not provided, the provider project is used.
|
961
|
+
:param pulumi.Input[builtins.str] state: Represents the state of the plugin.
|
962
|
+
Note this field will not be set for plugins developed via plugin
|
963
|
+
framework as the state will be managed at plugin instance level.
|
964
|
+
Possible values:
|
965
|
+
STATE_UNSPECIFIED
|
966
|
+
ENABLED
|
967
|
+
DISABLED
|
968
|
+
:param pulumi.Input[builtins.str] update_time: Timestamp indicating when the plugin was last updated.
|
969
|
+
"""
|
970
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
971
|
+
|
972
|
+
__props__ = _PluginState.__new__(_PluginState)
|
973
|
+
|
974
|
+
__props__.__dict__["actions_configs"] = actions_configs
|
975
|
+
__props__.__dict__["config_template"] = config_template
|
976
|
+
__props__.__dict__["create_time"] = create_time
|
977
|
+
__props__.__dict__["description"] = description
|
978
|
+
__props__.__dict__["display_name"] = display_name
|
979
|
+
__props__.__dict__["documentation"] = documentation
|
980
|
+
__props__.__dict__["hosting_service"] = hosting_service
|
981
|
+
__props__.__dict__["location"] = location
|
982
|
+
__props__.__dict__["name"] = name
|
983
|
+
__props__.__dict__["ownership_type"] = ownership_type
|
984
|
+
__props__.__dict__["plugin_category"] = plugin_category
|
985
|
+
__props__.__dict__["plugin_id"] = plugin_id
|
986
|
+
__props__.__dict__["project"] = project
|
987
|
+
__props__.__dict__["state"] = state
|
988
|
+
__props__.__dict__["update_time"] = update_time
|
989
|
+
return Plugin(resource_name, opts=opts, __props__=__props__)
|
990
|
+
|
991
|
+
@property
|
992
|
+
@pulumi.getter(name="actionsConfigs")
|
993
|
+
def actions_configs(self) -> pulumi.Output[Optional[Sequence['outputs.PluginActionsConfig']]]:
|
994
|
+
"""
|
995
|
+
The configuration of actions supported by the plugin.
|
996
|
+
Structure is documented below.
|
997
|
+
"""
|
998
|
+
return pulumi.get(self, "actions_configs")
|
999
|
+
|
1000
|
+
@property
|
1001
|
+
@pulumi.getter(name="configTemplate")
|
1002
|
+
def config_template(self) -> pulumi.Output[Optional['outputs.PluginConfigTemplate']]:
|
1003
|
+
"""
|
1004
|
+
ConfigTemplate represents the configuration template for a plugin.
|
1005
|
+
Structure is documented below.
|
1006
|
+
"""
|
1007
|
+
return pulumi.get(self, "config_template")
|
1008
|
+
|
1009
|
+
@property
|
1010
|
+
@pulumi.getter(name="createTime")
|
1011
|
+
def create_time(self) -> pulumi.Output[builtins.str]:
|
1012
|
+
"""
|
1013
|
+
Timestamp indicating when the plugin was created.
|
1014
|
+
"""
|
1015
|
+
return pulumi.get(self, "create_time")
|
1016
|
+
|
1017
|
+
@property
|
1018
|
+
@pulumi.getter
|
1019
|
+
def description(self) -> pulumi.Output[Optional[builtins.str]]:
|
1020
|
+
"""
|
1021
|
+
The plugin description. Max length is 2000 characters (Unicode code
|
1022
|
+
points).
|
1023
|
+
"""
|
1024
|
+
return pulumi.get(self, "description")
|
1025
|
+
|
1026
|
+
@property
|
1027
|
+
@pulumi.getter(name="displayName")
|
1028
|
+
def display_name(self) -> pulumi.Output[builtins.str]:
|
1029
|
+
"""
|
1030
|
+
The display name of the plugin. Max length is 50 characters (Unicode code
|
1031
|
+
points).
|
1032
|
+
"""
|
1033
|
+
return pulumi.get(self, "display_name")
|
1034
|
+
|
1035
|
+
@property
|
1036
|
+
@pulumi.getter
|
1037
|
+
def documentation(self) -> pulumi.Output[Optional['outputs.PluginDocumentation']]:
|
1038
|
+
"""
|
1039
|
+
Documentation details.
|
1040
|
+
Structure is documented below.
|
1041
|
+
"""
|
1042
|
+
return pulumi.get(self, "documentation")
|
1043
|
+
|
1044
|
+
@property
|
1045
|
+
@pulumi.getter(name="hostingService")
|
1046
|
+
def hosting_service(self) -> pulumi.Output[Optional['outputs.PluginHostingService']]:
|
1047
|
+
"""
|
1048
|
+
The information related to the service implemented by the plugin
|
1049
|
+
developer, used to invoke the plugin's functionality.
|
1050
|
+
Structure is documented below.
|
1051
|
+
"""
|
1052
|
+
return pulumi.get(self, "hosting_service")
|
1053
|
+
|
1054
|
+
@property
|
1055
|
+
@pulumi.getter
|
1056
|
+
def location(self) -> pulumi.Output[builtins.str]:
|
1057
|
+
"""
|
1058
|
+
Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
|
1059
|
+
"""
|
1060
|
+
return pulumi.get(self, "location")
|
1061
|
+
|
1062
|
+
@property
|
1063
|
+
@pulumi.getter
|
1064
|
+
def name(self) -> pulumi.Output[builtins.str]:
|
1065
|
+
"""
|
1066
|
+
Identifier. The name of the plugin.
|
1067
|
+
Format: `projects/{project}/locations/{location}/plugins/{plugin}`
|
1068
|
+
"""
|
1069
|
+
return pulumi.get(self, "name")
|
1070
|
+
|
1071
|
+
@property
|
1072
|
+
@pulumi.getter(name="ownershipType")
|
1073
|
+
def ownership_type(self) -> pulumi.Output[builtins.str]:
|
1074
|
+
"""
|
1075
|
+
The type of the plugin, indicating whether it is 'SYSTEM_OWNED' or
|
1076
|
+
'USER_OWNED'.
|
1077
|
+
Possible values:
|
1078
|
+
OWNERSHIP_TYPE_UNSPECIFIED
|
1079
|
+
SYSTEM_OWNED
|
1080
|
+
USER_OWNED
|
1081
|
+
"""
|
1082
|
+
return pulumi.get(self, "ownership_type")
|
1083
|
+
|
1084
|
+
@property
|
1085
|
+
@pulumi.getter(name="pluginCategory")
|
1086
|
+
def plugin_category(self) -> pulumi.Output[Optional[builtins.str]]:
|
1087
|
+
"""
|
1088
|
+
Possible values:
|
1089
|
+
PLUGIN_CATEGORY_UNSPECIFIED
|
1090
|
+
API_GATEWAY
|
1091
|
+
API_PRODUCER
|
1092
|
+
"""
|
1093
|
+
return pulumi.get(self, "plugin_category")
|
1094
|
+
|
1095
|
+
@property
|
1096
|
+
@pulumi.getter(name="pluginId")
|
1097
|
+
def plugin_id(self) -> pulumi.Output[builtins.str]:
|
1098
|
+
"""
|
1099
|
+
The ID to use for the Plugin resource, which will become the final
|
1100
|
+
component of the Plugin's resource name. This field is optional.
|
1101
|
+
* If provided, the same will be used. The service will throw an error if
|
1102
|
+
the specified id is already used by another Plugin resource in the API hub
|
1103
|
+
instance.
|
1104
|
+
* If not provided, a system generated id will be used.
|
1105
|
+
This value should be 4-63 characters, overall resource name which will be
|
1106
|
+
of format
|
1107
|
+
`projects/{project}/locations/{location}/plugins/{plugin}`,
|
1108
|
+
its length is limited to 1000 characters and valid characters are
|
1109
|
+
/a-z[0-9]-_/.
|
1110
|
+
|
1111
|
+
|
1112
|
+
- - -
|
1113
|
+
"""
|
1114
|
+
return pulumi.get(self, "plugin_id")
|
1115
|
+
|
1116
|
+
@property
|
1117
|
+
@pulumi.getter
|
1118
|
+
def project(self) -> pulumi.Output[builtins.str]:
|
1119
|
+
"""
|
1120
|
+
The ID of the project in which the resource belongs.
|
1121
|
+
If it is not provided, the provider project is used.
|
1122
|
+
"""
|
1123
|
+
return pulumi.get(self, "project")
|
1124
|
+
|
1125
|
+
@property
|
1126
|
+
@pulumi.getter
|
1127
|
+
def state(self) -> pulumi.Output[builtins.str]:
|
1128
|
+
"""
|
1129
|
+
Represents the state of the plugin.
|
1130
|
+
Note this field will not be set for plugins developed via plugin
|
1131
|
+
framework as the state will be managed at plugin instance level.
|
1132
|
+
Possible values:
|
1133
|
+
STATE_UNSPECIFIED
|
1134
|
+
ENABLED
|
1135
|
+
DISABLED
|
1136
|
+
"""
|
1137
|
+
return pulumi.get(self, "state")
|
1138
|
+
|
1139
|
+
@property
|
1140
|
+
@pulumi.getter(name="updateTime")
|
1141
|
+
def update_time(self) -> pulumi.Output[builtins.str]:
|
1142
|
+
"""
|
1143
|
+
Timestamp indicating when the plugin was last updated.
|
1144
|
+
"""
|
1145
|
+
return pulumi.get(self, "update_time")
|
1146
|
+
|