pulumi-aws 7.15.0__py3-none-any.whl → 7.16.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. pulumi_aws/__init__.py +80 -0
  2. pulumi_aws/alb/listener.py +7 -7
  3. pulumi_aws/alb/target_group.py +7 -7
  4. pulumi_aws/alb/target_group_attachment.py +83 -0
  5. pulumi_aws/apigateway/domain_name.py +86 -7
  6. pulumi_aws/apigateway/get_domain_name.py +15 -1
  7. pulumi_aws/apigateway/integration.py +48 -8
  8. pulumi_aws/athena/_inputs.py +412 -5
  9. pulumi_aws/athena/outputs.py +342 -2
  10. pulumi_aws/backup/global_settings.py +15 -7
  11. pulumi_aws/bedrock/agentcore_memory_strategy.py +8 -0
  12. pulumi_aws/cleanrooms/collaboration.py +26 -6
  13. pulumi_aws/cloudfront/__init__.py +6 -0
  14. pulumi_aws/cloudfront/_inputs.py +3601 -478
  15. pulumi_aws/cloudfront/connection_function.py +658 -0
  16. pulumi_aws/cloudfront/connection_group.py +649 -0
  17. pulumi_aws/cloudfront/distribution.py +142 -0
  18. pulumi_aws/cloudfront/distribution_tenant.py +857 -0
  19. pulumi_aws/cloudfront/get_connection_group.py +249 -0
  20. pulumi_aws/cloudfront/get_distribution_tenant.py +279 -0
  21. pulumi_aws/cloudfront/multitenant_distribution.py +1181 -0
  22. pulumi_aws/cloudfront/outputs.py +3034 -376
  23. pulumi_aws/cloudwatch/log_subscription_filter.py +136 -42
  24. pulumi_aws/directconnect/gateway.py +78 -3
  25. pulumi_aws/directconnect/get_gateway.py +24 -4
  26. pulumi_aws/dlm/_inputs.py +3 -3
  27. pulumi_aws/dlm/outputs.py +2 -2
  28. pulumi_aws/dynamodb/__init__.py +1 -0
  29. pulumi_aws/dynamodb/_inputs.py +370 -0
  30. pulumi_aws/dynamodb/global_secondary_index.py +666 -0
  31. pulumi_aws/dynamodb/outputs.py +315 -0
  32. pulumi_aws/dynamodb/table.py +9 -1
  33. pulumi_aws/ec2/_inputs.py +44 -4
  34. pulumi_aws/ec2/get_vpc_endpoint.py +24 -4
  35. pulumi_aws/ec2/outputs.py +54 -4
  36. pulumi_aws/ecr/__init__.py +1 -0
  37. pulumi_aws/ecr/_inputs.py +58 -22
  38. pulumi_aws/ecr/get_repository_creation_template.py +1 -1
  39. pulumi_aws/ecr/lifecycle_policy.py +152 -64
  40. pulumi_aws/ecr/outputs.py +37 -15
  41. pulumi_aws/ecr/pull_time_update_exclusion.py +363 -0
  42. pulumi_aws/ecr/repository_creation_template.py +7 -7
  43. pulumi_aws/ecs/_inputs.py +20 -0
  44. pulumi_aws/ecs/outputs.py +14 -0
  45. pulumi_aws/ecs/task_definition.py +28 -28
  46. pulumi_aws/elasticache/replication_group.py +7 -7
  47. pulumi_aws/fsx/ontap_file_system.py +14 -0
  48. pulumi_aws/glue/resource_policy.py +4 -4
  49. pulumi_aws/guardduty/_inputs.py +41 -1
  50. pulumi_aws/guardduty/outputs.py +27 -1
  51. pulumi_aws/iam/get_saml_provider.py +15 -1
  52. pulumi_aws/iam/outbound_web_identity_federation.py +0 -4
  53. pulumi_aws/iam/policy.py +47 -0
  54. pulumi_aws/iam/saml_provider.py +28 -0
  55. pulumi_aws/iam/virtual_mfa_device.py +66 -38
  56. pulumi_aws/imagebuilder/_inputs.py +87 -0
  57. pulumi_aws/imagebuilder/image.py +47 -0
  58. pulumi_aws/imagebuilder/image_pipeline.py +47 -0
  59. pulumi_aws/imagebuilder/outputs.py +87 -0
  60. pulumi_aws/kms/grant.py +18 -18
  61. pulumi_aws/lambda_/_inputs.py +24 -4
  62. pulumi_aws/lambda_/event_source_mapping.py +2 -0
  63. pulumi_aws/lambda_/function.py +28 -0
  64. pulumi_aws/lambda_/function_url.py +4 -0
  65. pulumi_aws/lambda_/get_function.py +15 -1
  66. pulumi_aws/lambda_/outputs.py +17 -3
  67. pulumi_aws/lambda_/permission.py +47 -0
  68. pulumi_aws/lb/listener.py +7 -7
  69. pulumi_aws/lb/target_group.py +7 -7
  70. pulumi_aws/lb/target_group_attachment.py +83 -0
  71. pulumi_aws/networkfirewall/_inputs.py +3 -3
  72. pulumi_aws/networkfirewall/outputs.py +2 -2
  73. pulumi_aws/networkfirewall/vpc_endpoint_association.py +2 -2
  74. pulumi_aws/networkmanager/vpc_attachment.py +7 -7
  75. pulumi_aws/opensearchingest/pipeline.py +47 -0
  76. pulumi_aws/organizations/__init__.py +1 -0
  77. pulumi_aws/organizations/tag.py +292 -0
  78. pulumi_aws/pulumi-plugin.json +1 -1
  79. pulumi_aws/rds/cluster.py +21 -21
  80. pulumi_aws/rds/get_proxy.py +29 -1
  81. pulumi_aws/rds/proxy.py +94 -0
  82. pulumi_aws/rds/proxy_default_target_group.py +0 -76
  83. pulumi_aws/rds/proxy_target.py +0 -80
  84. pulumi_aws/redshift/__init__.py +1 -0
  85. pulumi_aws/redshift/_inputs.py +329 -0
  86. pulumi_aws/redshift/idc_application.py +687 -0
  87. pulumi_aws/redshift/outputs.py +265 -0
  88. pulumi_aws/route53/get_resolver_firewall_rules.py +9 -0
  89. pulumi_aws/route53/get_resolver_rule.py +19 -4
  90. pulumi_aws/route53/outputs.py +108 -1
  91. pulumi_aws/route53/resolver_firewall_rule.py +199 -32
  92. pulumi_aws/secretsmanager/__init__.py +1 -0
  93. pulumi_aws/secretsmanager/tag.py +333 -0
  94. pulumi_aws/sesv2/__init__.py +1 -0
  95. pulumi_aws/sesv2/tenant.py +418 -0
  96. pulumi_aws/sfn/activity.py +0 -4
  97. pulumi_aws/sfn/alias.py +0 -4
  98. pulumi_aws/transfer/_inputs.py +126 -0
  99. pulumi_aws/transfer/outputs.py +97 -0
  100. pulumi_aws/transfer/web_app.py +54 -7
  101. pulumi_aws/vpclattice/service_network_resource_association.py +47 -0
  102. {pulumi_aws-7.15.0.dist-info → pulumi_aws-7.16.0.dist-info}/METADATA +1 -1
  103. {pulumi_aws-7.15.0.dist-info → pulumi_aws-7.16.0.dist-info}/RECORD +105 -93
  104. {pulumi_aws-7.15.0.dist-info → pulumi_aws-7.16.0.dist-info}/WHEEL +0 -0
  105. {pulumi_aws-7.15.0.dist-info → pulumi_aws-7.16.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,666 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['GlobalSecondaryIndexArgs', 'GlobalSecondaryIndex']
20
+
21
+ @pulumi.input_type
22
+ class GlobalSecondaryIndexArgs:
23
+ def __init__(__self__, *,
24
+ index_name: pulumi.Input[_builtins.str],
25
+ table_name: pulumi.Input[_builtins.str],
26
+ key_schemas: Optional[pulumi.Input[Sequence[pulumi.Input['GlobalSecondaryIndexKeySchemaArgs']]]] = None,
27
+ on_demand_throughput: Optional[pulumi.Input['GlobalSecondaryIndexOnDemandThroughputArgs']] = None,
28
+ projection: Optional[pulumi.Input['GlobalSecondaryIndexProjectionArgs']] = None,
29
+ provisioned_throughput: Optional[pulumi.Input['GlobalSecondaryIndexProvisionedThroughputArgs']] = None,
30
+ region: Optional[pulumi.Input[_builtins.str]] = None,
31
+ timeouts: Optional[pulumi.Input['GlobalSecondaryIndexTimeoutsArgs']] = None,
32
+ warm_throughput: Optional[pulumi.Input['GlobalSecondaryIndexWarmThroughputArgs']] = None):
33
+ """
34
+ The set of arguments for constructing a GlobalSecondaryIndex resource.
35
+ :param pulumi.Input[_builtins.str] index_name: Name of the index.
36
+ :param pulumi.Input[_builtins.str] table_name: Name of the table this index belongs to.
37
+
38
+ The following arguments are optional:
39
+ :param pulumi.Input[Sequence[pulumi.Input['GlobalSecondaryIndexKeySchemaArgs']]] key_schemas: Set of nested attribute definitions.
40
+ At least 1 element defining a `HASH` is required.
41
+ All elements with the `key_type` of `HASH` must precede elements with `key_type` of `RANGE`.
42
+ Changing any values in `key_schema` will re-create the resource.
43
+ See `key_schema` below.
44
+ :param pulumi.Input['GlobalSecondaryIndexOnDemandThroughputArgs'] on_demand_throughput: Sets the maximum number of read and write units for the index.
45
+ See `on_demand_throughput` below.
46
+ Only valid if the table's `billing_mode` is `PAY_PER_REQUEST`.
47
+ :param pulumi.Input['GlobalSecondaryIndexProjectionArgs'] projection: Describes which attributes from the table are represented in the index.
48
+ See `projection` below.
49
+ :param pulumi.Input['GlobalSecondaryIndexProvisionedThroughputArgs'] provisioned_throughput: Provisioned throughput for the index.
50
+ See `provisioned_throughput` below.
51
+ Required if the table's `billing_mode` is `PROVISIONED`.
52
+ :param pulumi.Input[_builtins.str] region: Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
53
+ :param pulumi.Input['GlobalSecondaryIndexWarmThroughputArgs'] warm_throughput: Sets the number of warm read and write units for this index.
54
+ See `warm_throughput` below.
55
+ """
56
+ pulumi.set(__self__, "index_name", index_name)
57
+ pulumi.set(__self__, "table_name", table_name)
58
+ if key_schemas is not None:
59
+ pulumi.set(__self__, "key_schemas", key_schemas)
60
+ if on_demand_throughput is not None:
61
+ pulumi.set(__self__, "on_demand_throughput", on_demand_throughput)
62
+ if projection is not None:
63
+ pulumi.set(__self__, "projection", projection)
64
+ if provisioned_throughput is not None:
65
+ pulumi.set(__self__, "provisioned_throughput", provisioned_throughput)
66
+ if region is not None:
67
+ pulumi.set(__self__, "region", region)
68
+ if timeouts is not None:
69
+ pulumi.set(__self__, "timeouts", timeouts)
70
+ if warm_throughput is not None:
71
+ pulumi.set(__self__, "warm_throughput", warm_throughput)
72
+
73
+ @_builtins.property
74
+ @pulumi.getter(name="indexName")
75
+ def index_name(self) -> pulumi.Input[_builtins.str]:
76
+ """
77
+ Name of the index.
78
+ """
79
+ return pulumi.get(self, "index_name")
80
+
81
+ @index_name.setter
82
+ def index_name(self, value: pulumi.Input[_builtins.str]):
83
+ pulumi.set(self, "index_name", value)
84
+
85
+ @_builtins.property
86
+ @pulumi.getter(name="tableName")
87
+ def table_name(self) -> pulumi.Input[_builtins.str]:
88
+ """
89
+ Name of the table this index belongs to.
90
+
91
+ The following arguments are optional:
92
+ """
93
+ return pulumi.get(self, "table_name")
94
+
95
+ @table_name.setter
96
+ def table_name(self, value: pulumi.Input[_builtins.str]):
97
+ pulumi.set(self, "table_name", value)
98
+
99
+ @_builtins.property
100
+ @pulumi.getter(name="keySchemas")
101
+ def key_schemas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GlobalSecondaryIndexKeySchemaArgs']]]]:
102
+ """
103
+ Set of nested attribute definitions.
104
+ At least 1 element defining a `HASH` is required.
105
+ All elements with the `key_type` of `HASH` must precede elements with `key_type` of `RANGE`.
106
+ Changing any values in `key_schema` will re-create the resource.
107
+ See `key_schema` below.
108
+ """
109
+ return pulumi.get(self, "key_schemas")
110
+
111
+ @key_schemas.setter
112
+ def key_schemas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GlobalSecondaryIndexKeySchemaArgs']]]]):
113
+ pulumi.set(self, "key_schemas", value)
114
+
115
+ @_builtins.property
116
+ @pulumi.getter(name="onDemandThroughput")
117
+ def on_demand_throughput(self) -> Optional[pulumi.Input['GlobalSecondaryIndexOnDemandThroughputArgs']]:
118
+ """
119
+ Sets the maximum number of read and write units for the index.
120
+ See `on_demand_throughput` below.
121
+ Only valid if the table's `billing_mode` is `PAY_PER_REQUEST`.
122
+ """
123
+ return pulumi.get(self, "on_demand_throughput")
124
+
125
+ @on_demand_throughput.setter
126
+ def on_demand_throughput(self, value: Optional[pulumi.Input['GlobalSecondaryIndexOnDemandThroughputArgs']]):
127
+ pulumi.set(self, "on_demand_throughput", value)
128
+
129
+ @_builtins.property
130
+ @pulumi.getter
131
+ def projection(self) -> Optional[pulumi.Input['GlobalSecondaryIndexProjectionArgs']]:
132
+ """
133
+ Describes which attributes from the table are represented in the index.
134
+ See `projection` below.
135
+ """
136
+ return pulumi.get(self, "projection")
137
+
138
+ @projection.setter
139
+ def projection(self, value: Optional[pulumi.Input['GlobalSecondaryIndexProjectionArgs']]):
140
+ pulumi.set(self, "projection", value)
141
+
142
+ @_builtins.property
143
+ @pulumi.getter(name="provisionedThroughput")
144
+ def provisioned_throughput(self) -> Optional[pulumi.Input['GlobalSecondaryIndexProvisionedThroughputArgs']]:
145
+ """
146
+ Provisioned throughput for the index.
147
+ See `provisioned_throughput` below.
148
+ Required if the table's `billing_mode` is `PROVISIONED`.
149
+ """
150
+ return pulumi.get(self, "provisioned_throughput")
151
+
152
+ @provisioned_throughput.setter
153
+ def provisioned_throughput(self, value: Optional[pulumi.Input['GlobalSecondaryIndexProvisionedThroughputArgs']]):
154
+ pulumi.set(self, "provisioned_throughput", value)
155
+
156
+ @_builtins.property
157
+ @pulumi.getter
158
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
159
+ """
160
+ Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
161
+ """
162
+ return pulumi.get(self, "region")
163
+
164
+ @region.setter
165
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
166
+ pulumi.set(self, "region", value)
167
+
168
+ @_builtins.property
169
+ @pulumi.getter
170
+ def timeouts(self) -> Optional[pulumi.Input['GlobalSecondaryIndexTimeoutsArgs']]:
171
+ return pulumi.get(self, "timeouts")
172
+
173
+ @timeouts.setter
174
+ def timeouts(self, value: Optional[pulumi.Input['GlobalSecondaryIndexTimeoutsArgs']]):
175
+ pulumi.set(self, "timeouts", value)
176
+
177
+ @_builtins.property
178
+ @pulumi.getter(name="warmThroughput")
179
+ def warm_throughput(self) -> Optional[pulumi.Input['GlobalSecondaryIndexWarmThroughputArgs']]:
180
+ """
181
+ Sets the number of warm read and write units for this index.
182
+ See `warm_throughput` below.
183
+ """
184
+ return pulumi.get(self, "warm_throughput")
185
+
186
+ @warm_throughput.setter
187
+ def warm_throughput(self, value: Optional[pulumi.Input['GlobalSecondaryIndexWarmThroughputArgs']]):
188
+ pulumi.set(self, "warm_throughput", value)
189
+
190
+
191
+ @pulumi.input_type
192
+ class _GlobalSecondaryIndexState:
193
+ def __init__(__self__, *,
194
+ arn: Optional[pulumi.Input[_builtins.str]] = None,
195
+ index_name: Optional[pulumi.Input[_builtins.str]] = None,
196
+ key_schemas: Optional[pulumi.Input[Sequence[pulumi.Input['GlobalSecondaryIndexKeySchemaArgs']]]] = None,
197
+ on_demand_throughput: Optional[pulumi.Input['GlobalSecondaryIndexOnDemandThroughputArgs']] = None,
198
+ projection: Optional[pulumi.Input['GlobalSecondaryIndexProjectionArgs']] = None,
199
+ provisioned_throughput: Optional[pulumi.Input['GlobalSecondaryIndexProvisionedThroughputArgs']] = None,
200
+ region: Optional[pulumi.Input[_builtins.str]] = None,
201
+ table_name: Optional[pulumi.Input[_builtins.str]] = None,
202
+ timeouts: Optional[pulumi.Input['GlobalSecondaryIndexTimeoutsArgs']] = None,
203
+ warm_throughput: Optional[pulumi.Input['GlobalSecondaryIndexWarmThroughputArgs']] = None):
204
+ """
205
+ Input properties used for looking up and filtering GlobalSecondaryIndex resources.
206
+ :param pulumi.Input[_builtins.str] arn: ARN of the GSI.
207
+ :param pulumi.Input[_builtins.str] index_name: Name of the index.
208
+ :param pulumi.Input[Sequence[pulumi.Input['GlobalSecondaryIndexKeySchemaArgs']]] key_schemas: Set of nested attribute definitions.
209
+ At least 1 element defining a `HASH` is required.
210
+ All elements with the `key_type` of `HASH` must precede elements with `key_type` of `RANGE`.
211
+ Changing any values in `key_schema` will re-create the resource.
212
+ See `key_schema` below.
213
+ :param pulumi.Input['GlobalSecondaryIndexOnDemandThroughputArgs'] on_demand_throughput: Sets the maximum number of read and write units for the index.
214
+ See `on_demand_throughput` below.
215
+ Only valid if the table's `billing_mode` is `PAY_PER_REQUEST`.
216
+ :param pulumi.Input['GlobalSecondaryIndexProjectionArgs'] projection: Describes which attributes from the table are represented in the index.
217
+ See `projection` below.
218
+ :param pulumi.Input['GlobalSecondaryIndexProvisionedThroughputArgs'] provisioned_throughput: Provisioned throughput for the index.
219
+ See `provisioned_throughput` below.
220
+ Required if the table's `billing_mode` is `PROVISIONED`.
221
+ :param pulumi.Input[_builtins.str] region: Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
222
+ :param pulumi.Input[_builtins.str] table_name: Name of the table this index belongs to.
223
+
224
+ The following arguments are optional:
225
+ :param pulumi.Input['GlobalSecondaryIndexWarmThroughputArgs'] warm_throughput: Sets the number of warm read and write units for this index.
226
+ See `warm_throughput` below.
227
+ """
228
+ if arn is not None:
229
+ pulumi.set(__self__, "arn", arn)
230
+ if index_name is not None:
231
+ pulumi.set(__self__, "index_name", index_name)
232
+ if key_schemas is not None:
233
+ pulumi.set(__self__, "key_schemas", key_schemas)
234
+ if on_demand_throughput is not None:
235
+ pulumi.set(__self__, "on_demand_throughput", on_demand_throughput)
236
+ if projection is not None:
237
+ pulumi.set(__self__, "projection", projection)
238
+ if provisioned_throughput is not None:
239
+ pulumi.set(__self__, "provisioned_throughput", provisioned_throughput)
240
+ if region is not None:
241
+ pulumi.set(__self__, "region", region)
242
+ if table_name is not None:
243
+ pulumi.set(__self__, "table_name", table_name)
244
+ if timeouts is not None:
245
+ pulumi.set(__self__, "timeouts", timeouts)
246
+ if warm_throughput is not None:
247
+ pulumi.set(__self__, "warm_throughput", warm_throughput)
248
+
249
+ @_builtins.property
250
+ @pulumi.getter
251
+ def arn(self) -> Optional[pulumi.Input[_builtins.str]]:
252
+ """
253
+ ARN of the GSI.
254
+ """
255
+ return pulumi.get(self, "arn")
256
+
257
+ @arn.setter
258
+ def arn(self, value: Optional[pulumi.Input[_builtins.str]]):
259
+ pulumi.set(self, "arn", value)
260
+
261
+ @_builtins.property
262
+ @pulumi.getter(name="indexName")
263
+ def index_name(self) -> Optional[pulumi.Input[_builtins.str]]:
264
+ """
265
+ Name of the index.
266
+ """
267
+ return pulumi.get(self, "index_name")
268
+
269
+ @index_name.setter
270
+ def index_name(self, value: Optional[pulumi.Input[_builtins.str]]):
271
+ pulumi.set(self, "index_name", value)
272
+
273
+ @_builtins.property
274
+ @pulumi.getter(name="keySchemas")
275
+ def key_schemas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GlobalSecondaryIndexKeySchemaArgs']]]]:
276
+ """
277
+ Set of nested attribute definitions.
278
+ At least 1 element defining a `HASH` is required.
279
+ All elements with the `key_type` of `HASH` must precede elements with `key_type` of `RANGE`.
280
+ Changing any values in `key_schema` will re-create the resource.
281
+ See `key_schema` below.
282
+ """
283
+ return pulumi.get(self, "key_schemas")
284
+
285
+ @key_schemas.setter
286
+ def key_schemas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GlobalSecondaryIndexKeySchemaArgs']]]]):
287
+ pulumi.set(self, "key_schemas", value)
288
+
289
+ @_builtins.property
290
+ @pulumi.getter(name="onDemandThroughput")
291
+ def on_demand_throughput(self) -> Optional[pulumi.Input['GlobalSecondaryIndexOnDemandThroughputArgs']]:
292
+ """
293
+ Sets the maximum number of read and write units for the index.
294
+ See `on_demand_throughput` below.
295
+ Only valid if the table's `billing_mode` is `PAY_PER_REQUEST`.
296
+ """
297
+ return pulumi.get(self, "on_demand_throughput")
298
+
299
+ @on_demand_throughput.setter
300
+ def on_demand_throughput(self, value: Optional[pulumi.Input['GlobalSecondaryIndexOnDemandThroughputArgs']]):
301
+ pulumi.set(self, "on_demand_throughput", value)
302
+
303
+ @_builtins.property
304
+ @pulumi.getter
305
+ def projection(self) -> Optional[pulumi.Input['GlobalSecondaryIndexProjectionArgs']]:
306
+ """
307
+ Describes which attributes from the table are represented in the index.
308
+ See `projection` below.
309
+ """
310
+ return pulumi.get(self, "projection")
311
+
312
+ @projection.setter
313
+ def projection(self, value: Optional[pulumi.Input['GlobalSecondaryIndexProjectionArgs']]):
314
+ pulumi.set(self, "projection", value)
315
+
316
+ @_builtins.property
317
+ @pulumi.getter(name="provisionedThroughput")
318
+ def provisioned_throughput(self) -> Optional[pulumi.Input['GlobalSecondaryIndexProvisionedThroughputArgs']]:
319
+ """
320
+ Provisioned throughput for the index.
321
+ See `provisioned_throughput` below.
322
+ Required if the table's `billing_mode` is `PROVISIONED`.
323
+ """
324
+ return pulumi.get(self, "provisioned_throughput")
325
+
326
+ @provisioned_throughput.setter
327
+ def provisioned_throughput(self, value: Optional[pulumi.Input['GlobalSecondaryIndexProvisionedThroughputArgs']]):
328
+ pulumi.set(self, "provisioned_throughput", value)
329
+
330
+ @_builtins.property
331
+ @pulumi.getter
332
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
333
+ """
334
+ Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
335
+ """
336
+ return pulumi.get(self, "region")
337
+
338
+ @region.setter
339
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
340
+ pulumi.set(self, "region", value)
341
+
342
+ @_builtins.property
343
+ @pulumi.getter(name="tableName")
344
+ def table_name(self) -> Optional[pulumi.Input[_builtins.str]]:
345
+ """
346
+ Name of the table this index belongs to.
347
+
348
+ The following arguments are optional:
349
+ """
350
+ return pulumi.get(self, "table_name")
351
+
352
+ @table_name.setter
353
+ def table_name(self, value: Optional[pulumi.Input[_builtins.str]]):
354
+ pulumi.set(self, "table_name", value)
355
+
356
+ @_builtins.property
357
+ @pulumi.getter
358
+ def timeouts(self) -> Optional[pulumi.Input['GlobalSecondaryIndexTimeoutsArgs']]:
359
+ return pulumi.get(self, "timeouts")
360
+
361
+ @timeouts.setter
362
+ def timeouts(self, value: Optional[pulumi.Input['GlobalSecondaryIndexTimeoutsArgs']]):
363
+ pulumi.set(self, "timeouts", value)
364
+
365
+ @_builtins.property
366
+ @pulumi.getter(name="warmThroughput")
367
+ def warm_throughput(self) -> Optional[pulumi.Input['GlobalSecondaryIndexWarmThroughputArgs']]:
368
+ """
369
+ Sets the number of warm read and write units for this index.
370
+ See `warm_throughput` below.
371
+ """
372
+ return pulumi.get(self, "warm_throughput")
373
+
374
+ @warm_throughput.setter
375
+ def warm_throughput(self, value: Optional[pulumi.Input['GlobalSecondaryIndexWarmThroughputArgs']]):
376
+ pulumi.set(self, "warm_throughput", value)
377
+
378
+
379
+ @pulumi.type_token("aws:dynamodb/globalSecondaryIndex:GlobalSecondaryIndex")
380
+ class GlobalSecondaryIndex(pulumi.CustomResource):
381
+ @overload
382
+ def __init__(__self__,
383
+ resource_name: str,
384
+ opts: Optional[pulumi.ResourceOptions] = None,
385
+ index_name: Optional[pulumi.Input[_builtins.str]] = None,
386
+ key_schemas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GlobalSecondaryIndexKeySchemaArgs', 'GlobalSecondaryIndexKeySchemaArgsDict']]]]] = None,
387
+ on_demand_throughput: Optional[pulumi.Input[Union['GlobalSecondaryIndexOnDemandThroughputArgs', 'GlobalSecondaryIndexOnDemandThroughputArgsDict']]] = None,
388
+ projection: Optional[pulumi.Input[Union['GlobalSecondaryIndexProjectionArgs', 'GlobalSecondaryIndexProjectionArgsDict']]] = None,
389
+ provisioned_throughput: Optional[pulumi.Input[Union['GlobalSecondaryIndexProvisionedThroughputArgs', 'GlobalSecondaryIndexProvisionedThroughputArgsDict']]] = None,
390
+ region: Optional[pulumi.Input[_builtins.str]] = None,
391
+ table_name: Optional[pulumi.Input[_builtins.str]] = None,
392
+ timeouts: Optional[pulumi.Input[Union['GlobalSecondaryIndexTimeoutsArgs', 'GlobalSecondaryIndexTimeoutsArgsDict']]] = None,
393
+ warm_throughput: Optional[pulumi.Input[Union['GlobalSecondaryIndexWarmThroughputArgs', 'GlobalSecondaryIndexWarmThroughputArgsDict']]] = None,
394
+ __props__=None):
395
+ """
396
+ ## Import
397
+
398
+ ### Identity Schema
399
+
400
+ #### Required
401
+
402
+ * `index_name` (String) Name of the index.
403
+
404
+ * `table_name` (String) Name of the table this index belongs to.
405
+
406
+ #### Optional
407
+
408
+ * `account_id` (String) AWS Account where this resource is managed.
409
+
410
+ * `region` (String) Region where this resource is managed.
411
+
412
+ Using `pulumi import`, import DynamoDB tables using the `table_name` and `index_name`, separated by a comma. For example:
413
+
414
+ % pulumi import aws_dynamodb_global_secondary_index.example 'example-table,example-index'
415
+
416
+ :param str resource_name: The name of the resource.
417
+ :param pulumi.ResourceOptions opts: Options for the resource.
418
+ :param pulumi.Input[_builtins.str] index_name: Name of the index.
419
+ :param pulumi.Input[Sequence[pulumi.Input[Union['GlobalSecondaryIndexKeySchemaArgs', 'GlobalSecondaryIndexKeySchemaArgsDict']]]] key_schemas: Set of nested attribute definitions.
420
+ At least 1 element defining a `HASH` is required.
421
+ All elements with the `key_type` of `HASH` must precede elements with `key_type` of `RANGE`.
422
+ Changing any values in `key_schema` will re-create the resource.
423
+ See `key_schema` below.
424
+ :param pulumi.Input[Union['GlobalSecondaryIndexOnDemandThroughputArgs', 'GlobalSecondaryIndexOnDemandThroughputArgsDict']] on_demand_throughput: Sets the maximum number of read and write units for the index.
425
+ See `on_demand_throughput` below.
426
+ Only valid if the table's `billing_mode` is `PAY_PER_REQUEST`.
427
+ :param pulumi.Input[Union['GlobalSecondaryIndexProjectionArgs', 'GlobalSecondaryIndexProjectionArgsDict']] projection: Describes which attributes from the table are represented in the index.
428
+ See `projection` below.
429
+ :param pulumi.Input[Union['GlobalSecondaryIndexProvisionedThroughputArgs', 'GlobalSecondaryIndexProvisionedThroughputArgsDict']] provisioned_throughput: Provisioned throughput for the index.
430
+ See `provisioned_throughput` below.
431
+ Required if the table's `billing_mode` is `PROVISIONED`.
432
+ :param pulumi.Input[_builtins.str] region: Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
433
+ :param pulumi.Input[_builtins.str] table_name: Name of the table this index belongs to.
434
+
435
+ The following arguments are optional:
436
+ :param pulumi.Input[Union['GlobalSecondaryIndexWarmThroughputArgs', 'GlobalSecondaryIndexWarmThroughputArgsDict']] warm_throughput: Sets the number of warm read and write units for this index.
437
+ See `warm_throughput` below.
438
+ """
439
+ ...
440
+ @overload
441
+ def __init__(__self__,
442
+ resource_name: str,
443
+ args: GlobalSecondaryIndexArgs,
444
+ opts: Optional[pulumi.ResourceOptions] = None):
445
+ """
446
+ ## Import
447
+
448
+ ### Identity Schema
449
+
450
+ #### Required
451
+
452
+ * `index_name` (String) Name of the index.
453
+
454
+ * `table_name` (String) Name of the table this index belongs to.
455
+
456
+ #### Optional
457
+
458
+ * `account_id` (String) AWS Account where this resource is managed.
459
+
460
+ * `region` (String) Region where this resource is managed.
461
+
462
+ Using `pulumi import`, import DynamoDB tables using the `table_name` and `index_name`, separated by a comma. For example:
463
+
464
+ % pulumi import aws_dynamodb_global_secondary_index.example 'example-table,example-index'
465
+
466
+ :param str resource_name: The name of the resource.
467
+ :param GlobalSecondaryIndexArgs args: The arguments to use to populate this resource's properties.
468
+ :param pulumi.ResourceOptions opts: Options for the resource.
469
+ """
470
+ ...
471
+ def __init__(__self__, resource_name: str, *args, **kwargs):
472
+ resource_args, opts = _utilities.get_resource_args_opts(GlobalSecondaryIndexArgs, pulumi.ResourceOptions, *args, **kwargs)
473
+ if resource_args is not None:
474
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
475
+ else:
476
+ __self__._internal_init(resource_name, *args, **kwargs)
477
+
478
+ def _internal_init(__self__,
479
+ resource_name: str,
480
+ opts: Optional[pulumi.ResourceOptions] = None,
481
+ index_name: Optional[pulumi.Input[_builtins.str]] = None,
482
+ key_schemas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GlobalSecondaryIndexKeySchemaArgs', 'GlobalSecondaryIndexKeySchemaArgsDict']]]]] = None,
483
+ on_demand_throughput: Optional[pulumi.Input[Union['GlobalSecondaryIndexOnDemandThroughputArgs', 'GlobalSecondaryIndexOnDemandThroughputArgsDict']]] = None,
484
+ projection: Optional[pulumi.Input[Union['GlobalSecondaryIndexProjectionArgs', 'GlobalSecondaryIndexProjectionArgsDict']]] = None,
485
+ provisioned_throughput: Optional[pulumi.Input[Union['GlobalSecondaryIndexProvisionedThroughputArgs', 'GlobalSecondaryIndexProvisionedThroughputArgsDict']]] = None,
486
+ region: Optional[pulumi.Input[_builtins.str]] = None,
487
+ table_name: Optional[pulumi.Input[_builtins.str]] = None,
488
+ timeouts: Optional[pulumi.Input[Union['GlobalSecondaryIndexTimeoutsArgs', 'GlobalSecondaryIndexTimeoutsArgsDict']]] = None,
489
+ warm_throughput: Optional[pulumi.Input[Union['GlobalSecondaryIndexWarmThroughputArgs', 'GlobalSecondaryIndexWarmThroughputArgsDict']]] = None,
490
+ __props__=None):
491
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
492
+ if not isinstance(opts, pulumi.ResourceOptions):
493
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
494
+ if opts.id is None:
495
+ if __props__ is not None:
496
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
497
+ __props__ = GlobalSecondaryIndexArgs.__new__(GlobalSecondaryIndexArgs)
498
+
499
+ if index_name is None and not opts.urn:
500
+ raise TypeError("Missing required property 'index_name'")
501
+ __props__.__dict__["index_name"] = index_name
502
+ __props__.__dict__["key_schemas"] = key_schemas
503
+ __props__.__dict__["on_demand_throughput"] = on_demand_throughput
504
+ __props__.__dict__["projection"] = projection
505
+ __props__.__dict__["provisioned_throughput"] = provisioned_throughput
506
+ __props__.__dict__["region"] = region
507
+ if table_name is None and not opts.urn:
508
+ raise TypeError("Missing required property 'table_name'")
509
+ __props__.__dict__["table_name"] = table_name
510
+ __props__.__dict__["timeouts"] = timeouts
511
+ __props__.__dict__["warm_throughput"] = warm_throughput
512
+ __props__.__dict__["arn"] = None
513
+ super(GlobalSecondaryIndex, __self__).__init__(
514
+ 'aws:dynamodb/globalSecondaryIndex:GlobalSecondaryIndex',
515
+ resource_name,
516
+ __props__,
517
+ opts)
518
+
519
+ @staticmethod
520
+ def get(resource_name: str,
521
+ id: pulumi.Input[str],
522
+ opts: Optional[pulumi.ResourceOptions] = None,
523
+ arn: Optional[pulumi.Input[_builtins.str]] = None,
524
+ index_name: Optional[pulumi.Input[_builtins.str]] = None,
525
+ key_schemas: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GlobalSecondaryIndexKeySchemaArgs', 'GlobalSecondaryIndexKeySchemaArgsDict']]]]] = None,
526
+ on_demand_throughput: Optional[pulumi.Input[Union['GlobalSecondaryIndexOnDemandThroughputArgs', 'GlobalSecondaryIndexOnDemandThroughputArgsDict']]] = None,
527
+ projection: Optional[pulumi.Input[Union['GlobalSecondaryIndexProjectionArgs', 'GlobalSecondaryIndexProjectionArgsDict']]] = None,
528
+ provisioned_throughput: Optional[pulumi.Input[Union['GlobalSecondaryIndexProvisionedThroughputArgs', 'GlobalSecondaryIndexProvisionedThroughputArgsDict']]] = None,
529
+ region: Optional[pulumi.Input[_builtins.str]] = None,
530
+ table_name: Optional[pulumi.Input[_builtins.str]] = None,
531
+ timeouts: Optional[pulumi.Input[Union['GlobalSecondaryIndexTimeoutsArgs', 'GlobalSecondaryIndexTimeoutsArgsDict']]] = None,
532
+ warm_throughput: Optional[pulumi.Input[Union['GlobalSecondaryIndexWarmThroughputArgs', 'GlobalSecondaryIndexWarmThroughputArgsDict']]] = None) -> 'GlobalSecondaryIndex':
533
+ """
534
+ Get an existing GlobalSecondaryIndex resource's state with the given name, id, and optional extra
535
+ properties used to qualify the lookup.
536
+
537
+ :param str resource_name: The unique name of the resulting resource.
538
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
539
+ :param pulumi.ResourceOptions opts: Options for the resource.
540
+ :param pulumi.Input[_builtins.str] arn: ARN of the GSI.
541
+ :param pulumi.Input[_builtins.str] index_name: Name of the index.
542
+ :param pulumi.Input[Sequence[pulumi.Input[Union['GlobalSecondaryIndexKeySchemaArgs', 'GlobalSecondaryIndexKeySchemaArgsDict']]]] key_schemas: Set of nested attribute definitions.
543
+ At least 1 element defining a `HASH` is required.
544
+ All elements with the `key_type` of `HASH` must precede elements with `key_type` of `RANGE`.
545
+ Changing any values in `key_schema` will re-create the resource.
546
+ See `key_schema` below.
547
+ :param pulumi.Input[Union['GlobalSecondaryIndexOnDemandThroughputArgs', 'GlobalSecondaryIndexOnDemandThroughputArgsDict']] on_demand_throughput: Sets the maximum number of read and write units for the index.
548
+ See `on_demand_throughput` below.
549
+ Only valid if the table's `billing_mode` is `PAY_PER_REQUEST`.
550
+ :param pulumi.Input[Union['GlobalSecondaryIndexProjectionArgs', 'GlobalSecondaryIndexProjectionArgsDict']] projection: Describes which attributes from the table are represented in the index.
551
+ See `projection` below.
552
+ :param pulumi.Input[Union['GlobalSecondaryIndexProvisionedThroughputArgs', 'GlobalSecondaryIndexProvisionedThroughputArgsDict']] provisioned_throughput: Provisioned throughput for the index.
553
+ See `provisioned_throughput` below.
554
+ Required if the table's `billing_mode` is `PROVISIONED`.
555
+ :param pulumi.Input[_builtins.str] region: Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
556
+ :param pulumi.Input[_builtins.str] table_name: Name of the table this index belongs to.
557
+
558
+ The following arguments are optional:
559
+ :param pulumi.Input[Union['GlobalSecondaryIndexWarmThroughputArgs', 'GlobalSecondaryIndexWarmThroughputArgsDict']] warm_throughput: Sets the number of warm read and write units for this index.
560
+ See `warm_throughput` below.
561
+ """
562
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
563
+
564
+ __props__ = _GlobalSecondaryIndexState.__new__(_GlobalSecondaryIndexState)
565
+
566
+ __props__.__dict__["arn"] = arn
567
+ __props__.__dict__["index_name"] = index_name
568
+ __props__.__dict__["key_schemas"] = key_schemas
569
+ __props__.__dict__["on_demand_throughput"] = on_demand_throughput
570
+ __props__.__dict__["projection"] = projection
571
+ __props__.__dict__["provisioned_throughput"] = provisioned_throughput
572
+ __props__.__dict__["region"] = region
573
+ __props__.__dict__["table_name"] = table_name
574
+ __props__.__dict__["timeouts"] = timeouts
575
+ __props__.__dict__["warm_throughput"] = warm_throughput
576
+ return GlobalSecondaryIndex(resource_name, opts=opts, __props__=__props__)
577
+
578
+ @_builtins.property
579
+ @pulumi.getter
580
+ def arn(self) -> pulumi.Output[_builtins.str]:
581
+ """
582
+ ARN of the GSI.
583
+ """
584
+ return pulumi.get(self, "arn")
585
+
586
+ @_builtins.property
587
+ @pulumi.getter(name="indexName")
588
+ def index_name(self) -> pulumi.Output[_builtins.str]:
589
+ """
590
+ Name of the index.
591
+ """
592
+ return pulumi.get(self, "index_name")
593
+
594
+ @_builtins.property
595
+ @pulumi.getter(name="keySchemas")
596
+ def key_schemas(self) -> pulumi.Output[Optional[Sequence['outputs.GlobalSecondaryIndexKeySchema']]]:
597
+ """
598
+ Set of nested attribute definitions.
599
+ At least 1 element defining a `HASH` is required.
600
+ All elements with the `key_type` of `HASH` must precede elements with `key_type` of `RANGE`.
601
+ Changing any values in `key_schema` will re-create the resource.
602
+ See `key_schema` below.
603
+ """
604
+ return pulumi.get(self, "key_schemas")
605
+
606
+ @_builtins.property
607
+ @pulumi.getter(name="onDemandThroughput")
608
+ def on_demand_throughput(self) -> pulumi.Output[Optional['outputs.GlobalSecondaryIndexOnDemandThroughput']]:
609
+ """
610
+ Sets the maximum number of read and write units for the index.
611
+ See `on_demand_throughput` below.
612
+ Only valid if the table's `billing_mode` is `PAY_PER_REQUEST`.
613
+ """
614
+ return pulumi.get(self, "on_demand_throughput")
615
+
616
+ @_builtins.property
617
+ @pulumi.getter
618
+ def projection(self) -> pulumi.Output[Optional['outputs.GlobalSecondaryIndexProjection']]:
619
+ """
620
+ Describes which attributes from the table are represented in the index.
621
+ See `projection` below.
622
+ """
623
+ return pulumi.get(self, "projection")
624
+
625
+ @_builtins.property
626
+ @pulumi.getter(name="provisionedThroughput")
627
+ def provisioned_throughput(self) -> pulumi.Output[Optional['outputs.GlobalSecondaryIndexProvisionedThroughput']]:
628
+ """
629
+ Provisioned throughput for the index.
630
+ See `provisioned_throughput` below.
631
+ Required if the table's `billing_mode` is `PROVISIONED`.
632
+ """
633
+ return pulumi.get(self, "provisioned_throughput")
634
+
635
+ @_builtins.property
636
+ @pulumi.getter
637
+ def region(self) -> pulumi.Output[_builtins.str]:
638
+ """
639
+ Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
640
+ """
641
+ return pulumi.get(self, "region")
642
+
643
+ @_builtins.property
644
+ @pulumi.getter(name="tableName")
645
+ def table_name(self) -> pulumi.Output[_builtins.str]:
646
+ """
647
+ Name of the table this index belongs to.
648
+
649
+ The following arguments are optional:
650
+ """
651
+ return pulumi.get(self, "table_name")
652
+
653
+ @_builtins.property
654
+ @pulumi.getter
655
+ def timeouts(self) -> pulumi.Output[Optional['outputs.GlobalSecondaryIndexTimeouts']]:
656
+ return pulumi.get(self, "timeouts")
657
+
658
+ @_builtins.property
659
+ @pulumi.getter(name="warmThroughput")
660
+ def warm_throughput(self) -> pulumi.Output['outputs.GlobalSecondaryIndexWarmThroughput']:
661
+ """
662
+ Sets the number of warm read and write units for this index.
663
+ See `warm_throughput` below.
664
+ """
665
+ return pulumi.get(self, "warm_throughput")
666
+