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,1181 @@
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__ = ['MultitenantDistributionArgs', 'MultitenantDistribution']
20
+
21
+ @pulumi.input_type
22
+ class MultitenantDistributionArgs:
23
+ def __init__(__self__, *,
24
+ comment: pulumi.Input[_builtins.str],
25
+ enabled: pulumi.Input[_builtins.bool],
26
+ active_trusted_key_groups: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionActiveTrustedKeyGroupArgs']]]] = None,
27
+ cache_behaviors: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCacheBehaviorArgs']]]] = None,
28
+ custom_error_responses: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCustomErrorResponseArgs']]]] = None,
29
+ default_cache_behavior: Optional[pulumi.Input['MultitenantDistributionDefaultCacheBehaviorArgs']] = None,
30
+ default_root_object: Optional[pulumi.Input[_builtins.str]] = None,
31
+ http_version: Optional[pulumi.Input[_builtins.str]] = None,
32
+ origin_groups: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginGroupArgs']]]] = None,
33
+ origins: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginArgs']]]] = None,
34
+ restrictions: Optional[pulumi.Input['MultitenantDistributionRestrictionsArgs']] = None,
35
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
36
+ tenant_config: Optional[pulumi.Input['MultitenantDistributionTenantConfigArgs']] = None,
37
+ timeouts: Optional[pulumi.Input['MultitenantDistributionTimeoutsArgs']] = None,
38
+ viewer_certificate: Optional[pulumi.Input['MultitenantDistributionViewerCertificateArgs']] = None,
39
+ web_acl_id: Optional[pulumi.Input[_builtins.str]] = None):
40
+ """
41
+ The set of arguments for constructing a MultitenantDistribution resource.
42
+ :param pulumi.Input[_builtins.str] comment: Any comments you want to include about the distribution.
43
+ :param pulumi.Input[_builtins.bool] enabled: Whether the distribution is enabled to accept end user requests for content.
44
+ :param pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionActiveTrustedKeyGroupArgs']]] active_trusted_key_groups: List of key groups that CloudFront can use to validate signed URLs or signed cookies. See Active Trusted Key Groups below.
45
+ :param pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCacheBehaviorArgs']]] cache_behaviors: Ordered list of cache behaviors resource for this distribution. See Cache Behavior below.
46
+ :param pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCustomErrorResponseArgs']]] custom_error_responses: One or more custom error response elements. See Custom Error Response below.
47
+ :param pulumi.Input['MultitenantDistributionDefaultCacheBehaviorArgs'] default_cache_behavior: Default cache behavior for this distribution. See Default Cache Behavior below.
48
+ :param pulumi.Input[_builtins.str] default_root_object: Object that you want CloudFront to return when an end user requests the root URL.
49
+ :param pulumi.Input[_builtins.str] http_version: Maximum HTTP version to support on the distribution. Allowed values are `http1.1`, `http2`, `http2and3`, and `http3`. Default: `http2`.
50
+ :param pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginGroupArgs']]] origin_groups: One or more origin_group for this distribution (multiples allowed). See Origin Group below.
51
+ :param pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginArgs']]] origins: One or more origins for this distribution (multiples allowed). See Origin below.
52
+ :param pulumi.Input['MultitenantDistributionRestrictionsArgs'] restrictions: Restriction configuration for this distribution. See Restrictions below.
53
+ :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.
54
+ :param pulumi.Input['MultitenantDistributionTenantConfigArgs'] tenant_config: Tenant configuration that contains parameter definitions for multi-tenant distributions. See Tenant Config below.
55
+ :param pulumi.Input['MultitenantDistributionViewerCertificateArgs'] viewer_certificate: SSL configuration for this distribution. See Viewer Certificate below.
56
+ :param pulumi.Input[_builtins.str] web_acl_id: Unique identifier that specifies the AWS WAF v2 web ACL to associate with this distribution.
57
+ """
58
+ pulumi.set(__self__, "comment", comment)
59
+ pulumi.set(__self__, "enabled", enabled)
60
+ if active_trusted_key_groups is not None:
61
+ pulumi.set(__self__, "active_trusted_key_groups", active_trusted_key_groups)
62
+ if cache_behaviors is not None:
63
+ pulumi.set(__self__, "cache_behaviors", cache_behaviors)
64
+ if custom_error_responses is not None:
65
+ pulumi.set(__self__, "custom_error_responses", custom_error_responses)
66
+ if default_cache_behavior is not None:
67
+ pulumi.set(__self__, "default_cache_behavior", default_cache_behavior)
68
+ if default_root_object is not None:
69
+ pulumi.set(__self__, "default_root_object", default_root_object)
70
+ if http_version is not None:
71
+ pulumi.set(__self__, "http_version", http_version)
72
+ if origin_groups is not None:
73
+ pulumi.set(__self__, "origin_groups", origin_groups)
74
+ if origins is not None:
75
+ pulumi.set(__self__, "origins", origins)
76
+ if restrictions is not None:
77
+ pulumi.set(__self__, "restrictions", restrictions)
78
+ if tags is not None:
79
+ pulumi.set(__self__, "tags", tags)
80
+ if tenant_config is not None:
81
+ pulumi.set(__self__, "tenant_config", tenant_config)
82
+ if timeouts is not None:
83
+ pulumi.set(__self__, "timeouts", timeouts)
84
+ if viewer_certificate is not None:
85
+ pulumi.set(__self__, "viewer_certificate", viewer_certificate)
86
+ if web_acl_id is not None:
87
+ pulumi.set(__self__, "web_acl_id", web_acl_id)
88
+
89
+ @_builtins.property
90
+ @pulumi.getter
91
+ def comment(self) -> pulumi.Input[_builtins.str]:
92
+ """
93
+ Any comments you want to include about the distribution.
94
+ """
95
+ return pulumi.get(self, "comment")
96
+
97
+ @comment.setter
98
+ def comment(self, value: pulumi.Input[_builtins.str]):
99
+ pulumi.set(self, "comment", value)
100
+
101
+ @_builtins.property
102
+ @pulumi.getter
103
+ def enabled(self) -> pulumi.Input[_builtins.bool]:
104
+ """
105
+ Whether the distribution is enabled to accept end user requests for content.
106
+ """
107
+ return pulumi.get(self, "enabled")
108
+
109
+ @enabled.setter
110
+ def enabled(self, value: pulumi.Input[_builtins.bool]):
111
+ pulumi.set(self, "enabled", value)
112
+
113
+ @_builtins.property
114
+ @pulumi.getter(name="activeTrustedKeyGroups")
115
+ def active_trusted_key_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionActiveTrustedKeyGroupArgs']]]]:
116
+ """
117
+ List of key groups that CloudFront can use to validate signed URLs or signed cookies. See Active Trusted Key Groups below.
118
+ """
119
+ return pulumi.get(self, "active_trusted_key_groups")
120
+
121
+ @active_trusted_key_groups.setter
122
+ def active_trusted_key_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionActiveTrustedKeyGroupArgs']]]]):
123
+ pulumi.set(self, "active_trusted_key_groups", value)
124
+
125
+ @_builtins.property
126
+ @pulumi.getter(name="cacheBehaviors")
127
+ def cache_behaviors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCacheBehaviorArgs']]]]:
128
+ """
129
+ Ordered list of cache behaviors resource for this distribution. See Cache Behavior below.
130
+ """
131
+ return pulumi.get(self, "cache_behaviors")
132
+
133
+ @cache_behaviors.setter
134
+ def cache_behaviors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCacheBehaviorArgs']]]]):
135
+ pulumi.set(self, "cache_behaviors", value)
136
+
137
+ @_builtins.property
138
+ @pulumi.getter(name="customErrorResponses")
139
+ def custom_error_responses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCustomErrorResponseArgs']]]]:
140
+ """
141
+ One or more custom error response elements. See Custom Error Response below.
142
+ """
143
+ return pulumi.get(self, "custom_error_responses")
144
+
145
+ @custom_error_responses.setter
146
+ def custom_error_responses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCustomErrorResponseArgs']]]]):
147
+ pulumi.set(self, "custom_error_responses", value)
148
+
149
+ @_builtins.property
150
+ @pulumi.getter(name="defaultCacheBehavior")
151
+ def default_cache_behavior(self) -> Optional[pulumi.Input['MultitenantDistributionDefaultCacheBehaviorArgs']]:
152
+ """
153
+ Default cache behavior for this distribution. See Default Cache Behavior below.
154
+ """
155
+ return pulumi.get(self, "default_cache_behavior")
156
+
157
+ @default_cache_behavior.setter
158
+ def default_cache_behavior(self, value: Optional[pulumi.Input['MultitenantDistributionDefaultCacheBehaviorArgs']]):
159
+ pulumi.set(self, "default_cache_behavior", value)
160
+
161
+ @_builtins.property
162
+ @pulumi.getter(name="defaultRootObject")
163
+ def default_root_object(self) -> Optional[pulumi.Input[_builtins.str]]:
164
+ """
165
+ Object that you want CloudFront to return when an end user requests the root URL.
166
+ """
167
+ return pulumi.get(self, "default_root_object")
168
+
169
+ @default_root_object.setter
170
+ def default_root_object(self, value: Optional[pulumi.Input[_builtins.str]]):
171
+ pulumi.set(self, "default_root_object", value)
172
+
173
+ @_builtins.property
174
+ @pulumi.getter(name="httpVersion")
175
+ def http_version(self) -> Optional[pulumi.Input[_builtins.str]]:
176
+ """
177
+ Maximum HTTP version to support on the distribution. Allowed values are `http1.1`, `http2`, `http2and3`, and `http3`. Default: `http2`.
178
+ """
179
+ return pulumi.get(self, "http_version")
180
+
181
+ @http_version.setter
182
+ def http_version(self, value: Optional[pulumi.Input[_builtins.str]]):
183
+ pulumi.set(self, "http_version", value)
184
+
185
+ @_builtins.property
186
+ @pulumi.getter(name="originGroups")
187
+ def origin_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginGroupArgs']]]]:
188
+ """
189
+ One or more origin_group for this distribution (multiples allowed). See Origin Group below.
190
+ """
191
+ return pulumi.get(self, "origin_groups")
192
+
193
+ @origin_groups.setter
194
+ def origin_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginGroupArgs']]]]):
195
+ pulumi.set(self, "origin_groups", value)
196
+
197
+ @_builtins.property
198
+ @pulumi.getter
199
+ def origins(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginArgs']]]]:
200
+ """
201
+ One or more origins for this distribution (multiples allowed). See Origin below.
202
+ """
203
+ return pulumi.get(self, "origins")
204
+
205
+ @origins.setter
206
+ def origins(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginArgs']]]]):
207
+ pulumi.set(self, "origins", value)
208
+
209
+ @_builtins.property
210
+ @pulumi.getter
211
+ def restrictions(self) -> Optional[pulumi.Input['MultitenantDistributionRestrictionsArgs']]:
212
+ """
213
+ Restriction configuration for this distribution. See Restrictions below.
214
+ """
215
+ return pulumi.get(self, "restrictions")
216
+
217
+ @restrictions.setter
218
+ def restrictions(self, value: Optional[pulumi.Input['MultitenantDistributionRestrictionsArgs']]):
219
+ pulumi.set(self, "restrictions", value)
220
+
221
+ @_builtins.property
222
+ @pulumi.getter
223
+ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
224
+ """
225
+ 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.
226
+ """
227
+ return pulumi.get(self, "tags")
228
+
229
+ @tags.setter
230
+ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
231
+ pulumi.set(self, "tags", value)
232
+
233
+ @_builtins.property
234
+ @pulumi.getter(name="tenantConfig")
235
+ def tenant_config(self) -> Optional[pulumi.Input['MultitenantDistributionTenantConfigArgs']]:
236
+ """
237
+ Tenant configuration that contains parameter definitions for multi-tenant distributions. See Tenant Config below.
238
+ """
239
+ return pulumi.get(self, "tenant_config")
240
+
241
+ @tenant_config.setter
242
+ def tenant_config(self, value: Optional[pulumi.Input['MultitenantDistributionTenantConfigArgs']]):
243
+ pulumi.set(self, "tenant_config", value)
244
+
245
+ @_builtins.property
246
+ @pulumi.getter
247
+ def timeouts(self) -> Optional[pulumi.Input['MultitenantDistributionTimeoutsArgs']]:
248
+ return pulumi.get(self, "timeouts")
249
+
250
+ @timeouts.setter
251
+ def timeouts(self, value: Optional[pulumi.Input['MultitenantDistributionTimeoutsArgs']]):
252
+ pulumi.set(self, "timeouts", value)
253
+
254
+ @_builtins.property
255
+ @pulumi.getter(name="viewerCertificate")
256
+ def viewer_certificate(self) -> Optional[pulumi.Input['MultitenantDistributionViewerCertificateArgs']]:
257
+ """
258
+ SSL configuration for this distribution. See Viewer Certificate below.
259
+ """
260
+ return pulumi.get(self, "viewer_certificate")
261
+
262
+ @viewer_certificate.setter
263
+ def viewer_certificate(self, value: Optional[pulumi.Input['MultitenantDistributionViewerCertificateArgs']]):
264
+ pulumi.set(self, "viewer_certificate", value)
265
+
266
+ @_builtins.property
267
+ @pulumi.getter(name="webAclId")
268
+ def web_acl_id(self) -> Optional[pulumi.Input[_builtins.str]]:
269
+ """
270
+ Unique identifier that specifies the AWS WAF v2 web ACL to associate with this distribution.
271
+ """
272
+ return pulumi.get(self, "web_acl_id")
273
+
274
+ @web_acl_id.setter
275
+ def web_acl_id(self, value: Optional[pulumi.Input[_builtins.str]]):
276
+ pulumi.set(self, "web_acl_id", value)
277
+
278
+
279
+ @pulumi.input_type
280
+ class _MultitenantDistributionState:
281
+ def __init__(__self__, *,
282
+ active_trusted_key_groups: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionActiveTrustedKeyGroupArgs']]]] = None,
283
+ arn: Optional[pulumi.Input[_builtins.str]] = None,
284
+ cache_behaviors: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCacheBehaviorArgs']]]] = None,
285
+ caller_reference: Optional[pulumi.Input[_builtins.str]] = None,
286
+ comment: Optional[pulumi.Input[_builtins.str]] = None,
287
+ connection_mode: Optional[pulumi.Input[_builtins.str]] = None,
288
+ custom_error_responses: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCustomErrorResponseArgs']]]] = None,
289
+ default_cache_behavior: Optional[pulumi.Input['MultitenantDistributionDefaultCacheBehaviorArgs']] = None,
290
+ default_root_object: Optional[pulumi.Input[_builtins.str]] = None,
291
+ domain_name: Optional[pulumi.Input[_builtins.str]] = None,
292
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
293
+ etag: Optional[pulumi.Input[_builtins.str]] = None,
294
+ http_version: Optional[pulumi.Input[_builtins.str]] = None,
295
+ in_progress_invalidation_batches: Optional[pulumi.Input[_builtins.int]] = None,
296
+ last_modified_time: Optional[pulumi.Input[_builtins.str]] = None,
297
+ origin_groups: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginGroupArgs']]]] = None,
298
+ origins: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginArgs']]]] = None,
299
+ restrictions: Optional[pulumi.Input['MultitenantDistributionRestrictionsArgs']] = None,
300
+ status: Optional[pulumi.Input[_builtins.str]] = None,
301
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
302
+ tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
303
+ tenant_config: Optional[pulumi.Input['MultitenantDistributionTenantConfigArgs']] = None,
304
+ timeouts: Optional[pulumi.Input['MultitenantDistributionTimeoutsArgs']] = None,
305
+ viewer_certificate: Optional[pulumi.Input['MultitenantDistributionViewerCertificateArgs']] = None,
306
+ web_acl_id: Optional[pulumi.Input[_builtins.str]] = None):
307
+ """
308
+ Input properties used for looking up and filtering MultitenantDistribution resources.
309
+ :param pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionActiveTrustedKeyGroupArgs']]] active_trusted_key_groups: List of key groups that CloudFront can use to validate signed URLs or signed cookies. See Active Trusted Key Groups below.
310
+ :param pulumi.Input[_builtins.str] arn: ARN for the distribution.
311
+ :param pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCacheBehaviorArgs']]] cache_behaviors: Ordered list of cache behaviors resource for this distribution. See Cache Behavior below.
312
+ :param pulumi.Input[_builtins.str] caller_reference: Internal value used by CloudFront to allow future updates to the distribution configuration.
313
+ :param pulumi.Input[_builtins.str] comment: Any comments you want to include about the distribution.
314
+ :param pulumi.Input[_builtins.str] connection_mode: Connection mode for the distribution. Always set to `tenant-only` for multi-tenant distributions.
315
+ :param pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCustomErrorResponseArgs']]] custom_error_responses: One or more custom error response elements. See Custom Error Response below.
316
+ :param pulumi.Input['MultitenantDistributionDefaultCacheBehaviorArgs'] default_cache_behavior: Default cache behavior for this distribution. See Default Cache Behavior below.
317
+ :param pulumi.Input[_builtins.str] default_root_object: Object that you want CloudFront to return when an end user requests the root URL.
318
+ :param pulumi.Input[_builtins.str] domain_name: Domain name corresponding to the distribution.
319
+ :param pulumi.Input[_builtins.bool] enabled: Whether the distribution is enabled to accept end user requests for content.
320
+ :param pulumi.Input[_builtins.str] etag: Current version of the distribution's information.
321
+ :param pulumi.Input[_builtins.str] http_version: Maximum HTTP version to support on the distribution. Allowed values are `http1.1`, `http2`, `http2and3`, and `http3`. Default: `http2`.
322
+ :param pulumi.Input[_builtins.int] in_progress_invalidation_batches: Number of invalidation batches currently in progress.
323
+ :param pulumi.Input[_builtins.str] last_modified_time: Date and time the distribution was last modified.
324
+ :param pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginGroupArgs']]] origin_groups: One or more origin_group for this distribution (multiples allowed). See Origin Group below.
325
+ :param pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginArgs']]] origins: One or more origins for this distribution (multiples allowed). See Origin below.
326
+ :param pulumi.Input['MultitenantDistributionRestrictionsArgs'] restrictions: Restriction configuration for this distribution. See Restrictions below.
327
+ :param pulumi.Input[_builtins.str] status: Current status of the distribution. `Deployed` if the distribution's information is fully propagated throughout the Amazon CloudFront system.
328
+ :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.
329
+ :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.
330
+ :param pulumi.Input['MultitenantDistributionTenantConfigArgs'] tenant_config: Tenant configuration that contains parameter definitions for multi-tenant distributions. See Tenant Config below.
331
+ :param pulumi.Input['MultitenantDistributionViewerCertificateArgs'] viewer_certificate: SSL configuration for this distribution. See Viewer Certificate below.
332
+ :param pulumi.Input[_builtins.str] web_acl_id: Unique identifier that specifies the AWS WAF v2 web ACL to associate with this distribution.
333
+ """
334
+ if active_trusted_key_groups is not None:
335
+ pulumi.set(__self__, "active_trusted_key_groups", active_trusted_key_groups)
336
+ if arn is not None:
337
+ pulumi.set(__self__, "arn", arn)
338
+ if cache_behaviors is not None:
339
+ pulumi.set(__self__, "cache_behaviors", cache_behaviors)
340
+ if caller_reference is not None:
341
+ pulumi.set(__self__, "caller_reference", caller_reference)
342
+ if comment is not None:
343
+ pulumi.set(__self__, "comment", comment)
344
+ if connection_mode is not None:
345
+ pulumi.set(__self__, "connection_mode", connection_mode)
346
+ if custom_error_responses is not None:
347
+ pulumi.set(__self__, "custom_error_responses", custom_error_responses)
348
+ if default_cache_behavior is not None:
349
+ pulumi.set(__self__, "default_cache_behavior", default_cache_behavior)
350
+ if default_root_object is not None:
351
+ pulumi.set(__self__, "default_root_object", default_root_object)
352
+ if domain_name is not None:
353
+ pulumi.set(__self__, "domain_name", domain_name)
354
+ if enabled is not None:
355
+ pulumi.set(__self__, "enabled", enabled)
356
+ if etag is not None:
357
+ pulumi.set(__self__, "etag", etag)
358
+ if http_version is not None:
359
+ pulumi.set(__self__, "http_version", http_version)
360
+ if in_progress_invalidation_batches is not None:
361
+ pulumi.set(__self__, "in_progress_invalidation_batches", in_progress_invalidation_batches)
362
+ if last_modified_time is not None:
363
+ pulumi.set(__self__, "last_modified_time", last_modified_time)
364
+ if origin_groups is not None:
365
+ pulumi.set(__self__, "origin_groups", origin_groups)
366
+ if origins is not None:
367
+ pulumi.set(__self__, "origins", origins)
368
+ if restrictions is not None:
369
+ pulumi.set(__self__, "restrictions", restrictions)
370
+ if status is not None:
371
+ pulumi.set(__self__, "status", status)
372
+ if tags is not None:
373
+ pulumi.set(__self__, "tags", tags)
374
+ if tags_all is not None:
375
+ pulumi.set(__self__, "tags_all", tags_all)
376
+ if tenant_config is not None:
377
+ pulumi.set(__self__, "tenant_config", tenant_config)
378
+ if timeouts is not None:
379
+ pulumi.set(__self__, "timeouts", timeouts)
380
+ if viewer_certificate is not None:
381
+ pulumi.set(__self__, "viewer_certificate", viewer_certificate)
382
+ if web_acl_id is not None:
383
+ pulumi.set(__self__, "web_acl_id", web_acl_id)
384
+
385
+ @_builtins.property
386
+ @pulumi.getter(name="activeTrustedKeyGroups")
387
+ def active_trusted_key_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionActiveTrustedKeyGroupArgs']]]]:
388
+ """
389
+ List of key groups that CloudFront can use to validate signed URLs or signed cookies. See Active Trusted Key Groups below.
390
+ """
391
+ return pulumi.get(self, "active_trusted_key_groups")
392
+
393
+ @active_trusted_key_groups.setter
394
+ def active_trusted_key_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionActiveTrustedKeyGroupArgs']]]]):
395
+ pulumi.set(self, "active_trusted_key_groups", value)
396
+
397
+ @_builtins.property
398
+ @pulumi.getter
399
+ def arn(self) -> Optional[pulumi.Input[_builtins.str]]:
400
+ """
401
+ ARN for the distribution.
402
+ """
403
+ return pulumi.get(self, "arn")
404
+
405
+ @arn.setter
406
+ def arn(self, value: Optional[pulumi.Input[_builtins.str]]):
407
+ pulumi.set(self, "arn", value)
408
+
409
+ @_builtins.property
410
+ @pulumi.getter(name="cacheBehaviors")
411
+ def cache_behaviors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCacheBehaviorArgs']]]]:
412
+ """
413
+ Ordered list of cache behaviors resource for this distribution. See Cache Behavior below.
414
+ """
415
+ return pulumi.get(self, "cache_behaviors")
416
+
417
+ @cache_behaviors.setter
418
+ def cache_behaviors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCacheBehaviorArgs']]]]):
419
+ pulumi.set(self, "cache_behaviors", value)
420
+
421
+ @_builtins.property
422
+ @pulumi.getter(name="callerReference")
423
+ def caller_reference(self) -> Optional[pulumi.Input[_builtins.str]]:
424
+ """
425
+ Internal value used by CloudFront to allow future updates to the distribution configuration.
426
+ """
427
+ return pulumi.get(self, "caller_reference")
428
+
429
+ @caller_reference.setter
430
+ def caller_reference(self, value: Optional[pulumi.Input[_builtins.str]]):
431
+ pulumi.set(self, "caller_reference", value)
432
+
433
+ @_builtins.property
434
+ @pulumi.getter
435
+ def comment(self) -> Optional[pulumi.Input[_builtins.str]]:
436
+ """
437
+ Any comments you want to include about the distribution.
438
+ """
439
+ return pulumi.get(self, "comment")
440
+
441
+ @comment.setter
442
+ def comment(self, value: Optional[pulumi.Input[_builtins.str]]):
443
+ pulumi.set(self, "comment", value)
444
+
445
+ @_builtins.property
446
+ @pulumi.getter(name="connectionMode")
447
+ def connection_mode(self) -> Optional[pulumi.Input[_builtins.str]]:
448
+ """
449
+ Connection mode for the distribution. Always set to `tenant-only` for multi-tenant distributions.
450
+ """
451
+ return pulumi.get(self, "connection_mode")
452
+
453
+ @connection_mode.setter
454
+ def connection_mode(self, value: Optional[pulumi.Input[_builtins.str]]):
455
+ pulumi.set(self, "connection_mode", value)
456
+
457
+ @_builtins.property
458
+ @pulumi.getter(name="customErrorResponses")
459
+ def custom_error_responses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCustomErrorResponseArgs']]]]:
460
+ """
461
+ One or more custom error response elements. See Custom Error Response below.
462
+ """
463
+ return pulumi.get(self, "custom_error_responses")
464
+
465
+ @custom_error_responses.setter
466
+ def custom_error_responses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCustomErrorResponseArgs']]]]):
467
+ pulumi.set(self, "custom_error_responses", value)
468
+
469
+ @_builtins.property
470
+ @pulumi.getter(name="defaultCacheBehavior")
471
+ def default_cache_behavior(self) -> Optional[pulumi.Input['MultitenantDistributionDefaultCacheBehaviorArgs']]:
472
+ """
473
+ Default cache behavior for this distribution. See Default Cache Behavior below.
474
+ """
475
+ return pulumi.get(self, "default_cache_behavior")
476
+
477
+ @default_cache_behavior.setter
478
+ def default_cache_behavior(self, value: Optional[pulumi.Input['MultitenantDistributionDefaultCacheBehaviorArgs']]):
479
+ pulumi.set(self, "default_cache_behavior", value)
480
+
481
+ @_builtins.property
482
+ @pulumi.getter(name="defaultRootObject")
483
+ def default_root_object(self) -> Optional[pulumi.Input[_builtins.str]]:
484
+ """
485
+ Object that you want CloudFront to return when an end user requests the root URL.
486
+ """
487
+ return pulumi.get(self, "default_root_object")
488
+
489
+ @default_root_object.setter
490
+ def default_root_object(self, value: Optional[pulumi.Input[_builtins.str]]):
491
+ pulumi.set(self, "default_root_object", value)
492
+
493
+ @_builtins.property
494
+ @pulumi.getter(name="domainName")
495
+ def domain_name(self) -> Optional[pulumi.Input[_builtins.str]]:
496
+ """
497
+ Domain name corresponding to the distribution.
498
+ """
499
+ return pulumi.get(self, "domain_name")
500
+
501
+ @domain_name.setter
502
+ def domain_name(self, value: Optional[pulumi.Input[_builtins.str]]):
503
+ pulumi.set(self, "domain_name", value)
504
+
505
+ @_builtins.property
506
+ @pulumi.getter
507
+ def enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
508
+ """
509
+ Whether the distribution is enabled to accept end user requests for content.
510
+ """
511
+ return pulumi.get(self, "enabled")
512
+
513
+ @enabled.setter
514
+ def enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
515
+ pulumi.set(self, "enabled", value)
516
+
517
+ @_builtins.property
518
+ @pulumi.getter
519
+ def etag(self) -> Optional[pulumi.Input[_builtins.str]]:
520
+ """
521
+ Current version of the distribution's information.
522
+ """
523
+ return pulumi.get(self, "etag")
524
+
525
+ @etag.setter
526
+ def etag(self, value: Optional[pulumi.Input[_builtins.str]]):
527
+ pulumi.set(self, "etag", value)
528
+
529
+ @_builtins.property
530
+ @pulumi.getter(name="httpVersion")
531
+ def http_version(self) -> Optional[pulumi.Input[_builtins.str]]:
532
+ """
533
+ Maximum HTTP version to support on the distribution. Allowed values are `http1.1`, `http2`, `http2and3`, and `http3`. Default: `http2`.
534
+ """
535
+ return pulumi.get(self, "http_version")
536
+
537
+ @http_version.setter
538
+ def http_version(self, value: Optional[pulumi.Input[_builtins.str]]):
539
+ pulumi.set(self, "http_version", value)
540
+
541
+ @_builtins.property
542
+ @pulumi.getter(name="inProgressInvalidationBatches")
543
+ def in_progress_invalidation_batches(self) -> Optional[pulumi.Input[_builtins.int]]:
544
+ """
545
+ Number of invalidation batches currently in progress.
546
+ """
547
+ return pulumi.get(self, "in_progress_invalidation_batches")
548
+
549
+ @in_progress_invalidation_batches.setter
550
+ def in_progress_invalidation_batches(self, value: Optional[pulumi.Input[_builtins.int]]):
551
+ pulumi.set(self, "in_progress_invalidation_batches", value)
552
+
553
+ @_builtins.property
554
+ @pulumi.getter(name="lastModifiedTime")
555
+ def last_modified_time(self) -> Optional[pulumi.Input[_builtins.str]]:
556
+ """
557
+ Date and time the distribution was last modified.
558
+ """
559
+ return pulumi.get(self, "last_modified_time")
560
+
561
+ @last_modified_time.setter
562
+ def last_modified_time(self, value: Optional[pulumi.Input[_builtins.str]]):
563
+ pulumi.set(self, "last_modified_time", value)
564
+
565
+ @_builtins.property
566
+ @pulumi.getter(name="originGroups")
567
+ def origin_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginGroupArgs']]]]:
568
+ """
569
+ One or more origin_group for this distribution (multiples allowed). See Origin Group below.
570
+ """
571
+ return pulumi.get(self, "origin_groups")
572
+
573
+ @origin_groups.setter
574
+ def origin_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginGroupArgs']]]]):
575
+ pulumi.set(self, "origin_groups", value)
576
+
577
+ @_builtins.property
578
+ @pulumi.getter
579
+ def origins(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginArgs']]]]:
580
+ """
581
+ One or more origins for this distribution (multiples allowed). See Origin below.
582
+ """
583
+ return pulumi.get(self, "origins")
584
+
585
+ @origins.setter
586
+ def origins(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginArgs']]]]):
587
+ pulumi.set(self, "origins", value)
588
+
589
+ @_builtins.property
590
+ @pulumi.getter
591
+ def restrictions(self) -> Optional[pulumi.Input['MultitenantDistributionRestrictionsArgs']]:
592
+ """
593
+ Restriction configuration for this distribution. See Restrictions below.
594
+ """
595
+ return pulumi.get(self, "restrictions")
596
+
597
+ @restrictions.setter
598
+ def restrictions(self, value: Optional[pulumi.Input['MultitenantDistributionRestrictionsArgs']]):
599
+ pulumi.set(self, "restrictions", value)
600
+
601
+ @_builtins.property
602
+ @pulumi.getter
603
+ def status(self) -> Optional[pulumi.Input[_builtins.str]]:
604
+ """
605
+ Current status of the distribution. `Deployed` if the distribution's information is fully propagated throughout the Amazon CloudFront system.
606
+ """
607
+ return pulumi.get(self, "status")
608
+
609
+ @status.setter
610
+ def status(self, value: Optional[pulumi.Input[_builtins.str]]):
611
+ pulumi.set(self, "status", value)
612
+
613
+ @_builtins.property
614
+ @pulumi.getter
615
+ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
616
+ """
617
+ 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.
618
+ """
619
+ return pulumi.get(self, "tags")
620
+
621
+ @tags.setter
622
+ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
623
+ pulumi.set(self, "tags", value)
624
+
625
+ @_builtins.property
626
+ @pulumi.getter(name="tagsAll")
627
+ def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
628
+ """
629
+ Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
630
+ """
631
+ return pulumi.get(self, "tags_all")
632
+
633
+ @tags_all.setter
634
+ def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
635
+ pulumi.set(self, "tags_all", value)
636
+
637
+ @_builtins.property
638
+ @pulumi.getter(name="tenantConfig")
639
+ def tenant_config(self) -> Optional[pulumi.Input['MultitenantDistributionTenantConfigArgs']]:
640
+ """
641
+ Tenant configuration that contains parameter definitions for multi-tenant distributions. See Tenant Config below.
642
+ """
643
+ return pulumi.get(self, "tenant_config")
644
+
645
+ @tenant_config.setter
646
+ def tenant_config(self, value: Optional[pulumi.Input['MultitenantDistributionTenantConfigArgs']]):
647
+ pulumi.set(self, "tenant_config", value)
648
+
649
+ @_builtins.property
650
+ @pulumi.getter
651
+ def timeouts(self) -> Optional[pulumi.Input['MultitenantDistributionTimeoutsArgs']]:
652
+ return pulumi.get(self, "timeouts")
653
+
654
+ @timeouts.setter
655
+ def timeouts(self, value: Optional[pulumi.Input['MultitenantDistributionTimeoutsArgs']]):
656
+ pulumi.set(self, "timeouts", value)
657
+
658
+ @_builtins.property
659
+ @pulumi.getter(name="viewerCertificate")
660
+ def viewer_certificate(self) -> Optional[pulumi.Input['MultitenantDistributionViewerCertificateArgs']]:
661
+ """
662
+ SSL configuration for this distribution. See Viewer Certificate below.
663
+ """
664
+ return pulumi.get(self, "viewer_certificate")
665
+
666
+ @viewer_certificate.setter
667
+ def viewer_certificate(self, value: Optional[pulumi.Input['MultitenantDistributionViewerCertificateArgs']]):
668
+ pulumi.set(self, "viewer_certificate", value)
669
+
670
+ @_builtins.property
671
+ @pulumi.getter(name="webAclId")
672
+ def web_acl_id(self) -> Optional[pulumi.Input[_builtins.str]]:
673
+ """
674
+ Unique identifier that specifies the AWS WAF v2 web ACL to associate with this distribution.
675
+ """
676
+ return pulumi.get(self, "web_acl_id")
677
+
678
+ @web_acl_id.setter
679
+ def web_acl_id(self, value: Optional[pulumi.Input[_builtins.str]]):
680
+ pulumi.set(self, "web_acl_id", value)
681
+
682
+
683
+ @pulumi.type_token("aws:cloudfront/multitenantDistribution:MultitenantDistribution")
684
+ class MultitenantDistribution(pulumi.CustomResource):
685
+ @overload
686
+ def __init__(__self__,
687
+ resource_name: str,
688
+ opts: Optional[pulumi.ResourceOptions] = None,
689
+ active_trusted_key_groups: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionActiveTrustedKeyGroupArgs', 'MultitenantDistributionActiveTrustedKeyGroupArgsDict']]]]] = None,
690
+ cache_behaviors: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionCacheBehaviorArgs', 'MultitenantDistributionCacheBehaviorArgsDict']]]]] = None,
691
+ comment: Optional[pulumi.Input[_builtins.str]] = None,
692
+ custom_error_responses: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionCustomErrorResponseArgs', 'MultitenantDistributionCustomErrorResponseArgsDict']]]]] = None,
693
+ default_cache_behavior: Optional[pulumi.Input[Union['MultitenantDistributionDefaultCacheBehaviorArgs', 'MultitenantDistributionDefaultCacheBehaviorArgsDict']]] = None,
694
+ default_root_object: Optional[pulumi.Input[_builtins.str]] = None,
695
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
696
+ http_version: Optional[pulumi.Input[_builtins.str]] = None,
697
+ origin_groups: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionOriginGroupArgs', 'MultitenantDistributionOriginGroupArgsDict']]]]] = None,
698
+ origins: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionOriginArgs', 'MultitenantDistributionOriginArgsDict']]]]] = None,
699
+ restrictions: Optional[pulumi.Input[Union['MultitenantDistributionRestrictionsArgs', 'MultitenantDistributionRestrictionsArgsDict']]] = None,
700
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
701
+ tenant_config: Optional[pulumi.Input[Union['MultitenantDistributionTenantConfigArgs', 'MultitenantDistributionTenantConfigArgsDict']]] = None,
702
+ timeouts: Optional[pulumi.Input[Union['MultitenantDistributionTimeoutsArgs', 'MultitenantDistributionTimeoutsArgsDict']]] = None,
703
+ viewer_certificate: Optional[pulumi.Input[Union['MultitenantDistributionViewerCertificateArgs', 'MultitenantDistributionViewerCertificateArgsDict']]] = None,
704
+ web_acl_id: Optional[pulumi.Input[_builtins.str]] = None,
705
+ __props__=None):
706
+ """
707
+ Creates an Amazon CloudFront multi-tenant distribution.
708
+
709
+ Multi-tenant distributions are a specialized type of CloudFront distribution designed for multi-tenant applications. They have specific limitations and requirements compared to standard CloudFront distributions.
710
+
711
+ For information about CloudFront multi-tenant distributions, see the [Amazon CloudFront Developer Guide](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/).
712
+
713
+ > **NOTE:** CloudFront distributions take about 15 minutes to reach a deployed state after creation or modification. During this time, deletes to resources will be blocked. If you need to delete a distribution that is enabled and you do not want to wait, you need to use the `retain_on_delete` flag.
714
+
715
+ ## Multi-tenant Distribution Limitations
716
+
717
+ Multi-tenant distributions have the following limitations compared to standard CloudFront distributions:
718
+
719
+ - **Connection Mode**: Automatically set to `tenant-only` and cannot be modified
720
+ - **Cache Policies**: Must use cache policies instead of legacy TTL settings
721
+ - **Trusted Key Groups**: Must use trusted key groups instead of trusted signers
722
+ - **WAF Integration**: Only supports WAF v2 web ACLs
723
+ - **Certificate Management**: Must use ACM certificates (IAM certificates not supported)
724
+
725
+ ### Unsupported Attributes
726
+
727
+ The following attributes that are available in standard CloudFront distributions are **not supported** for multi-tenant distributions:
728
+
729
+ - `active_trusted_signers` - Use `active_trusted_key_groups` instead
730
+ - `alias_icp_recordals` - Managed by connection groups
731
+ - `aliases` - Managed by connection groups
732
+ - `anycast_ip_list_id` - Use connection groups instead
733
+ - `continuous_deployment_policy_id`
734
+ - `forwarded_values` in cache behaviors - Deprecated, use cache policies instead
735
+ - `is_ipv6_enabled` - Managed by connection groups
736
+ - `price_class` - Managed by connection groups
737
+ - `smooth_streaming` in cache behaviors
738
+ - `staging` mode
739
+ - `trusted_signers` in cache behaviors - Use `trusted_key_groups` instead
740
+ - Cache behavior TTL settings (`default_ttl`, `max_ttl`, `min_ttl`) - Use cache policies instead
741
+
742
+ ## Import
743
+
744
+ Using `pulumi import`, import CloudFront Multi-tenant Distributions using the `id`. For example:
745
+
746
+ ```sh
747
+ $ pulumi import aws:cloudfront/multitenantDistribution:MultitenantDistribution distribution E74FTE3AEXAMPLE
748
+ ```
749
+
750
+ :param str resource_name: The name of the resource.
751
+ :param pulumi.ResourceOptions opts: Options for the resource.
752
+ :param pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionActiveTrustedKeyGroupArgs', 'MultitenantDistributionActiveTrustedKeyGroupArgsDict']]]] active_trusted_key_groups: List of key groups that CloudFront can use to validate signed URLs or signed cookies. See Active Trusted Key Groups below.
753
+ :param pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionCacheBehaviorArgs', 'MultitenantDistributionCacheBehaviorArgsDict']]]] cache_behaviors: Ordered list of cache behaviors resource for this distribution. See Cache Behavior below.
754
+ :param pulumi.Input[_builtins.str] comment: Any comments you want to include about the distribution.
755
+ :param pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionCustomErrorResponseArgs', 'MultitenantDistributionCustomErrorResponseArgsDict']]]] custom_error_responses: One or more custom error response elements. See Custom Error Response below.
756
+ :param pulumi.Input[Union['MultitenantDistributionDefaultCacheBehaviorArgs', 'MultitenantDistributionDefaultCacheBehaviorArgsDict']] default_cache_behavior: Default cache behavior for this distribution. See Default Cache Behavior below.
757
+ :param pulumi.Input[_builtins.str] default_root_object: Object that you want CloudFront to return when an end user requests the root URL.
758
+ :param pulumi.Input[_builtins.bool] enabled: Whether the distribution is enabled to accept end user requests for content.
759
+ :param pulumi.Input[_builtins.str] http_version: Maximum HTTP version to support on the distribution. Allowed values are `http1.1`, `http2`, `http2and3`, and `http3`. Default: `http2`.
760
+ :param pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionOriginGroupArgs', 'MultitenantDistributionOriginGroupArgsDict']]]] origin_groups: One or more origin_group for this distribution (multiples allowed). See Origin Group below.
761
+ :param pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionOriginArgs', 'MultitenantDistributionOriginArgsDict']]]] origins: One or more origins for this distribution (multiples allowed). See Origin below.
762
+ :param pulumi.Input[Union['MultitenantDistributionRestrictionsArgs', 'MultitenantDistributionRestrictionsArgsDict']] restrictions: Restriction configuration for this distribution. See Restrictions below.
763
+ :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.
764
+ :param pulumi.Input[Union['MultitenantDistributionTenantConfigArgs', 'MultitenantDistributionTenantConfigArgsDict']] tenant_config: Tenant configuration that contains parameter definitions for multi-tenant distributions. See Tenant Config below.
765
+ :param pulumi.Input[Union['MultitenantDistributionViewerCertificateArgs', 'MultitenantDistributionViewerCertificateArgsDict']] viewer_certificate: SSL configuration for this distribution. See Viewer Certificate below.
766
+ :param pulumi.Input[_builtins.str] web_acl_id: Unique identifier that specifies the AWS WAF v2 web ACL to associate with this distribution.
767
+ """
768
+ ...
769
+ @overload
770
+ def __init__(__self__,
771
+ resource_name: str,
772
+ args: MultitenantDistributionArgs,
773
+ opts: Optional[pulumi.ResourceOptions] = None):
774
+ """
775
+ Creates an Amazon CloudFront multi-tenant distribution.
776
+
777
+ Multi-tenant distributions are a specialized type of CloudFront distribution designed for multi-tenant applications. They have specific limitations and requirements compared to standard CloudFront distributions.
778
+
779
+ For information about CloudFront multi-tenant distributions, see the [Amazon CloudFront Developer Guide](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/).
780
+
781
+ > **NOTE:** CloudFront distributions take about 15 minutes to reach a deployed state after creation or modification. During this time, deletes to resources will be blocked. If you need to delete a distribution that is enabled and you do not want to wait, you need to use the `retain_on_delete` flag.
782
+
783
+ ## Multi-tenant Distribution Limitations
784
+
785
+ Multi-tenant distributions have the following limitations compared to standard CloudFront distributions:
786
+
787
+ - **Connection Mode**: Automatically set to `tenant-only` and cannot be modified
788
+ - **Cache Policies**: Must use cache policies instead of legacy TTL settings
789
+ - **Trusted Key Groups**: Must use trusted key groups instead of trusted signers
790
+ - **WAF Integration**: Only supports WAF v2 web ACLs
791
+ - **Certificate Management**: Must use ACM certificates (IAM certificates not supported)
792
+
793
+ ### Unsupported Attributes
794
+
795
+ The following attributes that are available in standard CloudFront distributions are **not supported** for multi-tenant distributions:
796
+
797
+ - `active_trusted_signers` - Use `active_trusted_key_groups` instead
798
+ - `alias_icp_recordals` - Managed by connection groups
799
+ - `aliases` - Managed by connection groups
800
+ - `anycast_ip_list_id` - Use connection groups instead
801
+ - `continuous_deployment_policy_id`
802
+ - `forwarded_values` in cache behaviors - Deprecated, use cache policies instead
803
+ - `is_ipv6_enabled` - Managed by connection groups
804
+ - `price_class` - Managed by connection groups
805
+ - `smooth_streaming` in cache behaviors
806
+ - `staging` mode
807
+ - `trusted_signers` in cache behaviors - Use `trusted_key_groups` instead
808
+ - Cache behavior TTL settings (`default_ttl`, `max_ttl`, `min_ttl`) - Use cache policies instead
809
+
810
+ ## Import
811
+
812
+ Using `pulumi import`, import CloudFront Multi-tenant Distributions using the `id`. For example:
813
+
814
+ ```sh
815
+ $ pulumi import aws:cloudfront/multitenantDistribution:MultitenantDistribution distribution E74FTE3AEXAMPLE
816
+ ```
817
+
818
+ :param str resource_name: The name of the resource.
819
+ :param MultitenantDistributionArgs args: The arguments to use to populate this resource's properties.
820
+ :param pulumi.ResourceOptions opts: Options for the resource.
821
+ """
822
+ ...
823
+ def __init__(__self__, resource_name: str, *args, **kwargs):
824
+ resource_args, opts = _utilities.get_resource_args_opts(MultitenantDistributionArgs, pulumi.ResourceOptions, *args, **kwargs)
825
+ if resource_args is not None:
826
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
827
+ else:
828
+ __self__._internal_init(resource_name, *args, **kwargs)
829
+
830
+ def _internal_init(__self__,
831
+ resource_name: str,
832
+ opts: Optional[pulumi.ResourceOptions] = None,
833
+ active_trusted_key_groups: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionActiveTrustedKeyGroupArgs', 'MultitenantDistributionActiveTrustedKeyGroupArgsDict']]]]] = None,
834
+ cache_behaviors: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionCacheBehaviorArgs', 'MultitenantDistributionCacheBehaviorArgsDict']]]]] = None,
835
+ comment: Optional[pulumi.Input[_builtins.str]] = None,
836
+ custom_error_responses: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionCustomErrorResponseArgs', 'MultitenantDistributionCustomErrorResponseArgsDict']]]]] = None,
837
+ default_cache_behavior: Optional[pulumi.Input[Union['MultitenantDistributionDefaultCacheBehaviorArgs', 'MultitenantDistributionDefaultCacheBehaviorArgsDict']]] = None,
838
+ default_root_object: Optional[pulumi.Input[_builtins.str]] = None,
839
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
840
+ http_version: Optional[pulumi.Input[_builtins.str]] = None,
841
+ origin_groups: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionOriginGroupArgs', 'MultitenantDistributionOriginGroupArgsDict']]]]] = None,
842
+ origins: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionOriginArgs', 'MultitenantDistributionOriginArgsDict']]]]] = None,
843
+ restrictions: Optional[pulumi.Input[Union['MultitenantDistributionRestrictionsArgs', 'MultitenantDistributionRestrictionsArgsDict']]] = None,
844
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
845
+ tenant_config: Optional[pulumi.Input[Union['MultitenantDistributionTenantConfigArgs', 'MultitenantDistributionTenantConfigArgsDict']]] = None,
846
+ timeouts: Optional[pulumi.Input[Union['MultitenantDistributionTimeoutsArgs', 'MultitenantDistributionTimeoutsArgsDict']]] = None,
847
+ viewer_certificate: Optional[pulumi.Input[Union['MultitenantDistributionViewerCertificateArgs', 'MultitenantDistributionViewerCertificateArgsDict']]] = None,
848
+ web_acl_id: Optional[pulumi.Input[_builtins.str]] = None,
849
+ __props__=None):
850
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
851
+ if not isinstance(opts, pulumi.ResourceOptions):
852
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
853
+ if opts.id is None:
854
+ if __props__ is not None:
855
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
856
+ __props__ = MultitenantDistributionArgs.__new__(MultitenantDistributionArgs)
857
+
858
+ __props__.__dict__["active_trusted_key_groups"] = active_trusted_key_groups
859
+ __props__.__dict__["cache_behaviors"] = cache_behaviors
860
+ if comment is None and not opts.urn:
861
+ raise TypeError("Missing required property 'comment'")
862
+ __props__.__dict__["comment"] = comment
863
+ __props__.__dict__["custom_error_responses"] = custom_error_responses
864
+ __props__.__dict__["default_cache_behavior"] = default_cache_behavior
865
+ __props__.__dict__["default_root_object"] = default_root_object
866
+ if enabled is None and not opts.urn:
867
+ raise TypeError("Missing required property 'enabled'")
868
+ __props__.__dict__["enabled"] = enabled
869
+ __props__.__dict__["http_version"] = http_version
870
+ __props__.__dict__["origin_groups"] = origin_groups
871
+ __props__.__dict__["origins"] = origins
872
+ __props__.__dict__["restrictions"] = restrictions
873
+ __props__.__dict__["tags"] = tags
874
+ __props__.__dict__["tenant_config"] = tenant_config
875
+ __props__.__dict__["timeouts"] = timeouts
876
+ __props__.__dict__["viewer_certificate"] = viewer_certificate
877
+ __props__.__dict__["web_acl_id"] = web_acl_id
878
+ __props__.__dict__["arn"] = None
879
+ __props__.__dict__["caller_reference"] = None
880
+ __props__.__dict__["connection_mode"] = None
881
+ __props__.__dict__["domain_name"] = None
882
+ __props__.__dict__["etag"] = None
883
+ __props__.__dict__["in_progress_invalidation_batches"] = None
884
+ __props__.__dict__["last_modified_time"] = None
885
+ __props__.__dict__["status"] = None
886
+ __props__.__dict__["tags_all"] = None
887
+ super(MultitenantDistribution, __self__).__init__(
888
+ 'aws:cloudfront/multitenantDistribution:MultitenantDistribution',
889
+ resource_name,
890
+ __props__,
891
+ opts)
892
+
893
+ @staticmethod
894
+ def get(resource_name: str,
895
+ id: pulumi.Input[str],
896
+ opts: Optional[pulumi.ResourceOptions] = None,
897
+ active_trusted_key_groups: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionActiveTrustedKeyGroupArgs', 'MultitenantDistributionActiveTrustedKeyGroupArgsDict']]]]] = None,
898
+ arn: Optional[pulumi.Input[_builtins.str]] = None,
899
+ cache_behaviors: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionCacheBehaviorArgs', 'MultitenantDistributionCacheBehaviorArgsDict']]]]] = None,
900
+ caller_reference: Optional[pulumi.Input[_builtins.str]] = None,
901
+ comment: Optional[pulumi.Input[_builtins.str]] = None,
902
+ connection_mode: Optional[pulumi.Input[_builtins.str]] = None,
903
+ custom_error_responses: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionCustomErrorResponseArgs', 'MultitenantDistributionCustomErrorResponseArgsDict']]]]] = None,
904
+ default_cache_behavior: Optional[pulumi.Input[Union['MultitenantDistributionDefaultCacheBehaviorArgs', 'MultitenantDistributionDefaultCacheBehaviorArgsDict']]] = None,
905
+ default_root_object: Optional[pulumi.Input[_builtins.str]] = None,
906
+ domain_name: Optional[pulumi.Input[_builtins.str]] = None,
907
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
908
+ etag: Optional[pulumi.Input[_builtins.str]] = None,
909
+ http_version: Optional[pulumi.Input[_builtins.str]] = None,
910
+ in_progress_invalidation_batches: Optional[pulumi.Input[_builtins.int]] = None,
911
+ last_modified_time: Optional[pulumi.Input[_builtins.str]] = None,
912
+ origin_groups: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionOriginGroupArgs', 'MultitenantDistributionOriginGroupArgsDict']]]]] = None,
913
+ origins: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionOriginArgs', 'MultitenantDistributionOriginArgsDict']]]]] = None,
914
+ restrictions: Optional[pulumi.Input[Union['MultitenantDistributionRestrictionsArgs', 'MultitenantDistributionRestrictionsArgsDict']]] = None,
915
+ status: Optional[pulumi.Input[_builtins.str]] = None,
916
+ tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
917
+ tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
918
+ tenant_config: Optional[pulumi.Input[Union['MultitenantDistributionTenantConfigArgs', 'MultitenantDistributionTenantConfigArgsDict']]] = None,
919
+ timeouts: Optional[pulumi.Input[Union['MultitenantDistributionTimeoutsArgs', 'MultitenantDistributionTimeoutsArgsDict']]] = None,
920
+ viewer_certificate: Optional[pulumi.Input[Union['MultitenantDistributionViewerCertificateArgs', 'MultitenantDistributionViewerCertificateArgsDict']]] = None,
921
+ web_acl_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'MultitenantDistribution':
922
+ """
923
+ Get an existing MultitenantDistribution resource's state with the given name, id, and optional extra
924
+ properties used to qualify the lookup.
925
+
926
+ :param str resource_name: The unique name of the resulting resource.
927
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
928
+ :param pulumi.ResourceOptions opts: Options for the resource.
929
+ :param pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionActiveTrustedKeyGroupArgs', 'MultitenantDistributionActiveTrustedKeyGroupArgsDict']]]] active_trusted_key_groups: List of key groups that CloudFront can use to validate signed URLs or signed cookies. See Active Trusted Key Groups below.
930
+ :param pulumi.Input[_builtins.str] arn: ARN for the distribution.
931
+ :param pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionCacheBehaviorArgs', 'MultitenantDistributionCacheBehaviorArgsDict']]]] cache_behaviors: Ordered list of cache behaviors resource for this distribution. See Cache Behavior below.
932
+ :param pulumi.Input[_builtins.str] caller_reference: Internal value used by CloudFront to allow future updates to the distribution configuration.
933
+ :param pulumi.Input[_builtins.str] comment: Any comments you want to include about the distribution.
934
+ :param pulumi.Input[_builtins.str] connection_mode: Connection mode for the distribution. Always set to `tenant-only` for multi-tenant distributions.
935
+ :param pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionCustomErrorResponseArgs', 'MultitenantDistributionCustomErrorResponseArgsDict']]]] custom_error_responses: One or more custom error response elements. See Custom Error Response below.
936
+ :param pulumi.Input[Union['MultitenantDistributionDefaultCacheBehaviorArgs', 'MultitenantDistributionDefaultCacheBehaviorArgsDict']] default_cache_behavior: Default cache behavior for this distribution. See Default Cache Behavior below.
937
+ :param pulumi.Input[_builtins.str] default_root_object: Object that you want CloudFront to return when an end user requests the root URL.
938
+ :param pulumi.Input[_builtins.str] domain_name: Domain name corresponding to the distribution.
939
+ :param pulumi.Input[_builtins.bool] enabled: Whether the distribution is enabled to accept end user requests for content.
940
+ :param pulumi.Input[_builtins.str] etag: Current version of the distribution's information.
941
+ :param pulumi.Input[_builtins.str] http_version: Maximum HTTP version to support on the distribution. Allowed values are `http1.1`, `http2`, `http2and3`, and `http3`. Default: `http2`.
942
+ :param pulumi.Input[_builtins.int] in_progress_invalidation_batches: Number of invalidation batches currently in progress.
943
+ :param pulumi.Input[_builtins.str] last_modified_time: Date and time the distribution was last modified.
944
+ :param pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionOriginGroupArgs', 'MultitenantDistributionOriginGroupArgsDict']]]] origin_groups: One or more origin_group for this distribution (multiples allowed). See Origin Group below.
945
+ :param pulumi.Input[Sequence[pulumi.Input[Union['MultitenantDistributionOriginArgs', 'MultitenantDistributionOriginArgsDict']]]] origins: One or more origins for this distribution (multiples allowed). See Origin below.
946
+ :param pulumi.Input[Union['MultitenantDistributionRestrictionsArgs', 'MultitenantDistributionRestrictionsArgsDict']] restrictions: Restriction configuration for this distribution. See Restrictions below.
947
+ :param pulumi.Input[_builtins.str] status: Current status of the distribution. `Deployed` if the distribution's information is fully propagated throughout the Amazon CloudFront system.
948
+ :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.
949
+ :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.
950
+ :param pulumi.Input[Union['MultitenantDistributionTenantConfigArgs', 'MultitenantDistributionTenantConfigArgsDict']] tenant_config: Tenant configuration that contains parameter definitions for multi-tenant distributions. See Tenant Config below.
951
+ :param pulumi.Input[Union['MultitenantDistributionViewerCertificateArgs', 'MultitenantDistributionViewerCertificateArgsDict']] viewer_certificate: SSL configuration for this distribution. See Viewer Certificate below.
952
+ :param pulumi.Input[_builtins.str] web_acl_id: Unique identifier that specifies the AWS WAF v2 web ACL to associate with this distribution.
953
+ """
954
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
955
+
956
+ __props__ = _MultitenantDistributionState.__new__(_MultitenantDistributionState)
957
+
958
+ __props__.__dict__["active_trusted_key_groups"] = active_trusted_key_groups
959
+ __props__.__dict__["arn"] = arn
960
+ __props__.__dict__["cache_behaviors"] = cache_behaviors
961
+ __props__.__dict__["caller_reference"] = caller_reference
962
+ __props__.__dict__["comment"] = comment
963
+ __props__.__dict__["connection_mode"] = connection_mode
964
+ __props__.__dict__["custom_error_responses"] = custom_error_responses
965
+ __props__.__dict__["default_cache_behavior"] = default_cache_behavior
966
+ __props__.__dict__["default_root_object"] = default_root_object
967
+ __props__.__dict__["domain_name"] = domain_name
968
+ __props__.__dict__["enabled"] = enabled
969
+ __props__.__dict__["etag"] = etag
970
+ __props__.__dict__["http_version"] = http_version
971
+ __props__.__dict__["in_progress_invalidation_batches"] = in_progress_invalidation_batches
972
+ __props__.__dict__["last_modified_time"] = last_modified_time
973
+ __props__.__dict__["origin_groups"] = origin_groups
974
+ __props__.__dict__["origins"] = origins
975
+ __props__.__dict__["restrictions"] = restrictions
976
+ __props__.__dict__["status"] = status
977
+ __props__.__dict__["tags"] = tags
978
+ __props__.__dict__["tags_all"] = tags_all
979
+ __props__.__dict__["tenant_config"] = tenant_config
980
+ __props__.__dict__["timeouts"] = timeouts
981
+ __props__.__dict__["viewer_certificate"] = viewer_certificate
982
+ __props__.__dict__["web_acl_id"] = web_acl_id
983
+ return MultitenantDistribution(resource_name, opts=opts, __props__=__props__)
984
+
985
+ @_builtins.property
986
+ @pulumi.getter(name="activeTrustedKeyGroups")
987
+ def active_trusted_key_groups(self) -> pulumi.Output[Optional[Sequence['outputs.MultitenantDistributionActiveTrustedKeyGroup']]]:
988
+ """
989
+ List of key groups that CloudFront can use to validate signed URLs or signed cookies. See Active Trusted Key Groups below.
990
+ """
991
+ return pulumi.get(self, "active_trusted_key_groups")
992
+
993
+ @_builtins.property
994
+ @pulumi.getter
995
+ def arn(self) -> pulumi.Output[_builtins.str]:
996
+ """
997
+ ARN for the distribution.
998
+ """
999
+ return pulumi.get(self, "arn")
1000
+
1001
+ @_builtins.property
1002
+ @pulumi.getter(name="cacheBehaviors")
1003
+ def cache_behaviors(self) -> pulumi.Output[Optional[Sequence['outputs.MultitenantDistributionCacheBehavior']]]:
1004
+ """
1005
+ Ordered list of cache behaviors resource for this distribution. See Cache Behavior below.
1006
+ """
1007
+ return pulumi.get(self, "cache_behaviors")
1008
+
1009
+ @_builtins.property
1010
+ @pulumi.getter(name="callerReference")
1011
+ def caller_reference(self) -> pulumi.Output[_builtins.str]:
1012
+ """
1013
+ Internal value used by CloudFront to allow future updates to the distribution configuration.
1014
+ """
1015
+ return pulumi.get(self, "caller_reference")
1016
+
1017
+ @_builtins.property
1018
+ @pulumi.getter
1019
+ def comment(self) -> pulumi.Output[_builtins.str]:
1020
+ """
1021
+ Any comments you want to include about the distribution.
1022
+ """
1023
+ return pulumi.get(self, "comment")
1024
+
1025
+ @_builtins.property
1026
+ @pulumi.getter(name="connectionMode")
1027
+ def connection_mode(self) -> pulumi.Output[_builtins.str]:
1028
+ """
1029
+ Connection mode for the distribution. Always set to `tenant-only` for multi-tenant distributions.
1030
+ """
1031
+ return pulumi.get(self, "connection_mode")
1032
+
1033
+ @_builtins.property
1034
+ @pulumi.getter(name="customErrorResponses")
1035
+ def custom_error_responses(self) -> pulumi.Output[Optional[Sequence['outputs.MultitenantDistributionCustomErrorResponse']]]:
1036
+ """
1037
+ One or more custom error response elements. See Custom Error Response below.
1038
+ """
1039
+ return pulumi.get(self, "custom_error_responses")
1040
+
1041
+ @_builtins.property
1042
+ @pulumi.getter(name="defaultCacheBehavior")
1043
+ def default_cache_behavior(self) -> pulumi.Output[Optional['outputs.MultitenantDistributionDefaultCacheBehavior']]:
1044
+ """
1045
+ Default cache behavior for this distribution. See Default Cache Behavior below.
1046
+ """
1047
+ return pulumi.get(self, "default_cache_behavior")
1048
+
1049
+ @_builtins.property
1050
+ @pulumi.getter(name="defaultRootObject")
1051
+ def default_root_object(self) -> pulumi.Output[Optional[_builtins.str]]:
1052
+ """
1053
+ Object that you want CloudFront to return when an end user requests the root URL.
1054
+ """
1055
+ return pulumi.get(self, "default_root_object")
1056
+
1057
+ @_builtins.property
1058
+ @pulumi.getter(name="domainName")
1059
+ def domain_name(self) -> pulumi.Output[_builtins.str]:
1060
+ """
1061
+ Domain name corresponding to the distribution.
1062
+ """
1063
+ return pulumi.get(self, "domain_name")
1064
+
1065
+ @_builtins.property
1066
+ @pulumi.getter
1067
+ def enabled(self) -> pulumi.Output[_builtins.bool]:
1068
+ """
1069
+ Whether the distribution is enabled to accept end user requests for content.
1070
+ """
1071
+ return pulumi.get(self, "enabled")
1072
+
1073
+ @_builtins.property
1074
+ @pulumi.getter
1075
+ def etag(self) -> pulumi.Output[_builtins.str]:
1076
+ """
1077
+ Current version of the distribution's information.
1078
+ """
1079
+ return pulumi.get(self, "etag")
1080
+
1081
+ @_builtins.property
1082
+ @pulumi.getter(name="httpVersion")
1083
+ def http_version(self) -> pulumi.Output[_builtins.str]:
1084
+ """
1085
+ Maximum HTTP version to support on the distribution. Allowed values are `http1.1`, `http2`, `http2and3`, and `http3`. Default: `http2`.
1086
+ """
1087
+ return pulumi.get(self, "http_version")
1088
+
1089
+ @_builtins.property
1090
+ @pulumi.getter(name="inProgressInvalidationBatches")
1091
+ def in_progress_invalidation_batches(self) -> pulumi.Output[_builtins.int]:
1092
+ """
1093
+ Number of invalidation batches currently in progress.
1094
+ """
1095
+ return pulumi.get(self, "in_progress_invalidation_batches")
1096
+
1097
+ @_builtins.property
1098
+ @pulumi.getter(name="lastModifiedTime")
1099
+ def last_modified_time(self) -> pulumi.Output[_builtins.str]:
1100
+ """
1101
+ Date and time the distribution was last modified.
1102
+ """
1103
+ return pulumi.get(self, "last_modified_time")
1104
+
1105
+ @_builtins.property
1106
+ @pulumi.getter(name="originGroups")
1107
+ def origin_groups(self) -> pulumi.Output[Optional[Sequence['outputs.MultitenantDistributionOriginGroup']]]:
1108
+ """
1109
+ One or more origin_group for this distribution (multiples allowed). See Origin Group below.
1110
+ """
1111
+ return pulumi.get(self, "origin_groups")
1112
+
1113
+ @_builtins.property
1114
+ @pulumi.getter
1115
+ def origins(self) -> pulumi.Output[Optional[Sequence['outputs.MultitenantDistributionOrigin']]]:
1116
+ """
1117
+ One or more origins for this distribution (multiples allowed). See Origin below.
1118
+ """
1119
+ return pulumi.get(self, "origins")
1120
+
1121
+ @_builtins.property
1122
+ @pulumi.getter
1123
+ def restrictions(self) -> pulumi.Output[Optional['outputs.MultitenantDistributionRestrictions']]:
1124
+ """
1125
+ Restriction configuration for this distribution. See Restrictions below.
1126
+ """
1127
+ return pulumi.get(self, "restrictions")
1128
+
1129
+ @_builtins.property
1130
+ @pulumi.getter
1131
+ def status(self) -> pulumi.Output[_builtins.str]:
1132
+ """
1133
+ Current status of the distribution. `Deployed` if the distribution's information is fully propagated throughout the Amazon CloudFront system.
1134
+ """
1135
+ return pulumi.get(self, "status")
1136
+
1137
+ @_builtins.property
1138
+ @pulumi.getter
1139
+ def tags(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
1140
+ """
1141
+ 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.
1142
+ """
1143
+ return pulumi.get(self, "tags")
1144
+
1145
+ @_builtins.property
1146
+ @pulumi.getter(name="tagsAll")
1147
+ def tags_all(self) -> pulumi.Output[Mapping[str, _builtins.str]]:
1148
+ """
1149
+ Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
1150
+ """
1151
+ return pulumi.get(self, "tags_all")
1152
+
1153
+ @_builtins.property
1154
+ @pulumi.getter(name="tenantConfig")
1155
+ def tenant_config(self) -> pulumi.Output[Optional['outputs.MultitenantDistributionTenantConfig']]:
1156
+ """
1157
+ Tenant configuration that contains parameter definitions for multi-tenant distributions. See Tenant Config below.
1158
+ """
1159
+ return pulumi.get(self, "tenant_config")
1160
+
1161
+ @_builtins.property
1162
+ @pulumi.getter
1163
+ def timeouts(self) -> pulumi.Output[Optional['outputs.MultitenantDistributionTimeouts']]:
1164
+ return pulumi.get(self, "timeouts")
1165
+
1166
+ @_builtins.property
1167
+ @pulumi.getter(name="viewerCertificate")
1168
+ def viewer_certificate(self) -> pulumi.Output[Optional['outputs.MultitenantDistributionViewerCertificate']]:
1169
+ """
1170
+ SSL configuration for this distribution. See Viewer Certificate below.
1171
+ """
1172
+ return pulumi.get(self, "viewer_certificate")
1173
+
1174
+ @_builtins.property
1175
+ @pulumi.getter(name="webAclId")
1176
+ def web_acl_id(self) -> pulumi.Output[Optional[_builtins.str]]:
1177
+ """
1178
+ Unique identifier that specifies the AWS WAF v2 web ACL to associate with this distribution.
1179
+ """
1180
+ return pulumi.get(self, "web_acl_id")
1181
+