pulumi-aws-native 1.38.0a1761803003__py3-none-any.whl → 1.38.0a1762272920__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.

Potentially problematic release.


This version of pulumi-aws-native might be problematic. Click here for more details.

Files changed (88) hide show
  1. pulumi_aws_native/__init__.py +17 -1
  2. pulumi_aws_native/appstream/get_image_builder.py +0 -4
  3. pulumi_aws_native/appstream/image_builder.py +0 -16
  4. pulumi_aws_native/aps/_inputs.py +58 -0
  5. pulumi_aws_native/aps/outputs.py +36 -0
  6. pulumi_aws_native/arcregionswitch/get_plan.py +0 -3
  7. pulumi_aws_native/arcregionswitch/plan.py +0 -3
  8. pulumi_aws_native/batch/_inputs.py +9 -0
  9. pulumi_aws_native/batch/job_definition.py +8 -0
  10. pulumi_aws_native/batch/outputs.py +6 -0
  11. pulumi_aws_native/bedrock/automated_reasoning_policy.py +51 -0
  12. pulumi_aws_native/bedrock/get_automated_reasoning_policy.py +12 -1
  13. pulumi_aws_native/bedrockagentcore/__init__.py +2 -0
  14. pulumi_aws_native/bedrockagentcore/get_workload_identity.py +134 -0
  15. pulumi_aws_native/bedrockagentcore/workload_identity.py +217 -0
  16. pulumi_aws_native/ce/_enums.py +3 -0
  17. pulumi_aws_native/cleanrooms/configured_table.py +4 -4
  18. pulumi_aws_native/cleanrooms/get_configured_table.py +1 -1
  19. pulumi_aws_native/cognito/__init__.py +2 -0
  20. pulumi_aws_native/cognito/_enums.py +12 -0
  21. pulumi_aws_native/cognito/get_terms.py +117 -0
  22. pulumi_aws_native/cognito/terms.py +236 -0
  23. pulumi_aws_native/connectcampaignsv2/_inputs.py +28 -0
  24. pulumi_aws_native/connectcampaignsv2/outputs.py +16 -0
  25. pulumi_aws_native/datazone/connection.py +30 -1
  26. pulumi_aws_native/ec2/get_volume.py +37 -15
  27. pulumi_aws_native/ec2/volume.py +115 -74
  28. pulumi_aws_native/ecs/_enums.py +9 -0
  29. pulumi_aws_native/ecs/_inputs.py +96 -15
  30. pulumi_aws_native/ecs/outputs.py +60 -10
  31. pulumi_aws_native/eks/_enums.py +11 -0
  32. pulumi_aws_native/eks/_inputs.py +199 -1
  33. pulumi_aws_native/eks/get_nodegroup.py +1 -0
  34. pulumi_aws_native/eks/nodegroup.py +1 -0
  35. pulumi_aws_native/eks/outputs.py +169 -1
  36. pulumi_aws_native/glue/__init__.py +2 -0
  37. pulumi_aws_native/glue/_inputs.py +134 -0
  38. pulumi_aws_native/glue/get_integration_resource_property.py +127 -0
  39. pulumi_aws_native/glue/integration_resource_property.py +229 -0
  40. pulumi_aws_native/glue/outputs.py +122 -0
  41. pulumi_aws_native/kendra/_inputs.py +21 -21
  42. pulumi_aws_native/kendra/outputs.py +14 -14
  43. pulumi_aws_native/networkfirewall/_inputs.py +7 -0
  44. pulumi_aws_native/networkfirewall/firewall.py +3 -0
  45. pulumi_aws_native/networkfirewall/get_firewall.py +3 -0
  46. pulumi_aws_native/networkfirewall/outputs.py +4 -0
  47. pulumi_aws_native/pulumi-plugin.json +1 -1
  48. pulumi_aws_native/qbusiness/_inputs.py +3 -3
  49. pulumi_aws_native/qbusiness/application.py +4 -4
  50. pulumi_aws_native/qbusiness/outputs.py +2 -2
  51. pulumi_aws_native/quicksight/_inputs.py +9 -9
  52. pulumi_aws_native/quicksight/outputs.py +6 -6
  53. pulumi_aws_native/rtbfabric/_enums.py +3 -0
  54. pulumi_aws_native/rtbfabric/_inputs.py +70 -0
  55. pulumi_aws_native/rtbfabric/get_link.py +18 -0
  56. pulumi_aws_native/rtbfabric/get_requester_gateway.py +15 -0
  57. pulumi_aws_native/rtbfabric/get_responder_gateway.py +30 -0
  58. pulumi_aws_native/rtbfabric/link.py +51 -0
  59. pulumi_aws_native/rtbfabric/outputs.py +46 -0
  60. pulumi_aws_native/rtbfabric/requester_gateway.py +40 -0
  61. pulumi_aws_native/rtbfabric/responder_gateway.py +80 -0
  62. pulumi_aws_native/s3/_enums.py +1 -1
  63. pulumi_aws_native/s3/_inputs.py +11 -5
  64. pulumi_aws_native/s3/outputs.py +10 -4
  65. pulumi_aws_native/s3vectors/__init__.py +17 -0
  66. pulumi_aws_native/s3vectors/_enums.py +39 -0
  67. pulumi_aws_native/s3vectors/_inputs.py +138 -0
  68. pulumi_aws_native/s3vectors/get_index.py +99 -0
  69. pulumi_aws_native/s3vectors/get_vector_bucket.py +99 -0
  70. pulumi_aws_native/s3vectors/get_vector_bucket_policy.py +78 -0
  71. pulumi_aws_native/s3vectors/index.py +367 -0
  72. pulumi_aws_native/s3vectors/outputs.py +129 -0
  73. pulumi_aws_native/s3vectors/vector_bucket.py +199 -0
  74. pulumi_aws_native/s3vectors/vector_bucket_policy.py +188 -0
  75. pulumi_aws_native/sso/_enums.py +1 -1
  76. pulumi_aws_native/sso/assignment.py +8 -8
  77. pulumi_aws_native/transfer/_inputs.py +9 -0
  78. pulumi_aws_native/transfer/connector.py +3 -0
  79. pulumi_aws_native/transfer/get_connector.py +3 -0
  80. pulumi_aws_native/transfer/outputs.py +6 -0
  81. pulumi_aws_native/wafv2/_inputs.py +72 -0
  82. pulumi_aws_native/wafv2/get_web_acl.py +15 -1
  83. pulumi_aws_native/wafv2/outputs.py +45 -0
  84. pulumi_aws_native/wafv2/web_acl.py +29 -0
  85. {pulumi_aws_native-1.38.0a1761803003.dist-info → pulumi_aws_native-1.38.0a1762272920.dist-info}/METADATA +1 -1
  86. {pulumi_aws_native-1.38.0a1761803003.dist-info → pulumi_aws_native-1.38.0a1762272920.dist-info}/RECORD +88 -72
  87. {pulumi_aws_native-1.38.0a1761803003.dist-info → pulumi_aws_native-1.38.0a1762272920.dist-info}/WHEEL +0 -0
  88. {pulumi_aws_native-1.38.0a1761803003.dist-info → pulumi_aws_native-1.38.0a1762272920.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,99 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+
17
+ __all__ = [
18
+ 'GetVectorBucketResult',
19
+ 'AwaitableGetVectorBucketResult',
20
+ 'get_vector_bucket',
21
+ 'get_vector_bucket_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetVectorBucketResult:
26
+ def __init__(__self__, creation_time=None, vector_bucket_arn=None):
27
+ if creation_time and not isinstance(creation_time, str):
28
+ raise TypeError("Expected argument 'creation_time' to be a str")
29
+ pulumi.set(__self__, "creation_time", creation_time)
30
+ if vector_bucket_arn and not isinstance(vector_bucket_arn, str):
31
+ raise TypeError("Expected argument 'vector_bucket_arn' to be a str")
32
+ pulumi.set(__self__, "vector_bucket_arn", vector_bucket_arn)
33
+
34
+ @_builtins.property
35
+ @pulumi.getter(name="creationTime")
36
+ def creation_time(self) -> Optional[_builtins.str]:
37
+ """
38
+ Returns the date and time when the vector bucket was created.
39
+
40
+ Example: `2024-12-21T10:30:00Z`
41
+ """
42
+ return pulumi.get(self, "creation_time")
43
+
44
+ @_builtins.property
45
+ @pulumi.getter(name="vectorBucketArn")
46
+ def vector_bucket_arn(self) -> Optional[_builtins.str]:
47
+ """
48
+ Returns the Amazon Resource Name (ARN) of the specified vector bucket.
49
+
50
+ Example: `arn:aws:s3vectors:us-east-1:123456789012:bucket/amzn-s3-demo-vector-bucket`
51
+ """
52
+ return pulumi.get(self, "vector_bucket_arn")
53
+
54
+
55
+ class AwaitableGetVectorBucketResult(GetVectorBucketResult):
56
+ # pylint: disable=using-constant-test
57
+ def __await__(self):
58
+ if False:
59
+ yield self
60
+ return GetVectorBucketResult(
61
+ creation_time=self.creation_time,
62
+ vector_bucket_arn=self.vector_bucket_arn)
63
+
64
+
65
+ def get_vector_bucket(vector_bucket_arn: Optional[_builtins.str] = None,
66
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVectorBucketResult:
67
+ """
68
+ Resource Type definition for AWS::S3Vectors::VectorBucket
69
+
70
+
71
+ :param _builtins.str vector_bucket_arn: Returns the Amazon Resource Name (ARN) of the specified vector bucket.
72
+
73
+ Example: `arn:aws:s3vectors:us-east-1:123456789012:bucket/amzn-s3-demo-vector-bucket`
74
+ """
75
+ __args__ = dict()
76
+ __args__['vectorBucketArn'] = vector_bucket_arn
77
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
78
+ __ret__ = pulumi.runtime.invoke('aws-native:s3vectors:getVectorBucket', __args__, opts=opts, typ=GetVectorBucketResult).value
79
+
80
+ return AwaitableGetVectorBucketResult(
81
+ creation_time=pulumi.get(__ret__, 'creation_time'),
82
+ vector_bucket_arn=pulumi.get(__ret__, 'vector_bucket_arn'))
83
+ def get_vector_bucket_output(vector_bucket_arn: Optional[pulumi.Input[_builtins.str]] = None,
84
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVectorBucketResult]:
85
+ """
86
+ Resource Type definition for AWS::S3Vectors::VectorBucket
87
+
88
+
89
+ :param _builtins.str vector_bucket_arn: Returns the Amazon Resource Name (ARN) of the specified vector bucket.
90
+
91
+ Example: `arn:aws:s3vectors:us-east-1:123456789012:bucket/amzn-s3-demo-vector-bucket`
92
+ """
93
+ __args__ = dict()
94
+ __args__['vectorBucketArn'] = vector_bucket_arn
95
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
96
+ __ret__ = pulumi.runtime.invoke_output('aws-native:s3vectors:getVectorBucket', __args__, opts=opts, typ=GetVectorBucketResult)
97
+ return __ret__.apply(lambda __response__: GetVectorBucketResult(
98
+ creation_time=pulumi.get(__response__, 'creation_time'),
99
+ vector_bucket_arn=pulumi.get(__response__, 'vector_bucket_arn')))
@@ -0,0 +1,78 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetVectorBucketPolicyResult',
20
+ 'AwaitableGetVectorBucketPolicyResult',
21
+ 'get_vector_bucket_policy',
22
+ 'get_vector_bucket_policy_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetVectorBucketPolicyResult:
27
+ def __init__(__self__, policy=None):
28
+ if policy and not isinstance(policy, dict):
29
+ raise TypeError("Expected argument 'policy' to be a dict")
30
+ pulumi.set(__self__, "policy", policy)
31
+
32
+ @_builtins.property
33
+ @pulumi.getter
34
+ def policy(self) -> Optional['outputs.VectorBucketPolicyPolicy']:
35
+ """
36
+ A policy document containing permissions to add to the specified vector bucket. In IAM , you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM .
37
+ """
38
+ return pulumi.get(self, "policy")
39
+
40
+
41
+ class AwaitableGetVectorBucketPolicyResult(GetVectorBucketPolicyResult):
42
+ # pylint: disable=using-constant-test
43
+ def __await__(self):
44
+ if False:
45
+ yield self
46
+ return GetVectorBucketPolicyResult(
47
+ policy=self.policy)
48
+
49
+
50
+ def get_vector_bucket_policy(vector_bucket_arn: Optional[_builtins.str] = None,
51
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVectorBucketPolicyResult:
52
+ """
53
+ Resource Type definition for AWS::S3Vectors::VectorBucketPolicy
54
+
55
+
56
+ :param _builtins.str vector_bucket_arn: The Amazon Resource Name (ARN) of the S3 vector bucket to which the policy applies.
57
+ """
58
+ __args__ = dict()
59
+ __args__['vectorBucketArn'] = vector_bucket_arn
60
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
61
+ __ret__ = pulumi.runtime.invoke('aws-native:s3vectors:getVectorBucketPolicy', __args__, opts=opts, typ=GetVectorBucketPolicyResult).value
62
+
63
+ return AwaitableGetVectorBucketPolicyResult(
64
+ policy=pulumi.get(__ret__, 'policy'))
65
+ def get_vector_bucket_policy_output(vector_bucket_arn: Optional[pulumi.Input[_builtins.str]] = None,
66
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVectorBucketPolicyResult]:
67
+ """
68
+ Resource Type definition for AWS::S3Vectors::VectorBucketPolicy
69
+
70
+
71
+ :param _builtins.str vector_bucket_arn: The Amazon Resource Name (ARN) of the S3 vector bucket to which the policy applies.
72
+ """
73
+ __args__ = dict()
74
+ __args__['vectorBucketArn'] = vector_bucket_arn
75
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
76
+ __ret__ = pulumi.runtime.invoke_output('aws-native:s3vectors:getVectorBucketPolicy', __args__, opts=opts, typ=GetVectorBucketPolicyResult)
77
+ return __ret__.apply(lambda __response__: GetVectorBucketPolicyResult(
78
+ policy=pulumi.get(__response__, 'policy')))
@@ -0,0 +1,367 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._enums import *
18
+ from ._inputs import *
19
+
20
+ __all__ = ['IndexArgs', 'Index']
21
+
22
+ @pulumi.input_type
23
+ class IndexArgs:
24
+ def __init__(__self__, *,
25
+ data_type: pulumi.Input['IndexDataType'],
26
+ dimension: pulumi.Input[_builtins.int],
27
+ distance_metric: pulumi.Input['IndexDistanceMetric'],
28
+ index_name: Optional[pulumi.Input[_builtins.str]] = None,
29
+ metadata_configuration: Optional[pulumi.Input['IndexMetadataConfigurationArgs']] = None,
30
+ vector_bucket_arn: Optional[pulumi.Input[_builtins.str]] = None,
31
+ vector_bucket_name: Optional[pulumi.Input[_builtins.str]] = None):
32
+ """
33
+ The set of arguments for constructing a Index resource.
34
+ :param pulumi.Input['IndexDataType'] data_type: The data type of the vectors to be inserted into the vector index. Currently, only `float32` is supported, which represents 32-bit floating-point numbers.
35
+ :param pulumi.Input[_builtins.int] dimension: The dimensions of the vectors to be inserted into the vector index. This value must be between 1 and 4096, inclusive. All vectors stored in the index must have the same number of dimensions.
36
+
37
+ The dimension value affects the storage requirements and search performance. Higher dimensions require more storage space and may impact search latency.
38
+ :param pulumi.Input['IndexDistanceMetric'] distance_metric: The distance metric to be used for similarity search. Valid values are:
39
+
40
+ - `cosine` - Measures the cosine of the angle between two vectors.
41
+ - `euclidean` - Measures the straight-line distance between two points in multi-dimensional space. Lower values indicate greater similarity.
42
+ :param pulumi.Input[_builtins.str] index_name: The name of the vector index to create. The index name must be between 3 and 63 characters long and can contain only lowercase letters, numbers, hyphens (-), and dots (.). The index name must be unique within the vector bucket.
43
+
44
+ If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the index name.
45
+
46
+ > If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.
47
+ :param pulumi.Input['IndexMetadataConfigurationArgs'] metadata_configuration: The metadata configuration for the vector index.
48
+ :param pulumi.Input[_builtins.str] vector_bucket_arn: The Amazon Resource Name (ARN) of the vector bucket that contains the vector index.
49
+ :param pulumi.Input[_builtins.str] vector_bucket_name: The name of the vector bucket that contains the vector index.
50
+ """
51
+ pulumi.set(__self__, "data_type", data_type)
52
+ pulumi.set(__self__, "dimension", dimension)
53
+ pulumi.set(__self__, "distance_metric", distance_metric)
54
+ if index_name is not None:
55
+ pulumi.set(__self__, "index_name", index_name)
56
+ if metadata_configuration is not None:
57
+ pulumi.set(__self__, "metadata_configuration", metadata_configuration)
58
+ if vector_bucket_arn is not None:
59
+ pulumi.set(__self__, "vector_bucket_arn", vector_bucket_arn)
60
+ if vector_bucket_name is not None:
61
+ pulumi.set(__self__, "vector_bucket_name", vector_bucket_name)
62
+
63
+ @_builtins.property
64
+ @pulumi.getter(name="dataType")
65
+ def data_type(self) -> pulumi.Input['IndexDataType']:
66
+ """
67
+ The data type of the vectors to be inserted into the vector index. Currently, only `float32` is supported, which represents 32-bit floating-point numbers.
68
+ """
69
+ return pulumi.get(self, "data_type")
70
+
71
+ @data_type.setter
72
+ def data_type(self, value: pulumi.Input['IndexDataType']):
73
+ pulumi.set(self, "data_type", value)
74
+
75
+ @_builtins.property
76
+ @pulumi.getter
77
+ def dimension(self) -> pulumi.Input[_builtins.int]:
78
+ """
79
+ The dimensions of the vectors to be inserted into the vector index. This value must be between 1 and 4096, inclusive. All vectors stored in the index must have the same number of dimensions.
80
+
81
+ The dimension value affects the storage requirements and search performance. Higher dimensions require more storage space and may impact search latency.
82
+ """
83
+ return pulumi.get(self, "dimension")
84
+
85
+ @dimension.setter
86
+ def dimension(self, value: pulumi.Input[_builtins.int]):
87
+ pulumi.set(self, "dimension", value)
88
+
89
+ @_builtins.property
90
+ @pulumi.getter(name="distanceMetric")
91
+ def distance_metric(self) -> pulumi.Input['IndexDistanceMetric']:
92
+ """
93
+ The distance metric to be used for similarity search. Valid values are:
94
+
95
+ - `cosine` - Measures the cosine of the angle between two vectors.
96
+ - `euclidean` - Measures the straight-line distance between two points in multi-dimensional space. Lower values indicate greater similarity.
97
+ """
98
+ return pulumi.get(self, "distance_metric")
99
+
100
+ @distance_metric.setter
101
+ def distance_metric(self, value: pulumi.Input['IndexDistanceMetric']):
102
+ pulumi.set(self, "distance_metric", value)
103
+
104
+ @_builtins.property
105
+ @pulumi.getter(name="indexName")
106
+ def index_name(self) -> Optional[pulumi.Input[_builtins.str]]:
107
+ """
108
+ The name of the vector index to create. The index name must be between 3 and 63 characters long and can contain only lowercase letters, numbers, hyphens (-), and dots (.). The index name must be unique within the vector bucket.
109
+
110
+ If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the index name.
111
+
112
+ > If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.
113
+ """
114
+ return pulumi.get(self, "index_name")
115
+
116
+ @index_name.setter
117
+ def index_name(self, value: Optional[pulumi.Input[_builtins.str]]):
118
+ pulumi.set(self, "index_name", value)
119
+
120
+ @_builtins.property
121
+ @pulumi.getter(name="metadataConfiguration")
122
+ def metadata_configuration(self) -> Optional[pulumi.Input['IndexMetadataConfigurationArgs']]:
123
+ """
124
+ The metadata configuration for the vector index.
125
+ """
126
+ return pulumi.get(self, "metadata_configuration")
127
+
128
+ @metadata_configuration.setter
129
+ def metadata_configuration(self, value: Optional[pulumi.Input['IndexMetadataConfigurationArgs']]):
130
+ pulumi.set(self, "metadata_configuration", value)
131
+
132
+ @_builtins.property
133
+ @pulumi.getter(name="vectorBucketArn")
134
+ def vector_bucket_arn(self) -> Optional[pulumi.Input[_builtins.str]]:
135
+ """
136
+ The Amazon Resource Name (ARN) of the vector bucket that contains the vector index.
137
+ """
138
+ return pulumi.get(self, "vector_bucket_arn")
139
+
140
+ @vector_bucket_arn.setter
141
+ def vector_bucket_arn(self, value: Optional[pulumi.Input[_builtins.str]]):
142
+ pulumi.set(self, "vector_bucket_arn", value)
143
+
144
+ @_builtins.property
145
+ @pulumi.getter(name="vectorBucketName")
146
+ def vector_bucket_name(self) -> Optional[pulumi.Input[_builtins.str]]:
147
+ """
148
+ The name of the vector bucket that contains the vector index.
149
+ """
150
+ return pulumi.get(self, "vector_bucket_name")
151
+
152
+ @vector_bucket_name.setter
153
+ def vector_bucket_name(self, value: Optional[pulumi.Input[_builtins.str]]):
154
+ pulumi.set(self, "vector_bucket_name", value)
155
+
156
+
157
+ @pulumi.type_token("aws-native:s3vectors:Index")
158
+ class Index(pulumi.CustomResource):
159
+ @overload
160
+ def __init__(__self__,
161
+ resource_name: str,
162
+ opts: Optional[pulumi.ResourceOptions] = None,
163
+ data_type: Optional[pulumi.Input['IndexDataType']] = None,
164
+ dimension: Optional[pulumi.Input[_builtins.int]] = None,
165
+ distance_metric: Optional[pulumi.Input['IndexDistanceMetric']] = None,
166
+ index_name: Optional[pulumi.Input[_builtins.str]] = None,
167
+ metadata_configuration: Optional[pulumi.Input[Union['IndexMetadataConfigurationArgs', 'IndexMetadataConfigurationArgsDict']]] = None,
168
+ vector_bucket_arn: Optional[pulumi.Input[_builtins.str]] = None,
169
+ vector_bucket_name: Optional[pulumi.Input[_builtins.str]] = None,
170
+ __props__=None):
171
+ """
172
+ Resource Type definition for AWS::S3Vectors::Index
173
+
174
+ :param str resource_name: The name of the resource.
175
+ :param pulumi.ResourceOptions opts: Options for the resource.
176
+ :param pulumi.Input['IndexDataType'] data_type: The data type of the vectors to be inserted into the vector index. Currently, only `float32` is supported, which represents 32-bit floating-point numbers.
177
+ :param pulumi.Input[_builtins.int] dimension: The dimensions of the vectors to be inserted into the vector index. This value must be between 1 and 4096, inclusive. All vectors stored in the index must have the same number of dimensions.
178
+
179
+ The dimension value affects the storage requirements and search performance. Higher dimensions require more storage space and may impact search latency.
180
+ :param pulumi.Input['IndexDistanceMetric'] distance_metric: The distance metric to be used for similarity search. Valid values are:
181
+
182
+ - `cosine` - Measures the cosine of the angle between two vectors.
183
+ - `euclidean` - Measures the straight-line distance between two points in multi-dimensional space. Lower values indicate greater similarity.
184
+ :param pulumi.Input[_builtins.str] index_name: The name of the vector index to create. The index name must be between 3 and 63 characters long and can contain only lowercase letters, numbers, hyphens (-), and dots (.). The index name must be unique within the vector bucket.
185
+
186
+ If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the index name.
187
+
188
+ > If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.
189
+ :param pulumi.Input[Union['IndexMetadataConfigurationArgs', 'IndexMetadataConfigurationArgsDict']] metadata_configuration: The metadata configuration for the vector index.
190
+ :param pulumi.Input[_builtins.str] vector_bucket_arn: The Amazon Resource Name (ARN) of the vector bucket that contains the vector index.
191
+ :param pulumi.Input[_builtins.str] vector_bucket_name: The name of the vector bucket that contains the vector index.
192
+ """
193
+ ...
194
+ @overload
195
+ def __init__(__self__,
196
+ resource_name: str,
197
+ args: IndexArgs,
198
+ opts: Optional[pulumi.ResourceOptions] = None):
199
+ """
200
+ Resource Type definition for AWS::S3Vectors::Index
201
+
202
+ :param str resource_name: The name of the resource.
203
+ :param IndexArgs args: The arguments to use to populate this resource's properties.
204
+ :param pulumi.ResourceOptions opts: Options for the resource.
205
+ """
206
+ ...
207
+ def __init__(__self__, resource_name: str, *args, **kwargs):
208
+ resource_args, opts = _utilities.get_resource_args_opts(IndexArgs, pulumi.ResourceOptions, *args, **kwargs)
209
+ if resource_args is not None:
210
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
211
+ else:
212
+ __self__._internal_init(resource_name, *args, **kwargs)
213
+
214
+ def _internal_init(__self__,
215
+ resource_name: str,
216
+ opts: Optional[pulumi.ResourceOptions] = None,
217
+ data_type: Optional[pulumi.Input['IndexDataType']] = None,
218
+ dimension: Optional[pulumi.Input[_builtins.int]] = None,
219
+ distance_metric: Optional[pulumi.Input['IndexDistanceMetric']] = None,
220
+ index_name: Optional[pulumi.Input[_builtins.str]] = None,
221
+ metadata_configuration: Optional[pulumi.Input[Union['IndexMetadataConfigurationArgs', 'IndexMetadataConfigurationArgsDict']]] = None,
222
+ vector_bucket_arn: Optional[pulumi.Input[_builtins.str]] = None,
223
+ vector_bucket_name: Optional[pulumi.Input[_builtins.str]] = None,
224
+ __props__=None):
225
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
226
+ if not isinstance(opts, pulumi.ResourceOptions):
227
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
228
+ if opts.id is None:
229
+ if __props__ is not None:
230
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
231
+ __props__ = IndexArgs.__new__(IndexArgs)
232
+
233
+ if data_type is None and not opts.urn:
234
+ raise TypeError("Missing required property 'data_type'")
235
+ __props__.__dict__["data_type"] = data_type
236
+ if dimension is None and not opts.urn:
237
+ raise TypeError("Missing required property 'dimension'")
238
+ __props__.__dict__["dimension"] = dimension
239
+ if distance_metric is None and not opts.urn:
240
+ raise TypeError("Missing required property 'distance_metric'")
241
+ __props__.__dict__["distance_metric"] = distance_metric
242
+ __props__.__dict__["index_name"] = index_name
243
+ __props__.__dict__["metadata_configuration"] = metadata_configuration
244
+ __props__.__dict__["vector_bucket_arn"] = vector_bucket_arn
245
+ __props__.__dict__["vector_bucket_name"] = vector_bucket_name
246
+ __props__.__dict__["creation_time"] = None
247
+ __props__.__dict__["index_arn"] = None
248
+ replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["dataType", "dimension", "distanceMetric", "indexName", "metadataConfiguration", "vectorBucketArn", "vectorBucketName"])
249
+ opts = pulumi.ResourceOptions.merge(opts, replace_on_changes)
250
+ super(Index, __self__).__init__(
251
+ 'aws-native:s3vectors:Index',
252
+ resource_name,
253
+ __props__,
254
+ opts)
255
+
256
+ @staticmethod
257
+ def get(resource_name: str,
258
+ id: pulumi.Input[str],
259
+ opts: Optional[pulumi.ResourceOptions] = None) -> 'Index':
260
+ """
261
+ Get an existing Index resource's state with the given name, id, and optional extra
262
+ properties used to qualify the lookup.
263
+
264
+ :param str resource_name: The unique name of the resulting resource.
265
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
266
+ :param pulumi.ResourceOptions opts: Options for the resource.
267
+ """
268
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
269
+
270
+ __props__ = IndexArgs.__new__(IndexArgs)
271
+
272
+ __props__.__dict__["creation_time"] = None
273
+ __props__.__dict__["data_type"] = None
274
+ __props__.__dict__["dimension"] = None
275
+ __props__.__dict__["distance_metric"] = None
276
+ __props__.__dict__["index_arn"] = None
277
+ __props__.__dict__["index_name"] = None
278
+ __props__.__dict__["metadata_configuration"] = None
279
+ __props__.__dict__["vector_bucket_arn"] = None
280
+ __props__.__dict__["vector_bucket_name"] = None
281
+ return Index(resource_name, opts=opts, __props__=__props__)
282
+
283
+ @_builtins.property
284
+ @pulumi.getter(name="creationTime")
285
+ def creation_time(self) -> pulumi.Output[_builtins.str]:
286
+ """
287
+ Returns the date and time when the vector index was created.
288
+
289
+ Example: `2024-12-21T10:30:00Z`
290
+ """
291
+ return pulumi.get(self, "creation_time")
292
+
293
+ @_builtins.property
294
+ @pulumi.getter(name="dataType")
295
+ def data_type(self) -> pulumi.Output['IndexDataType']:
296
+ """
297
+ The data type of the vectors to be inserted into the vector index. Currently, only `float32` is supported, which represents 32-bit floating-point numbers.
298
+ """
299
+ return pulumi.get(self, "data_type")
300
+
301
+ @_builtins.property
302
+ @pulumi.getter
303
+ def dimension(self) -> pulumi.Output[_builtins.int]:
304
+ """
305
+ The dimensions of the vectors to be inserted into the vector index. This value must be between 1 and 4096, inclusive. All vectors stored in the index must have the same number of dimensions.
306
+
307
+ The dimension value affects the storage requirements and search performance. Higher dimensions require more storage space and may impact search latency.
308
+ """
309
+ return pulumi.get(self, "dimension")
310
+
311
+ @_builtins.property
312
+ @pulumi.getter(name="distanceMetric")
313
+ def distance_metric(self) -> pulumi.Output['IndexDistanceMetric']:
314
+ """
315
+ The distance metric to be used for similarity search. Valid values are:
316
+
317
+ - `cosine` - Measures the cosine of the angle between two vectors.
318
+ - `euclidean` - Measures the straight-line distance between two points in multi-dimensional space. Lower values indicate greater similarity.
319
+ """
320
+ return pulumi.get(self, "distance_metric")
321
+
322
+ @_builtins.property
323
+ @pulumi.getter(name="indexArn")
324
+ def index_arn(self) -> pulumi.Output[_builtins.str]:
325
+ """
326
+ Returns the Amazon Resource Name (ARN) of the specified index.
327
+
328
+ Example: `arn:aws:s3vectors:us-east-1:123456789012:bucket/amzn-s3-demo-vector-bucket/index/my-index`
329
+ """
330
+ return pulumi.get(self, "index_arn")
331
+
332
+ @_builtins.property
333
+ @pulumi.getter(name="indexName")
334
+ def index_name(self) -> pulumi.Output[Optional[_builtins.str]]:
335
+ """
336
+ The name of the vector index to create. The index name must be between 3 and 63 characters long and can contain only lowercase letters, numbers, hyphens (-), and dots (.). The index name must be unique within the vector bucket.
337
+
338
+ If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the index name.
339
+
340
+ > If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.
341
+ """
342
+ return pulumi.get(self, "index_name")
343
+
344
+ @_builtins.property
345
+ @pulumi.getter(name="metadataConfiguration")
346
+ def metadata_configuration(self) -> pulumi.Output[Optional['outputs.IndexMetadataConfiguration']]:
347
+ """
348
+ The metadata configuration for the vector index.
349
+ """
350
+ return pulumi.get(self, "metadata_configuration")
351
+
352
+ @_builtins.property
353
+ @pulumi.getter(name="vectorBucketArn")
354
+ def vector_bucket_arn(self) -> pulumi.Output[Optional[_builtins.str]]:
355
+ """
356
+ The Amazon Resource Name (ARN) of the vector bucket that contains the vector index.
357
+ """
358
+ return pulumi.get(self, "vector_bucket_arn")
359
+
360
+ @_builtins.property
361
+ @pulumi.getter(name="vectorBucketName")
362
+ def vector_bucket_name(self) -> pulumi.Output[Optional[_builtins.str]]:
363
+ """
364
+ The name of the vector bucket that contains the vector index.
365
+ """
366
+ return pulumi.get(self, "vector_bucket_name")
367
+
@@ -0,0 +1,129 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from ._enums import *
17
+
18
+ __all__ = [
19
+ 'IndexMetadataConfiguration',
20
+ 'VectorBucketEncryptionConfiguration',
21
+ 'VectorBucketPolicyPolicy',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class IndexMetadataConfiguration(dict):
26
+ """
27
+ The metadata configuration for the vector index.
28
+ """
29
+ @staticmethod
30
+ def __key_warning(key: str):
31
+ suggest = None
32
+ if key == "nonFilterableMetadataKeys":
33
+ suggest = "non_filterable_metadata_keys"
34
+
35
+ if suggest:
36
+ pulumi.log.warn(f"Key '{key}' not found in IndexMetadataConfiguration. Access the value via the '{suggest}' property getter instead.")
37
+
38
+ def __getitem__(self, key: str) -> Any:
39
+ IndexMetadataConfiguration.__key_warning(key)
40
+ return super().__getitem__(key)
41
+
42
+ def get(self, key: str, default = None) -> Any:
43
+ IndexMetadataConfiguration.__key_warning(key)
44
+ return super().get(key, default)
45
+
46
+ def __init__(__self__, *,
47
+ non_filterable_metadata_keys: Optional[Sequence[_builtins.str]] = None):
48
+ """
49
+ The metadata configuration for the vector index.
50
+ :param Sequence[_builtins.str] non_filterable_metadata_keys: Non-filterable metadata keys allow you to enrich vectors with additional context during storage and retrieval. Unlike default metadata keys, these keys cannot be used as query filters. Non-filterable metadata keys can be retrieved but cannot be searched, queried, or filtered. You can access non-filterable metadata keys of your vectors after finding the vectors.
51
+ """
52
+ if non_filterable_metadata_keys is not None:
53
+ pulumi.set(__self__, "non_filterable_metadata_keys", non_filterable_metadata_keys)
54
+
55
+ @_builtins.property
56
+ @pulumi.getter(name="nonFilterableMetadataKeys")
57
+ def non_filterable_metadata_keys(self) -> Optional[Sequence[_builtins.str]]:
58
+ """
59
+ Non-filterable metadata keys allow you to enrich vectors with additional context during storage and retrieval. Unlike default metadata keys, these keys cannot be used as query filters. Non-filterable metadata keys can be retrieved but cannot be searched, queried, or filtered. You can access non-filterable metadata keys of your vectors after finding the vectors.
60
+ """
61
+ return pulumi.get(self, "non_filterable_metadata_keys")
62
+
63
+
64
+ @pulumi.output_type
65
+ class VectorBucketEncryptionConfiguration(dict):
66
+ """
67
+ The encryption configuration for the vector bucket.
68
+ """
69
+ @staticmethod
70
+ def __key_warning(key: str):
71
+ suggest = None
72
+ if key == "kmsKeyArn":
73
+ suggest = "kms_key_arn"
74
+ elif key == "sseType":
75
+ suggest = "sse_type"
76
+
77
+ if suggest:
78
+ pulumi.log.warn(f"Key '{key}' not found in VectorBucketEncryptionConfiguration. Access the value via the '{suggest}' property getter instead.")
79
+
80
+ def __getitem__(self, key: str) -> Any:
81
+ VectorBucketEncryptionConfiguration.__key_warning(key)
82
+ return super().__getitem__(key)
83
+
84
+ def get(self, key: str, default = None) -> Any:
85
+ VectorBucketEncryptionConfiguration.__key_warning(key)
86
+ return super().get(key, default)
87
+
88
+ def __init__(__self__, *,
89
+ kms_key_arn: Optional[_builtins.str] = None,
90
+ sse_type: Optional['VectorBucketEncryptionConfigurationSseType'] = None):
91
+ """
92
+ The encryption configuration for the vector bucket.
93
+ :param _builtins.str kms_key_arn: AWS Key Management Service (KMS) customer managed key ID to use for the encryption configuration. This parameter is allowed if and only if sseType is set to aws:kms
94
+ :param 'VectorBucketEncryptionConfigurationSseType' sse_type: The server-side encryption type to use for the encryption configuration of the vector bucket. By default, if you don't specify, all new vectors in Amazon S3 vector buckets use server-side encryption with Amazon S3 managed keys (SSE-S3), specifically AES256.
95
+ """
96
+ if kms_key_arn is not None:
97
+ pulumi.set(__self__, "kms_key_arn", kms_key_arn)
98
+ if sse_type is not None:
99
+ pulumi.set(__self__, "sse_type", sse_type)
100
+
101
+ @_builtins.property
102
+ @pulumi.getter(name="kmsKeyArn")
103
+ def kms_key_arn(self) -> Optional[_builtins.str]:
104
+ """
105
+ AWS Key Management Service (KMS) customer managed key ID to use for the encryption configuration. This parameter is allowed if and only if sseType is set to aws:kms
106
+ """
107
+ return pulumi.get(self, "kms_key_arn")
108
+
109
+ @_builtins.property
110
+ @pulumi.getter(name="sseType")
111
+ def sse_type(self) -> Optional['VectorBucketEncryptionConfigurationSseType']:
112
+ """
113
+ The server-side encryption type to use for the encryption configuration of the vector bucket. By default, if you don't specify, all new vectors in Amazon S3 vector buckets use server-side encryption with Amazon S3 managed keys (SSE-S3), specifically AES256.
114
+ """
115
+ return pulumi.get(self, "sse_type")
116
+
117
+
118
+ @pulumi.output_type
119
+ class VectorBucketPolicyPolicy(dict):
120
+ """
121
+ A policy document containing permissions to add to the specified vector bucket. In IAM, you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM.
122
+ """
123
+ def __init__(__self__):
124
+ """
125
+ A policy document containing permissions to add to the specified vector bucket. In IAM, you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM.
126
+ """
127
+ pass
128
+
129
+