pulumi-gcp 7.5.0a1704283083__py3-none-any.whl → 7.6.0__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. pulumi_gcp/__init__.py +99 -0
  2. pulumi_gcp/bigqueryanalyticshub/_inputs.py +40 -0
  3. pulumi_gcp/bigqueryanalyticshub/listing.py +117 -3
  4. pulumi_gcp/bigqueryanalyticshub/outputs.py +49 -0
  5. pulumi_gcp/clouddeploy/__init__.py +1 -0
  6. pulumi_gcp/clouddeploy/_inputs.py +239 -0
  7. pulumi_gcp/clouddeploy/automation.py +1103 -0
  8. pulumi_gcp/clouddeploy/outputs.py +246 -0
  9. pulumi_gcp/clouddomains/__init__.py +10 -0
  10. pulumi_gcp/clouddomains/_inputs.py +1098 -0
  11. pulumi_gcp/clouddomains/outputs.py +1156 -0
  12. pulumi_gcp/clouddomains/registration.py +1068 -0
  13. pulumi_gcp/cloudrunv2/job.py +4 -4
  14. pulumi_gcp/composer/_inputs.py +79 -1
  15. pulumi_gcp/composer/outputs.py +131 -4
  16. pulumi_gcp/compute/__init__.py +1 -0
  17. pulumi_gcp/compute/_inputs.py +180 -0
  18. pulumi_gcp/compute/get_instance_template.py +11 -1
  19. pulumi_gcp/compute/get_region_instance_template.py +11 -1
  20. pulumi_gcp/compute/get_reservation.py +212 -0
  21. pulumi_gcp/compute/instance_template.py +47 -0
  22. pulumi_gcp/compute/network_firewall_policy.py +20 -22
  23. pulumi_gcp/compute/outputs.py +325 -0
  24. pulumi_gcp/compute/region_instance_template.py +47 -0
  25. pulumi_gcp/compute/region_network_firewall_policy.py +31 -35
  26. pulumi_gcp/compute/router_peer.py +54 -0
  27. pulumi_gcp/compute/vpn_tunnel.py +8 -4
  28. pulumi_gcp/config/__init__.pyi +2 -0
  29. pulumi_gcp/config/vars.py +4 -0
  30. pulumi_gcp/container/_inputs.py +23 -0
  31. pulumi_gcp/container/aws_node_pool.py +7 -7
  32. pulumi_gcp/container/cluster.py +68 -14
  33. pulumi_gcp/container/get_cluster.py +11 -1
  34. pulumi_gcp/container/outputs.py +49 -0
  35. pulumi_gcp/dataflow/pipeline.py +1 -1
  36. pulumi_gcp/dataproc/_inputs.py +413 -39
  37. pulumi_gcp/dataproc/metastore_service.py +63 -0
  38. pulumi_gcp/dataproc/outputs.py +461 -39
  39. pulumi_gcp/dns/__init__.py +1 -0
  40. pulumi_gcp/dns/_inputs.py +94 -0
  41. pulumi_gcp/dns/get_managed_zones.py +89 -0
  42. pulumi_gcp/dns/outputs.py +62 -0
  43. pulumi_gcp/edgecontainer/vpn_connection.py +10 -10
  44. pulumi_gcp/filestore/__init__.py +1 -0
  45. pulumi_gcp/filestore/get_instance.py +258 -0
  46. pulumi_gcp/filestore/instance.py +7 -7
  47. pulumi_gcp/filestore/outputs.py +126 -0
  48. pulumi_gcp/gkebackup/backup_plan.py +24 -8
  49. pulumi_gcp/gkebackup/restore_plan.py +36 -12
  50. pulumi_gcp/gkebackup/restore_plan_iam_binding.py +36 -12
  51. pulumi_gcp/gkebackup/restore_plan_iam_member.py +36 -12
  52. pulumi_gcp/gkebackup/restore_plan_iam_policy.py +36 -12
  53. pulumi_gcp/gkehub/_inputs.py +502 -2
  54. pulumi_gcp/gkehub/feature.py +34 -0
  55. pulumi_gcp/gkehub/feature_membership.py +177 -0
  56. pulumi_gcp/gkehub/membership.py +18 -6
  57. pulumi_gcp/gkehub/outputs.py +502 -2
  58. pulumi_gcp/gkeonprem/_inputs.py +21 -25
  59. pulumi_gcp/gkeonprem/outputs.py +34 -25
  60. pulumi_gcp/gkeonprem/v_mware_node_pool.py +34 -0
  61. pulumi_gcp/integrationconnectors/__init__.py +1 -0
  62. pulumi_gcp/integrationconnectors/endpoint_attachment.py +669 -0
  63. pulumi_gcp/kms/_inputs.py +42 -0
  64. pulumi_gcp/kms/crypto_key.py +36 -0
  65. pulumi_gcp/kms/get_kms_crypto_key.py +11 -1
  66. pulumi_gcp/kms/outputs.py +62 -0
  67. pulumi_gcp/logging/__init__.py +2 -0
  68. pulumi_gcp/logging/folder_settings.py +490 -0
  69. pulumi_gcp/logging/folder_sink.py +21 -21
  70. pulumi_gcp/logging/organization_settings.py +484 -0
  71. pulumi_gcp/logging/organization_sink.py +21 -21
  72. pulumi_gcp/logging/project_sink.py +7 -14
  73. pulumi_gcp/netapp/__init__.py +3 -0
  74. pulumi_gcp/netapp/active_directory.py +1413 -0
  75. pulumi_gcp/netapp/backup_vault.py +593 -0
  76. pulumi_gcp/netapp/kmsconfig.py +649 -0
  77. pulumi_gcp/orgpolicy/policy.py +28 -0
  78. pulumi_gcp/provider.py +20 -0
  79. pulumi_gcp/pubsub/subscription.py +29 -37
  80. pulumi_gcp/serviceaccount/account.py +47 -0
  81. pulumi_gcp/servicenetworking/connection.py +55 -1
  82. pulumi_gcp/sql/database_instance.py +2 -2
  83. pulumi_gcp/sql/ssl_cert.py +1 -1
  84. pulumi_gcp/sql/user.py +7 -7
  85. pulumi_gcp/storage/transfer_job.py +24 -5
  86. pulumi_gcp/vertex/__init__.py +3 -0
  87. pulumi_gcp/vertex/_inputs.py +339 -0
  88. pulumi_gcp/vertex/ai_feature_group.py +710 -0
  89. pulumi_gcp/vertex/ai_feature_online_store.py +962 -0
  90. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +804 -0
  91. pulumi_gcp/vertex/outputs.py +406 -0
  92. pulumi_gcp/vmwareengine/__init__.py +2 -0
  93. pulumi_gcp/vmwareengine/_inputs.py +84 -0
  94. pulumi_gcp/vmwareengine/external_access_rule.py +947 -0
  95. pulumi_gcp/vmwareengine/get_external_access_rule.py +245 -0
  96. pulumi_gcp/vmwareengine/outputs.py +146 -0
  97. pulumi_gcp/workflows/workflow.py +7 -7
  98. {pulumi_gcp-7.5.0a1704283083.dist-info → pulumi_gcp-7.6.0.dist-info}/METADATA +1 -1
  99. {pulumi_gcp-7.5.0a1704283083.dist-info → pulumi_gcp-7.6.0.dist-info}/RECORD +101 -82
  100. {pulumi_gcp-7.5.0a1704283083.dist-info → pulumi_gcp-7.6.0.dist-info}/WHEEL +0 -0
  101. {pulumi_gcp-7.5.0a1704283083.dist-info → pulumi_gcp-7.6.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,710 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+ from . import outputs
12
+ from ._inputs import *
13
+
14
+ __all__ = ['AiFeatureGroupArgs', 'AiFeatureGroup']
15
+
16
+ @pulumi.input_type
17
+ class AiFeatureGroupArgs:
18
+ def __init__(__self__, *,
19
+ big_query: Optional[pulumi.Input['AiFeatureGroupBigQueryArgs']] = None,
20
+ description: Optional[pulumi.Input[str]] = None,
21
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
22
+ name: Optional[pulumi.Input[str]] = None,
23
+ project: Optional[pulumi.Input[str]] = None,
24
+ region: Optional[pulumi.Input[str]] = None):
25
+ """
26
+ The set of arguments for constructing a AiFeatureGroup resource.
27
+ :param pulumi.Input['AiFeatureGroupBigQueryArgs'] big_query: Indicates that features for this group come from BigQuery Table/View. By default treats the source as a sparse time series source, which is required to have an entityId and a feature_timestamp column in the source.
28
+ Structure is documented below.
29
+ :param pulumi.Input[str] description: The description of the FeatureGroup.
30
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize your FeatureGroup.
31
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
32
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
33
+ :param pulumi.Input[str] name: The resource name of the Feature Group.
34
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
35
+ If it is not provided, the provider project is used.
36
+ :param pulumi.Input[str] region: The region of feature group. eg us-central1
37
+ """
38
+ if big_query is not None:
39
+ pulumi.set(__self__, "big_query", big_query)
40
+ if description is not None:
41
+ pulumi.set(__self__, "description", description)
42
+ if labels is not None:
43
+ pulumi.set(__self__, "labels", labels)
44
+ if name is not None:
45
+ pulumi.set(__self__, "name", name)
46
+ if project is not None:
47
+ pulumi.set(__self__, "project", project)
48
+ if region is not None:
49
+ pulumi.set(__self__, "region", region)
50
+
51
+ @property
52
+ @pulumi.getter(name="bigQuery")
53
+ def big_query(self) -> Optional[pulumi.Input['AiFeatureGroupBigQueryArgs']]:
54
+ """
55
+ Indicates that features for this group come from BigQuery Table/View. By default treats the source as a sparse time series source, which is required to have an entityId and a feature_timestamp column in the source.
56
+ Structure is documented below.
57
+ """
58
+ return pulumi.get(self, "big_query")
59
+
60
+ @big_query.setter
61
+ def big_query(self, value: Optional[pulumi.Input['AiFeatureGroupBigQueryArgs']]):
62
+ pulumi.set(self, "big_query", value)
63
+
64
+ @property
65
+ @pulumi.getter
66
+ def description(self) -> Optional[pulumi.Input[str]]:
67
+ """
68
+ The description of the FeatureGroup.
69
+ """
70
+ return pulumi.get(self, "description")
71
+
72
+ @description.setter
73
+ def description(self, value: Optional[pulumi.Input[str]]):
74
+ pulumi.set(self, "description", value)
75
+
76
+ @property
77
+ @pulumi.getter
78
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
79
+ """
80
+ The labels with user-defined metadata to organize your FeatureGroup.
81
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
82
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
83
+ """
84
+ return pulumi.get(self, "labels")
85
+
86
+ @labels.setter
87
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
88
+ pulumi.set(self, "labels", value)
89
+
90
+ @property
91
+ @pulumi.getter
92
+ def name(self) -> Optional[pulumi.Input[str]]:
93
+ """
94
+ The resource name of the Feature Group.
95
+ """
96
+ return pulumi.get(self, "name")
97
+
98
+ @name.setter
99
+ def name(self, value: Optional[pulumi.Input[str]]):
100
+ pulumi.set(self, "name", value)
101
+
102
+ @property
103
+ @pulumi.getter
104
+ def project(self) -> Optional[pulumi.Input[str]]:
105
+ """
106
+ The ID of the project in which the resource belongs.
107
+ If it is not provided, the provider project is used.
108
+ """
109
+ return pulumi.get(self, "project")
110
+
111
+ @project.setter
112
+ def project(self, value: Optional[pulumi.Input[str]]):
113
+ pulumi.set(self, "project", value)
114
+
115
+ @property
116
+ @pulumi.getter
117
+ def region(self) -> Optional[pulumi.Input[str]]:
118
+ """
119
+ The region of feature group. eg us-central1
120
+ """
121
+ return pulumi.get(self, "region")
122
+
123
+ @region.setter
124
+ def region(self, value: Optional[pulumi.Input[str]]):
125
+ pulumi.set(self, "region", value)
126
+
127
+
128
+ @pulumi.input_type
129
+ class _AiFeatureGroupState:
130
+ def __init__(__self__, *,
131
+ big_query: Optional[pulumi.Input['AiFeatureGroupBigQueryArgs']] = None,
132
+ create_time: Optional[pulumi.Input[str]] = None,
133
+ description: Optional[pulumi.Input[str]] = None,
134
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
135
+ etag: Optional[pulumi.Input[str]] = None,
136
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
137
+ name: Optional[pulumi.Input[str]] = None,
138
+ project: Optional[pulumi.Input[str]] = None,
139
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
140
+ region: Optional[pulumi.Input[str]] = None,
141
+ update_time: Optional[pulumi.Input[str]] = None):
142
+ """
143
+ Input properties used for looking up and filtering AiFeatureGroup resources.
144
+ :param pulumi.Input['AiFeatureGroupBigQueryArgs'] big_query: Indicates that features for this group come from BigQuery Table/View. By default treats the source as a sparse time series source, which is required to have an entityId and a feature_timestamp column in the source.
145
+ Structure is documented below.
146
+ :param pulumi.Input[str] create_time: The timestamp of when the FeatureGroup was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
147
+ :param pulumi.Input[str] description: The description of the FeatureGroup.
148
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
149
+ :param pulumi.Input[str] etag: Used to perform consistent read-modify-write updates.
150
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize your FeatureGroup.
151
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
152
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
153
+ :param pulumi.Input[str] name: The resource name of the Feature Group.
154
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
155
+ If it is not provided, the provider project is used.
156
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
157
+ and default labels configured on the provider.
158
+ :param pulumi.Input[str] region: The region of feature group. eg us-central1
159
+ :param pulumi.Input[str] update_time: The timestamp of when the FeatureGroup was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
160
+ """
161
+ if big_query is not None:
162
+ pulumi.set(__self__, "big_query", big_query)
163
+ if create_time is not None:
164
+ pulumi.set(__self__, "create_time", create_time)
165
+ if description is not None:
166
+ pulumi.set(__self__, "description", description)
167
+ if effective_labels is not None:
168
+ pulumi.set(__self__, "effective_labels", effective_labels)
169
+ if etag is not None:
170
+ pulumi.set(__self__, "etag", etag)
171
+ if labels is not None:
172
+ pulumi.set(__self__, "labels", labels)
173
+ if name is not None:
174
+ pulumi.set(__self__, "name", name)
175
+ if project is not None:
176
+ pulumi.set(__self__, "project", project)
177
+ if pulumi_labels is not None:
178
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
179
+ if region is not None:
180
+ pulumi.set(__self__, "region", region)
181
+ if update_time is not None:
182
+ pulumi.set(__self__, "update_time", update_time)
183
+
184
+ @property
185
+ @pulumi.getter(name="bigQuery")
186
+ def big_query(self) -> Optional[pulumi.Input['AiFeatureGroupBigQueryArgs']]:
187
+ """
188
+ Indicates that features for this group come from BigQuery Table/View. By default treats the source as a sparse time series source, which is required to have an entityId and a feature_timestamp column in the source.
189
+ Structure is documented below.
190
+ """
191
+ return pulumi.get(self, "big_query")
192
+
193
+ @big_query.setter
194
+ def big_query(self, value: Optional[pulumi.Input['AiFeatureGroupBigQueryArgs']]):
195
+ pulumi.set(self, "big_query", value)
196
+
197
+ @property
198
+ @pulumi.getter(name="createTime")
199
+ def create_time(self) -> Optional[pulumi.Input[str]]:
200
+ """
201
+ The timestamp of when the FeatureGroup was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
202
+ """
203
+ return pulumi.get(self, "create_time")
204
+
205
+ @create_time.setter
206
+ def create_time(self, value: Optional[pulumi.Input[str]]):
207
+ pulumi.set(self, "create_time", value)
208
+
209
+ @property
210
+ @pulumi.getter
211
+ def description(self) -> Optional[pulumi.Input[str]]:
212
+ """
213
+ The description of the FeatureGroup.
214
+ """
215
+ return pulumi.get(self, "description")
216
+
217
+ @description.setter
218
+ def description(self, value: Optional[pulumi.Input[str]]):
219
+ pulumi.set(self, "description", value)
220
+
221
+ @property
222
+ @pulumi.getter(name="effectiveLabels")
223
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
224
+ """
225
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
226
+ """
227
+ return pulumi.get(self, "effective_labels")
228
+
229
+ @effective_labels.setter
230
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
231
+ pulumi.set(self, "effective_labels", value)
232
+
233
+ @property
234
+ @pulumi.getter
235
+ def etag(self) -> Optional[pulumi.Input[str]]:
236
+ """
237
+ Used to perform consistent read-modify-write updates.
238
+ """
239
+ return pulumi.get(self, "etag")
240
+
241
+ @etag.setter
242
+ def etag(self, value: Optional[pulumi.Input[str]]):
243
+ pulumi.set(self, "etag", value)
244
+
245
+ @property
246
+ @pulumi.getter
247
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
248
+ """
249
+ The labels with user-defined metadata to organize your FeatureGroup.
250
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
251
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
252
+ """
253
+ return pulumi.get(self, "labels")
254
+
255
+ @labels.setter
256
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
257
+ pulumi.set(self, "labels", value)
258
+
259
+ @property
260
+ @pulumi.getter
261
+ def name(self) -> Optional[pulumi.Input[str]]:
262
+ """
263
+ The resource name of the Feature Group.
264
+ """
265
+ return pulumi.get(self, "name")
266
+
267
+ @name.setter
268
+ def name(self, value: Optional[pulumi.Input[str]]):
269
+ pulumi.set(self, "name", value)
270
+
271
+ @property
272
+ @pulumi.getter
273
+ def project(self) -> Optional[pulumi.Input[str]]:
274
+ """
275
+ The ID of the project in which the resource belongs.
276
+ If it is not provided, the provider project is used.
277
+ """
278
+ return pulumi.get(self, "project")
279
+
280
+ @project.setter
281
+ def project(self, value: Optional[pulumi.Input[str]]):
282
+ pulumi.set(self, "project", value)
283
+
284
+ @property
285
+ @pulumi.getter(name="pulumiLabels")
286
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
287
+ """
288
+ The combination of labels configured directly on the resource
289
+ and default labels configured on the provider.
290
+ """
291
+ return pulumi.get(self, "pulumi_labels")
292
+
293
+ @pulumi_labels.setter
294
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
295
+ pulumi.set(self, "pulumi_labels", value)
296
+
297
+ @property
298
+ @pulumi.getter
299
+ def region(self) -> Optional[pulumi.Input[str]]:
300
+ """
301
+ The region of feature group. eg us-central1
302
+ """
303
+ return pulumi.get(self, "region")
304
+
305
+ @region.setter
306
+ def region(self, value: Optional[pulumi.Input[str]]):
307
+ pulumi.set(self, "region", value)
308
+
309
+ @property
310
+ @pulumi.getter(name="updateTime")
311
+ def update_time(self) -> Optional[pulumi.Input[str]]:
312
+ """
313
+ The timestamp of when the FeatureGroup was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
314
+ """
315
+ return pulumi.get(self, "update_time")
316
+
317
+ @update_time.setter
318
+ def update_time(self, value: Optional[pulumi.Input[str]]):
319
+ pulumi.set(self, "update_time", value)
320
+
321
+
322
+ class AiFeatureGroup(pulumi.CustomResource):
323
+ @overload
324
+ def __init__(__self__,
325
+ resource_name: str,
326
+ opts: Optional[pulumi.ResourceOptions] = None,
327
+ big_query: Optional[pulumi.Input[pulumi.InputType['AiFeatureGroupBigQueryArgs']]] = None,
328
+ description: Optional[pulumi.Input[str]] = None,
329
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
330
+ name: Optional[pulumi.Input[str]] = None,
331
+ project: Optional[pulumi.Input[str]] = None,
332
+ region: Optional[pulumi.Input[str]] = None,
333
+ __props__=None):
334
+ """
335
+ Vertex AI Feature Group.
336
+
337
+ To get more information about FeatureGroup, see:
338
+
339
+ * [API documentation](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.featureGroups)
340
+ * How-to Guides
341
+ * [Creating a Feature Group](https://cloud.google.com/vertex-ai/docs/featurestore/latest/create-featuregroup)
342
+
343
+ ## Example Usage
344
+ ### Vertex Ai Feature Group
345
+
346
+ ```python
347
+ import pulumi
348
+ import pulumi_gcp as gcp
349
+
350
+ sample_dataset = gcp.bigquery.Dataset("sampleDataset",
351
+ dataset_id="job_load_dataset",
352
+ friendly_name="test",
353
+ description="This is a test description",
354
+ location="US")
355
+ sample_table = gcp.bigquery.Table("sampleTable",
356
+ deletion_protection=False,
357
+ dataset_id=sample_dataset.dataset_id,
358
+ table_id="job_load_table",
359
+ schema=\"\"\"[
360
+ {
361
+ "name": "feature_id",
362
+ "type": "STRING",
363
+ "mode": "NULLABLE"
364
+ },
365
+ {
366
+ "name": "feature_timestamp",
367
+ "type": "TIMESTAMP",
368
+ "mode": "NULLABLE"
369
+ }
370
+ ]
371
+ \"\"\")
372
+ feature_group = gcp.vertex.AiFeatureGroup("featureGroup",
373
+ description="A sample feature group",
374
+ region="us-central1",
375
+ labels={
376
+ "label-one": "value-one",
377
+ },
378
+ big_query=gcp.vertex.AiFeatureGroupBigQueryArgs(
379
+ big_query_source=gcp.vertex.AiFeatureGroupBigQueryBigQuerySourceArgs(
380
+ input_uri=pulumi.Output.all(sample_table.project, sample_table.dataset_id, sample_table.table_id).apply(lambda project, dataset_id, table_id: f"bq://{project}.{dataset_id}.{table_id}"),
381
+ ),
382
+ entity_id_columns=["feature_id"],
383
+ ))
384
+ ```
385
+
386
+ ## Import
387
+
388
+ FeatureGroup can be imported using any of these accepted formats* `projects/{{project}}/locations/{{region}}/featureGroups/{{name}}` * `{{project}}/{{region}}/{{name}}` * `{{region}}/{{name}}` * `{{name}}` In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import FeatureGroup using one of the formats above. For exampletf import {
389
+
390
+ id = "projects/{{project}}/locations/{{region}}/featureGroups/{{name}}"
391
+
392
+ to = google_vertex_ai_feature_group.default }
393
+
394
+ ```sh
395
+ $ pulumi import gcp:vertex/aiFeatureGroup:AiFeatureGroup When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), FeatureGroup can be imported using one of the formats above. For example
396
+ ```
397
+
398
+ ```sh
399
+ $ pulumi import gcp:vertex/aiFeatureGroup:AiFeatureGroup default projects/{{project}}/locations/{{region}}/featureGroups/{{name}}
400
+ ```
401
+
402
+ ```sh
403
+ $ pulumi import gcp:vertex/aiFeatureGroup:AiFeatureGroup default {{project}}/{{region}}/{{name}}
404
+ ```
405
+
406
+ ```sh
407
+ $ pulumi import gcp:vertex/aiFeatureGroup:AiFeatureGroup default {{region}}/{{name}}
408
+ ```
409
+
410
+ ```sh
411
+ $ pulumi import gcp:vertex/aiFeatureGroup:AiFeatureGroup default {{name}}
412
+ ```
413
+
414
+ :param str resource_name: The name of the resource.
415
+ :param pulumi.ResourceOptions opts: Options for the resource.
416
+ :param pulumi.Input[pulumi.InputType['AiFeatureGroupBigQueryArgs']] big_query: Indicates that features for this group come from BigQuery Table/View. By default treats the source as a sparse time series source, which is required to have an entityId and a feature_timestamp column in the source.
417
+ Structure is documented below.
418
+ :param pulumi.Input[str] description: The description of the FeatureGroup.
419
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize your FeatureGroup.
420
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
421
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
422
+ :param pulumi.Input[str] name: The resource name of the Feature Group.
423
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
424
+ If it is not provided, the provider project is used.
425
+ :param pulumi.Input[str] region: The region of feature group. eg us-central1
426
+ """
427
+ ...
428
+ @overload
429
+ def __init__(__self__,
430
+ resource_name: str,
431
+ args: Optional[AiFeatureGroupArgs] = None,
432
+ opts: Optional[pulumi.ResourceOptions] = None):
433
+ """
434
+ Vertex AI Feature Group.
435
+
436
+ To get more information about FeatureGroup, see:
437
+
438
+ * [API documentation](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.featureGroups)
439
+ * How-to Guides
440
+ * [Creating a Feature Group](https://cloud.google.com/vertex-ai/docs/featurestore/latest/create-featuregroup)
441
+
442
+ ## Example Usage
443
+ ### Vertex Ai Feature Group
444
+
445
+ ```python
446
+ import pulumi
447
+ import pulumi_gcp as gcp
448
+
449
+ sample_dataset = gcp.bigquery.Dataset("sampleDataset",
450
+ dataset_id="job_load_dataset",
451
+ friendly_name="test",
452
+ description="This is a test description",
453
+ location="US")
454
+ sample_table = gcp.bigquery.Table("sampleTable",
455
+ deletion_protection=False,
456
+ dataset_id=sample_dataset.dataset_id,
457
+ table_id="job_load_table",
458
+ schema=\"\"\"[
459
+ {
460
+ "name": "feature_id",
461
+ "type": "STRING",
462
+ "mode": "NULLABLE"
463
+ },
464
+ {
465
+ "name": "feature_timestamp",
466
+ "type": "TIMESTAMP",
467
+ "mode": "NULLABLE"
468
+ }
469
+ ]
470
+ \"\"\")
471
+ feature_group = gcp.vertex.AiFeatureGroup("featureGroup",
472
+ description="A sample feature group",
473
+ region="us-central1",
474
+ labels={
475
+ "label-one": "value-one",
476
+ },
477
+ big_query=gcp.vertex.AiFeatureGroupBigQueryArgs(
478
+ big_query_source=gcp.vertex.AiFeatureGroupBigQueryBigQuerySourceArgs(
479
+ input_uri=pulumi.Output.all(sample_table.project, sample_table.dataset_id, sample_table.table_id).apply(lambda project, dataset_id, table_id: f"bq://{project}.{dataset_id}.{table_id}"),
480
+ ),
481
+ entity_id_columns=["feature_id"],
482
+ ))
483
+ ```
484
+
485
+ ## Import
486
+
487
+ FeatureGroup can be imported using any of these accepted formats* `projects/{{project}}/locations/{{region}}/featureGroups/{{name}}` * `{{project}}/{{region}}/{{name}}` * `{{region}}/{{name}}` * `{{name}}` In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import FeatureGroup using one of the formats above. For exampletf import {
488
+
489
+ id = "projects/{{project}}/locations/{{region}}/featureGroups/{{name}}"
490
+
491
+ to = google_vertex_ai_feature_group.default }
492
+
493
+ ```sh
494
+ $ pulumi import gcp:vertex/aiFeatureGroup:AiFeatureGroup When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), FeatureGroup can be imported using one of the formats above. For example
495
+ ```
496
+
497
+ ```sh
498
+ $ pulumi import gcp:vertex/aiFeatureGroup:AiFeatureGroup default projects/{{project}}/locations/{{region}}/featureGroups/{{name}}
499
+ ```
500
+
501
+ ```sh
502
+ $ pulumi import gcp:vertex/aiFeatureGroup:AiFeatureGroup default {{project}}/{{region}}/{{name}}
503
+ ```
504
+
505
+ ```sh
506
+ $ pulumi import gcp:vertex/aiFeatureGroup:AiFeatureGroup default {{region}}/{{name}}
507
+ ```
508
+
509
+ ```sh
510
+ $ pulumi import gcp:vertex/aiFeatureGroup:AiFeatureGroup default {{name}}
511
+ ```
512
+
513
+ :param str resource_name: The name of the resource.
514
+ :param AiFeatureGroupArgs args: The arguments to use to populate this resource's properties.
515
+ :param pulumi.ResourceOptions opts: Options for the resource.
516
+ """
517
+ ...
518
+ def __init__(__self__, resource_name: str, *args, **kwargs):
519
+ resource_args, opts = _utilities.get_resource_args_opts(AiFeatureGroupArgs, pulumi.ResourceOptions, *args, **kwargs)
520
+ if resource_args is not None:
521
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
522
+ else:
523
+ __self__._internal_init(resource_name, *args, **kwargs)
524
+
525
+ def _internal_init(__self__,
526
+ resource_name: str,
527
+ opts: Optional[pulumi.ResourceOptions] = None,
528
+ big_query: Optional[pulumi.Input[pulumi.InputType['AiFeatureGroupBigQueryArgs']]] = None,
529
+ description: Optional[pulumi.Input[str]] = None,
530
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
531
+ name: Optional[pulumi.Input[str]] = None,
532
+ project: Optional[pulumi.Input[str]] = None,
533
+ region: Optional[pulumi.Input[str]] = None,
534
+ __props__=None):
535
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
536
+ if not isinstance(opts, pulumi.ResourceOptions):
537
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
538
+ if opts.id is None:
539
+ if __props__ is not None:
540
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
541
+ __props__ = AiFeatureGroupArgs.__new__(AiFeatureGroupArgs)
542
+
543
+ __props__.__dict__["big_query"] = big_query
544
+ __props__.__dict__["description"] = description
545
+ __props__.__dict__["labels"] = labels
546
+ __props__.__dict__["name"] = name
547
+ __props__.__dict__["project"] = project
548
+ __props__.__dict__["region"] = region
549
+ __props__.__dict__["create_time"] = None
550
+ __props__.__dict__["effective_labels"] = None
551
+ __props__.__dict__["etag"] = None
552
+ __props__.__dict__["pulumi_labels"] = None
553
+ __props__.__dict__["update_time"] = None
554
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
555
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
556
+ super(AiFeatureGroup, __self__).__init__(
557
+ 'gcp:vertex/aiFeatureGroup:AiFeatureGroup',
558
+ resource_name,
559
+ __props__,
560
+ opts)
561
+
562
+ @staticmethod
563
+ def get(resource_name: str,
564
+ id: pulumi.Input[str],
565
+ opts: Optional[pulumi.ResourceOptions] = None,
566
+ big_query: Optional[pulumi.Input[pulumi.InputType['AiFeatureGroupBigQueryArgs']]] = None,
567
+ create_time: Optional[pulumi.Input[str]] = None,
568
+ description: Optional[pulumi.Input[str]] = None,
569
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
570
+ etag: Optional[pulumi.Input[str]] = None,
571
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
572
+ name: Optional[pulumi.Input[str]] = None,
573
+ project: Optional[pulumi.Input[str]] = None,
574
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
575
+ region: Optional[pulumi.Input[str]] = None,
576
+ update_time: Optional[pulumi.Input[str]] = None) -> 'AiFeatureGroup':
577
+ """
578
+ Get an existing AiFeatureGroup resource's state with the given name, id, and optional extra
579
+ properties used to qualify the lookup.
580
+
581
+ :param str resource_name: The unique name of the resulting resource.
582
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
583
+ :param pulumi.ResourceOptions opts: Options for the resource.
584
+ :param pulumi.Input[pulumi.InputType['AiFeatureGroupBigQueryArgs']] big_query: Indicates that features for this group come from BigQuery Table/View. By default treats the source as a sparse time series source, which is required to have an entityId and a feature_timestamp column in the source.
585
+ Structure is documented below.
586
+ :param pulumi.Input[str] create_time: The timestamp of when the FeatureGroup was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
587
+ :param pulumi.Input[str] description: The description of the FeatureGroup.
588
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
589
+ :param pulumi.Input[str] etag: Used to perform consistent read-modify-write updates.
590
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize your FeatureGroup.
591
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
592
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
593
+ :param pulumi.Input[str] name: The resource name of the Feature Group.
594
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
595
+ If it is not provided, the provider project is used.
596
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
597
+ and default labels configured on the provider.
598
+ :param pulumi.Input[str] region: The region of feature group. eg us-central1
599
+ :param pulumi.Input[str] update_time: The timestamp of when the FeatureGroup was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
600
+ """
601
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
602
+
603
+ __props__ = _AiFeatureGroupState.__new__(_AiFeatureGroupState)
604
+
605
+ __props__.__dict__["big_query"] = big_query
606
+ __props__.__dict__["create_time"] = create_time
607
+ __props__.__dict__["description"] = description
608
+ __props__.__dict__["effective_labels"] = effective_labels
609
+ __props__.__dict__["etag"] = etag
610
+ __props__.__dict__["labels"] = labels
611
+ __props__.__dict__["name"] = name
612
+ __props__.__dict__["project"] = project
613
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
614
+ __props__.__dict__["region"] = region
615
+ __props__.__dict__["update_time"] = update_time
616
+ return AiFeatureGroup(resource_name, opts=opts, __props__=__props__)
617
+
618
+ @property
619
+ @pulumi.getter(name="bigQuery")
620
+ def big_query(self) -> pulumi.Output[Optional['outputs.AiFeatureGroupBigQuery']]:
621
+ """
622
+ Indicates that features for this group come from BigQuery Table/View. By default treats the source as a sparse time series source, which is required to have an entityId and a feature_timestamp column in the source.
623
+ Structure is documented below.
624
+ """
625
+ return pulumi.get(self, "big_query")
626
+
627
+ @property
628
+ @pulumi.getter(name="createTime")
629
+ def create_time(self) -> pulumi.Output[str]:
630
+ """
631
+ The timestamp of when the FeatureGroup was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
632
+ """
633
+ return pulumi.get(self, "create_time")
634
+
635
+ @property
636
+ @pulumi.getter
637
+ def description(self) -> pulumi.Output[Optional[str]]:
638
+ """
639
+ The description of the FeatureGroup.
640
+ """
641
+ return pulumi.get(self, "description")
642
+
643
+ @property
644
+ @pulumi.getter(name="effectiveLabels")
645
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
646
+ """
647
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
648
+ """
649
+ return pulumi.get(self, "effective_labels")
650
+
651
+ @property
652
+ @pulumi.getter
653
+ def etag(self) -> pulumi.Output[str]:
654
+ """
655
+ Used to perform consistent read-modify-write updates.
656
+ """
657
+ return pulumi.get(self, "etag")
658
+
659
+ @property
660
+ @pulumi.getter
661
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
662
+ """
663
+ The labels with user-defined metadata to organize your FeatureGroup.
664
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
665
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
666
+ """
667
+ return pulumi.get(self, "labels")
668
+
669
+ @property
670
+ @pulumi.getter
671
+ def name(self) -> pulumi.Output[str]:
672
+ """
673
+ The resource name of the Feature Group.
674
+ """
675
+ return pulumi.get(self, "name")
676
+
677
+ @property
678
+ @pulumi.getter
679
+ def project(self) -> pulumi.Output[str]:
680
+ """
681
+ The ID of the project in which the resource belongs.
682
+ If it is not provided, the provider project is used.
683
+ """
684
+ return pulumi.get(self, "project")
685
+
686
+ @property
687
+ @pulumi.getter(name="pulumiLabels")
688
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
689
+ """
690
+ The combination of labels configured directly on the resource
691
+ and default labels configured on the provider.
692
+ """
693
+ return pulumi.get(self, "pulumi_labels")
694
+
695
+ @property
696
+ @pulumi.getter
697
+ def region(self) -> pulumi.Output[Optional[str]]:
698
+ """
699
+ The region of feature group. eg us-central1
700
+ """
701
+ return pulumi.get(self, "region")
702
+
703
+ @property
704
+ @pulumi.getter(name="updateTime")
705
+ def update_time(self) -> pulumi.Output[str]:
706
+ """
707
+ The timestamp of when the FeatureGroup was last updated in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
708
+ """
709
+ return pulumi.get(self, "update_time")
710
+