pulumi-aws 7.11.1__py3-none-any.whl → 7.12.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 (122) hide show
  1. pulumi_aws/__init__.py +57 -0
  2. pulumi_aws/acm/certificate.py +20 -20
  3. pulumi_aws/acmpca/certificate.py +8 -8
  4. pulumi_aws/apigateway/account.py +0 -4
  5. pulumi_aws/appflow/_inputs.py +33 -0
  6. pulumi_aws/appflow/outputs.py +22 -0
  7. pulumi_aws/appsync/graph_ql_api.py +84 -0
  8. pulumi_aws/bedrock/_inputs.py +97 -21
  9. pulumi_aws/bedrock/agent_agent_alias.py +94 -0
  10. pulumi_aws/bedrock/agentcore_agent_runtime.py +4 -4
  11. pulumi_aws/bedrock/agentcore_browser.py +42 -0
  12. pulumi_aws/bedrock/agentcore_gateway_target.py +217 -7
  13. pulumi_aws/bedrock/agentcore_memory.py +37 -9
  14. pulumi_aws/bedrock/agentcore_oauth2_credential_provider.py +38 -0
  15. pulumi_aws/bedrock/outputs.py +64 -17
  16. pulumi_aws/cloudfront/_inputs.py +15 -14
  17. pulumi_aws/cloudfront/distribution.py +28 -0
  18. pulumi_aws/cloudfront/outputs.py +10 -9
  19. pulumi_aws/cloudhsmv2/cluster.py +64 -0
  20. pulumi_aws/cloudwatch/_inputs.py +9 -8
  21. pulumi_aws/cloudwatch/contributor_managed_insight_rule.py +20 -0
  22. pulumi_aws/cloudwatch/log_delivery_destination.py +53 -12
  23. pulumi_aws/cloudwatch/outputs.py +6 -5
  24. pulumi_aws/codebuild/webhook.py +16 -16
  25. pulumi_aws/codepipeline/webhook.py +16 -16
  26. pulumi_aws/connect/_inputs.py +50 -4
  27. pulumi_aws/connect/outputs.py +95 -4
  28. pulumi_aws/connect/routing_profile.py +42 -18
  29. pulumi_aws/datasync/location_fsx_ontap_file_system.py +34 -0
  30. pulumi_aws/datazone/project.py +24 -0
  31. pulumi_aws/detective/organization_configuration.py +20 -0
  32. pulumi_aws/dms/_inputs.py +3 -3
  33. pulumi_aws/dms/outputs.py +2 -2
  34. pulumi_aws/ec2/__init__.py +1 -0
  35. pulumi_aws/ec2/_inputs.py +182 -0
  36. pulumi_aws/ec2/allowed_images_settings.py +338 -0
  37. pulumi_aws/ec2/get_coip_pools.py +24 -0
  38. pulumi_aws/ec2/image_block_public_access.py +48 -1
  39. pulumi_aws/ec2/outputs.py +167 -0
  40. pulumi_aws/ec2/security_group.py +6 -6
  41. pulumi_aws/ec2/serial_console_access.py +50 -3
  42. pulumi_aws/ec2/vpc_endpoint.py +92 -0
  43. pulumi_aws/ec2clientvpn/authorization_rule.py +7 -7
  44. pulumi_aws/ec2clientvpn/route.py +7 -7
  45. pulumi_aws/ec2transitgateway/instance_connect_endpoint.py +47 -0
  46. pulumi_aws/ecrpublic/get_images.py +24 -0
  47. pulumi_aws/ecs/_inputs.py +172 -33
  48. pulumi_aws/ecs/get_service.py +318 -7
  49. pulumi_aws/ecs/outputs.py +957 -86
  50. pulumi_aws/ecs/service.py +76 -0
  51. pulumi_aws/eks/_inputs.py +195 -5
  52. pulumi_aws/eks/outputs.py +164 -4
  53. pulumi_aws/elasticache/_inputs.py +154 -0
  54. pulumi_aws/elasticache/get_replication_group.py +23 -9
  55. pulumi_aws/elasticache/outputs.py +204 -0
  56. pulumi_aws/elasticache/replication_group.py +115 -0
  57. pulumi_aws/elasticache/reserved_cache_node.py +28 -0
  58. pulumi_aws/finspace/kx_cluster.py +76 -0
  59. pulumi_aws/fis/__init__.py +1 -0
  60. pulumi_aws/fis/target_account_configuration.py +401 -0
  61. pulumi_aws/glue/job.py +7 -7
  62. pulumi_aws/guardduty/malware_protection_plan.py +50 -0
  63. pulumi_aws/guardduty/member_detector_feature.py +42 -0
  64. pulumi_aws/invoicing/__init__.py +11 -0
  65. pulumi_aws/invoicing/_inputs.py +128 -0
  66. pulumi_aws/invoicing/invoice_unit.py +620 -0
  67. pulumi_aws/invoicing/outputs.py +99 -0
  68. pulumi_aws/iot/ca_certificate.py +32 -32
  69. pulumi_aws/iot/get_registration_code.py +8 -8
  70. pulumi_aws/ivschat/logging_configuration.py +28 -0
  71. pulumi_aws/kinesis/get_stream.py +15 -1
  72. pulumi_aws/kinesis/stream.py +47 -0
  73. pulumi_aws/kms/key.py +7 -7
  74. pulumi_aws/licensemanager/license_grant.py +36 -0
  75. pulumi_aws/m2/environment.py +150 -0
  76. pulumi_aws/networkfirewall/tls_inspection_configuration.py +84 -0
  77. pulumi_aws/networkflowmonitor/__init__.py +12 -0
  78. pulumi_aws/networkflowmonitor/_inputs.py +412 -0
  79. pulumi_aws/networkflowmonitor/monitor.py +568 -0
  80. pulumi_aws/networkflowmonitor/outputs.py +302 -0
  81. pulumi_aws/networkflowmonitor/scope.py +443 -0
  82. pulumi_aws/observabilityadmin/__init__.py +11 -0
  83. pulumi_aws/observabilityadmin/_inputs.py +506 -0
  84. pulumi_aws/observabilityadmin/centralization_rule_for_organization.py +637 -0
  85. pulumi_aws/observabilityadmin/outputs.py +415 -0
  86. pulumi_aws/opensearch/_inputs.py +92 -133
  87. pulumi_aws/opensearch/authorize_vpc_endpoint_access.py +4 -4
  88. pulumi_aws/opensearch/domain.py +60 -0
  89. pulumi_aws/opensearch/get_domain.py +16 -9
  90. pulumi_aws/opensearch/outputs.py +131 -2
  91. pulumi_aws/organizations/get_policies.py +2 -2
  92. pulumi_aws/organizations/get_policies_for_target.py +2 -2
  93. pulumi_aws/organizations/get_policy.py +1 -1
  94. pulumi_aws/organizations/organization.py +7 -7
  95. pulumi_aws/organizations/policy.py +35 -7
  96. pulumi_aws/pulumi-plugin.json +1 -1
  97. pulumi_aws/quicksight/analysis.py +108 -0
  98. pulumi_aws/quicksight/dashboard.py +110 -0
  99. pulumi_aws/quicksight/template.py +126 -0
  100. pulumi_aws/redshift/cluster_snapshot.py +28 -0
  101. pulumi_aws/redshift/get_cluster.py +52 -0
  102. pulumi_aws/redshift/snapshot_copy_grant.py +22 -0
  103. pulumi_aws/route53/profiles_association.py +30 -0
  104. pulumi_aws/route53/profiles_resource_association.py +34 -0
  105. pulumi_aws/s3control/multi_region_access_point_policy.py +76 -0
  106. pulumi_aws/s3tables/table.py +76 -1
  107. pulumi_aws/s3tables/table_bucket.py +78 -3
  108. pulumi_aws/sagemaker/_inputs.py +225 -232
  109. pulumi_aws/sagemaker/endpoint_configuration.py +111 -64
  110. pulumi_aws/sagemaker/outputs.py +154 -158
  111. pulumi_aws/ssmincidents/get_response_plan.py +14 -0
  112. pulumi_aws/ssoadmin/account_assignment.py +4 -4
  113. pulumi_aws/transfer/profile.py +20 -0
  114. pulumi_aws/transfer/server.py +7 -0
  115. pulumi_aws/transfer/ssh_key.py +6 -6
  116. pulumi_aws/wafv2/rule_group.py +440 -0
  117. pulumi_aws/workspacesweb/session_logger_association.py +80 -0
  118. pulumi_aws/workspacesweb/trust_store_association.py +24 -0
  119. {pulumi_aws-7.11.1.dist-info → pulumi_aws-7.12.0.dist-info}/METADATA +1 -1
  120. {pulumi_aws-7.11.1.dist-info → pulumi_aws-7.12.0.dist-info}/RECORD +122 -107
  121. {pulumi_aws-7.11.1.dist-info → pulumi_aws-7.12.0.dist-info}/WHEEL +0 -0
  122. {pulumi_aws-7.11.1.dist-info → pulumi_aws-7.12.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,506 @@
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
+ 'CentralizationRuleForOrganizationRuleArgs',
19
+ 'CentralizationRuleForOrganizationRuleArgsDict',
20
+ 'CentralizationRuleForOrganizationRuleDestinationArgs',
21
+ 'CentralizationRuleForOrganizationRuleDestinationArgsDict',
22
+ 'CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationArgs',
23
+ 'CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationArgsDict',
24
+ 'CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationBackupConfigurationArgs',
25
+ 'CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationBackupConfigurationArgsDict',
26
+ 'CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationLogsEncryptionConfigurationArgs',
27
+ 'CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationLogsEncryptionConfigurationArgsDict',
28
+ 'CentralizationRuleForOrganizationRuleSourceArgs',
29
+ 'CentralizationRuleForOrganizationRuleSourceArgsDict',
30
+ 'CentralizationRuleForOrganizationRuleSourceSourceLogsConfigurationArgs',
31
+ 'CentralizationRuleForOrganizationRuleSourceSourceLogsConfigurationArgsDict',
32
+ 'CentralizationRuleForOrganizationTimeoutsArgs',
33
+ 'CentralizationRuleForOrganizationTimeoutsArgsDict',
34
+ ]
35
+
36
+ MYPY = False
37
+
38
+ if not MYPY:
39
+ class CentralizationRuleForOrganizationRuleArgsDict(TypedDict):
40
+ destination: NotRequired[pulumi.Input['CentralizationRuleForOrganizationRuleDestinationArgsDict']]
41
+ """
42
+ Configuration block for the destination where logs will be centralized. See `destination` below.
43
+ """
44
+ source: NotRequired[pulumi.Input['CentralizationRuleForOrganizationRuleSourceArgsDict']]
45
+ """
46
+ Configuration block for the source of logs to be centralized. See `source` below.
47
+ """
48
+ elif False:
49
+ CentralizationRuleForOrganizationRuleArgsDict: TypeAlias = Mapping[str, Any]
50
+
51
+ @pulumi.input_type
52
+ class CentralizationRuleForOrganizationRuleArgs:
53
+ def __init__(__self__, *,
54
+ destination: Optional[pulumi.Input['CentralizationRuleForOrganizationRuleDestinationArgs']] = None,
55
+ source: Optional[pulumi.Input['CentralizationRuleForOrganizationRuleSourceArgs']] = None):
56
+ """
57
+ :param pulumi.Input['CentralizationRuleForOrganizationRuleDestinationArgs'] destination: Configuration block for the destination where logs will be centralized. See `destination` below.
58
+ :param pulumi.Input['CentralizationRuleForOrganizationRuleSourceArgs'] source: Configuration block for the source of logs to be centralized. See `source` below.
59
+ """
60
+ if destination is not None:
61
+ pulumi.set(__self__, "destination", destination)
62
+ if source is not None:
63
+ pulumi.set(__self__, "source", source)
64
+
65
+ @_builtins.property
66
+ @pulumi.getter
67
+ def destination(self) -> Optional[pulumi.Input['CentralizationRuleForOrganizationRuleDestinationArgs']]:
68
+ """
69
+ Configuration block for the destination where logs will be centralized. See `destination` below.
70
+ """
71
+ return pulumi.get(self, "destination")
72
+
73
+ @destination.setter
74
+ def destination(self, value: Optional[pulumi.Input['CentralizationRuleForOrganizationRuleDestinationArgs']]):
75
+ pulumi.set(self, "destination", value)
76
+
77
+ @_builtins.property
78
+ @pulumi.getter
79
+ def source(self) -> Optional[pulumi.Input['CentralizationRuleForOrganizationRuleSourceArgs']]:
80
+ """
81
+ Configuration block for the source of logs to be centralized. See `source` below.
82
+ """
83
+ return pulumi.get(self, "source")
84
+
85
+ @source.setter
86
+ def source(self, value: Optional[pulumi.Input['CentralizationRuleForOrganizationRuleSourceArgs']]):
87
+ pulumi.set(self, "source", value)
88
+
89
+
90
+ if not MYPY:
91
+ class CentralizationRuleForOrganizationRuleDestinationArgsDict(TypedDict):
92
+ account: pulumi.Input[_builtins.str]
93
+ """
94
+ AWS account ID where logs will be centralized.
95
+ """
96
+ region: pulumi.Input[_builtins.str]
97
+ """
98
+ AWS region where logs will be centralized.
99
+ """
100
+ destination_logs_configuration: NotRequired[pulumi.Input['CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationArgsDict']]
101
+ """
102
+ Configuration block for destination logs settings. See `destination_logs_configuration` below.
103
+ """
104
+ elif False:
105
+ CentralizationRuleForOrganizationRuleDestinationArgsDict: TypeAlias = Mapping[str, Any]
106
+
107
+ @pulumi.input_type
108
+ class CentralizationRuleForOrganizationRuleDestinationArgs:
109
+ def __init__(__self__, *,
110
+ account: pulumi.Input[_builtins.str],
111
+ region: pulumi.Input[_builtins.str],
112
+ destination_logs_configuration: Optional[pulumi.Input['CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationArgs']] = None):
113
+ """
114
+ :param pulumi.Input[_builtins.str] account: AWS account ID where logs will be centralized.
115
+ :param pulumi.Input[_builtins.str] region: AWS region where logs will be centralized.
116
+ :param pulumi.Input['CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationArgs'] destination_logs_configuration: Configuration block for destination logs settings. See `destination_logs_configuration` below.
117
+ """
118
+ pulumi.set(__self__, "account", account)
119
+ pulumi.set(__self__, "region", region)
120
+ if destination_logs_configuration is not None:
121
+ pulumi.set(__self__, "destination_logs_configuration", destination_logs_configuration)
122
+
123
+ @_builtins.property
124
+ @pulumi.getter
125
+ def account(self) -> pulumi.Input[_builtins.str]:
126
+ """
127
+ AWS account ID where logs will be centralized.
128
+ """
129
+ return pulumi.get(self, "account")
130
+
131
+ @account.setter
132
+ def account(self, value: pulumi.Input[_builtins.str]):
133
+ pulumi.set(self, "account", value)
134
+
135
+ @_builtins.property
136
+ @pulumi.getter
137
+ def region(self) -> pulumi.Input[_builtins.str]:
138
+ """
139
+ AWS region where logs will be centralized.
140
+ """
141
+ return pulumi.get(self, "region")
142
+
143
+ @region.setter
144
+ def region(self, value: pulumi.Input[_builtins.str]):
145
+ pulumi.set(self, "region", value)
146
+
147
+ @_builtins.property
148
+ @pulumi.getter(name="destinationLogsConfiguration")
149
+ def destination_logs_configuration(self) -> Optional[pulumi.Input['CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationArgs']]:
150
+ """
151
+ Configuration block for destination logs settings. See `destination_logs_configuration` below.
152
+ """
153
+ return pulumi.get(self, "destination_logs_configuration")
154
+
155
+ @destination_logs_configuration.setter
156
+ def destination_logs_configuration(self, value: Optional[pulumi.Input['CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationArgs']]):
157
+ pulumi.set(self, "destination_logs_configuration", value)
158
+
159
+
160
+ if not MYPY:
161
+ class CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationArgsDict(TypedDict):
162
+ backup_configuration: NotRequired[pulumi.Input['CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationBackupConfigurationArgsDict']]
163
+ """
164
+ Configuration block for backup settings. See `backup_configuration` below.
165
+ """
166
+ logs_encryption_configuration: NotRequired[pulumi.Input['CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationLogsEncryptionConfigurationArgsDict']]
167
+ """
168
+ Configuration block for logs encryption settings. See `logs_encryption_configuration` below.
169
+ """
170
+ elif False:
171
+ CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationArgsDict: TypeAlias = Mapping[str, Any]
172
+
173
+ @pulumi.input_type
174
+ class CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationArgs:
175
+ def __init__(__self__, *,
176
+ backup_configuration: Optional[pulumi.Input['CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationBackupConfigurationArgs']] = None,
177
+ logs_encryption_configuration: Optional[pulumi.Input['CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationLogsEncryptionConfigurationArgs']] = None):
178
+ """
179
+ :param pulumi.Input['CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationBackupConfigurationArgs'] backup_configuration: Configuration block for backup settings. See `backup_configuration` below.
180
+ :param pulumi.Input['CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationLogsEncryptionConfigurationArgs'] logs_encryption_configuration: Configuration block for logs encryption settings. See `logs_encryption_configuration` below.
181
+ """
182
+ if backup_configuration is not None:
183
+ pulumi.set(__self__, "backup_configuration", backup_configuration)
184
+ if logs_encryption_configuration is not None:
185
+ pulumi.set(__self__, "logs_encryption_configuration", logs_encryption_configuration)
186
+
187
+ @_builtins.property
188
+ @pulumi.getter(name="backupConfiguration")
189
+ def backup_configuration(self) -> Optional[pulumi.Input['CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationBackupConfigurationArgs']]:
190
+ """
191
+ Configuration block for backup settings. See `backup_configuration` below.
192
+ """
193
+ return pulumi.get(self, "backup_configuration")
194
+
195
+ @backup_configuration.setter
196
+ def backup_configuration(self, value: Optional[pulumi.Input['CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationBackupConfigurationArgs']]):
197
+ pulumi.set(self, "backup_configuration", value)
198
+
199
+ @_builtins.property
200
+ @pulumi.getter(name="logsEncryptionConfiguration")
201
+ def logs_encryption_configuration(self) -> Optional[pulumi.Input['CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationLogsEncryptionConfigurationArgs']]:
202
+ """
203
+ Configuration block for logs encryption settings. See `logs_encryption_configuration` below.
204
+ """
205
+ return pulumi.get(self, "logs_encryption_configuration")
206
+
207
+ @logs_encryption_configuration.setter
208
+ def logs_encryption_configuration(self, value: Optional[pulumi.Input['CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationLogsEncryptionConfigurationArgs']]):
209
+ pulumi.set(self, "logs_encryption_configuration", value)
210
+
211
+
212
+ if not MYPY:
213
+ class CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationBackupConfigurationArgsDict(TypedDict):
214
+ kms_key_arn: NotRequired[pulumi.Input[_builtins.str]]
215
+ """
216
+ ARN of the KMS key to use for backup encryption.
217
+ """
218
+ region: NotRequired[pulumi.Input[_builtins.str]]
219
+ """
220
+ AWS region for backup storage.
221
+ """
222
+ elif False:
223
+ CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationBackupConfigurationArgsDict: TypeAlias = Mapping[str, Any]
224
+
225
+ @pulumi.input_type
226
+ class CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationBackupConfigurationArgs:
227
+ def __init__(__self__, *,
228
+ kms_key_arn: Optional[pulumi.Input[_builtins.str]] = None,
229
+ region: Optional[pulumi.Input[_builtins.str]] = None):
230
+ """
231
+ :param pulumi.Input[_builtins.str] kms_key_arn: ARN of the KMS key to use for backup encryption.
232
+ :param pulumi.Input[_builtins.str] region: AWS region for backup storage.
233
+ """
234
+ if kms_key_arn is not None:
235
+ pulumi.set(__self__, "kms_key_arn", kms_key_arn)
236
+ if region is not None:
237
+ pulumi.set(__self__, "region", region)
238
+
239
+ @_builtins.property
240
+ @pulumi.getter(name="kmsKeyArn")
241
+ def kms_key_arn(self) -> Optional[pulumi.Input[_builtins.str]]:
242
+ """
243
+ ARN of the KMS key to use for backup encryption.
244
+ """
245
+ return pulumi.get(self, "kms_key_arn")
246
+
247
+ @kms_key_arn.setter
248
+ def kms_key_arn(self, value: Optional[pulumi.Input[_builtins.str]]):
249
+ pulumi.set(self, "kms_key_arn", value)
250
+
251
+ @_builtins.property
252
+ @pulumi.getter
253
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
254
+ """
255
+ AWS region for backup storage.
256
+ """
257
+ return pulumi.get(self, "region")
258
+
259
+ @region.setter
260
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
261
+ pulumi.set(self, "region", value)
262
+
263
+
264
+ if not MYPY:
265
+ class CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationLogsEncryptionConfigurationArgsDict(TypedDict):
266
+ encryption_strategy: pulumi.Input[_builtins.str]
267
+ """
268
+ Encryption strategy for logs. Valid values: `AWS_OWNED`, `CUSTOMER_MANAGED`.
269
+ """
270
+ encryption_conflict_resolution_strategy: NotRequired[pulumi.Input[_builtins.str]]
271
+ """
272
+ Strategy for resolving encryption conflicts. Valid values: `ALLOW`, `SKIP`.
273
+ """
274
+ kms_key_arn: NotRequired[pulumi.Input[_builtins.str]]
275
+ """
276
+ ARN of the KMS key to use for encryption when `encryption_strategy` is `CUSTOMER_MANAGED`.
277
+ """
278
+ elif False:
279
+ CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationLogsEncryptionConfigurationArgsDict: TypeAlias = Mapping[str, Any]
280
+
281
+ @pulumi.input_type
282
+ class CentralizationRuleForOrganizationRuleDestinationDestinationLogsConfigurationLogsEncryptionConfigurationArgs:
283
+ def __init__(__self__, *,
284
+ encryption_strategy: pulumi.Input[_builtins.str],
285
+ encryption_conflict_resolution_strategy: Optional[pulumi.Input[_builtins.str]] = None,
286
+ kms_key_arn: Optional[pulumi.Input[_builtins.str]] = None):
287
+ """
288
+ :param pulumi.Input[_builtins.str] encryption_strategy: Encryption strategy for logs. Valid values: `AWS_OWNED`, `CUSTOMER_MANAGED`.
289
+ :param pulumi.Input[_builtins.str] encryption_conflict_resolution_strategy: Strategy for resolving encryption conflicts. Valid values: `ALLOW`, `SKIP`.
290
+ :param pulumi.Input[_builtins.str] kms_key_arn: ARN of the KMS key to use for encryption when `encryption_strategy` is `CUSTOMER_MANAGED`.
291
+ """
292
+ pulumi.set(__self__, "encryption_strategy", encryption_strategy)
293
+ if encryption_conflict_resolution_strategy is not None:
294
+ pulumi.set(__self__, "encryption_conflict_resolution_strategy", encryption_conflict_resolution_strategy)
295
+ if kms_key_arn is not None:
296
+ pulumi.set(__self__, "kms_key_arn", kms_key_arn)
297
+
298
+ @_builtins.property
299
+ @pulumi.getter(name="encryptionStrategy")
300
+ def encryption_strategy(self) -> pulumi.Input[_builtins.str]:
301
+ """
302
+ Encryption strategy for logs. Valid values: `AWS_OWNED`, `CUSTOMER_MANAGED`.
303
+ """
304
+ return pulumi.get(self, "encryption_strategy")
305
+
306
+ @encryption_strategy.setter
307
+ def encryption_strategy(self, value: pulumi.Input[_builtins.str]):
308
+ pulumi.set(self, "encryption_strategy", value)
309
+
310
+ @_builtins.property
311
+ @pulumi.getter(name="encryptionConflictResolutionStrategy")
312
+ def encryption_conflict_resolution_strategy(self) -> Optional[pulumi.Input[_builtins.str]]:
313
+ """
314
+ Strategy for resolving encryption conflicts. Valid values: `ALLOW`, `SKIP`.
315
+ """
316
+ return pulumi.get(self, "encryption_conflict_resolution_strategy")
317
+
318
+ @encryption_conflict_resolution_strategy.setter
319
+ def encryption_conflict_resolution_strategy(self, value: Optional[pulumi.Input[_builtins.str]]):
320
+ pulumi.set(self, "encryption_conflict_resolution_strategy", value)
321
+
322
+ @_builtins.property
323
+ @pulumi.getter(name="kmsKeyArn")
324
+ def kms_key_arn(self) -> Optional[pulumi.Input[_builtins.str]]:
325
+ """
326
+ ARN of the KMS key to use for encryption when `encryption_strategy` is `CUSTOMER_MANAGED`.
327
+ """
328
+ return pulumi.get(self, "kms_key_arn")
329
+
330
+ @kms_key_arn.setter
331
+ def kms_key_arn(self, value: Optional[pulumi.Input[_builtins.str]]):
332
+ pulumi.set(self, "kms_key_arn", value)
333
+
334
+
335
+ if not MYPY:
336
+ class CentralizationRuleForOrganizationRuleSourceArgsDict(TypedDict):
337
+ regions: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]
338
+ """
339
+ Set of AWS regions from which to centralize logs. Must contain at least one region.
340
+ """
341
+ scope: pulumi.Input[_builtins.str]
342
+ """
343
+ Scope defining which resources to include. Use organization ID format: `OrganizationId = 'o-example123456'`.
344
+ """
345
+ source_logs_configuration: NotRequired[pulumi.Input['CentralizationRuleForOrganizationRuleSourceSourceLogsConfigurationArgsDict']]
346
+ """
347
+ Configuration block for source logs settings. See `source_logs_configuration` below.
348
+ """
349
+ elif False:
350
+ CentralizationRuleForOrganizationRuleSourceArgsDict: TypeAlias = Mapping[str, Any]
351
+
352
+ @pulumi.input_type
353
+ class CentralizationRuleForOrganizationRuleSourceArgs:
354
+ def __init__(__self__, *,
355
+ regions: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]],
356
+ scope: pulumi.Input[_builtins.str],
357
+ source_logs_configuration: Optional[pulumi.Input['CentralizationRuleForOrganizationRuleSourceSourceLogsConfigurationArgs']] = None):
358
+ """
359
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] regions: Set of AWS regions from which to centralize logs. Must contain at least one region.
360
+ :param pulumi.Input[_builtins.str] scope: Scope defining which resources to include. Use organization ID format: `OrganizationId = 'o-example123456'`.
361
+ :param pulumi.Input['CentralizationRuleForOrganizationRuleSourceSourceLogsConfigurationArgs'] source_logs_configuration: Configuration block for source logs settings. See `source_logs_configuration` below.
362
+ """
363
+ pulumi.set(__self__, "regions", regions)
364
+ pulumi.set(__self__, "scope", scope)
365
+ if source_logs_configuration is not None:
366
+ pulumi.set(__self__, "source_logs_configuration", source_logs_configuration)
367
+
368
+ @_builtins.property
369
+ @pulumi.getter
370
+ def regions(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
371
+ """
372
+ Set of AWS regions from which to centralize logs. Must contain at least one region.
373
+ """
374
+ return pulumi.get(self, "regions")
375
+
376
+ @regions.setter
377
+ def regions(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
378
+ pulumi.set(self, "regions", value)
379
+
380
+ @_builtins.property
381
+ @pulumi.getter
382
+ def scope(self) -> pulumi.Input[_builtins.str]:
383
+ """
384
+ Scope defining which resources to include. Use organization ID format: `OrganizationId = 'o-example123456'`.
385
+ """
386
+ return pulumi.get(self, "scope")
387
+
388
+ @scope.setter
389
+ def scope(self, value: pulumi.Input[_builtins.str]):
390
+ pulumi.set(self, "scope", value)
391
+
392
+ @_builtins.property
393
+ @pulumi.getter(name="sourceLogsConfiguration")
394
+ def source_logs_configuration(self) -> Optional[pulumi.Input['CentralizationRuleForOrganizationRuleSourceSourceLogsConfigurationArgs']]:
395
+ """
396
+ Configuration block for source logs settings. See `source_logs_configuration` below.
397
+ """
398
+ return pulumi.get(self, "source_logs_configuration")
399
+
400
+ @source_logs_configuration.setter
401
+ def source_logs_configuration(self, value: Optional[pulumi.Input['CentralizationRuleForOrganizationRuleSourceSourceLogsConfigurationArgs']]):
402
+ pulumi.set(self, "source_logs_configuration", value)
403
+
404
+
405
+ if not MYPY:
406
+ class CentralizationRuleForOrganizationRuleSourceSourceLogsConfigurationArgsDict(TypedDict):
407
+ encrypted_log_group_strategy: pulumi.Input[_builtins.str]
408
+ """
409
+ Strategy for handling encrypted log groups. Valid values: `ALLOW`, `SKIP`.
410
+ """
411
+ log_group_selection_criteria: pulumi.Input[_builtins.str]
412
+ """
413
+ Criteria for selecting log groups. Use `*` for all log groups or OAM filter syntax like `LogGroupName LIKE '/aws/lambda%'`. Must be between 1 and 2000 characters.
414
+ """
415
+ elif False:
416
+ CentralizationRuleForOrganizationRuleSourceSourceLogsConfigurationArgsDict: TypeAlias = Mapping[str, Any]
417
+
418
+ @pulumi.input_type
419
+ class CentralizationRuleForOrganizationRuleSourceSourceLogsConfigurationArgs:
420
+ def __init__(__self__, *,
421
+ encrypted_log_group_strategy: pulumi.Input[_builtins.str],
422
+ log_group_selection_criteria: pulumi.Input[_builtins.str]):
423
+ """
424
+ :param pulumi.Input[_builtins.str] encrypted_log_group_strategy: Strategy for handling encrypted log groups. Valid values: `ALLOW`, `SKIP`.
425
+ :param pulumi.Input[_builtins.str] log_group_selection_criteria: Criteria for selecting log groups. Use `*` for all log groups or OAM filter syntax like `LogGroupName LIKE '/aws/lambda%'`. Must be between 1 and 2000 characters.
426
+ """
427
+ pulumi.set(__self__, "encrypted_log_group_strategy", encrypted_log_group_strategy)
428
+ pulumi.set(__self__, "log_group_selection_criteria", log_group_selection_criteria)
429
+
430
+ @_builtins.property
431
+ @pulumi.getter(name="encryptedLogGroupStrategy")
432
+ def encrypted_log_group_strategy(self) -> pulumi.Input[_builtins.str]:
433
+ """
434
+ Strategy for handling encrypted log groups. Valid values: `ALLOW`, `SKIP`.
435
+ """
436
+ return pulumi.get(self, "encrypted_log_group_strategy")
437
+
438
+ @encrypted_log_group_strategy.setter
439
+ def encrypted_log_group_strategy(self, value: pulumi.Input[_builtins.str]):
440
+ pulumi.set(self, "encrypted_log_group_strategy", value)
441
+
442
+ @_builtins.property
443
+ @pulumi.getter(name="logGroupSelectionCriteria")
444
+ def log_group_selection_criteria(self) -> pulumi.Input[_builtins.str]:
445
+ """
446
+ Criteria for selecting log groups. Use `*` for all log groups or OAM filter syntax like `LogGroupName LIKE '/aws/lambda%'`. Must be between 1 and 2000 characters.
447
+ """
448
+ return pulumi.get(self, "log_group_selection_criteria")
449
+
450
+ @log_group_selection_criteria.setter
451
+ def log_group_selection_criteria(self, value: pulumi.Input[_builtins.str]):
452
+ pulumi.set(self, "log_group_selection_criteria", value)
453
+
454
+
455
+ if not MYPY:
456
+ class CentralizationRuleForOrganizationTimeoutsArgsDict(TypedDict):
457
+ create: NotRequired[pulumi.Input[_builtins.str]]
458
+ """
459
+ A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
460
+ """
461
+ update: NotRequired[pulumi.Input[_builtins.str]]
462
+ """
463
+ A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
464
+ """
465
+ elif False:
466
+ CentralizationRuleForOrganizationTimeoutsArgsDict: TypeAlias = Mapping[str, Any]
467
+
468
+ @pulumi.input_type
469
+ class CentralizationRuleForOrganizationTimeoutsArgs:
470
+ def __init__(__self__, *,
471
+ create: Optional[pulumi.Input[_builtins.str]] = None,
472
+ update: Optional[pulumi.Input[_builtins.str]] = None):
473
+ """
474
+ :param pulumi.Input[_builtins.str] create: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
475
+ :param pulumi.Input[_builtins.str] update: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
476
+ """
477
+ if create is not None:
478
+ pulumi.set(__self__, "create", create)
479
+ if update is not None:
480
+ pulumi.set(__self__, "update", update)
481
+
482
+ @_builtins.property
483
+ @pulumi.getter
484
+ def create(self) -> Optional[pulumi.Input[_builtins.str]]:
485
+ """
486
+ A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
487
+ """
488
+ return pulumi.get(self, "create")
489
+
490
+ @create.setter
491
+ def create(self, value: Optional[pulumi.Input[_builtins.str]]):
492
+ pulumi.set(self, "create", value)
493
+
494
+ @_builtins.property
495
+ @pulumi.getter
496
+ def update(self) -> Optional[pulumi.Input[_builtins.str]]:
497
+ """
498
+ A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
499
+ """
500
+ return pulumi.get(self, "update")
501
+
502
+ @update.setter
503
+ def update(self, value: Optional[pulumi.Input[_builtins.str]]):
504
+ pulumi.set(self, "update", value)
505
+
506
+