pulumi-gcp 7.38.0__py3-none-any.whl → 7.38.0a1723822337__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumi_gcp/__init__.py +0 -32
- pulumi_gcp/appengine/flexible_app_version.py +0 -8
- pulumi_gcp/applicationintegration/client.py +2 -2
- pulumi_gcp/artifactregistry/__init__.py +0 -1
- pulumi_gcp/bigquery/connection.py +0 -12
- pulumi_gcp/clouddeploy/_inputs.py +1 -41
- pulumi_gcp/clouddeploy/outputs.py +1 -29
- pulumi_gcp/cloudfunctionsv2/function.py +0 -2
- pulumi_gcp/cloudidentity/__init__.py +0 -1
- pulumi_gcp/cloudidentity/get_group_memberships.py +0 -12
- pulumi_gcp/cloudidentity/outputs.py +0 -131
- pulumi_gcp/compute/_inputs.py +30 -36
- pulumi_gcp/compute/outputs.py +38 -48
- pulumi_gcp/compute/region_network_endpoint_group.py +0 -8
- pulumi_gcp/compute/subnetwork.py +0 -82
- pulumi_gcp/container/_inputs.py +18 -15
- pulumi_gcp/container/attached_cluster.py +7 -14
- pulumi_gcp/container/outputs.py +12 -10
- pulumi_gcp/discoveryengine/__init__.py +0 -1
- pulumi_gcp/dns/_inputs.py +76 -80
- pulumi_gcp/dns/outputs.py +52 -56
- pulumi_gcp/managedkafka/_inputs.py +6 -6
- pulumi_gcp/managedkafka/cluster.py +7 -7
- pulumi_gcp/managedkafka/outputs.py +4 -4
- pulumi_gcp/managedkafka/topic.py +7 -7
- pulumi_gcp/parallelstore/instance.py +15 -215
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/securitycenter/__init__.py +0 -2
- pulumi_gcp/securitycenter/_inputs.py +0 -186
- pulumi_gcp/securitycenter/outputs.py +0 -118
- pulumi_gcp/servicenetworking/connection.py +3 -50
- pulumi_gcp/sql/_inputs.py +0 -20
- pulumi_gcp/sql/outputs.py +0 -36
- pulumi_gcp/vertex/__init__.py +0 -1
- pulumi_gcp/vertex/_inputs.py +0 -438
- pulumi_gcp/vertex/outputs.py +0 -393
- {pulumi_gcp-7.38.0.dist-info → pulumi_gcp-7.38.0a1723822337.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.38.0.dist-info → pulumi_gcp-7.38.0a1723822337.dist-info}/RECORD +40 -46
- {pulumi_gcp-7.38.0.dist-info → pulumi_gcp-7.38.0a1723822337.dist-info}/WHEEL +1 -1
- pulumi_gcp/artifactregistry/get_locations.py +0 -167
- pulumi_gcp/cloudidentity/get_group_transitive_memberships.py +0 -93
- pulumi_gcp/discoveryengine/schema.py +0 -524
- pulumi_gcp/securitycenter/folder_notification_config.py +0 -486
- pulumi_gcp/securitycenter/v2_folder_notification_config.py +0 -575
- pulumi_gcp/vertex/ai_index_endpoint_deployed_index.py +0 -1170
- {pulumi_gcp-7.38.0.dist-info → pulumi_gcp-7.38.0a1723822337.dist-info}/top_level.txt +0 -0
@@ -1,1170 +0,0 @@
|
|
1
|
-
# coding=utf-8
|
2
|
-
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
3
|
-
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
|
-
|
5
|
-
import copy
|
6
|
-
import warnings
|
7
|
-
import sys
|
8
|
-
import pulumi
|
9
|
-
import pulumi.runtime
|
10
|
-
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
11
|
-
if sys.version_info >= (3, 11):
|
12
|
-
from typing import NotRequired, TypedDict, TypeAlias
|
13
|
-
else:
|
14
|
-
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
15
|
-
from .. import _utilities
|
16
|
-
from . import outputs
|
17
|
-
from ._inputs import *
|
18
|
-
|
19
|
-
__all__ = ['AiIndexEndpointDeployedIndexArgs', 'AiIndexEndpointDeployedIndex']
|
20
|
-
|
21
|
-
@pulumi.input_type
|
22
|
-
class AiIndexEndpointDeployedIndexArgs:
|
23
|
-
def __init__(__self__, *,
|
24
|
-
deployed_index_id: pulumi.Input[str],
|
25
|
-
index: pulumi.Input[str],
|
26
|
-
index_endpoint: pulumi.Input[str],
|
27
|
-
automatic_resources: Optional[pulumi.Input['AiIndexEndpointDeployedIndexAutomaticResourcesArgs']] = None,
|
28
|
-
dedicated_resources: Optional[pulumi.Input['AiIndexEndpointDeployedIndexDedicatedResourcesArgs']] = None,
|
29
|
-
deployed_index_auth_config: Optional[pulumi.Input['AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs']] = None,
|
30
|
-
deployment_group: Optional[pulumi.Input[str]] = None,
|
31
|
-
display_name: Optional[pulumi.Input[str]] = None,
|
32
|
-
enable_access_logging: Optional[pulumi.Input[bool]] = None,
|
33
|
-
reserved_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
|
34
|
-
"""
|
35
|
-
The set of arguments for constructing a AiIndexEndpointDeployedIndex resource.
|
36
|
-
:param pulumi.Input[str] deployed_index_id: The user specified ID of the DeployedIndex. The ID can be up to 128 characters long and must start with a letter and only contain letters, numbers, and underscores. The ID must be unique within the project it is created in.
|
37
|
-
:param pulumi.Input[str] index: The name of the Index this is the deployment of.
|
38
|
-
:param pulumi.Input[str] index_endpoint: Identifies the index endpoint. Must be in the format
|
39
|
-
'projects/{{project}}/locations/{{region}}/indexEndpoints/{{indexEndpoint}}'
|
40
|
-
|
41
|
-
|
42
|
-
- - -
|
43
|
-
:param pulumi.Input['AiIndexEndpointDeployedIndexAutomaticResourcesArgs'] automatic_resources: A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration.
|
44
|
-
Structure is documented below.
|
45
|
-
:param pulumi.Input['AiIndexEndpointDeployedIndexDedicatedResourcesArgs'] dedicated_resources: A description of resources that are dedicated to the DeployedIndex, and that need a higher degree of manual configuration. The field minReplicaCount must be set to a value strictly greater than 0, or else validation will fail. We don't provide SLA when minReplicaCount=1. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000.
|
46
|
-
Available machine types for SMALL shard: e2-standard-2 and all machine types available for MEDIUM and LARGE shard.
|
47
|
-
Available machine types for MEDIUM shard: e2-standard-16 and all machine types available for LARGE shard.
|
48
|
-
Available machine types for LARGE shard: e2-highmem-16, n2d-standard-32.
|
49
|
-
n1-standard-16 and n1-standard-32 are still available, but we recommend e2-standard-16 and e2-highmem-16 for cost efficiency.
|
50
|
-
Structure is documented below.
|
51
|
-
:param pulumi.Input['AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs'] deployed_index_auth_config: If set, the authentication is enabled for the private endpoint.
|
52
|
-
Structure is documented below.
|
53
|
-
:param pulumi.Input[str] deployment_group: The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group.
|
54
|
-
Creating deployment_groups with reserved_ip_ranges is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. [See the official documentation here](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.indexEndpoints#DeployedIndex.FIELDS.deployment_group).
|
55
|
-
Note: we only support up to 5 deployment groups (not including 'default').
|
56
|
-
:param pulumi.Input[str] display_name: The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.
|
57
|
-
:param pulumi.Input[bool] enable_access_logging: If true, private endpoint's access logs are sent to Cloud Logging.
|
58
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] reserved_ip_ranges: A list of reserved ip ranges under the VPC network that can be used for this DeployedIndex.
|
59
|
-
If set, we will deploy the index within the provided ip ranges. Otherwise, the index might be deployed to any ip ranges under the provided VPC network.
|
60
|
-
The value should be the name of the address (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) Example: ['vertex-ai-ip-range'].
|
61
|
-
For more information about subnets and network IP ranges, please see https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges.
|
62
|
-
"""
|
63
|
-
pulumi.set(__self__, "deployed_index_id", deployed_index_id)
|
64
|
-
pulumi.set(__self__, "index", index)
|
65
|
-
pulumi.set(__self__, "index_endpoint", index_endpoint)
|
66
|
-
if automatic_resources is not None:
|
67
|
-
pulumi.set(__self__, "automatic_resources", automatic_resources)
|
68
|
-
if dedicated_resources is not None:
|
69
|
-
pulumi.set(__self__, "dedicated_resources", dedicated_resources)
|
70
|
-
if deployed_index_auth_config is not None:
|
71
|
-
pulumi.set(__self__, "deployed_index_auth_config", deployed_index_auth_config)
|
72
|
-
if deployment_group is not None:
|
73
|
-
pulumi.set(__self__, "deployment_group", deployment_group)
|
74
|
-
if display_name is not None:
|
75
|
-
pulumi.set(__self__, "display_name", display_name)
|
76
|
-
if enable_access_logging is not None:
|
77
|
-
pulumi.set(__self__, "enable_access_logging", enable_access_logging)
|
78
|
-
if reserved_ip_ranges is not None:
|
79
|
-
pulumi.set(__self__, "reserved_ip_ranges", reserved_ip_ranges)
|
80
|
-
|
81
|
-
@property
|
82
|
-
@pulumi.getter(name="deployedIndexId")
|
83
|
-
def deployed_index_id(self) -> pulumi.Input[str]:
|
84
|
-
"""
|
85
|
-
The user specified ID of the DeployedIndex. The ID can be up to 128 characters long and must start with a letter and only contain letters, numbers, and underscores. The ID must be unique within the project it is created in.
|
86
|
-
"""
|
87
|
-
return pulumi.get(self, "deployed_index_id")
|
88
|
-
|
89
|
-
@deployed_index_id.setter
|
90
|
-
def deployed_index_id(self, value: pulumi.Input[str]):
|
91
|
-
pulumi.set(self, "deployed_index_id", value)
|
92
|
-
|
93
|
-
@property
|
94
|
-
@pulumi.getter
|
95
|
-
def index(self) -> pulumi.Input[str]:
|
96
|
-
"""
|
97
|
-
The name of the Index this is the deployment of.
|
98
|
-
"""
|
99
|
-
return pulumi.get(self, "index")
|
100
|
-
|
101
|
-
@index.setter
|
102
|
-
def index(self, value: pulumi.Input[str]):
|
103
|
-
pulumi.set(self, "index", value)
|
104
|
-
|
105
|
-
@property
|
106
|
-
@pulumi.getter(name="indexEndpoint")
|
107
|
-
def index_endpoint(self) -> pulumi.Input[str]:
|
108
|
-
"""
|
109
|
-
Identifies the index endpoint. Must be in the format
|
110
|
-
'projects/{{project}}/locations/{{region}}/indexEndpoints/{{indexEndpoint}}'
|
111
|
-
|
112
|
-
|
113
|
-
- - -
|
114
|
-
"""
|
115
|
-
return pulumi.get(self, "index_endpoint")
|
116
|
-
|
117
|
-
@index_endpoint.setter
|
118
|
-
def index_endpoint(self, value: pulumi.Input[str]):
|
119
|
-
pulumi.set(self, "index_endpoint", value)
|
120
|
-
|
121
|
-
@property
|
122
|
-
@pulumi.getter(name="automaticResources")
|
123
|
-
def automatic_resources(self) -> Optional[pulumi.Input['AiIndexEndpointDeployedIndexAutomaticResourcesArgs']]:
|
124
|
-
"""
|
125
|
-
A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration.
|
126
|
-
Structure is documented below.
|
127
|
-
"""
|
128
|
-
return pulumi.get(self, "automatic_resources")
|
129
|
-
|
130
|
-
@automatic_resources.setter
|
131
|
-
def automatic_resources(self, value: Optional[pulumi.Input['AiIndexEndpointDeployedIndexAutomaticResourcesArgs']]):
|
132
|
-
pulumi.set(self, "automatic_resources", value)
|
133
|
-
|
134
|
-
@property
|
135
|
-
@pulumi.getter(name="dedicatedResources")
|
136
|
-
def dedicated_resources(self) -> Optional[pulumi.Input['AiIndexEndpointDeployedIndexDedicatedResourcesArgs']]:
|
137
|
-
"""
|
138
|
-
A description of resources that are dedicated to the DeployedIndex, and that need a higher degree of manual configuration. The field minReplicaCount must be set to a value strictly greater than 0, or else validation will fail. We don't provide SLA when minReplicaCount=1. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000.
|
139
|
-
Available machine types for SMALL shard: e2-standard-2 and all machine types available for MEDIUM and LARGE shard.
|
140
|
-
Available machine types for MEDIUM shard: e2-standard-16 and all machine types available for LARGE shard.
|
141
|
-
Available machine types for LARGE shard: e2-highmem-16, n2d-standard-32.
|
142
|
-
n1-standard-16 and n1-standard-32 are still available, but we recommend e2-standard-16 and e2-highmem-16 for cost efficiency.
|
143
|
-
Structure is documented below.
|
144
|
-
"""
|
145
|
-
return pulumi.get(self, "dedicated_resources")
|
146
|
-
|
147
|
-
@dedicated_resources.setter
|
148
|
-
def dedicated_resources(self, value: Optional[pulumi.Input['AiIndexEndpointDeployedIndexDedicatedResourcesArgs']]):
|
149
|
-
pulumi.set(self, "dedicated_resources", value)
|
150
|
-
|
151
|
-
@property
|
152
|
-
@pulumi.getter(name="deployedIndexAuthConfig")
|
153
|
-
def deployed_index_auth_config(self) -> Optional[pulumi.Input['AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs']]:
|
154
|
-
"""
|
155
|
-
If set, the authentication is enabled for the private endpoint.
|
156
|
-
Structure is documented below.
|
157
|
-
"""
|
158
|
-
return pulumi.get(self, "deployed_index_auth_config")
|
159
|
-
|
160
|
-
@deployed_index_auth_config.setter
|
161
|
-
def deployed_index_auth_config(self, value: Optional[pulumi.Input['AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs']]):
|
162
|
-
pulumi.set(self, "deployed_index_auth_config", value)
|
163
|
-
|
164
|
-
@property
|
165
|
-
@pulumi.getter(name="deploymentGroup")
|
166
|
-
def deployment_group(self) -> Optional[pulumi.Input[str]]:
|
167
|
-
"""
|
168
|
-
The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group.
|
169
|
-
Creating deployment_groups with reserved_ip_ranges is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. [See the official documentation here](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.indexEndpoints#DeployedIndex.FIELDS.deployment_group).
|
170
|
-
Note: we only support up to 5 deployment groups (not including 'default').
|
171
|
-
"""
|
172
|
-
return pulumi.get(self, "deployment_group")
|
173
|
-
|
174
|
-
@deployment_group.setter
|
175
|
-
def deployment_group(self, value: Optional[pulumi.Input[str]]):
|
176
|
-
pulumi.set(self, "deployment_group", value)
|
177
|
-
|
178
|
-
@property
|
179
|
-
@pulumi.getter(name="displayName")
|
180
|
-
def display_name(self) -> Optional[pulumi.Input[str]]:
|
181
|
-
"""
|
182
|
-
The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.
|
183
|
-
"""
|
184
|
-
return pulumi.get(self, "display_name")
|
185
|
-
|
186
|
-
@display_name.setter
|
187
|
-
def display_name(self, value: Optional[pulumi.Input[str]]):
|
188
|
-
pulumi.set(self, "display_name", value)
|
189
|
-
|
190
|
-
@property
|
191
|
-
@pulumi.getter(name="enableAccessLogging")
|
192
|
-
def enable_access_logging(self) -> Optional[pulumi.Input[bool]]:
|
193
|
-
"""
|
194
|
-
If true, private endpoint's access logs are sent to Cloud Logging.
|
195
|
-
"""
|
196
|
-
return pulumi.get(self, "enable_access_logging")
|
197
|
-
|
198
|
-
@enable_access_logging.setter
|
199
|
-
def enable_access_logging(self, value: Optional[pulumi.Input[bool]]):
|
200
|
-
pulumi.set(self, "enable_access_logging", value)
|
201
|
-
|
202
|
-
@property
|
203
|
-
@pulumi.getter(name="reservedIpRanges")
|
204
|
-
def reserved_ip_ranges(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
205
|
-
"""
|
206
|
-
A list of reserved ip ranges under the VPC network that can be used for this DeployedIndex.
|
207
|
-
If set, we will deploy the index within the provided ip ranges. Otherwise, the index might be deployed to any ip ranges under the provided VPC network.
|
208
|
-
The value should be the name of the address (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) Example: ['vertex-ai-ip-range'].
|
209
|
-
For more information about subnets and network IP ranges, please see https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges.
|
210
|
-
"""
|
211
|
-
return pulumi.get(self, "reserved_ip_ranges")
|
212
|
-
|
213
|
-
@reserved_ip_ranges.setter
|
214
|
-
def reserved_ip_ranges(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
215
|
-
pulumi.set(self, "reserved_ip_ranges", value)
|
216
|
-
|
217
|
-
|
218
|
-
@pulumi.input_type
|
219
|
-
class _AiIndexEndpointDeployedIndexState:
|
220
|
-
def __init__(__self__, *,
|
221
|
-
automatic_resources: Optional[pulumi.Input['AiIndexEndpointDeployedIndexAutomaticResourcesArgs']] = None,
|
222
|
-
create_time: Optional[pulumi.Input[str]] = None,
|
223
|
-
dedicated_resources: Optional[pulumi.Input['AiIndexEndpointDeployedIndexDedicatedResourcesArgs']] = None,
|
224
|
-
deployed_index_auth_config: Optional[pulumi.Input['AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs']] = None,
|
225
|
-
deployed_index_id: Optional[pulumi.Input[str]] = None,
|
226
|
-
deployment_group: Optional[pulumi.Input[str]] = None,
|
227
|
-
display_name: Optional[pulumi.Input[str]] = None,
|
228
|
-
enable_access_logging: Optional[pulumi.Input[bool]] = None,
|
229
|
-
index: Optional[pulumi.Input[str]] = None,
|
230
|
-
index_endpoint: Optional[pulumi.Input[str]] = None,
|
231
|
-
index_sync_time: Optional[pulumi.Input[str]] = None,
|
232
|
-
name: Optional[pulumi.Input[str]] = None,
|
233
|
-
private_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input['AiIndexEndpointDeployedIndexPrivateEndpointArgs']]]] = None,
|
234
|
-
reserved_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
|
235
|
-
"""
|
236
|
-
Input properties used for looking up and filtering AiIndexEndpointDeployedIndex resources.
|
237
|
-
:param pulumi.Input['AiIndexEndpointDeployedIndexAutomaticResourcesArgs'] automatic_resources: A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration.
|
238
|
-
Structure is documented below.
|
239
|
-
:param pulumi.Input[str] create_time: The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
|
240
|
-
:param pulumi.Input['AiIndexEndpointDeployedIndexDedicatedResourcesArgs'] dedicated_resources: A description of resources that are dedicated to the DeployedIndex, and that need a higher degree of manual configuration. The field minReplicaCount must be set to a value strictly greater than 0, or else validation will fail. We don't provide SLA when minReplicaCount=1. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000.
|
241
|
-
Available machine types for SMALL shard: e2-standard-2 and all machine types available for MEDIUM and LARGE shard.
|
242
|
-
Available machine types for MEDIUM shard: e2-standard-16 and all machine types available for LARGE shard.
|
243
|
-
Available machine types for LARGE shard: e2-highmem-16, n2d-standard-32.
|
244
|
-
n1-standard-16 and n1-standard-32 are still available, but we recommend e2-standard-16 and e2-highmem-16 for cost efficiency.
|
245
|
-
Structure is documented below.
|
246
|
-
:param pulumi.Input['AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs'] deployed_index_auth_config: If set, the authentication is enabled for the private endpoint.
|
247
|
-
Structure is documented below.
|
248
|
-
:param pulumi.Input[str] deployed_index_id: The user specified ID of the DeployedIndex. The ID can be up to 128 characters long and must start with a letter and only contain letters, numbers, and underscores. The ID must be unique within the project it is created in.
|
249
|
-
:param pulumi.Input[str] deployment_group: The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group.
|
250
|
-
Creating deployment_groups with reserved_ip_ranges is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. [See the official documentation here](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.indexEndpoints#DeployedIndex.FIELDS.deployment_group).
|
251
|
-
Note: we only support up to 5 deployment groups (not including 'default').
|
252
|
-
:param pulumi.Input[str] display_name: The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.
|
253
|
-
:param pulumi.Input[bool] enable_access_logging: If true, private endpoint's access logs are sent to Cloud Logging.
|
254
|
-
:param pulumi.Input[str] index: The name of the Index this is the deployment of.
|
255
|
-
:param pulumi.Input[str] index_endpoint: Identifies the index endpoint. Must be in the format
|
256
|
-
'projects/{{project}}/locations/{{region}}/indexEndpoints/{{indexEndpoint}}'
|
257
|
-
|
258
|
-
|
259
|
-
- - -
|
260
|
-
:param pulumi.Input[str] index_sync_time: The DeployedIndex may depend on various data on its original Index. Additionally when certain changes to the original Index are being done (e.g. when what the Index contains is being changed) the DeployedIndex may be asynchronously updated in the background to reflect these changes. If this timestamp's value is at least the [Index.update_time](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.indexes#Index.FIELDS.update_time) of the original Index, it means that this DeployedIndex and the original Index are in sync. If this timestamp is older, then to see which updates this DeployedIndex already contains (and which it does not), one must [list](https://cloud.google.com/vertex-ai/docs/reference/rest/v1beta1/projects.locations.operations/list#google.longrunning.Operations.ListOperations) the operations that are running on the original Index. Only the successfully completed Operations with updateTime equal or before this sync time are contained in this DeployedIndex.
|
261
|
-
A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
|
262
|
-
:param pulumi.Input[str] name: The name of the DeployedIndex resource.
|
263
|
-
:param pulumi.Input[Sequence[pulumi.Input['AiIndexEndpointDeployedIndexPrivateEndpointArgs']]] private_endpoints: Provides paths for users to send requests directly to the deployed index services running on Cloud via private services access. This field is populated if [network](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.indexEndpoints#IndexEndpoint.FIELDS.network) is configured.
|
264
|
-
Structure is documented below.
|
265
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] reserved_ip_ranges: A list of reserved ip ranges under the VPC network that can be used for this DeployedIndex.
|
266
|
-
If set, we will deploy the index within the provided ip ranges. Otherwise, the index might be deployed to any ip ranges under the provided VPC network.
|
267
|
-
The value should be the name of the address (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) Example: ['vertex-ai-ip-range'].
|
268
|
-
For more information about subnets and network IP ranges, please see https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges.
|
269
|
-
"""
|
270
|
-
if automatic_resources is not None:
|
271
|
-
pulumi.set(__self__, "automatic_resources", automatic_resources)
|
272
|
-
if create_time is not None:
|
273
|
-
pulumi.set(__self__, "create_time", create_time)
|
274
|
-
if dedicated_resources is not None:
|
275
|
-
pulumi.set(__self__, "dedicated_resources", dedicated_resources)
|
276
|
-
if deployed_index_auth_config is not None:
|
277
|
-
pulumi.set(__self__, "deployed_index_auth_config", deployed_index_auth_config)
|
278
|
-
if deployed_index_id is not None:
|
279
|
-
pulumi.set(__self__, "deployed_index_id", deployed_index_id)
|
280
|
-
if deployment_group is not None:
|
281
|
-
pulumi.set(__self__, "deployment_group", deployment_group)
|
282
|
-
if display_name is not None:
|
283
|
-
pulumi.set(__self__, "display_name", display_name)
|
284
|
-
if enable_access_logging is not None:
|
285
|
-
pulumi.set(__self__, "enable_access_logging", enable_access_logging)
|
286
|
-
if index is not None:
|
287
|
-
pulumi.set(__self__, "index", index)
|
288
|
-
if index_endpoint is not None:
|
289
|
-
pulumi.set(__self__, "index_endpoint", index_endpoint)
|
290
|
-
if index_sync_time is not None:
|
291
|
-
pulumi.set(__self__, "index_sync_time", index_sync_time)
|
292
|
-
if name is not None:
|
293
|
-
pulumi.set(__self__, "name", name)
|
294
|
-
if private_endpoints is not None:
|
295
|
-
pulumi.set(__self__, "private_endpoints", private_endpoints)
|
296
|
-
if reserved_ip_ranges is not None:
|
297
|
-
pulumi.set(__self__, "reserved_ip_ranges", reserved_ip_ranges)
|
298
|
-
|
299
|
-
@property
|
300
|
-
@pulumi.getter(name="automaticResources")
|
301
|
-
def automatic_resources(self) -> Optional[pulumi.Input['AiIndexEndpointDeployedIndexAutomaticResourcesArgs']]:
|
302
|
-
"""
|
303
|
-
A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration.
|
304
|
-
Structure is documented below.
|
305
|
-
"""
|
306
|
-
return pulumi.get(self, "automatic_resources")
|
307
|
-
|
308
|
-
@automatic_resources.setter
|
309
|
-
def automatic_resources(self, value: Optional[pulumi.Input['AiIndexEndpointDeployedIndexAutomaticResourcesArgs']]):
|
310
|
-
pulumi.set(self, "automatic_resources", value)
|
311
|
-
|
312
|
-
@property
|
313
|
-
@pulumi.getter(name="createTime")
|
314
|
-
def create_time(self) -> Optional[pulumi.Input[str]]:
|
315
|
-
"""
|
316
|
-
The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
|
317
|
-
"""
|
318
|
-
return pulumi.get(self, "create_time")
|
319
|
-
|
320
|
-
@create_time.setter
|
321
|
-
def create_time(self, value: Optional[pulumi.Input[str]]):
|
322
|
-
pulumi.set(self, "create_time", value)
|
323
|
-
|
324
|
-
@property
|
325
|
-
@pulumi.getter(name="dedicatedResources")
|
326
|
-
def dedicated_resources(self) -> Optional[pulumi.Input['AiIndexEndpointDeployedIndexDedicatedResourcesArgs']]:
|
327
|
-
"""
|
328
|
-
A description of resources that are dedicated to the DeployedIndex, and that need a higher degree of manual configuration. The field minReplicaCount must be set to a value strictly greater than 0, or else validation will fail. We don't provide SLA when minReplicaCount=1. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000.
|
329
|
-
Available machine types for SMALL shard: e2-standard-2 and all machine types available for MEDIUM and LARGE shard.
|
330
|
-
Available machine types for MEDIUM shard: e2-standard-16 and all machine types available for LARGE shard.
|
331
|
-
Available machine types for LARGE shard: e2-highmem-16, n2d-standard-32.
|
332
|
-
n1-standard-16 and n1-standard-32 are still available, but we recommend e2-standard-16 and e2-highmem-16 for cost efficiency.
|
333
|
-
Structure is documented below.
|
334
|
-
"""
|
335
|
-
return pulumi.get(self, "dedicated_resources")
|
336
|
-
|
337
|
-
@dedicated_resources.setter
|
338
|
-
def dedicated_resources(self, value: Optional[pulumi.Input['AiIndexEndpointDeployedIndexDedicatedResourcesArgs']]):
|
339
|
-
pulumi.set(self, "dedicated_resources", value)
|
340
|
-
|
341
|
-
@property
|
342
|
-
@pulumi.getter(name="deployedIndexAuthConfig")
|
343
|
-
def deployed_index_auth_config(self) -> Optional[pulumi.Input['AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs']]:
|
344
|
-
"""
|
345
|
-
If set, the authentication is enabled for the private endpoint.
|
346
|
-
Structure is documented below.
|
347
|
-
"""
|
348
|
-
return pulumi.get(self, "deployed_index_auth_config")
|
349
|
-
|
350
|
-
@deployed_index_auth_config.setter
|
351
|
-
def deployed_index_auth_config(self, value: Optional[pulumi.Input['AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs']]):
|
352
|
-
pulumi.set(self, "deployed_index_auth_config", value)
|
353
|
-
|
354
|
-
@property
|
355
|
-
@pulumi.getter(name="deployedIndexId")
|
356
|
-
def deployed_index_id(self) -> Optional[pulumi.Input[str]]:
|
357
|
-
"""
|
358
|
-
The user specified ID of the DeployedIndex. The ID can be up to 128 characters long and must start with a letter and only contain letters, numbers, and underscores. The ID must be unique within the project it is created in.
|
359
|
-
"""
|
360
|
-
return pulumi.get(self, "deployed_index_id")
|
361
|
-
|
362
|
-
@deployed_index_id.setter
|
363
|
-
def deployed_index_id(self, value: Optional[pulumi.Input[str]]):
|
364
|
-
pulumi.set(self, "deployed_index_id", value)
|
365
|
-
|
366
|
-
@property
|
367
|
-
@pulumi.getter(name="deploymentGroup")
|
368
|
-
def deployment_group(self) -> Optional[pulumi.Input[str]]:
|
369
|
-
"""
|
370
|
-
The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group.
|
371
|
-
Creating deployment_groups with reserved_ip_ranges is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. [See the official documentation here](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.indexEndpoints#DeployedIndex.FIELDS.deployment_group).
|
372
|
-
Note: we only support up to 5 deployment groups (not including 'default').
|
373
|
-
"""
|
374
|
-
return pulumi.get(self, "deployment_group")
|
375
|
-
|
376
|
-
@deployment_group.setter
|
377
|
-
def deployment_group(self, value: Optional[pulumi.Input[str]]):
|
378
|
-
pulumi.set(self, "deployment_group", value)
|
379
|
-
|
380
|
-
@property
|
381
|
-
@pulumi.getter(name="displayName")
|
382
|
-
def display_name(self) -> Optional[pulumi.Input[str]]:
|
383
|
-
"""
|
384
|
-
The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.
|
385
|
-
"""
|
386
|
-
return pulumi.get(self, "display_name")
|
387
|
-
|
388
|
-
@display_name.setter
|
389
|
-
def display_name(self, value: Optional[pulumi.Input[str]]):
|
390
|
-
pulumi.set(self, "display_name", value)
|
391
|
-
|
392
|
-
@property
|
393
|
-
@pulumi.getter(name="enableAccessLogging")
|
394
|
-
def enable_access_logging(self) -> Optional[pulumi.Input[bool]]:
|
395
|
-
"""
|
396
|
-
If true, private endpoint's access logs are sent to Cloud Logging.
|
397
|
-
"""
|
398
|
-
return pulumi.get(self, "enable_access_logging")
|
399
|
-
|
400
|
-
@enable_access_logging.setter
|
401
|
-
def enable_access_logging(self, value: Optional[pulumi.Input[bool]]):
|
402
|
-
pulumi.set(self, "enable_access_logging", value)
|
403
|
-
|
404
|
-
@property
|
405
|
-
@pulumi.getter
|
406
|
-
def index(self) -> Optional[pulumi.Input[str]]:
|
407
|
-
"""
|
408
|
-
The name of the Index this is the deployment of.
|
409
|
-
"""
|
410
|
-
return pulumi.get(self, "index")
|
411
|
-
|
412
|
-
@index.setter
|
413
|
-
def index(self, value: Optional[pulumi.Input[str]]):
|
414
|
-
pulumi.set(self, "index", value)
|
415
|
-
|
416
|
-
@property
|
417
|
-
@pulumi.getter(name="indexEndpoint")
|
418
|
-
def index_endpoint(self) -> Optional[pulumi.Input[str]]:
|
419
|
-
"""
|
420
|
-
Identifies the index endpoint. Must be in the format
|
421
|
-
'projects/{{project}}/locations/{{region}}/indexEndpoints/{{indexEndpoint}}'
|
422
|
-
|
423
|
-
|
424
|
-
- - -
|
425
|
-
"""
|
426
|
-
return pulumi.get(self, "index_endpoint")
|
427
|
-
|
428
|
-
@index_endpoint.setter
|
429
|
-
def index_endpoint(self, value: Optional[pulumi.Input[str]]):
|
430
|
-
pulumi.set(self, "index_endpoint", value)
|
431
|
-
|
432
|
-
@property
|
433
|
-
@pulumi.getter(name="indexSyncTime")
|
434
|
-
def index_sync_time(self) -> Optional[pulumi.Input[str]]:
|
435
|
-
"""
|
436
|
-
The DeployedIndex may depend on various data on its original Index. Additionally when certain changes to the original Index are being done (e.g. when what the Index contains is being changed) the DeployedIndex may be asynchronously updated in the background to reflect these changes. If this timestamp's value is at least the [Index.update_time](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.indexes#Index.FIELDS.update_time) of the original Index, it means that this DeployedIndex and the original Index are in sync. If this timestamp is older, then to see which updates this DeployedIndex already contains (and which it does not), one must [list](https://cloud.google.com/vertex-ai/docs/reference/rest/v1beta1/projects.locations.operations/list#google.longrunning.Operations.ListOperations) the operations that are running on the original Index. Only the successfully completed Operations with updateTime equal or before this sync time are contained in this DeployedIndex.
|
437
|
-
A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
|
438
|
-
"""
|
439
|
-
return pulumi.get(self, "index_sync_time")
|
440
|
-
|
441
|
-
@index_sync_time.setter
|
442
|
-
def index_sync_time(self, value: Optional[pulumi.Input[str]]):
|
443
|
-
pulumi.set(self, "index_sync_time", value)
|
444
|
-
|
445
|
-
@property
|
446
|
-
@pulumi.getter
|
447
|
-
def name(self) -> Optional[pulumi.Input[str]]:
|
448
|
-
"""
|
449
|
-
The name of the DeployedIndex resource.
|
450
|
-
"""
|
451
|
-
return pulumi.get(self, "name")
|
452
|
-
|
453
|
-
@name.setter
|
454
|
-
def name(self, value: Optional[pulumi.Input[str]]):
|
455
|
-
pulumi.set(self, "name", value)
|
456
|
-
|
457
|
-
@property
|
458
|
-
@pulumi.getter(name="privateEndpoints")
|
459
|
-
def private_endpoints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AiIndexEndpointDeployedIndexPrivateEndpointArgs']]]]:
|
460
|
-
"""
|
461
|
-
Provides paths for users to send requests directly to the deployed index services running on Cloud via private services access. This field is populated if [network](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.indexEndpoints#IndexEndpoint.FIELDS.network) is configured.
|
462
|
-
Structure is documented below.
|
463
|
-
"""
|
464
|
-
return pulumi.get(self, "private_endpoints")
|
465
|
-
|
466
|
-
@private_endpoints.setter
|
467
|
-
def private_endpoints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AiIndexEndpointDeployedIndexPrivateEndpointArgs']]]]):
|
468
|
-
pulumi.set(self, "private_endpoints", value)
|
469
|
-
|
470
|
-
@property
|
471
|
-
@pulumi.getter(name="reservedIpRanges")
|
472
|
-
def reserved_ip_ranges(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
473
|
-
"""
|
474
|
-
A list of reserved ip ranges under the VPC network that can be used for this DeployedIndex.
|
475
|
-
If set, we will deploy the index within the provided ip ranges. Otherwise, the index might be deployed to any ip ranges under the provided VPC network.
|
476
|
-
The value should be the name of the address (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) Example: ['vertex-ai-ip-range'].
|
477
|
-
For more information about subnets and network IP ranges, please see https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges.
|
478
|
-
"""
|
479
|
-
return pulumi.get(self, "reserved_ip_ranges")
|
480
|
-
|
481
|
-
@reserved_ip_ranges.setter
|
482
|
-
def reserved_ip_ranges(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
483
|
-
pulumi.set(self, "reserved_ip_ranges", value)
|
484
|
-
|
485
|
-
|
486
|
-
class AiIndexEndpointDeployedIndex(pulumi.CustomResource):
|
487
|
-
@overload
|
488
|
-
def __init__(__self__,
|
489
|
-
resource_name: str,
|
490
|
-
opts: Optional[pulumi.ResourceOptions] = None,
|
491
|
-
automatic_resources: Optional[pulumi.Input[Union['AiIndexEndpointDeployedIndexAutomaticResourcesArgs', 'AiIndexEndpointDeployedIndexAutomaticResourcesArgsDict']]] = None,
|
492
|
-
dedicated_resources: Optional[pulumi.Input[Union['AiIndexEndpointDeployedIndexDedicatedResourcesArgs', 'AiIndexEndpointDeployedIndexDedicatedResourcesArgsDict']]] = None,
|
493
|
-
deployed_index_auth_config: Optional[pulumi.Input[Union['AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs', 'AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgsDict']]] = None,
|
494
|
-
deployed_index_id: Optional[pulumi.Input[str]] = None,
|
495
|
-
deployment_group: Optional[pulumi.Input[str]] = None,
|
496
|
-
display_name: Optional[pulumi.Input[str]] = None,
|
497
|
-
enable_access_logging: Optional[pulumi.Input[bool]] = None,
|
498
|
-
index: Optional[pulumi.Input[str]] = None,
|
499
|
-
index_endpoint: Optional[pulumi.Input[str]] = None,
|
500
|
-
reserved_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
501
|
-
__props__=None):
|
502
|
-
"""
|
503
|
-
An endpoint indexes are deployed into. An index endpoint can have multiple deployed indexes.
|
504
|
-
|
505
|
-
To get more information about IndexEndpointDeployedIndex, see:
|
506
|
-
|
507
|
-
* [API documentation](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.indexEndpoints#DeployedIndex)
|
508
|
-
|
509
|
-
## Example Usage
|
510
|
-
|
511
|
-
### Vertex Ai Index Endpoint Deployed Index Basic
|
512
|
-
|
513
|
-
```python
|
514
|
-
import pulumi
|
515
|
-
import pulumi_gcp as gcp
|
516
|
-
|
517
|
-
sa = gcp.serviceaccount.Account("sa", account_id="vertex-sa")
|
518
|
-
bucket = gcp.storage.Bucket("bucket",
|
519
|
-
name="bucket-name",
|
520
|
-
location="us-central1",
|
521
|
-
uniform_bucket_level_access=True)
|
522
|
-
index = gcp.vertex.AiIndex("index",
|
523
|
-
labels={
|
524
|
-
"foo": "bar",
|
525
|
-
},
|
526
|
-
region="us-central1",
|
527
|
-
display_name="test-index",
|
528
|
-
description="index for test",
|
529
|
-
metadata={
|
530
|
-
"contents_delta_uri": bucket.name.apply(lambda name: f"gs://{name}/contents"),
|
531
|
-
"config": {
|
532
|
-
"dimensions": 2,
|
533
|
-
"approximate_neighbors_count": 150,
|
534
|
-
"shard_size": "SHARD_SIZE_SMALL",
|
535
|
-
"distance_measure_type": "DOT_PRODUCT_DISTANCE",
|
536
|
-
"algorithm_config": {
|
537
|
-
"tree_ah_config": {
|
538
|
-
"leaf_node_embedding_count": 500,
|
539
|
-
"leaf_nodes_to_search_percent": 7,
|
540
|
-
},
|
541
|
-
},
|
542
|
-
},
|
543
|
-
},
|
544
|
-
index_update_method="BATCH_UPDATE")
|
545
|
-
vertex_network = gcp.compute.get_network(name="network-name")
|
546
|
-
project = gcp.organizations.get_project()
|
547
|
-
vertex_index_endpoint_deployed = gcp.vertex.AiIndexEndpoint("vertex_index_endpoint_deployed",
|
548
|
-
display_name="sample-endpoint",
|
549
|
-
description="A sample vertex endpoint",
|
550
|
-
region="us-central1",
|
551
|
-
labels={
|
552
|
-
"label-one": "value-one",
|
553
|
-
},
|
554
|
-
network=f"projects/{project.number}/global/networks/{vertex_network.name}")
|
555
|
-
basic_deployed_index = gcp.vertex.AiIndexEndpointDeployedIndex("basic_deployed_index",
|
556
|
-
index_endpoint=vertex_index_endpoint_deployed.id,
|
557
|
-
index=index.id,
|
558
|
-
deployed_index_id="deployed_index_id",
|
559
|
-
reserved_ip_ranges=["vertex-ai-range"],
|
560
|
-
enable_access_logging=False,
|
561
|
-
display_name="vertex-deployed-index",
|
562
|
-
deployed_index_auth_config={
|
563
|
-
"auth_provider": {
|
564
|
-
"audiences": ["123456-my-app"],
|
565
|
-
"allowed_issuers": [sa.email],
|
566
|
-
},
|
567
|
-
},
|
568
|
-
opts = pulumi.ResourceOptions(depends_on=[
|
569
|
-
vertex_index_endpoint_deployed,
|
570
|
-
sa,
|
571
|
-
]))
|
572
|
-
# The sample data comes from the following link:
|
573
|
-
# https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
|
574
|
-
data = gcp.storage.BucketObject("data",
|
575
|
-
name="contents/data.json",
|
576
|
-
bucket=bucket.name,
|
577
|
-
content=\"\"\"{"id": "42", "embedding": [0.5, 1.0], "restricts": [{"namespace": "class", "allow": ["cat", "pet"]},{"namespace": "category", "allow": ["feline"]}]}
|
578
|
-
{"id": "43", "embedding": [0.6, 1.0], "restricts": [{"namespace": "class", "allow": ["dog", "pet"]},{"namespace": "category", "allow": ["canine"]}]}
|
579
|
-
\"\"\")
|
580
|
-
```
|
581
|
-
### Vertex Ai Index Endpoint Deployed Index Basic Two
|
582
|
-
|
583
|
-
```python
|
584
|
-
import pulumi
|
585
|
-
import pulumi_gcp as gcp
|
586
|
-
|
587
|
-
sa = gcp.serviceaccount.Account("sa", account_id="vertex-sa")
|
588
|
-
bucket = gcp.storage.Bucket("bucket",
|
589
|
-
name="bucket-name",
|
590
|
-
location="us-central1",
|
591
|
-
uniform_bucket_level_access=True)
|
592
|
-
index = gcp.vertex.AiIndex("index",
|
593
|
-
labels={
|
594
|
-
"foo": "bar",
|
595
|
-
},
|
596
|
-
region="us-central1",
|
597
|
-
display_name="test-index",
|
598
|
-
description="index for test",
|
599
|
-
metadata={
|
600
|
-
"contents_delta_uri": bucket.name.apply(lambda name: f"gs://{name}/contents"),
|
601
|
-
"config": {
|
602
|
-
"dimensions": 2,
|
603
|
-
"approximate_neighbors_count": 150,
|
604
|
-
"shard_size": "SHARD_SIZE_SMALL",
|
605
|
-
"distance_measure_type": "DOT_PRODUCT_DISTANCE",
|
606
|
-
"algorithm_config": {
|
607
|
-
"tree_ah_config": {
|
608
|
-
"leaf_node_embedding_count": 500,
|
609
|
-
"leaf_nodes_to_search_percent": 7,
|
610
|
-
},
|
611
|
-
},
|
612
|
-
},
|
613
|
-
},
|
614
|
-
index_update_method="BATCH_UPDATE")
|
615
|
-
vertex_network = gcp.compute.get_network(name="network-name")
|
616
|
-
project = gcp.organizations.get_project()
|
617
|
-
vertex_index_endpoint_deployed = gcp.vertex.AiIndexEndpoint("vertex_index_endpoint_deployed",
|
618
|
-
display_name="sample-endpoint",
|
619
|
-
description="A sample vertex endpoint",
|
620
|
-
region="us-central1",
|
621
|
-
labels={
|
622
|
-
"label-one": "value-one",
|
623
|
-
},
|
624
|
-
network=f"projects/{project.number}/global/networks/{vertex_network.name}")
|
625
|
-
basic_deployed_index = gcp.vertex.AiIndexEndpointDeployedIndex("basic_deployed_index",
|
626
|
-
index_endpoint=vertex_index_endpoint_deployed.id,
|
627
|
-
index=index.id,
|
628
|
-
deployed_index_id="deployed_index_id",
|
629
|
-
reserved_ip_ranges=["vertex-ai-range"],
|
630
|
-
enable_access_logging=False,
|
631
|
-
display_name="vertex-deployed-index",
|
632
|
-
deployed_index_auth_config={
|
633
|
-
"auth_provider": {
|
634
|
-
"audiences": ["123456-my-app"],
|
635
|
-
"allowed_issuers": [sa.email],
|
636
|
-
},
|
637
|
-
},
|
638
|
-
automatic_resources={
|
639
|
-
"max_replica_count": 4,
|
640
|
-
},
|
641
|
-
opts = pulumi.ResourceOptions(depends_on=[
|
642
|
-
vertex_index_endpoint_deployed,
|
643
|
-
sa,
|
644
|
-
]))
|
645
|
-
# The sample data comes from the following link:
|
646
|
-
# https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
|
647
|
-
data = gcp.storage.BucketObject("data",
|
648
|
-
name="contents/data.json",
|
649
|
-
bucket=bucket.name,
|
650
|
-
content=\"\"\"{"id": "42", "embedding": [0.5, 1.0], "restricts": [{"namespace": "class", "allow": ["cat", "pet"]},{"namespace": "category", "allow": ["feline"]}]}
|
651
|
-
{"id": "43", "embedding": [0.6, 1.0], "restricts": [{"namespace": "class", "allow": ["dog", "pet"]},{"namespace": "category", "allow": ["canine"]}]}
|
652
|
-
\"\"\")
|
653
|
-
```
|
654
|
-
|
655
|
-
## Import
|
656
|
-
|
657
|
-
IndexEndpointDeployedIndex can be imported using any of these accepted formats:
|
658
|
-
|
659
|
-
* `projects/{{project}}/locations/{{region}}/indexEndpoints/{{index_endpoint}}/deployedIndex/{{deployed_index_id}}`
|
660
|
-
|
661
|
-
* `{{project}}/{{region}}/{{index_endpoint}}/{{deployed_index_id}}`
|
662
|
-
|
663
|
-
* `{{region}}/{{index_endpoint}}/{{deployed_index_id}}`
|
664
|
-
|
665
|
-
* `{{index_endpoint}}/{{deployed_index_id}}`
|
666
|
-
|
667
|
-
When using the `pulumi import` command, IndexEndpointDeployedIndex can be imported using one of the formats above. For example:
|
668
|
-
|
669
|
-
```sh
|
670
|
-
$ pulumi import gcp:vertex/aiIndexEndpointDeployedIndex:AiIndexEndpointDeployedIndex default projects/{{project}}/locations/{{region}}/indexEndpoints/{{index_endpoint}}/deployedIndex/{{deployed_index_id}}
|
671
|
-
```
|
672
|
-
|
673
|
-
```sh
|
674
|
-
$ pulumi import gcp:vertex/aiIndexEndpointDeployedIndex:AiIndexEndpointDeployedIndex default {{project}}/{{region}}/{{index_endpoint}}/{{deployed_index_id}}
|
675
|
-
```
|
676
|
-
|
677
|
-
```sh
|
678
|
-
$ pulumi import gcp:vertex/aiIndexEndpointDeployedIndex:AiIndexEndpointDeployedIndex default {{region}}/{{index_endpoint}}/{{deployed_index_id}}
|
679
|
-
```
|
680
|
-
|
681
|
-
```sh
|
682
|
-
$ pulumi import gcp:vertex/aiIndexEndpointDeployedIndex:AiIndexEndpointDeployedIndex default {{index_endpoint}}/{{deployed_index_id}}
|
683
|
-
```
|
684
|
-
|
685
|
-
:param str resource_name: The name of the resource.
|
686
|
-
:param pulumi.ResourceOptions opts: Options for the resource.
|
687
|
-
:param pulumi.Input[Union['AiIndexEndpointDeployedIndexAutomaticResourcesArgs', 'AiIndexEndpointDeployedIndexAutomaticResourcesArgsDict']] automatic_resources: A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration.
|
688
|
-
Structure is documented below.
|
689
|
-
:param pulumi.Input[Union['AiIndexEndpointDeployedIndexDedicatedResourcesArgs', 'AiIndexEndpointDeployedIndexDedicatedResourcesArgsDict']] dedicated_resources: A description of resources that are dedicated to the DeployedIndex, and that need a higher degree of manual configuration. The field minReplicaCount must be set to a value strictly greater than 0, or else validation will fail. We don't provide SLA when minReplicaCount=1. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000.
|
690
|
-
Available machine types for SMALL shard: e2-standard-2 and all machine types available for MEDIUM and LARGE shard.
|
691
|
-
Available machine types for MEDIUM shard: e2-standard-16 and all machine types available for LARGE shard.
|
692
|
-
Available machine types for LARGE shard: e2-highmem-16, n2d-standard-32.
|
693
|
-
n1-standard-16 and n1-standard-32 are still available, but we recommend e2-standard-16 and e2-highmem-16 for cost efficiency.
|
694
|
-
Structure is documented below.
|
695
|
-
:param pulumi.Input[Union['AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs', 'AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgsDict']] deployed_index_auth_config: If set, the authentication is enabled for the private endpoint.
|
696
|
-
Structure is documented below.
|
697
|
-
:param pulumi.Input[str] deployed_index_id: The user specified ID of the DeployedIndex. The ID can be up to 128 characters long and must start with a letter and only contain letters, numbers, and underscores. The ID must be unique within the project it is created in.
|
698
|
-
:param pulumi.Input[str] deployment_group: The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group.
|
699
|
-
Creating deployment_groups with reserved_ip_ranges is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. [See the official documentation here](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.indexEndpoints#DeployedIndex.FIELDS.deployment_group).
|
700
|
-
Note: we only support up to 5 deployment groups (not including 'default').
|
701
|
-
:param pulumi.Input[str] display_name: The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.
|
702
|
-
:param pulumi.Input[bool] enable_access_logging: If true, private endpoint's access logs are sent to Cloud Logging.
|
703
|
-
:param pulumi.Input[str] index: The name of the Index this is the deployment of.
|
704
|
-
:param pulumi.Input[str] index_endpoint: Identifies the index endpoint. Must be in the format
|
705
|
-
'projects/{{project}}/locations/{{region}}/indexEndpoints/{{indexEndpoint}}'
|
706
|
-
|
707
|
-
|
708
|
-
- - -
|
709
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] reserved_ip_ranges: A list of reserved ip ranges under the VPC network that can be used for this DeployedIndex.
|
710
|
-
If set, we will deploy the index within the provided ip ranges. Otherwise, the index might be deployed to any ip ranges under the provided VPC network.
|
711
|
-
The value should be the name of the address (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) Example: ['vertex-ai-ip-range'].
|
712
|
-
For more information about subnets and network IP ranges, please see https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges.
|
713
|
-
"""
|
714
|
-
...
|
715
|
-
@overload
|
716
|
-
def __init__(__self__,
|
717
|
-
resource_name: str,
|
718
|
-
args: AiIndexEndpointDeployedIndexArgs,
|
719
|
-
opts: Optional[pulumi.ResourceOptions] = None):
|
720
|
-
"""
|
721
|
-
An endpoint indexes are deployed into. An index endpoint can have multiple deployed indexes.
|
722
|
-
|
723
|
-
To get more information about IndexEndpointDeployedIndex, see:
|
724
|
-
|
725
|
-
* [API documentation](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.indexEndpoints#DeployedIndex)
|
726
|
-
|
727
|
-
## Example Usage
|
728
|
-
|
729
|
-
### Vertex Ai Index Endpoint Deployed Index Basic
|
730
|
-
|
731
|
-
```python
|
732
|
-
import pulumi
|
733
|
-
import pulumi_gcp as gcp
|
734
|
-
|
735
|
-
sa = gcp.serviceaccount.Account("sa", account_id="vertex-sa")
|
736
|
-
bucket = gcp.storage.Bucket("bucket",
|
737
|
-
name="bucket-name",
|
738
|
-
location="us-central1",
|
739
|
-
uniform_bucket_level_access=True)
|
740
|
-
index = gcp.vertex.AiIndex("index",
|
741
|
-
labels={
|
742
|
-
"foo": "bar",
|
743
|
-
},
|
744
|
-
region="us-central1",
|
745
|
-
display_name="test-index",
|
746
|
-
description="index for test",
|
747
|
-
metadata={
|
748
|
-
"contents_delta_uri": bucket.name.apply(lambda name: f"gs://{name}/contents"),
|
749
|
-
"config": {
|
750
|
-
"dimensions": 2,
|
751
|
-
"approximate_neighbors_count": 150,
|
752
|
-
"shard_size": "SHARD_SIZE_SMALL",
|
753
|
-
"distance_measure_type": "DOT_PRODUCT_DISTANCE",
|
754
|
-
"algorithm_config": {
|
755
|
-
"tree_ah_config": {
|
756
|
-
"leaf_node_embedding_count": 500,
|
757
|
-
"leaf_nodes_to_search_percent": 7,
|
758
|
-
},
|
759
|
-
},
|
760
|
-
},
|
761
|
-
},
|
762
|
-
index_update_method="BATCH_UPDATE")
|
763
|
-
vertex_network = gcp.compute.get_network(name="network-name")
|
764
|
-
project = gcp.organizations.get_project()
|
765
|
-
vertex_index_endpoint_deployed = gcp.vertex.AiIndexEndpoint("vertex_index_endpoint_deployed",
|
766
|
-
display_name="sample-endpoint",
|
767
|
-
description="A sample vertex endpoint",
|
768
|
-
region="us-central1",
|
769
|
-
labels={
|
770
|
-
"label-one": "value-one",
|
771
|
-
},
|
772
|
-
network=f"projects/{project.number}/global/networks/{vertex_network.name}")
|
773
|
-
basic_deployed_index = gcp.vertex.AiIndexEndpointDeployedIndex("basic_deployed_index",
|
774
|
-
index_endpoint=vertex_index_endpoint_deployed.id,
|
775
|
-
index=index.id,
|
776
|
-
deployed_index_id="deployed_index_id",
|
777
|
-
reserved_ip_ranges=["vertex-ai-range"],
|
778
|
-
enable_access_logging=False,
|
779
|
-
display_name="vertex-deployed-index",
|
780
|
-
deployed_index_auth_config={
|
781
|
-
"auth_provider": {
|
782
|
-
"audiences": ["123456-my-app"],
|
783
|
-
"allowed_issuers": [sa.email],
|
784
|
-
},
|
785
|
-
},
|
786
|
-
opts = pulumi.ResourceOptions(depends_on=[
|
787
|
-
vertex_index_endpoint_deployed,
|
788
|
-
sa,
|
789
|
-
]))
|
790
|
-
# The sample data comes from the following link:
|
791
|
-
# https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
|
792
|
-
data = gcp.storage.BucketObject("data",
|
793
|
-
name="contents/data.json",
|
794
|
-
bucket=bucket.name,
|
795
|
-
content=\"\"\"{"id": "42", "embedding": [0.5, 1.0], "restricts": [{"namespace": "class", "allow": ["cat", "pet"]},{"namespace": "category", "allow": ["feline"]}]}
|
796
|
-
{"id": "43", "embedding": [0.6, 1.0], "restricts": [{"namespace": "class", "allow": ["dog", "pet"]},{"namespace": "category", "allow": ["canine"]}]}
|
797
|
-
\"\"\")
|
798
|
-
```
|
799
|
-
### Vertex Ai Index Endpoint Deployed Index Basic Two
|
800
|
-
|
801
|
-
```python
|
802
|
-
import pulumi
|
803
|
-
import pulumi_gcp as gcp
|
804
|
-
|
805
|
-
sa = gcp.serviceaccount.Account("sa", account_id="vertex-sa")
|
806
|
-
bucket = gcp.storage.Bucket("bucket",
|
807
|
-
name="bucket-name",
|
808
|
-
location="us-central1",
|
809
|
-
uniform_bucket_level_access=True)
|
810
|
-
index = gcp.vertex.AiIndex("index",
|
811
|
-
labels={
|
812
|
-
"foo": "bar",
|
813
|
-
},
|
814
|
-
region="us-central1",
|
815
|
-
display_name="test-index",
|
816
|
-
description="index for test",
|
817
|
-
metadata={
|
818
|
-
"contents_delta_uri": bucket.name.apply(lambda name: f"gs://{name}/contents"),
|
819
|
-
"config": {
|
820
|
-
"dimensions": 2,
|
821
|
-
"approximate_neighbors_count": 150,
|
822
|
-
"shard_size": "SHARD_SIZE_SMALL",
|
823
|
-
"distance_measure_type": "DOT_PRODUCT_DISTANCE",
|
824
|
-
"algorithm_config": {
|
825
|
-
"tree_ah_config": {
|
826
|
-
"leaf_node_embedding_count": 500,
|
827
|
-
"leaf_nodes_to_search_percent": 7,
|
828
|
-
},
|
829
|
-
},
|
830
|
-
},
|
831
|
-
},
|
832
|
-
index_update_method="BATCH_UPDATE")
|
833
|
-
vertex_network = gcp.compute.get_network(name="network-name")
|
834
|
-
project = gcp.organizations.get_project()
|
835
|
-
vertex_index_endpoint_deployed = gcp.vertex.AiIndexEndpoint("vertex_index_endpoint_deployed",
|
836
|
-
display_name="sample-endpoint",
|
837
|
-
description="A sample vertex endpoint",
|
838
|
-
region="us-central1",
|
839
|
-
labels={
|
840
|
-
"label-one": "value-one",
|
841
|
-
},
|
842
|
-
network=f"projects/{project.number}/global/networks/{vertex_network.name}")
|
843
|
-
basic_deployed_index = gcp.vertex.AiIndexEndpointDeployedIndex("basic_deployed_index",
|
844
|
-
index_endpoint=vertex_index_endpoint_deployed.id,
|
845
|
-
index=index.id,
|
846
|
-
deployed_index_id="deployed_index_id",
|
847
|
-
reserved_ip_ranges=["vertex-ai-range"],
|
848
|
-
enable_access_logging=False,
|
849
|
-
display_name="vertex-deployed-index",
|
850
|
-
deployed_index_auth_config={
|
851
|
-
"auth_provider": {
|
852
|
-
"audiences": ["123456-my-app"],
|
853
|
-
"allowed_issuers": [sa.email],
|
854
|
-
},
|
855
|
-
},
|
856
|
-
automatic_resources={
|
857
|
-
"max_replica_count": 4,
|
858
|
-
},
|
859
|
-
opts = pulumi.ResourceOptions(depends_on=[
|
860
|
-
vertex_index_endpoint_deployed,
|
861
|
-
sa,
|
862
|
-
]))
|
863
|
-
# The sample data comes from the following link:
|
864
|
-
# https://cloud.google.com/vertex-ai/docs/matching-engine/filtering#specify-namespaces-tokens
|
865
|
-
data = gcp.storage.BucketObject("data",
|
866
|
-
name="contents/data.json",
|
867
|
-
bucket=bucket.name,
|
868
|
-
content=\"\"\"{"id": "42", "embedding": [0.5, 1.0], "restricts": [{"namespace": "class", "allow": ["cat", "pet"]},{"namespace": "category", "allow": ["feline"]}]}
|
869
|
-
{"id": "43", "embedding": [0.6, 1.0], "restricts": [{"namespace": "class", "allow": ["dog", "pet"]},{"namespace": "category", "allow": ["canine"]}]}
|
870
|
-
\"\"\")
|
871
|
-
```
|
872
|
-
|
873
|
-
## Import
|
874
|
-
|
875
|
-
IndexEndpointDeployedIndex can be imported using any of these accepted formats:
|
876
|
-
|
877
|
-
* `projects/{{project}}/locations/{{region}}/indexEndpoints/{{index_endpoint}}/deployedIndex/{{deployed_index_id}}`
|
878
|
-
|
879
|
-
* `{{project}}/{{region}}/{{index_endpoint}}/{{deployed_index_id}}`
|
880
|
-
|
881
|
-
* `{{region}}/{{index_endpoint}}/{{deployed_index_id}}`
|
882
|
-
|
883
|
-
* `{{index_endpoint}}/{{deployed_index_id}}`
|
884
|
-
|
885
|
-
When using the `pulumi import` command, IndexEndpointDeployedIndex can be imported using one of the formats above. For example:
|
886
|
-
|
887
|
-
```sh
|
888
|
-
$ pulumi import gcp:vertex/aiIndexEndpointDeployedIndex:AiIndexEndpointDeployedIndex default projects/{{project}}/locations/{{region}}/indexEndpoints/{{index_endpoint}}/deployedIndex/{{deployed_index_id}}
|
889
|
-
```
|
890
|
-
|
891
|
-
```sh
|
892
|
-
$ pulumi import gcp:vertex/aiIndexEndpointDeployedIndex:AiIndexEndpointDeployedIndex default {{project}}/{{region}}/{{index_endpoint}}/{{deployed_index_id}}
|
893
|
-
```
|
894
|
-
|
895
|
-
```sh
|
896
|
-
$ pulumi import gcp:vertex/aiIndexEndpointDeployedIndex:AiIndexEndpointDeployedIndex default {{region}}/{{index_endpoint}}/{{deployed_index_id}}
|
897
|
-
```
|
898
|
-
|
899
|
-
```sh
|
900
|
-
$ pulumi import gcp:vertex/aiIndexEndpointDeployedIndex:AiIndexEndpointDeployedIndex default {{index_endpoint}}/{{deployed_index_id}}
|
901
|
-
```
|
902
|
-
|
903
|
-
:param str resource_name: The name of the resource.
|
904
|
-
:param AiIndexEndpointDeployedIndexArgs args: The arguments to use to populate this resource's properties.
|
905
|
-
:param pulumi.ResourceOptions opts: Options for the resource.
|
906
|
-
"""
|
907
|
-
...
|
908
|
-
def __init__(__self__, resource_name: str, *args, **kwargs):
|
909
|
-
resource_args, opts = _utilities.get_resource_args_opts(AiIndexEndpointDeployedIndexArgs, pulumi.ResourceOptions, *args, **kwargs)
|
910
|
-
if resource_args is not None:
|
911
|
-
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
912
|
-
else:
|
913
|
-
__self__._internal_init(resource_name, *args, **kwargs)
|
914
|
-
|
915
|
-
def _internal_init(__self__,
|
916
|
-
resource_name: str,
|
917
|
-
opts: Optional[pulumi.ResourceOptions] = None,
|
918
|
-
automatic_resources: Optional[pulumi.Input[Union['AiIndexEndpointDeployedIndexAutomaticResourcesArgs', 'AiIndexEndpointDeployedIndexAutomaticResourcesArgsDict']]] = None,
|
919
|
-
dedicated_resources: Optional[pulumi.Input[Union['AiIndexEndpointDeployedIndexDedicatedResourcesArgs', 'AiIndexEndpointDeployedIndexDedicatedResourcesArgsDict']]] = None,
|
920
|
-
deployed_index_auth_config: Optional[pulumi.Input[Union['AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs', 'AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgsDict']]] = None,
|
921
|
-
deployed_index_id: Optional[pulumi.Input[str]] = None,
|
922
|
-
deployment_group: Optional[pulumi.Input[str]] = None,
|
923
|
-
display_name: Optional[pulumi.Input[str]] = None,
|
924
|
-
enable_access_logging: Optional[pulumi.Input[bool]] = None,
|
925
|
-
index: Optional[pulumi.Input[str]] = None,
|
926
|
-
index_endpoint: Optional[pulumi.Input[str]] = None,
|
927
|
-
reserved_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
928
|
-
__props__=None):
|
929
|
-
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
930
|
-
if not isinstance(opts, pulumi.ResourceOptions):
|
931
|
-
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
932
|
-
if opts.id is None:
|
933
|
-
if __props__ is not None:
|
934
|
-
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
935
|
-
__props__ = AiIndexEndpointDeployedIndexArgs.__new__(AiIndexEndpointDeployedIndexArgs)
|
936
|
-
|
937
|
-
__props__.__dict__["automatic_resources"] = automatic_resources
|
938
|
-
__props__.__dict__["dedicated_resources"] = dedicated_resources
|
939
|
-
__props__.__dict__["deployed_index_auth_config"] = deployed_index_auth_config
|
940
|
-
if deployed_index_id is None and not opts.urn:
|
941
|
-
raise TypeError("Missing required property 'deployed_index_id'")
|
942
|
-
__props__.__dict__["deployed_index_id"] = deployed_index_id
|
943
|
-
__props__.__dict__["deployment_group"] = deployment_group
|
944
|
-
__props__.__dict__["display_name"] = display_name
|
945
|
-
__props__.__dict__["enable_access_logging"] = enable_access_logging
|
946
|
-
if index is None and not opts.urn:
|
947
|
-
raise TypeError("Missing required property 'index'")
|
948
|
-
__props__.__dict__["index"] = index
|
949
|
-
if index_endpoint is None and not opts.urn:
|
950
|
-
raise TypeError("Missing required property 'index_endpoint'")
|
951
|
-
__props__.__dict__["index_endpoint"] = index_endpoint
|
952
|
-
__props__.__dict__["reserved_ip_ranges"] = reserved_ip_ranges
|
953
|
-
__props__.__dict__["create_time"] = None
|
954
|
-
__props__.__dict__["index_sync_time"] = None
|
955
|
-
__props__.__dict__["name"] = None
|
956
|
-
__props__.__dict__["private_endpoints"] = None
|
957
|
-
super(AiIndexEndpointDeployedIndex, __self__).__init__(
|
958
|
-
'gcp:vertex/aiIndexEndpointDeployedIndex:AiIndexEndpointDeployedIndex',
|
959
|
-
resource_name,
|
960
|
-
__props__,
|
961
|
-
opts)
|
962
|
-
|
963
|
-
@staticmethod
|
964
|
-
def get(resource_name: str,
|
965
|
-
id: pulumi.Input[str],
|
966
|
-
opts: Optional[pulumi.ResourceOptions] = None,
|
967
|
-
automatic_resources: Optional[pulumi.Input[Union['AiIndexEndpointDeployedIndexAutomaticResourcesArgs', 'AiIndexEndpointDeployedIndexAutomaticResourcesArgsDict']]] = None,
|
968
|
-
create_time: Optional[pulumi.Input[str]] = None,
|
969
|
-
dedicated_resources: Optional[pulumi.Input[Union['AiIndexEndpointDeployedIndexDedicatedResourcesArgs', 'AiIndexEndpointDeployedIndexDedicatedResourcesArgsDict']]] = None,
|
970
|
-
deployed_index_auth_config: Optional[pulumi.Input[Union['AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs', 'AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgsDict']]] = None,
|
971
|
-
deployed_index_id: Optional[pulumi.Input[str]] = None,
|
972
|
-
deployment_group: Optional[pulumi.Input[str]] = None,
|
973
|
-
display_name: Optional[pulumi.Input[str]] = None,
|
974
|
-
enable_access_logging: Optional[pulumi.Input[bool]] = None,
|
975
|
-
index: Optional[pulumi.Input[str]] = None,
|
976
|
-
index_endpoint: Optional[pulumi.Input[str]] = None,
|
977
|
-
index_sync_time: Optional[pulumi.Input[str]] = None,
|
978
|
-
name: Optional[pulumi.Input[str]] = None,
|
979
|
-
private_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AiIndexEndpointDeployedIndexPrivateEndpointArgs', 'AiIndexEndpointDeployedIndexPrivateEndpointArgsDict']]]]] = None,
|
980
|
-
reserved_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'AiIndexEndpointDeployedIndex':
|
981
|
-
"""
|
982
|
-
Get an existing AiIndexEndpointDeployedIndex resource's state with the given name, id, and optional extra
|
983
|
-
properties used to qualify the lookup.
|
984
|
-
|
985
|
-
:param str resource_name: The unique name of the resulting resource.
|
986
|
-
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
987
|
-
:param pulumi.ResourceOptions opts: Options for the resource.
|
988
|
-
:param pulumi.Input[Union['AiIndexEndpointDeployedIndexAutomaticResourcesArgs', 'AiIndexEndpointDeployedIndexAutomaticResourcesArgsDict']] automatic_resources: A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration.
|
989
|
-
Structure is documented below.
|
990
|
-
:param pulumi.Input[str] create_time: The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
|
991
|
-
:param pulumi.Input[Union['AiIndexEndpointDeployedIndexDedicatedResourcesArgs', 'AiIndexEndpointDeployedIndexDedicatedResourcesArgsDict']] dedicated_resources: A description of resources that are dedicated to the DeployedIndex, and that need a higher degree of manual configuration. The field minReplicaCount must be set to a value strictly greater than 0, or else validation will fail. We don't provide SLA when minReplicaCount=1. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000.
|
992
|
-
Available machine types for SMALL shard: e2-standard-2 and all machine types available for MEDIUM and LARGE shard.
|
993
|
-
Available machine types for MEDIUM shard: e2-standard-16 and all machine types available for LARGE shard.
|
994
|
-
Available machine types for LARGE shard: e2-highmem-16, n2d-standard-32.
|
995
|
-
n1-standard-16 and n1-standard-32 are still available, but we recommend e2-standard-16 and e2-highmem-16 for cost efficiency.
|
996
|
-
Structure is documented below.
|
997
|
-
:param pulumi.Input[Union['AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs', 'AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgsDict']] deployed_index_auth_config: If set, the authentication is enabled for the private endpoint.
|
998
|
-
Structure is documented below.
|
999
|
-
:param pulumi.Input[str] deployed_index_id: The user specified ID of the DeployedIndex. The ID can be up to 128 characters long and must start with a letter and only contain letters, numbers, and underscores. The ID must be unique within the project it is created in.
|
1000
|
-
:param pulumi.Input[str] deployment_group: The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group.
|
1001
|
-
Creating deployment_groups with reserved_ip_ranges is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. [See the official documentation here](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.indexEndpoints#DeployedIndex.FIELDS.deployment_group).
|
1002
|
-
Note: we only support up to 5 deployment groups (not including 'default').
|
1003
|
-
:param pulumi.Input[str] display_name: The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.
|
1004
|
-
:param pulumi.Input[bool] enable_access_logging: If true, private endpoint's access logs are sent to Cloud Logging.
|
1005
|
-
:param pulumi.Input[str] index: The name of the Index this is the deployment of.
|
1006
|
-
:param pulumi.Input[str] index_endpoint: Identifies the index endpoint. Must be in the format
|
1007
|
-
'projects/{{project}}/locations/{{region}}/indexEndpoints/{{indexEndpoint}}'
|
1008
|
-
|
1009
|
-
|
1010
|
-
- - -
|
1011
|
-
:param pulumi.Input[str] index_sync_time: The DeployedIndex may depend on various data on its original Index. Additionally when certain changes to the original Index are being done (e.g. when what the Index contains is being changed) the DeployedIndex may be asynchronously updated in the background to reflect these changes. If this timestamp's value is at least the [Index.update_time](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.indexes#Index.FIELDS.update_time) of the original Index, it means that this DeployedIndex and the original Index are in sync. If this timestamp is older, then to see which updates this DeployedIndex already contains (and which it does not), one must [list](https://cloud.google.com/vertex-ai/docs/reference/rest/v1beta1/projects.locations.operations/list#google.longrunning.Operations.ListOperations) the operations that are running on the original Index. Only the successfully completed Operations with updateTime equal or before this sync time are contained in this DeployedIndex.
|
1012
|
-
A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
|
1013
|
-
:param pulumi.Input[str] name: The name of the DeployedIndex resource.
|
1014
|
-
:param pulumi.Input[Sequence[pulumi.Input[Union['AiIndexEndpointDeployedIndexPrivateEndpointArgs', 'AiIndexEndpointDeployedIndexPrivateEndpointArgsDict']]]] private_endpoints: Provides paths for users to send requests directly to the deployed index services running on Cloud via private services access. This field is populated if [network](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.indexEndpoints#IndexEndpoint.FIELDS.network) is configured.
|
1015
|
-
Structure is documented below.
|
1016
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] reserved_ip_ranges: A list of reserved ip ranges under the VPC network that can be used for this DeployedIndex.
|
1017
|
-
If set, we will deploy the index within the provided ip ranges. Otherwise, the index might be deployed to any ip ranges under the provided VPC network.
|
1018
|
-
The value should be the name of the address (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) Example: ['vertex-ai-ip-range'].
|
1019
|
-
For more information about subnets and network IP ranges, please see https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges.
|
1020
|
-
"""
|
1021
|
-
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
1022
|
-
|
1023
|
-
__props__ = _AiIndexEndpointDeployedIndexState.__new__(_AiIndexEndpointDeployedIndexState)
|
1024
|
-
|
1025
|
-
__props__.__dict__["automatic_resources"] = automatic_resources
|
1026
|
-
__props__.__dict__["create_time"] = create_time
|
1027
|
-
__props__.__dict__["dedicated_resources"] = dedicated_resources
|
1028
|
-
__props__.__dict__["deployed_index_auth_config"] = deployed_index_auth_config
|
1029
|
-
__props__.__dict__["deployed_index_id"] = deployed_index_id
|
1030
|
-
__props__.__dict__["deployment_group"] = deployment_group
|
1031
|
-
__props__.__dict__["display_name"] = display_name
|
1032
|
-
__props__.__dict__["enable_access_logging"] = enable_access_logging
|
1033
|
-
__props__.__dict__["index"] = index
|
1034
|
-
__props__.__dict__["index_endpoint"] = index_endpoint
|
1035
|
-
__props__.__dict__["index_sync_time"] = index_sync_time
|
1036
|
-
__props__.__dict__["name"] = name
|
1037
|
-
__props__.__dict__["private_endpoints"] = private_endpoints
|
1038
|
-
__props__.__dict__["reserved_ip_ranges"] = reserved_ip_ranges
|
1039
|
-
return AiIndexEndpointDeployedIndex(resource_name, opts=opts, __props__=__props__)
|
1040
|
-
|
1041
|
-
@property
|
1042
|
-
@pulumi.getter(name="automaticResources")
|
1043
|
-
def automatic_resources(self) -> pulumi.Output['outputs.AiIndexEndpointDeployedIndexAutomaticResources']:
|
1044
|
-
"""
|
1045
|
-
A description of resources that the DeployedIndex uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration.
|
1046
|
-
Structure is documented below.
|
1047
|
-
"""
|
1048
|
-
return pulumi.get(self, "automatic_resources")
|
1049
|
-
|
1050
|
-
@property
|
1051
|
-
@pulumi.getter(name="createTime")
|
1052
|
-
def create_time(self) -> pulumi.Output[str]:
|
1053
|
-
"""
|
1054
|
-
The timestamp of when the Index was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
|
1055
|
-
"""
|
1056
|
-
return pulumi.get(self, "create_time")
|
1057
|
-
|
1058
|
-
@property
|
1059
|
-
@pulumi.getter(name="dedicatedResources")
|
1060
|
-
def dedicated_resources(self) -> pulumi.Output[Optional['outputs.AiIndexEndpointDeployedIndexDedicatedResources']]:
|
1061
|
-
"""
|
1062
|
-
A description of resources that are dedicated to the DeployedIndex, and that need a higher degree of manual configuration. The field minReplicaCount must be set to a value strictly greater than 0, or else validation will fail. We don't provide SLA when minReplicaCount=1. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000.
|
1063
|
-
Available machine types for SMALL shard: e2-standard-2 and all machine types available for MEDIUM and LARGE shard.
|
1064
|
-
Available machine types for MEDIUM shard: e2-standard-16 and all machine types available for LARGE shard.
|
1065
|
-
Available machine types for LARGE shard: e2-highmem-16, n2d-standard-32.
|
1066
|
-
n1-standard-16 and n1-standard-32 are still available, but we recommend e2-standard-16 and e2-highmem-16 for cost efficiency.
|
1067
|
-
Structure is documented below.
|
1068
|
-
"""
|
1069
|
-
return pulumi.get(self, "dedicated_resources")
|
1070
|
-
|
1071
|
-
@property
|
1072
|
-
@pulumi.getter(name="deployedIndexAuthConfig")
|
1073
|
-
def deployed_index_auth_config(self) -> pulumi.Output[Optional['outputs.AiIndexEndpointDeployedIndexDeployedIndexAuthConfig']]:
|
1074
|
-
"""
|
1075
|
-
If set, the authentication is enabled for the private endpoint.
|
1076
|
-
Structure is documented below.
|
1077
|
-
"""
|
1078
|
-
return pulumi.get(self, "deployed_index_auth_config")
|
1079
|
-
|
1080
|
-
@property
|
1081
|
-
@pulumi.getter(name="deployedIndexId")
|
1082
|
-
def deployed_index_id(self) -> pulumi.Output[str]:
|
1083
|
-
"""
|
1084
|
-
The user specified ID of the DeployedIndex. The ID can be up to 128 characters long and must start with a letter and only contain letters, numbers, and underscores. The ID must be unique within the project it is created in.
|
1085
|
-
"""
|
1086
|
-
return pulumi.get(self, "deployed_index_id")
|
1087
|
-
|
1088
|
-
@property
|
1089
|
-
@pulumi.getter(name="deploymentGroup")
|
1090
|
-
def deployment_group(self) -> pulumi.Output[Optional[str]]:
|
1091
|
-
"""
|
1092
|
-
The deployment group can be no longer than 64 characters (eg: 'test', 'prod'). If not set, we will use the 'default' deployment group.
|
1093
|
-
Creating deployment_groups with reserved_ip_ranges is a recommended practice when the peered network has multiple peering ranges. This creates your deployments from predictable IP spaces for easier traffic administration. Also, one deployment_group (except 'default') can only be used with the same reserved_ip_ranges which means if the deployment_group has been used with reserved_ip_ranges: [a, b, c], using it with [a, b] or [d, e] is disallowed. [See the official documentation here](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.indexEndpoints#DeployedIndex.FIELDS.deployment_group).
|
1094
|
-
Note: we only support up to 5 deployment groups (not including 'default').
|
1095
|
-
"""
|
1096
|
-
return pulumi.get(self, "deployment_group")
|
1097
|
-
|
1098
|
-
@property
|
1099
|
-
@pulumi.getter(name="displayName")
|
1100
|
-
def display_name(self) -> pulumi.Output[Optional[str]]:
|
1101
|
-
"""
|
1102
|
-
The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.
|
1103
|
-
"""
|
1104
|
-
return pulumi.get(self, "display_name")
|
1105
|
-
|
1106
|
-
@property
|
1107
|
-
@pulumi.getter(name="enableAccessLogging")
|
1108
|
-
def enable_access_logging(self) -> pulumi.Output[Optional[bool]]:
|
1109
|
-
"""
|
1110
|
-
If true, private endpoint's access logs are sent to Cloud Logging.
|
1111
|
-
"""
|
1112
|
-
return pulumi.get(self, "enable_access_logging")
|
1113
|
-
|
1114
|
-
@property
|
1115
|
-
@pulumi.getter
|
1116
|
-
def index(self) -> pulumi.Output[str]:
|
1117
|
-
"""
|
1118
|
-
The name of the Index this is the deployment of.
|
1119
|
-
"""
|
1120
|
-
return pulumi.get(self, "index")
|
1121
|
-
|
1122
|
-
@property
|
1123
|
-
@pulumi.getter(name="indexEndpoint")
|
1124
|
-
def index_endpoint(self) -> pulumi.Output[str]:
|
1125
|
-
"""
|
1126
|
-
Identifies the index endpoint. Must be in the format
|
1127
|
-
'projects/{{project}}/locations/{{region}}/indexEndpoints/{{indexEndpoint}}'
|
1128
|
-
|
1129
|
-
|
1130
|
-
- - -
|
1131
|
-
"""
|
1132
|
-
return pulumi.get(self, "index_endpoint")
|
1133
|
-
|
1134
|
-
@property
|
1135
|
-
@pulumi.getter(name="indexSyncTime")
|
1136
|
-
def index_sync_time(self) -> pulumi.Output[str]:
|
1137
|
-
"""
|
1138
|
-
The DeployedIndex may depend on various data on its original Index. Additionally when certain changes to the original Index are being done (e.g. when what the Index contains is being changed) the DeployedIndex may be asynchronously updated in the background to reflect these changes. If this timestamp's value is at least the [Index.update_time](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.indexes#Index.FIELDS.update_time) of the original Index, it means that this DeployedIndex and the original Index are in sync. If this timestamp is older, then to see which updates this DeployedIndex already contains (and which it does not), one must [list](https://cloud.google.com/vertex-ai/docs/reference/rest/v1beta1/projects.locations.operations/list#google.longrunning.Operations.ListOperations) the operations that are running on the original Index. Only the successfully completed Operations with updateTime equal or before this sync time are contained in this DeployedIndex.
|
1139
|
-
A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
|
1140
|
-
"""
|
1141
|
-
return pulumi.get(self, "index_sync_time")
|
1142
|
-
|
1143
|
-
@property
|
1144
|
-
@pulumi.getter
|
1145
|
-
def name(self) -> pulumi.Output[str]:
|
1146
|
-
"""
|
1147
|
-
The name of the DeployedIndex resource.
|
1148
|
-
"""
|
1149
|
-
return pulumi.get(self, "name")
|
1150
|
-
|
1151
|
-
@property
|
1152
|
-
@pulumi.getter(name="privateEndpoints")
|
1153
|
-
def private_endpoints(self) -> pulumi.Output[Sequence['outputs.AiIndexEndpointDeployedIndexPrivateEndpoint']]:
|
1154
|
-
"""
|
1155
|
-
Provides paths for users to send requests directly to the deployed index services running on Cloud via private services access. This field is populated if [network](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.indexEndpoints#IndexEndpoint.FIELDS.network) is configured.
|
1156
|
-
Structure is documented below.
|
1157
|
-
"""
|
1158
|
-
return pulumi.get(self, "private_endpoints")
|
1159
|
-
|
1160
|
-
@property
|
1161
|
-
@pulumi.getter(name="reservedIpRanges")
|
1162
|
-
def reserved_ip_ranges(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
1163
|
-
"""
|
1164
|
-
A list of reserved ip ranges under the VPC network that can be used for this DeployedIndex.
|
1165
|
-
If set, we will deploy the index within the provided ip ranges. Otherwise, the index might be deployed to any ip ranges under the provided VPC network.
|
1166
|
-
The value should be the name of the address (https://cloud.google.com/compute/docs/reference/rest/v1/addresses) Example: ['vertex-ai-ip-range'].
|
1167
|
-
For more information about subnets and network IP ranges, please see https://cloud.google.com/vpc/docs/subnets#manually_created_subnet_ip_ranges.
|
1168
|
-
"""
|
1169
|
-
return pulumi.get(self, "reserved_ip_ranges")
|
1170
|
-
|