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,857 @@
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__ = ['DistributionTenantArgs', 'DistributionTenant']
20
+
21
+ @pulumi.input_type
22
+ class DistributionTenantArgs:
23
+ def __init__(__self__, *,
24
+ distribution_id: pulumi.Input[_builtins.str],
25
+ connection_group_id: Optional[pulumi.Input[_builtins.str]] = None,
26
+ customizations: Optional[pulumi.Input['DistributionTenantCustomizationsArgs']] = None,
27
+ domains: Optional[pulumi.Input[Sequence[pulumi.Input['DistributionTenantDomainArgs']]]] = None,
28
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
29
+ managed_certificate_request: Optional[pulumi.Input['DistributionTenantManagedCertificateRequestArgs']] = None,
30
+ name: Optional[pulumi.Input[_builtins.str]] = None,
31
+ parameters: Optional[pulumi.Input[Sequence[pulumi.Input['DistributionTenantParameterArgs']]]] = None,
32
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
33
+ timeouts: Optional[pulumi.Input['DistributionTenantTimeoutsArgs']] = None,
34
+ wait_for_deployment: Optional[pulumi.Input[_builtins.bool]] = None):
35
+ """
36
+ The set of arguments for constructing a DistributionTenant resource.
37
+ :param pulumi.Input[_builtins.str] distribution_id: ID of the multi-tenant distribution.
38
+ :param pulumi.Input[_builtins.str] connection_group_id: ID of the connection group for the distribution tenant. If not specified, CloudFront uses the default connection group.
39
+ :param pulumi.Input['DistributionTenantCustomizationsArgs'] customizations: Customizations for the distribution tenant (maximum one).
40
+ :param pulumi.Input[Sequence[pulumi.Input['DistributionTenantDomainArgs']]] domains: Set of domains associated with the distribution tenant.
41
+ :param pulumi.Input[_builtins.bool] enabled: Whether the distribution tenant is enabled to serve traffic. Defaults to `true`.
42
+ :param pulumi.Input['DistributionTenantManagedCertificateRequestArgs'] managed_certificate_request: Managed certificate request for CloudFront managed ACM certificate (maximum one).
43
+ :param pulumi.Input[_builtins.str] name: Name of the distribution tenant.
44
+ :param pulumi.Input[Sequence[pulumi.Input['DistributionTenantParameterArgs']]] parameters: Set of parameter values for the distribution tenant.
45
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
46
+ :param pulumi.Input[_builtins.bool] wait_for_deployment: If enabled, the resource will wait for the distribution tenant status to change from `InProgress` to `Deployed`. Setting this to `false` will skip the process. Default: `true`.
47
+ """
48
+ pulumi.set(__self__, "distribution_id", distribution_id)
49
+ if connection_group_id is not None:
50
+ pulumi.set(__self__, "connection_group_id", connection_group_id)
51
+ if customizations is not None:
52
+ pulumi.set(__self__, "customizations", customizations)
53
+ if domains is not None:
54
+ pulumi.set(__self__, "domains", domains)
55
+ if enabled is not None:
56
+ pulumi.set(__self__, "enabled", enabled)
57
+ if managed_certificate_request is not None:
58
+ pulumi.set(__self__, "managed_certificate_request", managed_certificate_request)
59
+ if name is not None:
60
+ pulumi.set(__self__, "name", name)
61
+ if parameters is not None:
62
+ pulumi.set(__self__, "parameters", parameters)
63
+ if tags is not None:
64
+ pulumi.set(__self__, "tags", tags)
65
+ if timeouts is not None:
66
+ pulumi.set(__self__, "timeouts", timeouts)
67
+ if wait_for_deployment is not None:
68
+ pulumi.set(__self__, "wait_for_deployment", wait_for_deployment)
69
+
70
+ @_builtins.property
71
+ @pulumi.getter(name="distributionId")
72
+ def distribution_id(self) -> pulumi.Input[_builtins.str]:
73
+ """
74
+ ID of the multi-tenant distribution.
75
+ """
76
+ return pulumi.get(self, "distribution_id")
77
+
78
+ @distribution_id.setter
79
+ def distribution_id(self, value: pulumi.Input[_builtins.str]):
80
+ pulumi.set(self, "distribution_id", value)
81
+
82
+ @_builtins.property
83
+ @pulumi.getter(name="connectionGroupId")
84
+ def connection_group_id(self) -> Optional[pulumi.Input[_builtins.str]]:
85
+ """
86
+ ID of the connection group for the distribution tenant. If not specified, CloudFront uses the default connection group.
87
+ """
88
+ return pulumi.get(self, "connection_group_id")
89
+
90
+ @connection_group_id.setter
91
+ def connection_group_id(self, value: Optional[pulumi.Input[_builtins.str]]):
92
+ pulumi.set(self, "connection_group_id", value)
93
+
94
+ @_builtins.property
95
+ @pulumi.getter
96
+ def customizations(self) -> Optional[pulumi.Input['DistributionTenantCustomizationsArgs']]:
97
+ """
98
+ Customizations for the distribution tenant (maximum one).
99
+ """
100
+ return pulumi.get(self, "customizations")
101
+
102
+ @customizations.setter
103
+ def customizations(self, value: Optional[pulumi.Input['DistributionTenantCustomizationsArgs']]):
104
+ pulumi.set(self, "customizations", value)
105
+
106
+ @_builtins.property
107
+ @pulumi.getter
108
+ def domains(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DistributionTenantDomainArgs']]]]:
109
+ """
110
+ Set of domains associated with the distribution tenant.
111
+ """
112
+ return pulumi.get(self, "domains")
113
+
114
+ @domains.setter
115
+ def domains(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DistributionTenantDomainArgs']]]]):
116
+ pulumi.set(self, "domains", value)
117
+
118
+ @_builtins.property
119
+ @pulumi.getter
120
+ def enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
121
+ """
122
+ Whether the distribution tenant is enabled to serve traffic. Defaults to `true`.
123
+ """
124
+ return pulumi.get(self, "enabled")
125
+
126
+ @enabled.setter
127
+ def enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
128
+ pulumi.set(self, "enabled", value)
129
+
130
+ @_builtins.property
131
+ @pulumi.getter(name="managedCertificateRequest")
132
+ def managed_certificate_request(self) -> Optional[pulumi.Input['DistributionTenantManagedCertificateRequestArgs']]:
133
+ """
134
+ Managed certificate request for CloudFront managed ACM certificate (maximum one).
135
+ """
136
+ return pulumi.get(self, "managed_certificate_request")
137
+
138
+ @managed_certificate_request.setter
139
+ def managed_certificate_request(self, value: Optional[pulumi.Input['DistributionTenantManagedCertificateRequestArgs']]):
140
+ pulumi.set(self, "managed_certificate_request", value)
141
+
142
+ @_builtins.property
143
+ @pulumi.getter
144
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
145
+ """
146
+ Name of the distribution tenant.
147
+ """
148
+ return pulumi.get(self, "name")
149
+
150
+ @name.setter
151
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
152
+ pulumi.set(self, "name", value)
153
+
154
+ @_builtins.property
155
+ @pulumi.getter
156
+ def parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DistributionTenantParameterArgs']]]]:
157
+ """
158
+ Set of parameter values for the distribution tenant.
159
+ """
160
+ return pulumi.get(self, "parameters")
161
+
162
+ @parameters.setter
163
+ def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DistributionTenantParameterArgs']]]]):
164
+ pulumi.set(self, "parameters", value)
165
+
166
+ @_builtins.property
167
+ @pulumi.getter
168
+ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
169
+ """
170
+ Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
171
+ """
172
+ return pulumi.get(self, "tags")
173
+
174
+ @tags.setter
175
+ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
176
+ pulumi.set(self, "tags", value)
177
+
178
+ @_builtins.property
179
+ @pulumi.getter
180
+ def timeouts(self) -> Optional[pulumi.Input['DistributionTenantTimeoutsArgs']]:
181
+ return pulumi.get(self, "timeouts")
182
+
183
+ @timeouts.setter
184
+ def timeouts(self, value: Optional[pulumi.Input['DistributionTenantTimeoutsArgs']]):
185
+ pulumi.set(self, "timeouts", value)
186
+
187
+ @_builtins.property
188
+ @pulumi.getter(name="waitForDeployment")
189
+ def wait_for_deployment(self) -> Optional[pulumi.Input[_builtins.bool]]:
190
+ """
191
+ If enabled, the resource will wait for the distribution tenant status to change from `InProgress` to `Deployed`. Setting this to `false` will skip the process. Default: `true`.
192
+ """
193
+ return pulumi.get(self, "wait_for_deployment")
194
+
195
+ @wait_for_deployment.setter
196
+ def wait_for_deployment(self, value: Optional[pulumi.Input[_builtins.bool]]):
197
+ pulumi.set(self, "wait_for_deployment", value)
198
+
199
+
200
+ @pulumi.input_type
201
+ class _DistributionTenantState:
202
+ def __init__(__self__, *,
203
+ arn: Optional[pulumi.Input[_builtins.str]] = None,
204
+ connection_group_id: Optional[pulumi.Input[_builtins.str]] = None,
205
+ customizations: Optional[pulumi.Input['DistributionTenantCustomizationsArgs']] = None,
206
+ distribution_id: Optional[pulumi.Input[_builtins.str]] = None,
207
+ domains: Optional[pulumi.Input[Sequence[pulumi.Input['DistributionTenantDomainArgs']]]] = None,
208
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
209
+ etag: Optional[pulumi.Input[_builtins.str]] = None,
210
+ managed_certificate_request: Optional[pulumi.Input['DistributionTenantManagedCertificateRequestArgs']] = None,
211
+ name: Optional[pulumi.Input[_builtins.str]] = None,
212
+ parameters: Optional[pulumi.Input[Sequence[pulumi.Input['DistributionTenantParameterArgs']]]] = None,
213
+ status: Optional[pulumi.Input[_builtins.str]] = None,
214
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
215
+ tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
216
+ timeouts: Optional[pulumi.Input['DistributionTenantTimeoutsArgs']] = None,
217
+ wait_for_deployment: Optional[pulumi.Input[_builtins.bool]] = None):
218
+ """
219
+ Input properties used for looking up and filtering DistributionTenant resources.
220
+ :param pulumi.Input[_builtins.str] arn: ARN of the distribution tenant.
221
+ :param pulumi.Input[_builtins.str] connection_group_id: ID of the connection group for the distribution tenant. If not specified, CloudFront uses the default connection group.
222
+ :param pulumi.Input['DistributionTenantCustomizationsArgs'] customizations: Customizations for the distribution tenant (maximum one).
223
+ :param pulumi.Input[_builtins.str] distribution_id: ID of the multi-tenant distribution.
224
+ :param pulumi.Input[Sequence[pulumi.Input['DistributionTenantDomainArgs']]] domains: Set of domains associated with the distribution tenant.
225
+ :param pulumi.Input[_builtins.bool] enabled: Whether the distribution tenant is enabled to serve traffic. Defaults to `true`.
226
+ :param pulumi.Input[_builtins.str] etag: Current version of the distribution tenant.
227
+ :param pulumi.Input['DistributionTenantManagedCertificateRequestArgs'] managed_certificate_request: Managed certificate request for CloudFront managed ACM certificate (maximum one).
228
+ :param pulumi.Input[_builtins.str] name: Name of the distribution tenant.
229
+ :param pulumi.Input[Sequence[pulumi.Input['DistributionTenantParameterArgs']]] parameters: Set of parameter values for the distribution tenant.
230
+ :param pulumi.Input[_builtins.str] status: Current status of the distribution tenant.
231
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
232
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
233
+ :param pulumi.Input[_builtins.bool] wait_for_deployment: If enabled, the resource will wait for the distribution tenant status to change from `InProgress` to `Deployed`. Setting this to `false` will skip the process. Default: `true`.
234
+ """
235
+ if arn is not None:
236
+ pulumi.set(__self__, "arn", arn)
237
+ if connection_group_id is not None:
238
+ pulumi.set(__self__, "connection_group_id", connection_group_id)
239
+ if customizations is not None:
240
+ pulumi.set(__self__, "customizations", customizations)
241
+ if distribution_id is not None:
242
+ pulumi.set(__self__, "distribution_id", distribution_id)
243
+ if domains is not None:
244
+ pulumi.set(__self__, "domains", domains)
245
+ if enabled is not None:
246
+ pulumi.set(__self__, "enabled", enabled)
247
+ if etag is not None:
248
+ pulumi.set(__self__, "etag", etag)
249
+ if managed_certificate_request is not None:
250
+ pulumi.set(__self__, "managed_certificate_request", managed_certificate_request)
251
+ if name is not None:
252
+ pulumi.set(__self__, "name", name)
253
+ if parameters is not None:
254
+ pulumi.set(__self__, "parameters", parameters)
255
+ if status is not None:
256
+ pulumi.set(__self__, "status", status)
257
+ if tags is not None:
258
+ pulumi.set(__self__, "tags", tags)
259
+ if tags_all is not None:
260
+ pulumi.set(__self__, "tags_all", tags_all)
261
+ if timeouts is not None:
262
+ pulumi.set(__self__, "timeouts", timeouts)
263
+ if wait_for_deployment is not None:
264
+ pulumi.set(__self__, "wait_for_deployment", wait_for_deployment)
265
+
266
+ @_builtins.property
267
+ @pulumi.getter
268
+ def arn(self) -> Optional[pulumi.Input[_builtins.str]]:
269
+ """
270
+ ARN of the distribution tenant.
271
+ """
272
+ return pulumi.get(self, "arn")
273
+
274
+ @arn.setter
275
+ def arn(self, value: Optional[pulumi.Input[_builtins.str]]):
276
+ pulumi.set(self, "arn", value)
277
+
278
+ @_builtins.property
279
+ @pulumi.getter(name="connectionGroupId")
280
+ def connection_group_id(self) -> Optional[pulumi.Input[_builtins.str]]:
281
+ """
282
+ ID of the connection group for the distribution tenant. If not specified, CloudFront uses the default connection group.
283
+ """
284
+ return pulumi.get(self, "connection_group_id")
285
+
286
+ @connection_group_id.setter
287
+ def connection_group_id(self, value: Optional[pulumi.Input[_builtins.str]]):
288
+ pulumi.set(self, "connection_group_id", value)
289
+
290
+ @_builtins.property
291
+ @pulumi.getter
292
+ def customizations(self) -> Optional[pulumi.Input['DistributionTenantCustomizationsArgs']]:
293
+ """
294
+ Customizations for the distribution tenant (maximum one).
295
+ """
296
+ return pulumi.get(self, "customizations")
297
+
298
+ @customizations.setter
299
+ def customizations(self, value: Optional[pulumi.Input['DistributionTenantCustomizationsArgs']]):
300
+ pulumi.set(self, "customizations", value)
301
+
302
+ @_builtins.property
303
+ @pulumi.getter(name="distributionId")
304
+ def distribution_id(self) -> Optional[pulumi.Input[_builtins.str]]:
305
+ """
306
+ ID of the multi-tenant distribution.
307
+ """
308
+ return pulumi.get(self, "distribution_id")
309
+
310
+ @distribution_id.setter
311
+ def distribution_id(self, value: Optional[pulumi.Input[_builtins.str]]):
312
+ pulumi.set(self, "distribution_id", value)
313
+
314
+ @_builtins.property
315
+ @pulumi.getter
316
+ def domains(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DistributionTenantDomainArgs']]]]:
317
+ """
318
+ Set of domains associated with the distribution tenant.
319
+ """
320
+ return pulumi.get(self, "domains")
321
+
322
+ @domains.setter
323
+ def domains(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DistributionTenantDomainArgs']]]]):
324
+ pulumi.set(self, "domains", value)
325
+
326
+ @_builtins.property
327
+ @pulumi.getter
328
+ def enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
329
+ """
330
+ Whether the distribution tenant is enabled to serve traffic. Defaults to `true`.
331
+ """
332
+ return pulumi.get(self, "enabled")
333
+
334
+ @enabled.setter
335
+ def enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
336
+ pulumi.set(self, "enabled", value)
337
+
338
+ @_builtins.property
339
+ @pulumi.getter
340
+ def etag(self) -> Optional[pulumi.Input[_builtins.str]]:
341
+ """
342
+ Current version of the distribution tenant.
343
+ """
344
+ return pulumi.get(self, "etag")
345
+
346
+ @etag.setter
347
+ def etag(self, value: Optional[pulumi.Input[_builtins.str]]):
348
+ pulumi.set(self, "etag", value)
349
+
350
+ @_builtins.property
351
+ @pulumi.getter(name="managedCertificateRequest")
352
+ def managed_certificate_request(self) -> Optional[pulumi.Input['DistributionTenantManagedCertificateRequestArgs']]:
353
+ """
354
+ Managed certificate request for CloudFront managed ACM certificate (maximum one).
355
+ """
356
+ return pulumi.get(self, "managed_certificate_request")
357
+
358
+ @managed_certificate_request.setter
359
+ def managed_certificate_request(self, value: Optional[pulumi.Input['DistributionTenantManagedCertificateRequestArgs']]):
360
+ pulumi.set(self, "managed_certificate_request", value)
361
+
362
+ @_builtins.property
363
+ @pulumi.getter
364
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
365
+ """
366
+ Name of the distribution tenant.
367
+ """
368
+ return pulumi.get(self, "name")
369
+
370
+ @name.setter
371
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
372
+ pulumi.set(self, "name", value)
373
+
374
+ @_builtins.property
375
+ @pulumi.getter
376
+ def parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DistributionTenantParameterArgs']]]]:
377
+ """
378
+ Set of parameter values for the distribution tenant.
379
+ """
380
+ return pulumi.get(self, "parameters")
381
+
382
+ @parameters.setter
383
+ def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DistributionTenantParameterArgs']]]]):
384
+ pulumi.set(self, "parameters", value)
385
+
386
+ @_builtins.property
387
+ @pulumi.getter
388
+ def status(self) -> Optional[pulumi.Input[_builtins.str]]:
389
+ """
390
+ Current status of the distribution tenant.
391
+ """
392
+ return pulumi.get(self, "status")
393
+
394
+ @status.setter
395
+ def status(self, value: Optional[pulumi.Input[_builtins.str]]):
396
+ pulumi.set(self, "status", value)
397
+
398
+ @_builtins.property
399
+ @pulumi.getter
400
+ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
401
+ """
402
+ Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
403
+ """
404
+ return pulumi.get(self, "tags")
405
+
406
+ @tags.setter
407
+ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
408
+ pulumi.set(self, "tags", value)
409
+
410
+ @_builtins.property
411
+ @pulumi.getter(name="tagsAll")
412
+ def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
413
+ """
414
+ Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
415
+ """
416
+ return pulumi.get(self, "tags_all")
417
+
418
+ @tags_all.setter
419
+ def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
420
+ pulumi.set(self, "tags_all", value)
421
+
422
+ @_builtins.property
423
+ @pulumi.getter
424
+ def timeouts(self) -> Optional[pulumi.Input['DistributionTenantTimeoutsArgs']]:
425
+ return pulumi.get(self, "timeouts")
426
+
427
+ @timeouts.setter
428
+ def timeouts(self, value: Optional[pulumi.Input['DistributionTenantTimeoutsArgs']]):
429
+ pulumi.set(self, "timeouts", value)
430
+
431
+ @_builtins.property
432
+ @pulumi.getter(name="waitForDeployment")
433
+ def wait_for_deployment(self) -> Optional[pulumi.Input[_builtins.bool]]:
434
+ """
435
+ If enabled, the resource will wait for the distribution tenant status to change from `InProgress` to `Deployed`. Setting this to `false` will skip the process. Default: `true`.
436
+ """
437
+ return pulumi.get(self, "wait_for_deployment")
438
+
439
+ @wait_for_deployment.setter
440
+ def wait_for_deployment(self, value: Optional[pulumi.Input[_builtins.bool]]):
441
+ pulumi.set(self, "wait_for_deployment", value)
442
+
443
+
444
+ @pulumi.type_token("aws:cloudfront/distributionTenant:DistributionTenant")
445
+ class DistributionTenant(pulumi.CustomResource):
446
+ @overload
447
+ def __init__(__self__,
448
+ resource_name: str,
449
+ opts: Optional[pulumi.ResourceOptions] = None,
450
+ connection_group_id: Optional[pulumi.Input[_builtins.str]] = None,
451
+ customizations: Optional[pulumi.Input[Union['DistributionTenantCustomizationsArgs', 'DistributionTenantCustomizationsArgsDict']]] = None,
452
+ distribution_id: Optional[pulumi.Input[_builtins.str]] = None,
453
+ domains: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DistributionTenantDomainArgs', 'DistributionTenantDomainArgsDict']]]]] = None,
454
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
455
+ managed_certificate_request: Optional[pulumi.Input[Union['DistributionTenantManagedCertificateRequestArgs', 'DistributionTenantManagedCertificateRequestArgsDict']]] = None,
456
+ name: Optional[pulumi.Input[_builtins.str]] = None,
457
+ parameters: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DistributionTenantParameterArgs', 'DistributionTenantParameterArgsDict']]]]] = None,
458
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
459
+ timeouts: Optional[pulumi.Input[Union['DistributionTenantTimeoutsArgs', 'DistributionTenantTimeoutsArgsDict']]] = None,
460
+ wait_for_deployment: Optional[pulumi.Input[_builtins.bool]] = None,
461
+ __props__=None):
462
+ """
463
+ Creates an Amazon CloudFront distribution tenant.
464
+
465
+ Distribution tenants allow you to create isolated configurations within a multi-tenant CloudFront distribution. Each tenant can have its own domains, customizations, and parameters while sharing the underlying distribution infrastructure.
466
+
467
+ For information about CloudFront distribution tenants, see the [Amazon CloudFront Developer Guide](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-tenants.html).
468
+
469
+ ## Example Usage
470
+
471
+ ### Basic Distribution Tenant
472
+
473
+ ```python
474
+ import pulumi
475
+ import pulumi_aws as aws
476
+
477
+ example = aws.cloudfront.DistributionTenant("example",
478
+ name="example-tenant",
479
+ distribution_id=example_aws_cloudfront_multitenant_distribution["id"],
480
+ enabled=True,
481
+ domains=[{
482
+ "domain": "tenant.example.com",
483
+ }],
484
+ tags={
485
+ "Environment": "production",
486
+ })
487
+ ```
488
+
489
+ ### Distribution Tenant with Customizations
490
+
491
+ ```python
492
+ import pulumi
493
+ import pulumi_aws as aws
494
+
495
+ example = aws.cloudfront.DistributionTenant("example",
496
+ name="example-tenant",
497
+ distribution_id=example_aws_cloudfront_multitenant_distribution["id"],
498
+ enabled=False,
499
+ domains=[{
500
+ "domain": "tenant.example.com",
501
+ }],
502
+ customizations={
503
+ "geo_restriction": {
504
+ "restriction_type": "whitelist",
505
+ "locations": [
506
+ "US",
507
+ "CA",
508
+ ],
509
+ },
510
+ "certificate": {
511
+ "arn": tenant_cert["arn"],
512
+ },
513
+ "web_acl": {
514
+ "action": "override",
515
+ "arn": tenant_waf["arn"],
516
+ },
517
+ },
518
+ tags={
519
+ "Environment": "production",
520
+ "Tenant": "example",
521
+ })
522
+ ```
523
+
524
+ ## Import
525
+
526
+ Using `pulumi import`, import CloudFront Distribution Tenants using the `id`. For example:
527
+
528
+ ```sh
529
+ $ pulumi import aws:cloudfront/distributionTenant:DistributionTenant example TENANT123EXAMPLE
530
+ ```
531
+
532
+ :param str resource_name: The name of the resource.
533
+ :param pulumi.ResourceOptions opts: Options for the resource.
534
+ :param pulumi.Input[_builtins.str] connection_group_id: ID of the connection group for the distribution tenant. If not specified, CloudFront uses the default connection group.
535
+ :param pulumi.Input[Union['DistributionTenantCustomizationsArgs', 'DistributionTenantCustomizationsArgsDict']] customizations: Customizations for the distribution tenant (maximum one).
536
+ :param pulumi.Input[_builtins.str] distribution_id: ID of the multi-tenant distribution.
537
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DistributionTenantDomainArgs', 'DistributionTenantDomainArgsDict']]]] domains: Set of domains associated with the distribution tenant.
538
+ :param pulumi.Input[_builtins.bool] enabled: Whether the distribution tenant is enabled to serve traffic. Defaults to `true`.
539
+ :param pulumi.Input[Union['DistributionTenantManagedCertificateRequestArgs', 'DistributionTenantManagedCertificateRequestArgsDict']] managed_certificate_request: Managed certificate request for CloudFront managed ACM certificate (maximum one).
540
+ :param pulumi.Input[_builtins.str] name: Name of the distribution tenant.
541
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DistributionTenantParameterArgs', 'DistributionTenantParameterArgsDict']]]] parameters: Set of parameter values for the distribution tenant.
542
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
543
+ :param pulumi.Input[_builtins.bool] wait_for_deployment: If enabled, the resource will wait for the distribution tenant status to change from `InProgress` to `Deployed`. Setting this to `false` will skip the process. Default: `true`.
544
+ """
545
+ ...
546
+ @overload
547
+ def __init__(__self__,
548
+ resource_name: str,
549
+ args: DistributionTenantArgs,
550
+ opts: Optional[pulumi.ResourceOptions] = None):
551
+ """
552
+ Creates an Amazon CloudFront distribution tenant.
553
+
554
+ Distribution tenants allow you to create isolated configurations within a multi-tenant CloudFront distribution. Each tenant can have its own domains, customizations, and parameters while sharing the underlying distribution infrastructure.
555
+
556
+ For information about CloudFront distribution tenants, see the [Amazon CloudFront Developer Guide](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-tenants.html).
557
+
558
+ ## Example Usage
559
+
560
+ ### Basic Distribution Tenant
561
+
562
+ ```python
563
+ import pulumi
564
+ import pulumi_aws as aws
565
+
566
+ example = aws.cloudfront.DistributionTenant("example",
567
+ name="example-tenant",
568
+ distribution_id=example_aws_cloudfront_multitenant_distribution["id"],
569
+ enabled=True,
570
+ domains=[{
571
+ "domain": "tenant.example.com",
572
+ }],
573
+ tags={
574
+ "Environment": "production",
575
+ })
576
+ ```
577
+
578
+ ### Distribution Tenant with Customizations
579
+
580
+ ```python
581
+ import pulumi
582
+ import pulumi_aws as aws
583
+
584
+ example = aws.cloudfront.DistributionTenant("example",
585
+ name="example-tenant",
586
+ distribution_id=example_aws_cloudfront_multitenant_distribution["id"],
587
+ enabled=False,
588
+ domains=[{
589
+ "domain": "tenant.example.com",
590
+ }],
591
+ customizations={
592
+ "geo_restriction": {
593
+ "restriction_type": "whitelist",
594
+ "locations": [
595
+ "US",
596
+ "CA",
597
+ ],
598
+ },
599
+ "certificate": {
600
+ "arn": tenant_cert["arn"],
601
+ },
602
+ "web_acl": {
603
+ "action": "override",
604
+ "arn": tenant_waf["arn"],
605
+ },
606
+ },
607
+ tags={
608
+ "Environment": "production",
609
+ "Tenant": "example",
610
+ })
611
+ ```
612
+
613
+ ## Import
614
+
615
+ Using `pulumi import`, import CloudFront Distribution Tenants using the `id`. For example:
616
+
617
+ ```sh
618
+ $ pulumi import aws:cloudfront/distributionTenant:DistributionTenant example TENANT123EXAMPLE
619
+ ```
620
+
621
+ :param str resource_name: The name of the resource.
622
+ :param DistributionTenantArgs args: The arguments to use to populate this resource's properties.
623
+ :param pulumi.ResourceOptions opts: Options for the resource.
624
+ """
625
+ ...
626
+ def __init__(__self__, resource_name: str, *args, **kwargs):
627
+ resource_args, opts = _utilities.get_resource_args_opts(DistributionTenantArgs, pulumi.ResourceOptions, *args, **kwargs)
628
+ if resource_args is not None:
629
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
630
+ else:
631
+ __self__._internal_init(resource_name, *args, **kwargs)
632
+
633
+ def _internal_init(__self__,
634
+ resource_name: str,
635
+ opts: Optional[pulumi.ResourceOptions] = None,
636
+ connection_group_id: Optional[pulumi.Input[_builtins.str]] = None,
637
+ customizations: Optional[pulumi.Input[Union['DistributionTenantCustomizationsArgs', 'DistributionTenantCustomizationsArgsDict']]] = None,
638
+ distribution_id: Optional[pulumi.Input[_builtins.str]] = None,
639
+ domains: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DistributionTenantDomainArgs', 'DistributionTenantDomainArgsDict']]]]] = None,
640
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
641
+ managed_certificate_request: Optional[pulumi.Input[Union['DistributionTenantManagedCertificateRequestArgs', 'DistributionTenantManagedCertificateRequestArgsDict']]] = None,
642
+ name: Optional[pulumi.Input[_builtins.str]] = None,
643
+ parameters: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DistributionTenantParameterArgs', 'DistributionTenantParameterArgsDict']]]]] = None,
644
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
645
+ timeouts: Optional[pulumi.Input[Union['DistributionTenantTimeoutsArgs', 'DistributionTenantTimeoutsArgsDict']]] = None,
646
+ wait_for_deployment: Optional[pulumi.Input[_builtins.bool]] = None,
647
+ __props__=None):
648
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
649
+ if not isinstance(opts, pulumi.ResourceOptions):
650
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
651
+ if opts.id is None:
652
+ if __props__ is not None:
653
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
654
+ __props__ = DistributionTenantArgs.__new__(DistributionTenantArgs)
655
+
656
+ __props__.__dict__["connection_group_id"] = connection_group_id
657
+ __props__.__dict__["customizations"] = customizations
658
+ if distribution_id is None and not opts.urn:
659
+ raise TypeError("Missing required property 'distribution_id'")
660
+ __props__.__dict__["distribution_id"] = distribution_id
661
+ __props__.__dict__["domains"] = domains
662
+ __props__.__dict__["enabled"] = enabled
663
+ __props__.__dict__["managed_certificate_request"] = managed_certificate_request
664
+ __props__.__dict__["name"] = name
665
+ __props__.__dict__["parameters"] = parameters
666
+ __props__.__dict__["tags"] = tags
667
+ __props__.__dict__["timeouts"] = timeouts
668
+ __props__.__dict__["wait_for_deployment"] = wait_for_deployment
669
+ __props__.__dict__["arn"] = None
670
+ __props__.__dict__["etag"] = None
671
+ __props__.__dict__["status"] = None
672
+ __props__.__dict__["tags_all"] = None
673
+ super(DistributionTenant, __self__).__init__(
674
+ 'aws:cloudfront/distributionTenant:DistributionTenant',
675
+ resource_name,
676
+ __props__,
677
+ opts)
678
+
679
+ @staticmethod
680
+ def get(resource_name: str,
681
+ id: pulumi.Input[str],
682
+ opts: Optional[pulumi.ResourceOptions] = None,
683
+ arn: Optional[pulumi.Input[_builtins.str]] = None,
684
+ connection_group_id: Optional[pulumi.Input[_builtins.str]] = None,
685
+ customizations: Optional[pulumi.Input[Union['DistributionTenantCustomizationsArgs', 'DistributionTenantCustomizationsArgsDict']]] = None,
686
+ distribution_id: Optional[pulumi.Input[_builtins.str]] = None,
687
+ domains: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DistributionTenantDomainArgs', 'DistributionTenantDomainArgsDict']]]]] = None,
688
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
689
+ etag: Optional[pulumi.Input[_builtins.str]] = None,
690
+ managed_certificate_request: Optional[pulumi.Input[Union['DistributionTenantManagedCertificateRequestArgs', 'DistributionTenantManagedCertificateRequestArgsDict']]] = None,
691
+ name: Optional[pulumi.Input[_builtins.str]] = None,
692
+ parameters: Optional[pulumi.Input[Sequence[pulumi.Input[Union['DistributionTenantParameterArgs', 'DistributionTenantParameterArgsDict']]]]] = None,
693
+ status: Optional[pulumi.Input[_builtins.str]] = None,
694
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
695
+ tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
696
+ timeouts: Optional[pulumi.Input[Union['DistributionTenantTimeoutsArgs', 'DistributionTenantTimeoutsArgsDict']]] = None,
697
+ wait_for_deployment: Optional[pulumi.Input[_builtins.bool]] = None) -> 'DistributionTenant':
698
+ """
699
+ Get an existing DistributionTenant resource's state with the given name, id, and optional extra
700
+ properties used to qualify the lookup.
701
+
702
+ :param str resource_name: The unique name of the resulting resource.
703
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
704
+ :param pulumi.ResourceOptions opts: Options for the resource.
705
+ :param pulumi.Input[_builtins.str] arn: ARN of the distribution tenant.
706
+ :param pulumi.Input[_builtins.str] connection_group_id: ID of the connection group for the distribution tenant. If not specified, CloudFront uses the default connection group.
707
+ :param pulumi.Input[Union['DistributionTenantCustomizationsArgs', 'DistributionTenantCustomizationsArgsDict']] customizations: Customizations for the distribution tenant (maximum one).
708
+ :param pulumi.Input[_builtins.str] distribution_id: ID of the multi-tenant distribution.
709
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DistributionTenantDomainArgs', 'DistributionTenantDomainArgsDict']]]] domains: Set of domains associated with the distribution tenant.
710
+ :param pulumi.Input[_builtins.bool] enabled: Whether the distribution tenant is enabled to serve traffic. Defaults to `true`.
711
+ :param pulumi.Input[_builtins.str] etag: Current version of the distribution tenant.
712
+ :param pulumi.Input[Union['DistributionTenantManagedCertificateRequestArgs', 'DistributionTenantManagedCertificateRequestArgsDict']] managed_certificate_request: Managed certificate request for CloudFront managed ACM certificate (maximum one).
713
+ :param pulumi.Input[_builtins.str] name: Name of the distribution tenant.
714
+ :param pulumi.Input[Sequence[pulumi.Input[Union['DistributionTenantParameterArgs', 'DistributionTenantParameterArgsDict']]]] parameters: Set of parameter values for the distribution tenant.
715
+ :param pulumi.Input[_builtins.str] status: Current status of the distribution tenant.
716
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
717
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
718
+ :param pulumi.Input[_builtins.bool] wait_for_deployment: If enabled, the resource will wait for the distribution tenant status to change from `InProgress` to `Deployed`. Setting this to `false` will skip the process. Default: `true`.
719
+ """
720
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
721
+
722
+ __props__ = _DistributionTenantState.__new__(_DistributionTenantState)
723
+
724
+ __props__.__dict__["arn"] = arn
725
+ __props__.__dict__["connection_group_id"] = connection_group_id
726
+ __props__.__dict__["customizations"] = customizations
727
+ __props__.__dict__["distribution_id"] = distribution_id
728
+ __props__.__dict__["domains"] = domains
729
+ __props__.__dict__["enabled"] = enabled
730
+ __props__.__dict__["etag"] = etag
731
+ __props__.__dict__["managed_certificate_request"] = managed_certificate_request
732
+ __props__.__dict__["name"] = name
733
+ __props__.__dict__["parameters"] = parameters
734
+ __props__.__dict__["status"] = status
735
+ __props__.__dict__["tags"] = tags
736
+ __props__.__dict__["tags_all"] = tags_all
737
+ __props__.__dict__["timeouts"] = timeouts
738
+ __props__.__dict__["wait_for_deployment"] = wait_for_deployment
739
+ return DistributionTenant(resource_name, opts=opts, __props__=__props__)
740
+
741
+ @_builtins.property
742
+ @pulumi.getter
743
+ def arn(self) -> pulumi.Output[_builtins.str]:
744
+ """
745
+ ARN of the distribution tenant.
746
+ """
747
+ return pulumi.get(self, "arn")
748
+
749
+ @_builtins.property
750
+ @pulumi.getter(name="connectionGroupId")
751
+ def connection_group_id(self) -> pulumi.Output[_builtins.str]:
752
+ """
753
+ ID of the connection group for the distribution tenant. If not specified, CloudFront uses the default connection group.
754
+ """
755
+ return pulumi.get(self, "connection_group_id")
756
+
757
+ @_builtins.property
758
+ @pulumi.getter
759
+ def customizations(self) -> pulumi.Output[Optional['outputs.DistributionTenantCustomizations']]:
760
+ """
761
+ Customizations for the distribution tenant (maximum one).
762
+ """
763
+ return pulumi.get(self, "customizations")
764
+
765
+ @_builtins.property
766
+ @pulumi.getter(name="distributionId")
767
+ def distribution_id(self) -> pulumi.Output[_builtins.str]:
768
+ """
769
+ ID of the multi-tenant distribution.
770
+ """
771
+ return pulumi.get(self, "distribution_id")
772
+
773
+ @_builtins.property
774
+ @pulumi.getter
775
+ def domains(self) -> pulumi.Output[Optional[Sequence['outputs.DistributionTenantDomain']]]:
776
+ """
777
+ Set of domains associated with the distribution tenant.
778
+ """
779
+ return pulumi.get(self, "domains")
780
+
781
+ @_builtins.property
782
+ @pulumi.getter
783
+ def enabled(self) -> pulumi.Output[_builtins.bool]:
784
+ """
785
+ Whether the distribution tenant is enabled to serve traffic. Defaults to `true`.
786
+ """
787
+ return pulumi.get(self, "enabled")
788
+
789
+ @_builtins.property
790
+ @pulumi.getter
791
+ def etag(self) -> pulumi.Output[_builtins.str]:
792
+ """
793
+ Current version of the distribution tenant.
794
+ """
795
+ return pulumi.get(self, "etag")
796
+
797
+ @_builtins.property
798
+ @pulumi.getter(name="managedCertificateRequest")
799
+ def managed_certificate_request(self) -> pulumi.Output[Optional['outputs.DistributionTenantManagedCertificateRequest']]:
800
+ """
801
+ Managed certificate request for CloudFront managed ACM certificate (maximum one).
802
+ """
803
+ return pulumi.get(self, "managed_certificate_request")
804
+
805
+ @_builtins.property
806
+ @pulumi.getter
807
+ def name(self) -> pulumi.Output[_builtins.str]:
808
+ """
809
+ Name of the distribution tenant.
810
+ """
811
+ return pulumi.get(self, "name")
812
+
813
+ @_builtins.property
814
+ @pulumi.getter
815
+ def parameters(self) -> pulumi.Output[Optional[Sequence['outputs.DistributionTenantParameter']]]:
816
+ """
817
+ Set of parameter values for the distribution tenant.
818
+ """
819
+ return pulumi.get(self, "parameters")
820
+
821
+ @_builtins.property
822
+ @pulumi.getter
823
+ def status(self) -> pulumi.Output[_builtins.str]:
824
+ """
825
+ Current status of the distribution tenant.
826
+ """
827
+ return pulumi.get(self, "status")
828
+
829
+ @_builtins.property
830
+ @pulumi.getter
831
+ def tags(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
832
+ """
833
+ Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
834
+ """
835
+ return pulumi.get(self, "tags")
836
+
837
+ @_builtins.property
838
+ @pulumi.getter(name="tagsAll")
839
+ def tags_all(self) -> pulumi.Output[Mapping[str, _builtins.str]]:
840
+ """
841
+ Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
842
+ """
843
+ return pulumi.get(self, "tags_all")
844
+
845
+ @_builtins.property
846
+ @pulumi.getter
847
+ def timeouts(self) -> pulumi.Output[Optional['outputs.DistributionTenantTimeouts']]:
848
+ return pulumi.get(self, "timeouts")
849
+
850
+ @_builtins.property
851
+ @pulumi.getter(name="waitForDeployment")
852
+ def wait_for_deployment(self) -> pulumi.Output[_builtins.bool]:
853
+ """
854
+ If enabled, the resource will wait for the distribution tenant status to change from `InProgress` to `Deployed`. Setting this to `false` will skip the process. Default: `true`.
855
+ """
856
+ return pulumi.get(self, "wait_for_deployment")
857
+