pulumi-gcp 9.3.0a1759387993__py3-none-any.whl → 9.3.0a1759868184__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/apigee/__init__.py +1 -0
  3. pulumi_gcp/apigee/api_deployment.py +372 -0
  4. pulumi_gcp/apihub/plugin.py +1 -1
  5. pulumi_gcp/artifactregistry/__init__.py +2 -0
  6. pulumi_gcp/artifactregistry/get_maven_artifacts.py +164 -0
  7. pulumi_gcp/artifactregistry/get_npm_packages.py +164 -0
  8. pulumi_gcp/artifactregistry/outputs.py +165 -0
  9. pulumi_gcp/cloudrunv2/_inputs.py +823 -15
  10. pulumi_gcp/cloudrunv2/outputs.py +1749 -743
  11. pulumi_gcp/cloudrunv2/worker_pool.py +110 -0
  12. pulumi_gcp/compute/_inputs.py +28 -0
  13. pulumi_gcp/compute/outputs.py +20 -1
  14. pulumi_gcp/compute/vpn_tunnel.py +97 -23
  15. pulumi_gcp/compute/wire_group.py +2 -0
  16. pulumi_gcp/dataloss/_inputs.py +970 -30
  17. pulumi_gcp/dataloss/outputs.py +850 -20
  18. pulumi_gcp/dataloss/prevention_discovery_config.py +54 -0
  19. pulumi_gcp/diagflow/_inputs.py +66 -0
  20. pulumi_gcp/diagflow/conversation_profile.py +84 -0
  21. pulumi_gcp/diagflow/outputs.py +57 -0
  22. pulumi_gcp/discoveryengine/__init__.py +1 -0
  23. pulumi_gcp/discoveryengine/_inputs.py +187 -0
  24. pulumi_gcp/discoveryengine/data_connector.py +1368 -0
  25. pulumi_gcp/discoveryengine/outputs.py +135 -0
  26. pulumi_gcp/discoveryengine/search_engine.py +47 -0
  27. pulumi_gcp/gkebackup/_inputs.py +111 -0
  28. pulumi_gcp/gkebackup/backup_plan.py +72 -0
  29. pulumi_gcp/gkebackup/outputs.py +84 -0
  30. pulumi_gcp/kms/__init__.py +1 -0
  31. pulumi_gcp/kms/_inputs.py +43 -0
  32. pulumi_gcp/kms/organization_kaj_policy_config.py +290 -0
  33. pulumi_gcp/kms/outputs.py +43 -0
  34. pulumi_gcp/logging/metric.py +2 -2
  35. pulumi_gcp/looker/instance.py +51 -0
  36. pulumi_gcp/managedkafka/connect_cluster.py +20 -82
  37. pulumi_gcp/managedkafka/connector.py +24 -94
  38. pulumi_gcp/netapp/_inputs.py +28 -5
  39. pulumi_gcp/netapp/outputs.py +19 -3
  40. pulumi_gcp/netapp/storage_pool.py +56 -0
  41. pulumi_gcp/netapp/volume.py +28 -0
  42. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  43. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +211 -23
  44. pulumi_gcp/oracledatabase/odb_network.py +101 -2
  45. pulumi_gcp/orgpolicy/policy.py +2 -2
  46. pulumi_gcp/privilegedaccessmanager/_inputs.py +27 -4
  47. pulumi_gcp/privilegedaccessmanager/outputs.py +31 -6
  48. pulumi_gcp/pubsub/get_subscription.py +12 -1
  49. pulumi_gcp/pubsub/get_topic.py +15 -4
  50. pulumi_gcp/pubsub/subscription.py +153 -7
  51. pulumi_gcp/pubsub/topic.py +145 -3
  52. pulumi_gcp/pulumi-plugin.json +1 -1
  53. pulumi_gcp/saasruntime/__init__.py +1 -0
  54. pulumi_gcp/saasruntime/_inputs.py +60 -0
  55. pulumi_gcp/saasruntime/outputs.py +55 -0
  56. pulumi_gcp/saasruntime/rollout_kind.py +1086 -0
  57. pulumi_gcp/sql/_inputs.py +122 -3
  58. pulumi_gcp/sql/database_instance.py +47 -0
  59. pulumi_gcp/sql/get_database_instance.py +12 -1
  60. pulumi_gcp/sql/outputs.py +233 -2
  61. pulumi_gcp/storage/bucket.py +52 -24
  62. pulumi_gcp/storage/get_insights_dataset_config.py +12 -1
  63. pulumi_gcp/storage/insights_dataset_config.py +49 -0
  64. pulumi_gcp/storage/insights_report_config.py +47 -0
  65. pulumi_gcp/vertex/_inputs.py +339 -1
  66. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  67. pulumi_gcp/vertex/ai_endpoint_with_model_garden_deployment.py +102 -0
  68. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  69. pulumi_gcp/vertex/ai_index.py +74 -2
  70. pulumi_gcp/vertex/ai_index_endpoint.py +54 -0
  71. pulumi_gcp/vertex/get_ai_index.py +12 -1
  72. pulumi_gcp/vertex/outputs.py +303 -1
  73. {pulumi_gcp-9.3.0a1759387993.dist-info → pulumi_gcp-9.3.0a1759868184.dist-info}/METADATA +1 -1
  74. {pulumi_gcp-9.3.0a1759387993.dist-info → pulumi_gcp-9.3.0a1759868184.dist-info}/RECORD +76 -70
  75. {pulumi_gcp-9.3.0a1759387993.dist-info → pulumi_gcp-9.3.0a1759868184.dist-info}/WHEEL +0 -0
  76. {pulumi_gcp-9.3.0a1759387993.dist-info → pulumi_gcp-9.3.0a1759868184.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1368 @@
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 as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['DataConnectorArgs', 'DataConnector']
20
+
21
+ @pulumi.input_type
22
+ class DataConnectorArgs:
23
+ def __init__(__self__, *,
24
+ collection_display_name: pulumi.Input[_builtins.str],
25
+ collection_id: pulumi.Input[_builtins.str],
26
+ data_source: pulumi.Input[_builtins.str],
27
+ location: pulumi.Input[_builtins.str],
28
+ refresh_interval: pulumi.Input[_builtins.str],
29
+ entities: Optional[pulumi.Input[Sequence[pulumi.Input['DataConnectorEntityArgs']]]] = None,
30
+ json_params: Optional[pulumi.Input[_builtins.str]] = None,
31
+ kms_key_name: Optional[pulumi.Input[_builtins.str]] = None,
32
+ params: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
33
+ project: Optional[pulumi.Input[_builtins.str]] = None,
34
+ static_ip_enabled: Optional[pulumi.Input[_builtins.bool]] = None):
35
+ """
36
+ The set of arguments for constructing a DataConnector resource.
37
+ :param pulumi.Input[_builtins.str] collection_display_name: The display name of the Collection.
38
+ Should be human readable, used to display collections in the Console
39
+ Dashboard. UTF-8 encoded string with limit of 1024 characters.
40
+ :param pulumi.Input[_builtins.str] collection_id: The ID to use for the Collection, which will become the final component
41
+ of the Collection's resource name. A new Collection is created as
42
+ part of the DataConnector setup. DataConnector is a singleton
43
+ resource under Collection, managing all DataStores of the Collection.
44
+ This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034)
45
+ standard with a length limit of 63 characters. Otherwise, an
46
+ INVALID_ARGUMENT error is returned.
47
+ :param pulumi.Input[_builtins.str] data_source: The name of the data source.
48
+ Supported values: `salesforce`, `jira`, `confluence`, `bigquery`.
49
+ :param pulumi.Input[_builtins.str] location: The geographic location where the data store should reside. The value can
50
+ only be one of "global", "us" and "eu".
51
+ :param pulumi.Input[_builtins.str] refresh_interval: The refresh interval for data sync. If duration is set to 0, the data will
52
+ be synced in real time. The streaming feature is not supported yet. The
53
+ minimum is 30 minutes and maximum is 7 days. When the refresh interval is
54
+ set to the same value as the incremental refresh interval, incremental
55
+ sync will be disabled.
56
+ :param pulumi.Input[Sequence[pulumi.Input['DataConnectorEntityArgs']]] entities: List of entities from the connected data source to ingest.
57
+ Structure is documented below.
58
+ :param pulumi.Input[_builtins.str] json_params: Params needed to access the source in the format of json string.
59
+ :param pulumi.Input[_builtins.str] kms_key_name: The KMS key to be used to protect the DataStores managed by this connector.
60
+ Must be set for requests that need to comply with CMEK Org Policy
61
+ protections.
62
+ If this field is set and processed successfully, the DataStores created by
63
+ this connector will be protected by the KMS key.
64
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] params: Params needed to access the source in the format of String-to-String (Key, Value) pairs.
65
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
66
+ If it is not provided, the provider project is used.
67
+ :param pulumi.Input[_builtins.bool] static_ip_enabled: Whether customer has enabled static IP addresses for this connector.
68
+ """
69
+ pulumi.set(__self__, "collection_display_name", collection_display_name)
70
+ pulumi.set(__self__, "collection_id", collection_id)
71
+ pulumi.set(__self__, "data_source", data_source)
72
+ pulumi.set(__self__, "location", location)
73
+ pulumi.set(__self__, "refresh_interval", refresh_interval)
74
+ if entities is not None:
75
+ pulumi.set(__self__, "entities", entities)
76
+ if json_params is not None:
77
+ pulumi.set(__self__, "json_params", json_params)
78
+ if kms_key_name is not None:
79
+ pulumi.set(__self__, "kms_key_name", kms_key_name)
80
+ if params is not None:
81
+ pulumi.set(__self__, "params", params)
82
+ if project is not None:
83
+ pulumi.set(__self__, "project", project)
84
+ if static_ip_enabled is not None:
85
+ pulumi.set(__self__, "static_ip_enabled", static_ip_enabled)
86
+
87
+ @_builtins.property
88
+ @pulumi.getter(name="collectionDisplayName")
89
+ def collection_display_name(self) -> pulumi.Input[_builtins.str]:
90
+ """
91
+ The display name of the Collection.
92
+ Should be human readable, used to display collections in the Console
93
+ Dashboard. UTF-8 encoded string with limit of 1024 characters.
94
+ """
95
+ return pulumi.get(self, "collection_display_name")
96
+
97
+ @collection_display_name.setter
98
+ def collection_display_name(self, value: pulumi.Input[_builtins.str]):
99
+ pulumi.set(self, "collection_display_name", value)
100
+
101
+ @_builtins.property
102
+ @pulumi.getter(name="collectionId")
103
+ def collection_id(self) -> pulumi.Input[_builtins.str]:
104
+ """
105
+ The ID to use for the Collection, which will become the final component
106
+ of the Collection's resource name. A new Collection is created as
107
+ part of the DataConnector setup. DataConnector is a singleton
108
+ resource under Collection, managing all DataStores of the Collection.
109
+ This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034)
110
+ standard with a length limit of 63 characters. Otherwise, an
111
+ INVALID_ARGUMENT error is returned.
112
+ """
113
+ return pulumi.get(self, "collection_id")
114
+
115
+ @collection_id.setter
116
+ def collection_id(self, value: pulumi.Input[_builtins.str]):
117
+ pulumi.set(self, "collection_id", value)
118
+
119
+ @_builtins.property
120
+ @pulumi.getter(name="dataSource")
121
+ def data_source(self) -> pulumi.Input[_builtins.str]:
122
+ """
123
+ The name of the data source.
124
+ Supported values: `salesforce`, `jira`, `confluence`, `bigquery`.
125
+ """
126
+ return pulumi.get(self, "data_source")
127
+
128
+ @data_source.setter
129
+ def data_source(self, value: pulumi.Input[_builtins.str]):
130
+ pulumi.set(self, "data_source", value)
131
+
132
+ @_builtins.property
133
+ @pulumi.getter
134
+ def location(self) -> pulumi.Input[_builtins.str]:
135
+ """
136
+ The geographic location where the data store should reside. The value can
137
+ only be one of "global", "us" and "eu".
138
+ """
139
+ return pulumi.get(self, "location")
140
+
141
+ @location.setter
142
+ def location(self, value: pulumi.Input[_builtins.str]):
143
+ pulumi.set(self, "location", value)
144
+
145
+ @_builtins.property
146
+ @pulumi.getter(name="refreshInterval")
147
+ def refresh_interval(self) -> pulumi.Input[_builtins.str]:
148
+ """
149
+ The refresh interval for data sync. If duration is set to 0, the data will
150
+ be synced in real time. The streaming feature is not supported yet. The
151
+ minimum is 30 minutes and maximum is 7 days. When the refresh interval is
152
+ set to the same value as the incremental refresh interval, incremental
153
+ sync will be disabled.
154
+ """
155
+ return pulumi.get(self, "refresh_interval")
156
+
157
+ @refresh_interval.setter
158
+ def refresh_interval(self, value: pulumi.Input[_builtins.str]):
159
+ pulumi.set(self, "refresh_interval", value)
160
+
161
+ @_builtins.property
162
+ @pulumi.getter
163
+ def entities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataConnectorEntityArgs']]]]:
164
+ """
165
+ List of entities from the connected data source to ingest.
166
+ Structure is documented below.
167
+ """
168
+ return pulumi.get(self, "entities")
169
+
170
+ @entities.setter
171
+ def entities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DataConnectorEntityArgs']]]]):
172
+ pulumi.set(self, "entities", value)
173
+
174
+ @_builtins.property
175
+ @pulumi.getter(name="jsonParams")
176
+ def json_params(self) -> Optional[pulumi.Input[_builtins.str]]:
177
+ """
178
+ Params needed to access the source in the format of json string.
179
+ """
180
+ return pulumi.get(self, "json_params")
181
+
182
+ @json_params.setter
183
+ def json_params(self, value: Optional[pulumi.Input[_builtins.str]]):
184
+ pulumi.set(self, "json_params", value)
185
+
186
+ @_builtins.property
187
+ @pulumi.getter(name="kmsKeyName")
188
+ def kms_key_name(self) -> Optional[pulumi.Input[_builtins.str]]:
189
+ """
190
+ The KMS key to be used to protect the DataStores managed by this connector.
191
+ Must be set for requests that need to comply with CMEK Org Policy
192
+ protections.
193
+ If this field is set and processed successfully, the DataStores created by
194
+ this connector will be protected by the KMS key.
195
+ """
196
+ return pulumi.get(self, "kms_key_name")
197
+
198
+ @kms_key_name.setter
199
+ def kms_key_name(self, value: Optional[pulumi.Input[_builtins.str]]):
200
+ pulumi.set(self, "kms_key_name", value)
201
+
202
+ @_builtins.property
203
+ @pulumi.getter
204
+ def params(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
205
+ """
206
+ Params needed to access the source in the format of String-to-String (Key, Value) pairs.
207
+ """
208
+ return pulumi.get(self, "params")
209
+
210
+ @params.setter
211
+ def params(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
212
+ pulumi.set(self, "params", value)
213
+
214
+ @_builtins.property
215
+ @pulumi.getter
216
+ def project(self) -> Optional[pulumi.Input[_builtins.str]]:
217
+ """
218
+ The ID of the project in which the resource belongs.
219
+ If it is not provided, the provider project is used.
220
+ """
221
+ return pulumi.get(self, "project")
222
+
223
+ @project.setter
224
+ def project(self, value: Optional[pulumi.Input[_builtins.str]]):
225
+ pulumi.set(self, "project", value)
226
+
227
+ @_builtins.property
228
+ @pulumi.getter(name="staticIpEnabled")
229
+ def static_ip_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
230
+ """
231
+ Whether customer has enabled static IP addresses for this connector.
232
+ """
233
+ return pulumi.get(self, "static_ip_enabled")
234
+
235
+ @static_ip_enabled.setter
236
+ def static_ip_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
237
+ pulumi.set(self, "static_ip_enabled", value)
238
+
239
+
240
+ @pulumi.input_type
241
+ class _DataConnectorState:
242
+ def __init__(__self__, *,
243
+ action_state: Optional[pulumi.Input[_builtins.str]] = None,
244
+ blocking_reasons: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
245
+ collection_display_name: Optional[pulumi.Input[_builtins.str]] = None,
246
+ collection_id: Optional[pulumi.Input[_builtins.str]] = None,
247
+ connector_type: Optional[pulumi.Input[_builtins.str]] = None,
248
+ create_time: Optional[pulumi.Input[_builtins.str]] = None,
249
+ data_source: Optional[pulumi.Input[_builtins.str]] = None,
250
+ entities: Optional[pulumi.Input[Sequence[pulumi.Input['DataConnectorEntityArgs']]]] = None,
251
+ errors: Optional[pulumi.Input[Sequence[pulumi.Input['DataConnectorErrorArgs']]]] = None,
252
+ json_params: Optional[pulumi.Input[_builtins.str]] = None,
253
+ kms_key_name: Optional[pulumi.Input[_builtins.str]] = None,
254
+ last_sync_time: Optional[pulumi.Input[_builtins.str]] = None,
255
+ latest_pause_time: Optional[pulumi.Input[_builtins.str]] = None,
256
+ location: Optional[pulumi.Input[_builtins.str]] = None,
257
+ name: Optional[pulumi.Input[_builtins.str]] = None,
258
+ params: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
259
+ private_connectivity_project_id: Optional[pulumi.Input[_builtins.str]] = None,
260
+ project: Optional[pulumi.Input[_builtins.str]] = None,
261
+ realtime_state: Optional[pulumi.Input[_builtins.str]] = None,
262
+ refresh_interval: Optional[pulumi.Input[_builtins.str]] = None,
263
+ state: Optional[pulumi.Input[_builtins.str]] = None,
264
+ static_ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
265
+ static_ip_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
266
+ update_time: Optional[pulumi.Input[_builtins.str]] = None):
267
+ """
268
+ Input properties used for looking up and filtering DataConnector resources.
269
+ :param pulumi.Input[_builtins.str] action_state: State of the action connector. This reflects whether the action connector
270
+ is initializing, active or has encountered errors. The possible value can be:
271
+ 'STATE_UNSPECIFIED', 'CREATING', 'ACTIVE', 'FAILED', 'RUNNING', 'WARNING',
272
+ 'INITIALIZATION_FAILED', 'UPDATING'.
273
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] blocking_reasons: User actions that must be completed before the connector can start syncing data.
274
+ The possible values can be: 'ALLOWLIST_STATIC_IP', 'ALLOWLIST_IN_SERVICE_ATTACHMENT'.
275
+ :param pulumi.Input[_builtins.str] collection_display_name: The display name of the Collection.
276
+ Should be human readable, used to display collections in the Console
277
+ Dashboard. UTF-8 encoded string with limit of 1024 characters.
278
+ :param pulumi.Input[_builtins.str] collection_id: The ID to use for the Collection, which will become the final component
279
+ of the Collection's resource name. A new Collection is created as
280
+ part of the DataConnector setup. DataConnector is a singleton
281
+ resource under Collection, managing all DataStores of the Collection.
282
+ This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034)
283
+ standard with a length limit of 63 characters. Otherwise, an
284
+ INVALID_ARGUMENT error is returned.
285
+ :param pulumi.Input[_builtins.str] connector_type: The type of connector. Each source can only map to one type.
286
+ For example, salesforce, confluence and jira have THIRD_PARTY connector
287
+ type. It is not mutable once set by system. The possible value can be:
288
+ 'CONNECTOR_TYPE_UNSPECIFIED', 'THIRD_PARTY', 'GCP_FHIR', 'BIG_QUERY',
289
+ 'GCS', 'GOOGLE_MAIL', 'GOOGLE_CALENDAR', 'GOOGLE_DRIVE',
290
+ 'NATIVE_CLOUD_IDENTITY', 'THIRD_PARTY_FEDERATED', 'THIRD_PARTY_EUA', 'GCNV'.
291
+ :param pulumi.Input[_builtins.str] create_time: Timestamp when the DataConnector was created.
292
+ :param pulumi.Input[_builtins.str] data_source: The name of the data source.
293
+ Supported values: `salesforce`, `jira`, `confluence`, `bigquery`.
294
+ :param pulumi.Input[Sequence[pulumi.Input['DataConnectorEntityArgs']]] entities: List of entities from the connected data source to ingest.
295
+ Structure is documented below.
296
+ :param pulumi.Input[Sequence[pulumi.Input['DataConnectorErrorArgs']]] errors: The errors from initialization or from the latest connector run.
297
+ Structure is documented below.
298
+ :param pulumi.Input[_builtins.str] json_params: Params needed to access the source in the format of json string.
299
+ :param pulumi.Input[_builtins.str] kms_key_name: The KMS key to be used to protect the DataStores managed by this connector.
300
+ Must be set for requests that need to comply with CMEK Org Policy
301
+ protections.
302
+ If this field is set and processed successfully, the DataStores created by
303
+ this connector will be protected by the KMS key.
304
+ :param pulumi.Input[_builtins.str] last_sync_time: For periodic connectors only, the last time a data sync was completed.
305
+ :param pulumi.Input[_builtins.str] latest_pause_time: The most recent timestamp when this [DataConnector][] was paused,
306
+ affecting all functionalities such as data synchronization.
307
+ Pausing a connector has the following effects:
308
+ - All functionalities, including data synchronization, are halted.
309
+ - Any ongoing data synchronization job will be canceled.
310
+ - No future data synchronization runs will be scheduled nor can be
311
+ triggered.
312
+ :param pulumi.Input[_builtins.str] location: The geographic location where the data store should reside. The value can
313
+ only be one of "global", "us" and "eu".
314
+ :param pulumi.Input[_builtins.str] name: The full resource name of the Data Connector.
315
+ Format: `projects/*/locations/*/collections/*/dataConnector`.
316
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] params: Params needed to access the source in the format of String-to-String (Key, Value) pairs.
317
+ :param pulumi.Input[_builtins.str] private_connectivity_project_id: The tenant project ID associated with private connectivity connectors.
318
+ This project must be allowlisted by in order for the connector to function.
319
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
320
+ If it is not provided, the provider project is used.
321
+ :param pulumi.Input[_builtins.str] realtime_state: The real-time sync state. The possible values can be:
322
+ 'STATE_UNSPECIFIED', 'CREATING', 'ACTIVE', 'FAILED', 'RUNNING', 'WARNING',
323
+ 'INITIALIZATION_FAILED', 'UPDATING'.
324
+ :param pulumi.Input[_builtins.str] refresh_interval: The refresh interval for data sync. If duration is set to 0, the data will
325
+ be synced in real time. The streaming feature is not supported yet. The
326
+ minimum is 30 minutes and maximum is 7 days. When the refresh interval is
327
+ set to the same value as the incremental refresh interval, incremental
328
+ sync will be disabled.
329
+ :param pulumi.Input[_builtins.str] state: The state of connector. The possible value can be:
330
+ 'STATE_UNSPECIFIED', 'CREATING', 'ACTIVE', 'FAILED', 'RUNNING', 'WARNING',
331
+ 'INITIALIZATION_FAILED', 'UPDATING'.
332
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] static_ip_addresses: The static IP addresses used by this connector.
333
+ :param pulumi.Input[_builtins.bool] static_ip_enabled: Whether customer has enabled static IP addresses for this connector.
334
+ :param pulumi.Input[_builtins.str] update_time: Timestamp when the DataConnector was updated.
335
+ """
336
+ if action_state is not None:
337
+ pulumi.set(__self__, "action_state", action_state)
338
+ if blocking_reasons is not None:
339
+ pulumi.set(__self__, "blocking_reasons", blocking_reasons)
340
+ if collection_display_name is not None:
341
+ pulumi.set(__self__, "collection_display_name", collection_display_name)
342
+ if collection_id is not None:
343
+ pulumi.set(__self__, "collection_id", collection_id)
344
+ if connector_type is not None:
345
+ pulumi.set(__self__, "connector_type", connector_type)
346
+ if create_time is not None:
347
+ pulumi.set(__self__, "create_time", create_time)
348
+ if data_source is not None:
349
+ pulumi.set(__self__, "data_source", data_source)
350
+ if entities is not None:
351
+ pulumi.set(__self__, "entities", entities)
352
+ if errors is not None:
353
+ pulumi.set(__self__, "errors", errors)
354
+ if json_params is not None:
355
+ pulumi.set(__self__, "json_params", json_params)
356
+ if kms_key_name is not None:
357
+ pulumi.set(__self__, "kms_key_name", kms_key_name)
358
+ if last_sync_time is not None:
359
+ pulumi.set(__self__, "last_sync_time", last_sync_time)
360
+ if latest_pause_time is not None:
361
+ pulumi.set(__self__, "latest_pause_time", latest_pause_time)
362
+ if location is not None:
363
+ pulumi.set(__self__, "location", location)
364
+ if name is not None:
365
+ pulumi.set(__self__, "name", name)
366
+ if params is not None:
367
+ pulumi.set(__self__, "params", params)
368
+ if private_connectivity_project_id is not None:
369
+ pulumi.set(__self__, "private_connectivity_project_id", private_connectivity_project_id)
370
+ if project is not None:
371
+ pulumi.set(__self__, "project", project)
372
+ if realtime_state is not None:
373
+ pulumi.set(__self__, "realtime_state", realtime_state)
374
+ if refresh_interval is not None:
375
+ pulumi.set(__self__, "refresh_interval", refresh_interval)
376
+ if state is not None:
377
+ pulumi.set(__self__, "state", state)
378
+ if static_ip_addresses is not None:
379
+ pulumi.set(__self__, "static_ip_addresses", static_ip_addresses)
380
+ if static_ip_enabled is not None:
381
+ pulumi.set(__self__, "static_ip_enabled", static_ip_enabled)
382
+ if update_time is not None:
383
+ pulumi.set(__self__, "update_time", update_time)
384
+
385
+ @_builtins.property
386
+ @pulumi.getter(name="actionState")
387
+ def action_state(self) -> Optional[pulumi.Input[_builtins.str]]:
388
+ """
389
+ State of the action connector. This reflects whether the action connector
390
+ is initializing, active or has encountered errors. The possible value can be:
391
+ 'STATE_UNSPECIFIED', 'CREATING', 'ACTIVE', 'FAILED', 'RUNNING', 'WARNING',
392
+ 'INITIALIZATION_FAILED', 'UPDATING'.
393
+ """
394
+ return pulumi.get(self, "action_state")
395
+
396
+ @action_state.setter
397
+ def action_state(self, value: Optional[pulumi.Input[_builtins.str]]):
398
+ pulumi.set(self, "action_state", value)
399
+
400
+ @_builtins.property
401
+ @pulumi.getter(name="blockingReasons")
402
+ def blocking_reasons(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
403
+ """
404
+ User actions that must be completed before the connector can start syncing data.
405
+ The possible values can be: 'ALLOWLIST_STATIC_IP', 'ALLOWLIST_IN_SERVICE_ATTACHMENT'.
406
+ """
407
+ return pulumi.get(self, "blocking_reasons")
408
+
409
+ @blocking_reasons.setter
410
+ def blocking_reasons(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
411
+ pulumi.set(self, "blocking_reasons", value)
412
+
413
+ @_builtins.property
414
+ @pulumi.getter(name="collectionDisplayName")
415
+ def collection_display_name(self) -> Optional[pulumi.Input[_builtins.str]]:
416
+ """
417
+ The display name of the Collection.
418
+ Should be human readable, used to display collections in the Console
419
+ Dashboard. UTF-8 encoded string with limit of 1024 characters.
420
+ """
421
+ return pulumi.get(self, "collection_display_name")
422
+
423
+ @collection_display_name.setter
424
+ def collection_display_name(self, value: Optional[pulumi.Input[_builtins.str]]):
425
+ pulumi.set(self, "collection_display_name", value)
426
+
427
+ @_builtins.property
428
+ @pulumi.getter(name="collectionId")
429
+ def collection_id(self) -> Optional[pulumi.Input[_builtins.str]]:
430
+ """
431
+ The ID to use for the Collection, which will become the final component
432
+ of the Collection's resource name. A new Collection is created as
433
+ part of the DataConnector setup. DataConnector is a singleton
434
+ resource under Collection, managing all DataStores of the Collection.
435
+ This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034)
436
+ standard with a length limit of 63 characters. Otherwise, an
437
+ INVALID_ARGUMENT error is returned.
438
+ """
439
+ return pulumi.get(self, "collection_id")
440
+
441
+ @collection_id.setter
442
+ def collection_id(self, value: Optional[pulumi.Input[_builtins.str]]):
443
+ pulumi.set(self, "collection_id", value)
444
+
445
+ @_builtins.property
446
+ @pulumi.getter(name="connectorType")
447
+ def connector_type(self) -> Optional[pulumi.Input[_builtins.str]]:
448
+ """
449
+ The type of connector. Each source can only map to one type.
450
+ For example, salesforce, confluence and jira have THIRD_PARTY connector
451
+ type. It is not mutable once set by system. The possible value can be:
452
+ 'CONNECTOR_TYPE_UNSPECIFIED', 'THIRD_PARTY', 'GCP_FHIR', 'BIG_QUERY',
453
+ 'GCS', 'GOOGLE_MAIL', 'GOOGLE_CALENDAR', 'GOOGLE_DRIVE',
454
+ 'NATIVE_CLOUD_IDENTITY', 'THIRD_PARTY_FEDERATED', 'THIRD_PARTY_EUA', 'GCNV'.
455
+ """
456
+ return pulumi.get(self, "connector_type")
457
+
458
+ @connector_type.setter
459
+ def connector_type(self, value: Optional[pulumi.Input[_builtins.str]]):
460
+ pulumi.set(self, "connector_type", value)
461
+
462
+ @_builtins.property
463
+ @pulumi.getter(name="createTime")
464
+ def create_time(self) -> Optional[pulumi.Input[_builtins.str]]:
465
+ """
466
+ Timestamp when the DataConnector was created.
467
+ """
468
+ return pulumi.get(self, "create_time")
469
+
470
+ @create_time.setter
471
+ def create_time(self, value: Optional[pulumi.Input[_builtins.str]]):
472
+ pulumi.set(self, "create_time", value)
473
+
474
+ @_builtins.property
475
+ @pulumi.getter(name="dataSource")
476
+ def data_source(self) -> Optional[pulumi.Input[_builtins.str]]:
477
+ """
478
+ The name of the data source.
479
+ Supported values: `salesforce`, `jira`, `confluence`, `bigquery`.
480
+ """
481
+ return pulumi.get(self, "data_source")
482
+
483
+ @data_source.setter
484
+ def data_source(self, value: Optional[pulumi.Input[_builtins.str]]):
485
+ pulumi.set(self, "data_source", value)
486
+
487
+ @_builtins.property
488
+ @pulumi.getter
489
+ def entities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataConnectorEntityArgs']]]]:
490
+ """
491
+ List of entities from the connected data source to ingest.
492
+ Structure is documented below.
493
+ """
494
+ return pulumi.get(self, "entities")
495
+
496
+ @entities.setter
497
+ def entities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DataConnectorEntityArgs']]]]):
498
+ pulumi.set(self, "entities", value)
499
+
500
+ @_builtins.property
501
+ @pulumi.getter
502
+ def errors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataConnectorErrorArgs']]]]:
503
+ """
504
+ The errors from initialization or from the latest connector run.
505
+ Structure is documented below.
506
+ """
507
+ return pulumi.get(self, "errors")
508
+
509
+ @errors.setter
510
+ def errors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DataConnectorErrorArgs']]]]):
511
+ pulumi.set(self, "errors", value)
512
+
513
+ @_builtins.property
514
+ @pulumi.getter(name="jsonParams")
515
+ def json_params(self) -> Optional[pulumi.Input[_builtins.str]]:
516
+ """
517
+ Params needed to access the source in the format of json string.
518
+ """
519
+ return pulumi.get(self, "json_params")
520
+
521
+ @json_params.setter
522
+ def json_params(self, value: Optional[pulumi.Input[_builtins.str]]):
523
+ pulumi.set(self, "json_params", value)
524
+
525
+ @_builtins.property
526
+ @pulumi.getter(name="kmsKeyName")
527
+ def kms_key_name(self) -> Optional[pulumi.Input[_builtins.str]]:
528
+ """
529
+ The KMS key to be used to protect the DataStores managed by this connector.
530
+ Must be set for requests that need to comply with CMEK Org Policy
531
+ protections.
532
+ If this field is set and processed successfully, the DataStores created by
533
+ this connector will be protected by the KMS key.
534
+ """
535
+ return pulumi.get(self, "kms_key_name")
536
+
537
+ @kms_key_name.setter
538
+ def kms_key_name(self, value: Optional[pulumi.Input[_builtins.str]]):
539
+ pulumi.set(self, "kms_key_name", value)
540
+
541
+ @_builtins.property
542
+ @pulumi.getter(name="lastSyncTime")
543
+ def last_sync_time(self) -> Optional[pulumi.Input[_builtins.str]]:
544
+ """
545
+ For periodic connectors only, the last time a data sync was completed.
546
+ """
547
+ return pulumi.get(self, "last_sync_time")
548
+
549
+ @last_sync_time.setter
550
+ def last_sync_time(self, value: Optional[pulumi.Input[_builtins.str]]):
551
+ pulumi.set(self, "last_sync_time", value)
552
+
553
+ @_builtins.property
554
+ @pulumi.getter(name="latestPauseTime")
555
+ def latest_pause_time(self) -> Optional[pulumi.Input[_builtins.str]]:
556
+ """
557
+ The most recent timestamp when this [DataConnector][] was paused,
558
+ affecting all functionalities such as data synchronization.
559
+ Pausing a connector has the following effects:
560
+ - All functionalities, including data synchronization, are halted.
561
+ - Any ongoing data synchronization job will be canceled.
562
+ - No future data synchronization runs will be scheduled nor can be
563
+ triggered.
564
+ """
565
+ return pulumi.get(self, "latest_pause_time")
566
+
567
+ @latest_pause_time.setter
568
+ def latest_pause_time(self, value: Optional[pulumi.Input[_builtins.str]]):
569
+ pulumi.set(self, "latest_pause_time", value)
570
+
571
+ @_builtins.property
572
+ @pulumi.getter
573
+ def location(self) -> Optional[pulumi.Input[_builtins.str]]:
574
+ """
575
+ The geographic location where the data store should reside. The value can
576
+ only be one of "global", "us" and "eu".
577
+ """
578
+ return pulumi.get(self, "location")
579
+
580
+ @location.setter
581
+ def location(self, value: Optional[pulumi.Input[_builtins.str]]):
582
+ pulumi.set(self, "location", value)
583
+
584
+ @_builtins.property
585
+ @pulumi.getter
586
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
587
+ """
588
+ The full resource name of the Data Connector.
589
+ Format: `projects/*/locations/*/collections/*/dataConnector`.
590
+ """
591
+ return pulumi.get(self, "name")
592
+
593
+ @name.setter
594
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
595
+ pulumi.set(self, "name", value)
596
+
597
+ @_builtins.property
598
+ @pulumi.getter
599
+ def params(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
600
+ """
601
+ Params needed to access the source in the format of String-to-String (Key, Value) pairs.
602
+ """
603
+ return pulumi.get(self, "params")
604
+
605
+ @params.setter
606
+ def params(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
607
+ pulumi.set(self, "params", value)
608
+
609
+ @_builtins.property
610
+ @pulumi.getter(name="privateConnectivityProjectId")
611
+ def private_connectivity_project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
612
+ """
613
+ The tenant project ID associated with private connectivity connectors.
614
+ This project must be allowlisted by in order for the connector to function.
615
+ """
616
+ return pulumi.get(self, "private_connectivity_project_id")
617
+
618
+ @private_connectivity_project_id.setter
619
+ def private_connectivity_project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
620
+ pulumi.set(self, "private_connectivity_project_id", value)
621
+
622
+ @_builtins.property
623
+ @pulumi.getter
624
+ def project(self) -> Optional[pulumi.Input[_builtins.str]]:
625
+ """
626
+ The ID of the project in which the resource belongs.
627
+ If it is not provided, the provider project is used.
628
+ """
629
+ return pulumi.get(self, "project")
630
+
631
+ @project.setter
632
+ def project(self, value: Optional[pulumi.Input[_builtins.str]]):
633
+ pulumi.set(self, "project", value)
634
+
635
+ @_builtins.property
636
+ @pulumi.getter(name="realtimeState")
637
+ def realtime_state(self) -> Optional[pulumi.Input[_builtins.str]]:
638
+ """
639
+ The real-time sync state. The possible values can be:
640
+ 'STATE_UNSPECIFIED', 'CREATING', 'ACTIVE', 'FAILED', 'RUNNING', 'WARNING',
641
+ 'INITIALIZATION_FAILED', 'UPDATING'.
642
+ """
643
+ return pulumi.get(self, "realtime_state")
644
+
645
+ @realtime_state.setter
646
+ def realtime_state(self, value: Optional[pulumi.Input[_builtins.str]]):
647
+ pulumi.set(self, "realtime_state", value)
648
+
649
+ @_builtins.property
650
+ @pulumi.getter(name="refreshInterval")
651
+ def refresh_interval(self) -> Optional[pulumi.Input[_builtins.str]]:
652
+ """
653
+ The refresh interval for data sync. If duration is set to 0, the data will
654
+ be synced in real time. The streaming feature is not supported yet. The
655
+ minimum is 30 minutes and maximum is 7 days. When the refresh interval is
656
+ set to the same value as the incremental refresh interval, incremental
657
+ sync will be disabled.
658
+ """
659
+ return pulumi.get(self, "refresh_interval")
660
+
661
+ @refresh_interval.setter
662
+ def refresh_interval(self, value: Optional[pulumi.Input[_builtins.str]]):
663
+ pulumi.set(self, "refresh_interval", value)
664
+
665
+ @_builtins.property
666
+ @pulumi.getter
667
+ def state(self) -> Optional[pulumi.Input[_builtins.str]]:
668
+ """
669
+ The state of connector. The possible value can be:
670
+ 'STATE_UNSPECIFIED', 'CREATING', 'ACTIVE', 'FAILED', 'RUNNING', 'WARNING',
671
+ 'INITIALIZATION_FAILED', 'UPDATING'.
672
+ """
673
+ return pulumi.get(self, "state")
674
+
675
+ @state.setter
676
+ def state(self, value: Optional[pulumi.Input[_builtins.str]]):
677
+ pulumi.set(self, "state", value)
678
+
679
+ @_builtins.property
680
+ @pulumi.getter(name="staticIpAddresses")
681
+ def static_ip_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
682
+ """
683
+ The static IP addresses used by this connector.
684
+ """
685
+ return pulumi.get(self, "static_ip_addresses")
686
+
687
+ @static_ip_addresses.setter
688
+ def static_ip_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
689
+ pulumi.set(self, "static_ip_addresses", value)
690
+
691
+ @_builtins.property
692
+ @pulumi.getter(name="staticIpEnabled")
693
+ def static_ip_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
694
+ """
695
+ Whether customer has enabled static IP addresses for this connector.
696
+ """
697
+ return pulumi.get(self, "static_ip_enabled")
698
+
699
+ @static_ip_enabled.setter
700
+ def static_ip_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
701
+ pulumi.set(self, "static_ip_enabled", value)
702
+
703
+ @_builtins.property
704
+ @pulumi.getter(name="updateTime")
705
+ def update_time(self) -> Optional[pulumi.Input[_builtins.str]]:
706
+ """
707
+ Timestamp when the DataConnector was updated.
708
+ """
709
+ return pulumi.get(self, "update_time")
710
+
711
+ @update_time.setter
712
+ def update_time(self, value: Optional[pulumi.Input[_builtins.str]]):
713
+ pulumi.set(self, "update_time", value)
714
+
715
+
716
+ @pulumi.type_token("gcp:discoveryengine/dataConnector:DataConnector")
717
+ class DataConnector(pulumi.CustomResource):
718
+ @overload
719
+ def __init__(__self__,
720
+ resource_name: str,
721
+ opts: Optional[pulumi.ResourceOptions] = None,
722
+ collection_display_name: Optional[pulumi.Input[_builtins.str]] = None,
723
+ collection_id: Optional[pulumi.Input[_builtins.str]] = None,
724
+ data_source: Optional[pulumi.Input[_builtins.str]] = None,
725
+ entities: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DataConnectorEntityArgs', 'DataConnectorEntityArgsDict']]]]] = None,
726
+ json_params: Optional[pulumi.Input[_builtins.str]] = None,
727
+ kms_key_name: Optional[pulumi.Input[_builtins.str]] = None,
728
+ location: Optional[pulumi.Input[_builtins.str]] = None,
729
+ params: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
730
+ project: Optional[pulumi.Input[_builtins.str]] = None,
731
+ refresh_interval: Optional[pulumi.Input[_builtins.str]] = None,
732
+ static_ip_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
733
+ __props__=None):
734
+ """
735
+ DataConnector manages the connection to external data sources for all data stores grouped
736
+ under a Collection. It's a singleton resource of Collection. The initialization is only
737
+ supported through DataConnectorService.SetUpDataConnector method, which will create a new
738
+ Collection and initialize its DataConnector.
739
+
740
+ To get more information about DataConnector, see:
741
+
742
+ * [API documentation](https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1alpha#dataconnectorservice)
743
+ * How-to Guides
744
+ * [Introduction](https://cloud.google.com/agentspace/docs/introduction-to-connectors-and-data-stores)
745
+
746
+ ## Example Usage
747
+
748
+ ### Discoveryengine Dataconnector Jira Basic
749
+
750
+ ```python
751
+ import pulumi
752
+ import pulumi_gcp as gcp
753
+
754
+ jira_basic = gcp.discoveryengine.DataConnector("jira-basic",
755
+ location="global",
756
+ collection_id="collection-id",
757
+ collection_display_name="tf-test-dataconnector-jira",
758
+ data_source="jira",
759
+ params={
760
+ "instance_id": "33db20a3-dc45-4305-a505-d70b68599840",
761
+ "instance_uri": "https://vaissptbots1.atlassian.net/",
762
+ "client_secret": "client-secret",
763
+ "client_id": "client-id",
764
+ "refresh_token": "fill-in-the-blank",
765
+ },
766
+ refresh_interval="86400s",
767
+ entities=[
768
+ {
769
+ "entity_name": "project",
770
+ },
771
+ {
772
+ "entity_name": "issue",
773
+ },
774
+ {
775
+ "entity_name": "attachment",
776
+ },
777
+ {
778
+ "entity_name": "comment",
779
+ },
780
+ {
781
+ "entity_name": "worklog",
782
+ },
783
+ ],
784
+ static_ip_enabled=True)
785
+ ```
786
+
787
+ ## Import
788
+
789
+ DataConnector can be imported using any of these accepted formats:
790
+
791
+ * `projects/{{project}}/locations/{{location}}/collections/{{collection_id}}/dataConnector`
792
+
793
+ * `{{project}}/{{location}}/{{collection_id}}`
794
+
795
+ * `{{location}}/{{collection_id}}`
796
+
797
+ When using the `pulumi import` command, DataConnector can be imported using one of the formats above. For example:
798
+
799
+ ```sh
800
+ $ pulumi import gcp:discoveryengine/dataConnector:DataConnector default projects/{{project}}/locations/{{location}}/collections/{{collection_id}}/dataConnector
801
+ ```
802
+
803
+ ```sh
804
+ $ pulumi import gcp:discoveryengine/dataConnector:DataConnector default {{project}}/{{location}}/{{collection_id}}
805
+ ```
806
+
807
+ ```sh
808
+ $ pulumi import gcp:discoveryengine/dataConnector:DataConnector default {{location}}/{{collection_id}}
809
+ ```
810
+
811
+ :param str resource_name: The name of the resource.
812
+ :param pulumi.ResourceOptions opts: Options for the resource.
813
+ :param pulumi.Input[_builtins.str] collection_display_name: The display name of the Collection.
814
+ Should be human readable, used to display collections in the Console
815
+ Dashboard. UTF-8 encoded string with limit of 1024 characters.
816
+ :param pulumi.Input[_builtins.str] collection_id: The ID to use for the Collection, which will become the final component
817
+ of the Collection's resource name. A new Collection is created as
818
+ part of the DataConnector setup. DataConnector is a singleton
819
+ resource under Collection, managing all DataStores of the Collection.
820
+ This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034)
821
+ standard with a length limit of 63 characters. Otherwise, an
822
+ INVALID_ARGUMENT error is returned.
823
+ :param pulumi.Input[_builtins.str] data_source: The name of the data source.
824
+ Supported values: `salesforce`, `jira`, `confluence`, `bigquery`.
825
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DataConnectorEntityArgs', 'DataConnectorEntityArgsDict']]]] entities: List of entities from the connected data source to ingest.
826
+ Structure is documented below.
827
+ :param pulumi.Input[_builtins.str] json_params: Params needed to access the source in the format of json string.
828
+ :param pulumi.Input[_builtins.str] kms_key_name: The KMS key to be used to protect the DataStores managed by this connector.
829
+ Must be set for requests that need to comply with CMEK Org Policy
830
+ protections.
831
+ If this field is set and processed successfully, the DataStores created by
832
+ this connector will be protected by the KMS key.
833
+ :param pulumi.Input[_builtins.str] location: The geographic location where the data store should reside. The value can
834
+ only be one of "global", "us" and "eu".
835
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] params: Params needed to access the source in the format of String-to-String (Key, Value) pairs.
836
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
837
+ If it is not provided, the provider project is used.
838
+ :param pulumi.Input[_builtins.str] refresh_interval: The refresh interval for data sync. If duration is set to 0, the data will
839
+ be synced in real time. The streaming feature is not supported yet. The
840
+ minimum is 30 minutes and maximum is 7 days. When the refresh interval is
841
+ set to the same value as the incremental refresh interval, incremental
842
+ sync will be disabled.
843
+ :param pulumi.Input[_builtins.bool] static_ip_enabled: Whether customer has enabled static IP addresses for this connector.
844
+ """
845
+ ...
846
+ @overload
847
+ def __init__(__self__,
848
+ resource_name: str,
849
+ args: DataConnectorArgs,
850
+ opts: Optional[pulumi.ResourceOptions] = None):
851
+ """
852
+ DataConnector manages the connection to external data sources for all data stores grouped
853
+ under a Collection. It's a singleton resource of Collection. The initialization is only
854
+ supported through DataConnectorService.SetUpDataConnector method, which will create a new
855
+ Collection and initialize its DataConnector.
856
+
857
+ To get more information about DataConnector, see:
858
+
859
+ * [API documentation](https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1alpha#dataconnectorservice)
860
+ * How-to Guides
861
+ * [Introduction](https://cloud.google.com/agentspace/docs/introduction-to-connectors-and-data-stores)
862
+
863
+ ## Example Usage
864
+
865
+ ### Discoveryengine Dataconnector Jira Basic
866
+
867
+ ```python
868
+ import pulumi
869
+ import pulumi_gcp as gcp
870
+
871
+ jira_basic = gcp.discoveryengine.DataConnector("jira-basic",
872
+ location="global",
873
+ collection_id="collection-id",
874
+ collection_display_name="tf-test-dataconnector-jira",
875
+ data_source="jira",
876
+ params={
877
+ "instance_id": "33db20a3-dc45-4305-a505-d70b68599840",
878
+ "instance_uri": "https://vaissptbots1.atlassian.net/",
879
+ "client_secret": "client-secret",
880
+ "client_id": "client-id",
881
+ "refresh_token": "fill-in-the-blank",
882
+ },
883
+ refresh_interval="86400s",
884
+ entities=[
885
+ {
886
+ "entity_name": "project",
887
+ },
888
+ {
889
+ "entity_name": "issue",
890
+ },
891
+ {
892
+ "entity_name": "attachment",
893
+ },
894
+ {
895
+ "entity_name": "comment",
896
+ },
897
+ {
898
+ "entity_name": "worklog",
899
+ },
900
+ ],
901
+ static_ip_enabled=True)
902
+ ```
903
+
904
+ ## Import
905
+
906
+ DataConnector can be imported using any of these accepted formats:
907
+
908
+ * `projects/{{project}}/locations/{{location}}/collections/{{collection_id}}/dataConnector`
909
+
910
+ * `{{project}}/{{location}}/{{collection_id}}`
911
+
912
+ * `{{location}}/{{collection_id}}`
913
+
914
+ When using the `pulumi import` command, DataConnector can be imported using one of the formats above. For example:
915
+
916
+ ```sh
917
+ $ pulumi import gcp:discoveryengine/dataConnector:DataConnector default projects/{{project}}/locations/{{location}}/collections/{{collection_id}}/dataConnector
918
+ ```
919
+
920
+ ```sh
921
+ $ pulumi import gcp:discoveryengine/dataConnector:DataConnector default {{project}}/{{location}}/{{collection_id}}
922
+ ```
923
+
924
+ ```sh
925
+ $ pulumi import gcp:discoveryengine/dataConnector:DataConnector default {{location}}/{{collection_id}}
926
+ ```
927
+
928
+ :param str resource_name: The name of the resource.
929
+ :param DataConnectorArgs args: The arguments to use to populate this resource's properties.
930
+ :param pulumi.ResourceOptions opts: Options for the resource.
931
+ """
932
+ ...
933
+ def __init__(__self__, resource_name: str, *args, **kwargs):
934
+ resource_args, opts = _utilities.get_resource_args_opts(DataConnectorArgs, pulumi.ResourceOptions, *args, **kwargs)
935
+ if resource_args is not None:
936
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
937
+ else:
938
+ __self__._internal_init(resource_name, *args, **kwargs)
939
+
940
+ def _internal_init(__self__,
941
+ resource_name: str,
942
+ opts: Optional[pulumi.ResourceOptions] = None,
943
+ collection_display_name: Optional[pulumi.Input[_builtins.str]] = None,
944
+ collection_id: Optional[pulumi.Input[_builtins.str]] = None,
945
+ data_source: Optional[pulumi.Input[_builtins.str]] = None,
946
+ entities: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DataConnectorEntityArgs', 'DataConnectorEntityArgsDict']]]]] = None,
947
+ json_params: Optional[pulumi.Input[_builtins.str]] = None,
948
+ kms_key_name: Optional[pulumi.Input[_builtins.str]] = None,
949
+ location: Optional[pulumi.Input[_builtins.str]] = None,
950
+ params: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
951
+ project: Optional[pulumi.Input[_builtins.str]] = None,
952
+ refresh_interval: Optional[pulumi.Input[_builtins.str]] = None,
953
+ static_ip_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
954
+ __props__=None):
955
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
956
+ if not isinstance(opts, pulumi.ResourceOptions):
957
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
958
+ if opts.id is None:
959
+ if __props__ is not None:
960
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
961
+ __props__ = DataConnectorArgs.__new__(DataConnectorArgs)
962
+
963
+ if collection_display_name is None and not opts.urn:
964
+ raise TypeError("Missing required property 'collection_display_name'")
965
+ __props__.__dict__["collection_display_name"] = collection_display_name
966
+ if collection_id is None and not opts.urn:
967
+ raise TypeError("Missing required property 'collection_id'")
968
+ __props__.__dict__["collection_id"] = collection_id
969
+ if data_source is None and not opts.urn:
970
+ raise TypeError("Missing required property 'data_source'")
971
+ __props__.__dict__["data_source"] = data_source
972
+ __props__.__dict__["entities"] = entities
973
+ __props__.__dict__["json_params"] = json_params
974
+ __props__.__dict__["kms_key_name"] = kms_key_name
975
+ if location is None and not opts.urn:
976
+ raise TypeError("Missing required property 'location'")
977
+ __props__.__dict__["location"] = location
978
+ __props__.__dict__["params"] = params
979
+ __props__.__dict__["project"] = project
980
+ if refresh_interval is None and not opts.urn:
981
+ raise TypeError("Missing required property 'refresh_interval'")
982
+ __props__.__dict__["refresh_interval"] = refresh_interval
983
+ __props__.__dict__["static_ip_enabled"] = static_ip_enabled
984
+ __props__.__dict__["action_state"] = None
985
+ __props__.__dict__["blocking_reasons"] = None
986
+ __props__.__dict__["connector_type"] = None
987
+ __props__.__dict__["create_time"] = None
988
+ __props__.__dict__["errors"] = None
989
+ __props__.__dict__["last_sync_time"] = None
990
+ __props__.__dict__["latest_pause_time"] = None
991
+ __props__.__dict__["name"] = None
992
+ __props__.__dict__["private_connectivity_project_id"] = None
993
+ __props__.__dict__["realtime_state"] = None
994
+ __props__.__dict__["state"] = None
995
+ __props__.__dict__["static_ip_addresses"] = None
996
+ __props__.__dict__["update_time"] = None
997
+ super(DataConnector, __self__).__init__(
998
+ 'gcp:discoveryengine/dataConnector:DataConnector',
999
+ resource_name,
1000
+ __props__,
1001
+ opts)
1002
+
1003
+ @staticmethod
1004
+ def get(resource_name: str,
1005
+ id: pulumi.Input[str],
1006
+ opts: Optional[pulumi.ResourceOptions] = None,
1007
+ action_state: Optional[pulumi.Input[_builtins.str]] = None,
1008
+ blocking_reasons: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1009
+ collection_display_name: Optional[pulumi.Input[_builtins.str]] = None,
1010
+ collection_id: Optional[pulumi.Input[_builtins.str]] = None,
1011
+ connector_type: Optional[pulumi.Input[_builtins.str]] = None,
1012
+ create_time: Optional[pulumi.Input[_builtins.str]] = None,
1013
+ data_source: Optional[pulumi.Input[_builtins.str]] = None,
1014
+ entities: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DataConnectorEntityArgs', 'DataConnectorEntityArgsDict']]]]] = None,
1015
+ errors: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DataConnectorErrorArgs', 'DataConnectorErrorArgsDict']]]]] = None,
1016
+ json_params: Optional[pulumi.Input[_builtins.str]] = None,
1017
+ kms_key_name: Optional[pulumi.Input[_builtins.str]] = None,
1018
+ last_sync_time: Optional[pulumi.Input[_builtins.str]] = None,
1019
+ latest_pause_time: Optional[pulumi.Input[_builtins.str]] = None,
1020
+ location: Optional[pulumi.Input[_builtins.str]] = None,
1021
+ name: Optional[pulumi.Input[_builtins.str]] = None,
1022
+ params: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1023
+ private_connectivity_project_id: Optional[pulumi.Input[_builtins.str]] = None,
1024
+ project: Optional[pulumi.Input[_builtins.str]] = None,
1025
+ realtime_state: Optional[pulumi.Input[_builtins.str]] = None,
1026
+ refresh_interval: Optional[pulumi.Input[_builtins.str]] = None,
1027
+ state: Optional[pulumi.Input[_builtins.str]] = None,
1028
+ static_ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1029
+ static_ip_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
1030
+ update_time: Optional[pulumi.Input[_builtins.str]] = None) -> 'DataConnector':
1031
+ """
1032
+ Get an existing DataConnector resource's state with the given name, id, and optional extra
1033
+ properties used to qualify the lookup.
1034
+
1035
+ :param str resource_name: The unique name of the resulting resource.
1036
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1037
+ :param pulumi.ResourceOptions opts: Options for the resource.
1038
+ :param pulumi.Input[_builtins.str] action_state: State of the action connector. This reflects whether the action connector
1039
+ is initializing, active or has encountered errors. The possible value can be:
1040
+ 'STATE_UNSPECIFIED', 'CREATING', 'ACTIVE', 'FAILED', 'RUNNING', 'WARNING',
1041
+ 'INITIALIZATION_FAILED', 'UPDATING'.
1042
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] blocking_reasons: User actions that must be completed before the connector can start syncing data.
1043
+ The possible values can be: 'ALLOWLIST_STATIC_IP', 'ALLOWLIST_IN_SERVICE_ATTACHMENT'.
1044
+ :param pulumi.Input[_builtins.str] collection_display_name: The display name of the Collection.
1045
+ Should be human readable, used to display collections in the Console
1046
+ Dashboard. UTF-8 encoded string with limit of 1024 characters.
1047
+ :param pulumi.Input[_builtins.str] collection_id: The ID to use for the Collection, which will become the final component
1048
+ of the Collection's resource name. A new Collection is created as
1049
+ part of the DataConnector setup. DataConnector is a singleton
1050
+ resource under Collection, managing all DataStores of the Collection.
1051
+ This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034)
1052
+ standard with a length limit of 63 characters. Otherwise, an
1053
+ INVALID_ARGUMENT error is returned.
1054
+ :param pulumi.Input[_builtins.str] connector_type: The type of connector. Each source can only map to one type.
1055
+ For example, salesforce, confluence and jira have THIRD_PARTY connector
1056
+ type. It is not mutable once set by system. The possible value can be:
1057
+ 'CONNECTOR_TYPE_UNSPECIFIED', 'THIRD_PARTY', 'GCP_FHIR', 'BIG_QUERY',
1058
+ 'GCS', 'GOOGLE_MAIL', 'GOOGLE_CALENDAR', 'GOOGLE_DRIVE',
1059
+ 'NATIVE_CLOUD_IDENTITY', 'THIRD_PARTY_FEDERATED', 'THIRD_PARTY_EUA', 'GCNV'.
1060
+ :param pulumi.Input[_builtins.str] create_time: Timestamp when the DataConnector was created.
1061
+ :param pulumi.Input[_builtins.str] data_source: The name of the data source.
1062
+ Supported values: `salesforce`, `jira`, `confluence`, `bigquery`.
1063
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DataConnectorEntityArgs', 'DataConnectorEntityArgsDict']]]] entities: List of entities from the connected data source to ingest.
1064
+ Structure is documented below.
1065
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DataConnectorErrorArgs', 'DataConnectorErrorArgsDict']]]] errors: The errors from initialization or from the latest connector run.
1066
+ Structure is documented below.
1067
+ :param pulumi.Input[_builtins.str] json_params: Params needed to access the source in the format of json string.
1068
+ :param pulumi.Input[_builtins.str] kms_key_name: The KMS key to be used to protect the DataStores managed by this connector.
1069
+ Must be set for requests that need to comply with CMEK Org Policy
1070
+ protections.
1071
+ If this field is set and processed successfully, the DataStores created by
1072
+ this connector will be protected by the KMS key.
1073
+ :param pulumi.Input[_builtins.str] last_sync_time: For periodic connectors only, the last time a data sync was completed.
1074
+ :param pulumi.Input[_builtins.str] latest_pause_time: The most recent timestamp when this [DataConnector][] was paused,
1075
+ affecting all functionalities such as data synchronization.
1076
+ Pausing a connector has the following effects:
1077
+ - All functionalities, including data synchronization, are halted.
1078
+ - Any ongoing data synchronization job will be canceled.
1079
+ - No future data synchronization runs will be scheduled nor can be
1080
+ triggered.
1081
+ :param pulumi.Input[_builtins.str] location: The geographic location where the data store should reside. The value can
1082
+ only be one of "global", "us" and "eu".
1083
+ :param pulumi.Input[_builtins.str] name: The full resource name of the Data Connector.
1084
+ Format: `projects/*/locations/*/collections/*/dataConnector`.
1085
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] params: Params needed to access the source in the format of String-to-String (Key, Value) pairs.
1086
+ :param pulumi.Input[_builtins.str] private_connectivity_project_id: The tenant project ID associated with private connectivity connectors.
1087
+ This project must be allowlisted by in order for the connector to function.
1088
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
1089
+ If it is not provided, the provider project is used.
1090
+ :param pulumi.Input[_builtins.str] realtime_state: The real-time sync state. The possible values can be:
1091
+ 'STATE_UNSPECIFIED', 'CREATING', 'ACTIVE', 'FAILED', 'RUNNING', 'WARNING',
1092
+ 'INITIALIZATION_FAILED', 'UPDATING'.
1093
+ :param pulumi.Input[_builtins.str] refresh_interval: The refresh interval for data sync. If duration is set to 0, the data will
1094
+ be synced in real time. The streaming feature is not supported yet. The
1095
+ minimum is 30 minutes and maximum is 7 days. When the refresh interval is
1096
+ set to the same value as the incremental refresh interval, incremental
1097
+ sync will be disabled.
1098
+ :param pulumi.Input[_builtins.str] state: The state of connector. The possible value can be:
1099
+ 'STATE_UNSPECIFIED', 'CREATING', 'ACTIVE', 'FAILED', 'RUNNING', 'WARNING',
1100
+ 'INITIALIZATION_FAILED', 'UPDATING'.
1101
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] static_ip_addresses: The static IP addresses used by this connector.
1102
+ :param pulumi.Input[_builtins.bool] static_ip_enabled: Whether customer has enabled static IP addresses for this connector.
1103
+ :param pulumi.Input[_builtins.str] update_time: Timestamp when the DataConnector was updated.
1104
+ """
1105
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1106
+
1107
+ __props__ = _DataConnectorState.__new__(_DataConnectorState)
1108
+
1109
+ __props__.__dict__["action_state"] = action_state
1110
+ __props__.__dict__["blocking_reasons"] = blocking_reasons
1111
+ __props__.__dict__["collection_display_name"] = collection_display_name
1112
+ __props__.__dict__["collection_id"] = collection_id
1113
+ __props__.__dict__["connector_type"] = connector_type
1114
+ __props__.__dict__["create_time"] = create_time
1115
+ __props__.__dict__["data_source"] = data_source
1116
+ __props__.__dict__["entities"] = entities
1117
+ __props__.__dict__["errors"] = errors
1118
+ __props__.__dict__["json_params"] = json_params
1119
+ __props__.__dict__["kms_key_name"] = kms_key_name
1120
+ __props__.__dict__["last_sync_time"] = last_sync_time
1121
+ __props__.__dict__["latest_pause_time"] = latest_pause_time
1122
+ __props__.__dict__["location"] = location
1123
+ __props__.__dict__["name"] = name
1124
+ __props__.__dict__["params"] = params
1125
+ __props__.__dict__["private_connectivity_project_id"] = private_connectivity_project_id
1126
+ __props__.__dict__["project"] = project
1127
+ __props__.__dict__["realtime_state"] = realtime_state
1128
+ __props__.__dict__["refresh_interval"] = refresh_interval
1129
+ __props__.__dict__["state"] = state
1130
+ __props__.__dict__["static_ip_addresses"] = static_ip_addresses
1131
+ __props__.__dict__["static_ip_enabled"] = static_ip_enabled
1132
+ __props__.__dict__["update_time"] = update_time
1133
+ return DataConnector(resource_name, opts=opts, __props__=__props__)
1134
+
1135
+ @_builtins.property
1136
+ @pulumi.getter(name="actionState")
1137
+ def action_state(self) -> pulumi.Output[_builtins.str]:
1138
+ """
1139
+ State of the action connector. This reflects whether the action connector
1140
+ is initializing, active or has encountered errors. The possible value can be:
1141
+ 'STATE_UNSPECIFIED', 'CREATING', 'ACTIVE', 'FAILED', 'RUNNING', 'WARNING',
1142
+ 'INITIALIZATION_FAILED', 'UPDATING'.
1143
+ """
1144
+ return pulumi.get(self, "action_state")
1145
+
1146
+ @_builtins.property
1147
+ @pulumi.getter(name="blockingReasons")
1148
+ def blocking_reasons(self) -> pulumi.Output[Sequence[_builtins.str]]:
1149
+ """
1150
+ User actions that must be completed before the connector can start syncing data.
1151
+ The possible values can be: 'ALLOWLIST_STATIC_IP', 'ALLOWLIST_IN_SERVICE_ATTACHMENT'.
1152
+ """
1153
+ return pulumi.get(self, "blocking_reasons")
1154
+
1155
+ @_builtins.property
1156
+ @pulumi.getter(name="collectionDisplayName")
1157
+ def collection_display_name(self) -> pulumi.Output[_builtins.str]:
1158
+ """
1159
+ The display name of the Collection.
1160
+ Should be human readable, used to display collections in the Console
1161
+ Dashboard. UTF-8 encoded string with limit of 1024 characters.
1162
+ """
1163
+ return pulumi.get(self, "collection_display_name")
1164
+
1165
+ @_builtins.property
1166
+ @pulumi.getter(name="collectionId")
1167
+ def collection_id(self) -> pulumi.Output[_builtins.str]:
1168
+ """
1169
+ The ID to use for the Collection, which will become the final component
1170
+ of the Collection's resource name. A new Collection is created as
1171
+ part of the DataConnector setup. DataConnector is a singleton
1172
+ resource under Collection, managing all DataStores of the Collection.
1173
+ This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034)
1174
+ standard with a length limit of 63 characters. Otherwise, an
1175
+ INVALID_ARGUMENT error is returned.
1176
+ """
1177
+ return pulumi.get(self, "collection_id")
1178
+
1179
+ @_builtins.property
1180
+ @pulumi.getter(name="connectorType")
1181
+ def connector_type(self) -> pulumi.Output[_builtins.str]:
1182
+ """
1183
+ The type of connector. Each source can only map to one type.
1184
+ For example, salesforce, confluence and jira have THIRD_PARTY connector
1185
+ type. It is not mutable once set by system. The possible value can be:
1186
+ 'CONNECTOR_TYPE_UNSPECIFIED', 'THIRD_PARTY', 'GCP_FHIR', 'BIG_QUERY',
1187
+ 'GCS', 'GOOGLE_MAIL', 'GOOGLE_CALENDAR', 'GOOGLE_DRIVE',
1188
+ 'NATIVE_CLOUD_IDENTITY', 'THIRD_PARTY_FEDERATED', 'THIRD_PARTY_EUA', 'GCNV'.
1189
+ """
1190
+ return pulumi.get(self, "connector_type")
1191
+
1192
+ @_builtins.property
1193
+ @pulumi.getter(name="createTime")
1194
+ def create_time(self) -> pulumi.Output[_builtins.str]:
1195
+ """
1196
+ Timestamp when the DataConnector was created.
1197
+ """
1198
+ return pulumi.get(self, "create_time")
1199
+
1200
+ @_builtins.property
1201
+ @pulumi.getter(name="dataSource")
1202
+ def data_source(self) -> pulumi.Output[_builtins.str]:
1203
+ """
1204
+ The name of the data source.
1205
+ Supported values: `salesforce`, `jira`, `confluence`, `bigquery`.
1206
+ """
1207
+ return pulumi.get(self, "data_source")
1208
+
1209
+ @_builtins.property
1210
+ @pulumi.getter
1211
+ def entities(self) -> pulumi.Output[Optional[Sequence['outputs.DataConnectorEntity']]]:
1212
+ """
1213
+ List of entities from the connected data source to ingest.
1214
+ Structure is documented below.
1215
+ """
1216
+ return pulumi.get(self, "entities")
1217
+
1218
+ @_builtins.property
1219
+ @pulumi.getter
1220
+ def errors(self) -> pulumi.Output[Sequence['outputs.DataConnectorError']]:
1221
+ """
1222
+ The errors from initialization or from the latest connector run.
1223
+ Structure is documented below.
1224
+ """
1225
+ return pulumi.get(self, "errors")
1226
+
1227
+ @_builtins.property
1228
+ @pulumi.getter(name="jsonParams")
1229
+ def json_params(self) -> pulumi.Output[Optional[_builtins.str]]:
1230
+ """
1231
+ Params needed to access the source in the format of json string.
1232
+ """
1233
+ return pulumi.get(self, "json_params")
1234
+
1235
+ @_builtins.property
1236
+ @pulumi.getter(name="kmsKeyName")
1237
+ def kms_key_name(self) -> pulumi.Output[Optional[_builtins.str]]:
1238
+ """
1239
+ The KMS key to be used to protect the DataStores managed by this connector.
1240
+ Must be set for requests that need to comply with CMEK Org Policy
1241
+ protections.
1242
+ If this field is set and processed successfully, the DataStores created by
1243
+ this connector will be protected by the KMS key.
1244
+ """
1245
+ return pulumi.get(self, "kms_key_name")
1246
+
1247
+ @_builtins.property
1248
+ @pulumi.getter(name="lastSyncTime")
1249
+ def last_sync_time(self) -> pulumi.Output[_builtins.str]:
1250
+ """
1251
+ For periodic connectors only, the last time a data sync was completed.
1252
+ """
1253
+ return pulumi.get(self, "last_sync_time")
1254
+
1255
+ @_builtins.property
1256
+ @pulumi.getter(name="latestPauseTime")
1257
+ def latest_pause_time(self) -> pulumi.Output[_builtins.str]:
1258
+ """
1259
+ The most recent timestamp when this [DataConnector][] was paused,
1260
+ affecting all functionalities such as data synchronization.
1261
+ Pausing a connector has the following effects:
1262
+ - All functionalities, including data synchronization, are halted.
1263
+ - Any ongoing data synchronization job will be canceled.
1264
+ - No future data synchronization runs will be scheduled nor can be
1265
+ triggered.
1266
+ """
1267
+ return pulumi.get(self, "latest_pause_time")
1268
+
1269
+ @_builtins.property
1270
+ @pulumi.getter
1271
+ def location(self) -> pulumi.Output[_builtins.str]:
1272
+ """
1273
+ The geographic location where the data store should reside. The value can
1274
+ only be one of "global", "us" and "eu".
1275
+ """
1276
+ return pulumi.get(self, "location")
1277
+
1278
+ @_builtins.property
1279
+ @pulumi.getter
1280
+ def name(self) -> pulumi.Output[_builtins.str]:
1281
+ """
1282
+ The full resource name of the Data Connector.
1283
+ Format: `projects/*/locations/*/collections/*/dataConnector`.
1284
+ """
1285
+ return pulumi.get(self, "name")
1286
+
1287
+ @_builtins.property
1288
+ @pulumi.getter
1289
+ def params(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
1290
+ """
1291
+ Params needed to access the source in the format of String-to-String (Key, Value) pairs.
1292
+ """
1293
+ return pulumi.get(self, "params")
1294
+
1295
+ @_builtins.property
1296
+ @pulumi.getter(name="privateConnectivityProjectId")
1297
+ def private_connectivity_project_id(self) -> pulumi.Output[_builtins.str]:
1298
+ """
1299
+ The tenant project ID associated with private connectivity connectors.
1300
+ This project must be allowlisted by in order for the connector to function.
1301
+ """
1302
+ return pulumi.get(self, "private_connectivity_project_id")
1303
+
1304
+ @_builtins.property
1305
+ @pulumi.getter
1306
+ def project(self) -> pulumi.Output[_builtins.str]:
1307
+ """
1308
+ The ID of the project in which the resource belongs.
1309
+ If it is not provided, the provider project is used.
1310
+ """
1311
+ return pulumi.get(self, "project")
1312
+
1313
+ @_builtins.property
1314
+ @pulumi.getter(name="realtimeState")
1315
+ def realtime_state(self) -> pulumi.Output[_builtins.str]:
1316
+ """
1317
+ The real-time sync state. The possible values can be:
1318
+ 'STATE_UNSPECIFIED', 'CREATING', 'ACTIVE', 'FAILED', 'RUNNING', 'WARNING',
1319
+ 'INITIALIZATION_FAILED', 'UPDATING'.
1320
+ """
1321
+ return pulumi.get(self, "realtime_state")
1322
+
1323
+ @_builtins.property
1324
+ @pulumi.getter(name="refreshInterval")
1325
+ def refresh_interval(self) -> pulumi.Output[_builtins.str]:
1326
+ """
1327
+ The refresh interval for data sync. If duration is set to 0, the data will
1328
+ be synced in real time. The streaming feature is not supported yet. The
1329
+ minimum is 30 minutes and maximum is 7 days. When the refresh interval is
1330
+ set to the same value as the incremental refresh interval, incremental
1331
+ sync will be disabled.
1332
+ """
1333
+ return pulumi.get(self, "refresh_interval")
1334
+
1335
+ @_builtins.property
1336
+ @pulumi.getter
1337
+ def state(self) -> pulumi.Output[_builtins.str]:
1338
+ """
1339
+ The state of connector. The possible value can be:
1340
+ 'STATE_UNSPECIFIED', 'CREATING', 'ACTIVE', 'FAILED', 'RUNNING', 'WARNING',
1341
+ 'INITIALIZATION_FAILED', 'UPDATING'.
1342
+ """
1343
+ return pulumi.get(self, "state")
1344
+
1345
+ @_builtins.property
1346
+ @pulumi.getter(name="staticIpAddresses")
1347
+ def static_ip_addresses(self) -> pulumi.Output[Sequence[_builtins.str]]:
1348
+ """
1349
+ The static IP addresses used by this connector.
1350
+ """
1351
+ return pulumi.get(self, "static_ip_addresses")
1352
+
1353
+ @_builtins.property
1354
+ @pulumi.getter(name="staticIpEnabled")
1355
+ def static_ip_enabled(self) -> pulumi.Output[Optional[_builtins.bool]]:
1356
+ """
1357
+ Whether customer has enabled static IP addresses for this connector.
1358
+ """
1359
+ return pulumi.get(self, "static_ip_enabled")
1360
+
1361
+ @_builtins.property
1362
+ @pulumi.getter(name="updateTime")
1363
+ def update_time(self) -> pulumi.Output[_builtins.str]:
1364
+ """
1365
+ Timestamp when the DataConnector was updated.
1366
+ """
1367
+ return pulumi.get(self, "update_time")
1368
+