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
@@ -29,6 +29,12 @@ __all__ = [
29
29
  'CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigArgsDict',
30
30
  'CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigQueryStringsArgs',
31
31
  'CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigQueryStringsArgsDict',
32
+ 'ConnectionFunctionConnectionFunctionConfigArgs',
33
+ 'ConnectionFunctionConnectionFunctionConfigArgsDict',
34
+ 'ConnectionFunctionConnectionFunctionConfigKeyValueStoreAssociationArgs',
35
+ 'ConnectionFunctionConnectionFunctionConfigKeyValueStoreAssociationArgsDict',
36
+ 'ConnectionGroupTimeoutsArgs',
37
+ 'ConnectionGroupTimeoutsArgsDict',
32
38
  'ContinuousDeploymentPolicyStagingDistributionDnsNamesArgs',
33
39
  'ContinuousDeploymentPolicyStagingDistributionDnsNamesArgsDict',
34
40
  'ContinuousDeploymentPolicyTrafficConfigArgs',
@@ -39,6 +45,8 @@ __all__ = [
39
45
  'ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigArgsDict',
40
46
  'ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigArgs',
41
47
  'ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfigArgsDict',
48
+ 'DistributionConnectionFunctionAssociationArgs',
49
+ 'DistributionConnectionFunctionAssociationArgsDict',
42
50
  'DistributionCustomErrorResponseArgs',
43
51
  'DistributionCustomErrorResponseArgsDict',
44
52
  'DistributionDefaultCacheBehaviorArgs',
@@ -89,6 +97,22 @@ __all__ = [
89
97
  'DistributionRestrictionsArgsDict',
90
98
  'DistributionRestrictionsGeoRestrictionArgs',
91
99
  'DistributionRestrictionsGeoRestrictionArgsDict',
100
+ 'DistributionTenantCustomizationsArgs',
101
+ 'DistributionTenantCustomizationsArgsDict',
102
+ 'DistributionTenantCustomizationsCertificateArgs',
103
+ 'DistributionTenantCustomizationsCertificateArgsDict',
104
+ 'DistributionTenantCustomizationsGeoRestrictionArgs',
105
+ 'DistributionTenantCustomizationsGeoRestrictionArgsDict',
106
+ 'DistributionTenantCustomizationsWebAclArgs',
107
+ 'DistributionTenantCustomizationsWebAclArgsDict',
108
+ 'DistributionTenantDomainArgs',
109
+ 'DistributionTenantDomainArgsDict',
110
+ 'DistributionTenantManagedCertificateRequestArgs',
111
+ 'DistributionTenantManagedCertificateRequestArgsDict',
112
+ 'DistributionTenantParameterArgs',
113
+ 'DistributionTenantParameterArgsDict',
114
+ 'DistributionTenantTimeoutsArgs',
115
+ 'DistributionTenantTimeoutsArgsDict',
92
116
  'DistributionTrustedKeyGroupArgs',
93
117
  'DistributionTrustedKeyGroupArgsDict',
94
118
  'DistributionTrustedKeyGroupItemArgs',
@@ -99,6 +123,10 @@ __all__ = [
99
123
  'DistributionTrustedSignerItemArgsDict',
100
124
  'DistributionViewerCertificateArgs',
101
125
  'DistributionViewerCertificateArgsDict',
126
+ 'DistributionViewerMtlsConfigArgs',
127
+ 'DistributionViewerMtlsConfigArgsDict',
128
+ 'DistributionViewerMtlsConfigTrustStoreConfigArgs',
129
+ 'DistributionViewerMtlsConfigTrustStoreConfigArgsDict',
102
130
  'FieldLevelEncryptionConfigContentTypeProfileConfigArgs',
103
131
  'FieldLevelEncryptionConfigContentTypeProfileConfigArgsDict',
104
132
  'FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgs',
@@ -125,6 +153,64 @@ __all__ = [
125
153
  'MonitoringSubscriptionMonitoringSubscriptionArgsDict',
126
154
  'MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs',
127
155
  'MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgsDict',
156
+ 'MultitenantDistributionActiveTrustedKeyGroupArgs',
157
+ 'MultitenantDistributionActiveTrustedKeyGroupArgsDict',
158
+ 'MultitenantDistributionActiveTrustedKeyGroupItemArgs',
159
+ 'MultitenantDistributionActiveTrustedKeyGroupItemArgsDict',
160
+ 'MultitenantDistributionCacheBehaviorArgs',
161
+ 'MultitenantDistributionCacheBehaviorArgsDict',
162
+ 'MultitenantDistributionCacheBehaviorAllowedMethodsArgs',
163
+ 'MultitenantDistributionCacheBehaviorAllowedMethodsArgsDict',
164
+ 'MultitenantDistributionCacheBehaviorFunctionAssociationArgs',
165
+ 'MultitenantDistributionCacheBehaviorFunctionAssociationArgsDict',
166
+ 'MultitenantDistributionCacheBehaviorLambdaFunctionAssociationArgs',
167
+ 'MultitenantDistributionCacheBehaviorLambdaFunctionAssociationArgsDict',
168
+ 'MultitenantDistributionCacheBehaviorTrustedKeyGroupsArgs',
169
+ 'MultitenantDistributionCacheBehaviorTrustedKeyGroupsArgsDict',
170
+ 'MultitenantDistributionCustomErrorResponseArgs',
171
+ 'MultitenantDistributionCustomErrorResponseArgsDict',
172
+ 'MultitenantDistributionDefaultCacheBehaviorArgs',
173
+ 'MultitenantDistributionDefaultCacheBehaviorArgsDict',
174
+ 'MultitenantDistributionDefaultCacheBehaviorAllowedMethodsArgs',
175
+ 'MultitenantDistributionDefaultCacheBehaviorAllowedMethodsArgsDict',
176
+ 'MultitenantDistributionDefaultCacheBehaviorFunctionAssociationArgs',
177
+ 'MultitenantDistributionDefaultCacheBehaviorFunctionAssociationArgsDict',
178
+ 'MultitenantDistributionDefaultCacheBehaviorLambdaFunctionAssociationArgs',
179
+ 'MultitenantDistributionDefaultCacheBehaviorLambdaFunctionAssociationArgsDict',
180
+ 'MultitenantDistributionDefaultCacheBehaviorTrustedKeyGroupsArgs',
181
+ 'MultitenantDistributionDefaultCacheBehaviorTrustedKeyGroupsArgsDict',
182
+ 'MultitenantDistributionOriginArgs',
183
+ 'MultitenantDistributionOriginArgsDict',
184
+ 'MultitenantDistributionOriginCustomHeaderArgs',
185
+ 'MultitenantDistributionOriginCustomHeaderArgsDict',
186
+ 'MultitenantDistributionOriginCustomOriginConfigArgs',
187
+ 'MultitenantDistributionOriginCustomOriginConfigArgsDict',
188
+ 'MultitenantDistributionOriginGroupArgs',
189
+ 'MultitenantDistributionOriginGroupArgsDict',
190
+ 'MultitenantDistributionOriginGroupFailoverCriteriaArgs',
191
+ 'MultitenantDistributionOriginGroupFailoverCriteriaArgsDict',
192
+ 'MultitenantDistributionOriginGroupMemberArgs',
193
+ 'MultitenantDistributionOriginGroupMemberArgsDict',
194
+ 'MultitenantDistributionOriginOriginShieldArgs',
195
+ 'MultitenantDistributionOriginOriginShieldArgsDict',
196
+ 'MultitenantDistributionOriginVpcOriginConfigArgs',
197
+ 'MultitenantDistributionOriginVpcOriginConfigArgsDict',
198
+ 'MultitenantDistributionRestrictionsArgs',
199
+ 'MultitenantDistributionRestrictionsArgsDict',
200
+ 'MultitenantDistributionRestrictionsGeoRestrictionArgs',
201
+ 'MultitenantDistributionRestrictionsGeoRestrictionArgsDict',
202
+ 'MultitenantDistributionTenantConfigArgs',
203
+ 'MultitenantDistributionTenantConfigArgsDict',
204
+ 'MultitenantDistributionTenantConfigParameterDefinitionArgs',
205
+ 'MultitenantDistributionTenantConfigParameterDefinitionArgsDict',
206
+ 'MultitenantDistributionTenantConfigParameterDefinitionDefinitionArgs',
207
+ 'MultitenantDistributionTenantConfigParameterDefinitionDefinitionArgsDict',
208
+ 'MultitenantDistributionTenantConfigParameterDefinitionDefinitionStringSchemaArgs',
209
+ 'MultitenantDistributionTenantConfigParameterDefinitionDefinitionStringSchemaArgsDict',
210
+ 'MultitenantDistributionTimeoutsArgs',
211
+ 'MultitenantDistributionTimeoutsArgsDict',
212
+ 'MultitenantDistributionViewerCertificateArgs',
213
+ 'MultitenantDistributionViewerCertificateArgsDict',
128
214
  'OriginRequestPolicyCookiesConfigArgs',
129
215
  'OriginRequestPolicyCookiesConfigArgsDict',
130
216
  'OriginRequestPolicyCookiesConfigCookiesArgs',
@@ -550,6 +636,179 @@ class CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigQuery
550
636
  pulumi.set(self, "items", value)
551
637
 
552
638
 
639
+ if not MYPY:
640
+ class ConnectionFunctionConnectionFunctionConfigArgsDict(TypedDict):
641
+ comment: pulumi.Input[_builtins.str]
642
+ """
643
+ Comment to describe the function.
644
+ """
645
+ runtime: pulumi.Input[_builtins.str]
646
+ """
647
+ Runtime environment for the function. Valid values are `cloudfront-js-1.0` and `cloudfront-js-2.0`.
648
+ """
649
+ key_value_store_association: NotRequired[pulumi.Input['ConnectionFunctionConnectionFunctionConfigKeyValueStoreAssociationArgsDict']]
650
+ """
651
+ Key value store associations. See `key_value_store_association` below.
652
+ """
653
+ elif False:
654
+ ConnectionFunctionConnectionFunctionConfigArgsDict: TypeAlias = Mapping[str, Any]
655
+
656
+ @pulumi.input_type
657
+ class ConnectionFunctionConnectionFunctionConfigArgs:
658
+ def __init__(__self__, *,
659
+ comment: pulumi.Input[_builtins.str],
660
+ runtime: pulumi.Input[_builtins.str],
661
+ key_value_store_association: Optional[pulumi.Input['ConnectionFunctionConnectionFunctionConfigKeyValueStoreAssociationArgs']] = None):
662
+ """
663
+ :param pulumi.Input[_builtins.str] comment: Comment to describe the function.
664
+ :param pulumi.Input[_builtins.str] runtime: Runtime environment for the function. Valid values are `cloudfront-js-1.0` and `cloudfront-js-2.0`.
665
+ :param pulumi.Input['ConnectionFunctionConnectionFunctionConfigKeyValueStoreAssociationArgs'] key_value_store_association: Key value store associations. See `key_value_store_association` below.
666
+ """
667
+ pulumi.set(__self__, "comment", comment)
668
+ pulumi.set(__self__, "runtime", runtime)
669
+ if key_value_store_association is not None:
670
+ pulumi.set(__self__, "key_value_store_association", key_value_store_association)
671
+
672
+ @_builtins.property
673
+ @pulumi.getter
674
+ def comment(self) -> pulumi.Input[_builtins.str]:
675
+ """
676
+ Comment to describe the function.
677
+ """
678
+ return pulumi.get(self, "comment")
679
+
680
+ @comment.setter
681
+ def comment(self, value: pulumi.Input[_builtins.str]):
682
+ pulumi.set(self, "comment", value)
683
+
684
+ @_builtins.property
685
+ @pulumi.getter
686
+ def runtime(self) -> pulumi.Input[_builtins.str]:
687
+ """
688
+ Runtime environment for the function. Valid values are `cloudfront-js-1.0` and `cloudfront-js-2.0`.
689
+ """
690
+ return pulumi.get(self, "runtime")
691
+
692
+ @runtime.setter
693
+ def runtime(self, value: pulumi.Input[_builtins.str]):
694
+ pulumi.set(self, "runtime", value)
695
+
696
+ @_builtins.property
697
+ @pulumi.getter(name="keyValueStoreAssociation")
698
+ def key_value_store_association(self) -> Optional[pulumi.Input['ConnectionFunctionConnectionFunctionConfigKeyValueStoreAssociationArgs']]:
699
+ """
700
+ Key value store associations. See `key_value_store_association` below.
701
+ """
702
+ return pulumi.get(self, "key_value_store_association")
703
+
704
+ @key_value_store_association.setter
705
+ def key_value_store_association(self, value: Optional[pulumi.Input['ConnectionFunctionConnectionFunctionConfigKeyValueStoreAssociationArgs']]):
706
+ pulumi.set(self, "key_value_store_association", value)
707
+
708
+
709
+ if not MYPY:
710
+ class ConnectionFunctionConnectionFunctionConfigKeyValueStoreAssociationArgsDict(TypedDict):
711
+ key_value_store_arn: pulumi.Input[_builtins.str]
712
+ """
713
+ ARN of the key value store.
714
+ """
715
+ elif False:
716
+ ConnectionFunctionConnectionFunctionConfigKeyValueStoreAssociationArgsDict: TypeAlias = Mapping[str, Any]
717
+
718
+ @pulumi.input_type
719
+ class ConnectionFunctionConnectionFunctionConfigKeyValueStoreAssociationArgs:
720
+ def __init__(__self__, *,
721
+ key_value_store_arn: pulumi.Input[_builtins.str]):
722
+ """
723
+ :param pulumi.Input[_builtins.str] key_value_store_arn: ARN of the key value store.
724
+ """
725
+ pulumi.set(__self__, "key_value_store_arn", key_value_store_arn)
726
+
727
+ @_builtins.property
728
+ @pulumi.getter(name="keyValueStoreArn")
729
+ def key_value_store_arn(self) -> pulumi.Input[_builtins.str]:
730
+ """
731
+ ARN of the key value store.
732
+ """
733
+ return pulumi.get(self, "key_value_store_arn")
734
+
735
+ @key_value_store_arn.setter
736
+ def key_value_store_arn(self, value: pulumi.Input[_builtins.str]):
737
+ pulumi.set(self, "key_value_store_arn", value)
738
+
739
+
740
+ if not MYPY:
741
+ class ConnectionGroupTimeoutsArgsDict(TypedDict):
742
+ create: NotRequired[pulumi.Input[_builtins.str]]
743
+ """
744
+ A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Default is 90 minutes.
745
+ """
746
+ delete: NotRequired[pulumi.Input[_builtins.str]]
747
+ """
748
+ A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Default is 90 minutes.
749
+ """
750
+ update: NotRequired[pulumi.Input[_builtins.str]]
751
+ """
752
+ A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Default is 90 minutes.
753
+ """
754
+ elif False:
755
+ ConnectionGroupTimeoutsArgsDict: TypeAlias = Mapping[str, Any]
756
+
757
+ @pulumi.input_type
758
+ class ConnectionGroupTimeoutsArgs:
759
+ def __init__(__self__, *,
760
+ create: Optional[pulumi.Input[_builtins.str]] = None,
761
+ delete: Optional[pulumi.Input[_builtins.str]] = None,
762
+ update: Optional[pulumi.Input[_builtins.str]] = None):
763
+ """
764
+ :param pulumi.Input[_builtins.str] create: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Default is 90 minutes.
765
+ :param pulumi.Input[_builtins.str] delete: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Default is 90 minutes.
766
+ :param pulumi.Input[_builtins.str] update: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Default is 90 minutes.
767
+ """
768
+ if create is not None:
769
+ pulumi.set(__self__, "create", create)
770
+ if delete is not None:
771
+ pulumi.set(__self__, "delete", delete)
772
+ if update is not None:
773
+ pulumi.set(__self__, "update", update)
774
+
775
+ @_builtins.property
776
+ @pulumi.getter
777
+ def create(self) -> Optional[pulumi.Input[_builtins.str]]:
778
+ """
779
+ A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Default is 90 minutes.
780
+ """
781
+ return pulumi.get(self, "create")
782
+
783
+ @create.setter
784
+ def create(self, value: Optional[pulumi.Input[_builtins.str]]):
785
+ pulumi.set(self, "create", value)
786
+
787
+ @_builtins.property
788
+ @pulumi.getter
789
+ def delete(self) -> Optional[pulumi.Input[_builtins.str]]:
790
+ """
791
+ A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Default is 90 minutes.
792
+ """
793
+ return pulumi.get(self, "delete")
794
+
795
+ @delete.setter
796
+ def delete(self, value: Optional[pulumi.Input[_builtins.str]]):
797
+ pulumi.set(self, "delete", value)
798
+
799
+ @_builtins.property
800
+ @pulumi.getter
801
+ def update(self) -> Optional[pulumi.Input[_builtins.str]]:
802
+ """
803
+ A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Default is 90 minutes.
804
+ """
805
+ return pulumi.get(self, "update")
806
+
807
+ @update.setter
808
+ def update(self, value: Optional[pulumi.Input[_builtins.str]]):
809
+ pulumi.set(self, "update", value)
810
+
811
+
553
812
  if not MYPY:
554
813
  class ContinuousDeploymentPolicyStagingDistributionDnsNamesArgsDict(TypedDict):
555
814
  quantity: pulumi.Input[_builtins.int]
@@ -823,6 +1082,37 @@ class ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickiness
823
1082
  pulumi.set(self, "maximum_ttl", value)
824
1083
 
825
1084
 
1085
+ if not MYPY:
1086
+ class DistributionConnectionFunctionAssociationArgsDict(TypedDict):
1087
+ id: pulumi.Input[_builtins.str]
1088
+ """
1089
+ Identifier for the distribution. For example: `EDFDVBD632BHDS5`.
1090
+ """
1091
+ elif False:
1092
+ DistributionConnectionFunctionAssociationArgsDict: TypeAlias = Mapping[str, Any]
1093
+
1094
+ @pulumi.input_type
1095
+ class DistributionConnectionFunctionAssociationArgs:
1096
+ def __init__(__self__, *,
1097
+ id: pulumi.Input[_builtins.str]):
1098
+ """
1099
+ :param pulumi.Input[_builtins.str] id: Identifier for the distribution. For example: `EDFDVBD632BHDS5`.
1100
+ """
1101
+ pulumi.set(__self__, "id", id)
1102
+
1103
+ @_builtins.property
1104
+ @pulumi.getter
1105
+ def id(self) -> pulumi.Input[_builtins.str]:
1106
+ """
1107
+ Identifier for the distribution. For example: `EDFDVBD632BHDS5`.
1108
+ """
1109
+ return pulumi.get(self, "id")
1110
+
1111
+ @id.setter
1112
+ def id(self, value: pulumi.Input[_builtins.str]):
1113
+ pulumi.set(self, "id", value)
1114
+
1115
+
826
1116
  if not MYPY:
827
1117
  class DistributionCustomErrorResponseArgsDict(TypedDict):
828
1118
  error_code: pulumi.Input[_builtins.int]
@@ -3023,6 +3313,10 @@ if not MYPY:
3023
3313
  """
3024
3314
  origin_keepalive_timeout: NotRequired[pulumi.Input[_builtins.int]]
3025
3315
  origin_read_timeout: NotRequired[pulumi.Input[_builtins.int]]
3316
+ owner_account_id: NotRequired[pulumi.Input[_builtins.str]]
3317
+ """
3318
+ The AWS account ID that owns the VPC origin. Required when referencing a VPC origin from a different AWS account for cross-account VPC origin access.
3319
+ """
3026
3320
  elif False:
3027
3321
  DistributionOriginVpcOriginConfigArgsDict: TypeAlias = Mapping[str, Any]
3028
3322
 
@@ -3031,15 +3325,19 @@ class DistributionOriginVpcOriginConfigArgs:
3031
3325
  def __init__(__self__, *,
3032
3326
  vpc_origin_id: pulumi.Input[_builtins.str],
3033
3327
  origin_keepalive_timeout: Optional[pulumi.Input[_builtins.int]] = None,
3034
- origin_read_timeout: Optional[pulumi.Input[_builtins.int]] = None):
3328
+ origin_read_timeout: Optional[pulumi.Input[_builtins.int]] = None,
3329
+ owner_account_id: Optional[pulumi.Input[_builtins.str]] = None):
3035
3330
  """
3036
3331
  :param pulumi.Input[_builtins.str] vpc_origin_id: The VPC origin ID.
3332
+ :param pulumi.Input[_builtins.str] owner_account_id: The AWS account ID that owns the VPC origin. Required when referencing a VPC origin from a different AWS account for cross-account VPC origin access.
3037
3333
  """
3038
3334
  pulumi.set(__self__, "vpc_origin_id", vpc_origin_id)
3039
3335
  if origin_keepalive_timeout is not None:
3040
3336
  pulumi.set(__self__, "origin_keepalive_timeout", origin_keepalive_timeout)
3041
3337
  if origin_read_timeout is not None:
3042
3338
  pulumi.set(__self__, "origin_read_timeout", origin_read_timeout)
3339
+ if owner_account_id is not None:
3340
+ pulumi.set(__self__, "owner_account_id", owner_account_id)
3043
3341
 
3044
3342
  @_builtins.property
3045
3343
  @pulumi.getter(name="vpcOriginId")
@@ -3071,6 +3369,18 @@ class DistributionOriginVpcOriginConfigArgs:
3071
3369
  def origin_read_timeout(self, value: Optional[pulumi.Input[_builtins.int]]):
3072
3370
  pulumi.set(self, "origin_read_timeout", value)
3073
3371
 
3372
+ @_builtins.property
3373
+ @pulumi.getter(name="ownerAccountId")
3374
+ def owner_account_id(self) -> Optional[pulumi.Input[_builtins.str]]:
3375
+ """
3376
+ The AWS account ID that owns the VPC origin. Required when referencing a VPC origin from a different AWS account for cross-account VPC origin access.
3377
+ """
3378
+ return pulumi.get(self, "owner_account_id")
3379
+
3380
+ @owner_account_id.setter
3381
+ def owner_account_id(self, value: Optional[pulumi.Input[_builtins.str]]):
3382
+ pulumi.set(self, "owner_account_id", value)
3383
+
3074
3384
 
3075
3385
  if not MYPY:
3076
3386
  class DistributionRestrictionsArgsDict(TypedDict):
@@ -3146,710 +3456,3519 @@ class DistributionRestrictionsGeoRestrictionArgs:
3146
3456
 
3147
3457
 
3148
3458
  if not MYPY:
3149
- class DistributionTrustedKeyGroupArgsDict(TypedDict):
3150
- enabled: NotRequired[pulumi.Input[_builtins.bool]]
3459
+ class DistributionTenantCustomizationsArgsDict(TypedDict):
3460
+ certificate: NotRequired[pulumi.Input['DistributionTenantCustomizationsCertificateArgsDict']]
3151
3461
  """
3152
- Whether the distribution is enabled to accept end user requests for content.
3462
+ Certificate configuration for the tenant (maximum one).
3153
3463
  """
3154
- items: NotRequired[pulumi.Input[Sequence[pulumi.Input['DistributionTrustedKeyGroupItemArgsDict']]]]
3464
+ geo_restriction: NotRequired[pulumi.Input['DistributionTenantCustomizationsGeoRestrictionArgsDict']]
3155
3465
  """
3156
- List of nested attributes for each trusted signer
3466
+ Geographic restrictions configuration for the tenant (maximum one).
3467
+ """
3468
+ web_acl: NotRequired[pulumi.Input['DistributionTenantCustomizationsWebAclArgsDict']]
3469
+ """
3470
+ Web ACL configuration for the tenant (maximum one).
3157
3471
  """
3158
3472
  elif False:
3159
- DistributionTrustedKeyGroupArgsDict: TypeAlias = Mapping[str, Any]
3473
+ DistributionTenantCustomizationsArgsDict: TypeAlias = Mapping[str, Any]
3160
3474
 
3161
3475
  @pulumi.input_type
3162
- class DistributionTrustedKeyGroupArgs:
3476
+ class DistributionTenantCustomizationsArgs:
3163
3477
  def __init__(__self__, *,
3164
- enabled: Optional[pulumi.Input[_builtins.bool]] = None,
3165
- items: Optional[pulumi.Input[Sequence[pulumi.Input['DistributionTrustedKeyGroupItemArgs']]]] = None):
3478
+ certificate: Optional[pulumi.Input['DistributionTenantCustomizationsCertificateArgs']] = None,
3479
+ geo_restriction: Optional[pulumi.Input['DistributionTenantCustomizationsGeoRestrictionArgs']] = None,
3480
+ web_acl: Optional[pulumi.Input['DistributionTenantCustomizationsWebAclArgs']] = None):
3166
3481
  """
3167
- :param pulumi.Input[_builtins.bool] enabled: Whether the distribution is enabled to accept end user requests for content.
3168
- :param pulumi.Input[Sequence[pulumi.Input['DistributionTrustedKeyGroupItemArgs']]] items: List of nested attributes for each trusted signer
3482
+ :param pulumi.Input['DistributionTenantCustomizationsCertificateArgs'] certificate: Certificate configuration for the tenant (maximum one).
3483
+ :param pulumi.Input['DistributionTenantCustomizationsGeoRestrictionArgs'] geo_restriction: Geographic restrictions configuration for the tenant (maximum one).
3484
+ :param pulumi.Input['DistributionTenantCustomizationsWebAclArgs'] web_acl: Web ACL configuration for the tenant (maximum one).
3169
3485
  """
3170
- if enabled is not None:
3171
- pulumi.set(__self__, "enabled", enabled)
3172
- if items is not None:
3173
- pulumi.set(__self__, "items", items)
3486
+ if certificate is not None:
3487
+ pulumi.set(__self__, "certificate", certificate)
3488
+ if geo_restriction is not None:
3489
+ pulumi.set(__self__, "geo_restriction", geo_restriction)
3490
+ if web_acl is not None:
3491
+ pulumi.set(__self__, "web_acl", web_acl)
3174
3492
 
3175
3493
  @_builtins.property
3176
3494
  @pulumi.getter
3177
- def enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
3495
+ def certificate(self) -> Optional[pulumi.Input['DistributionTenantCustomizationsCertificateArgs']]:
3178
3496
  """
3179
- Whether the distribution is enabled to accept end user requests for content.
3497
+ Certificate configuration for the tenant (maximum one).
3180
3498
  """
3181
- return pulumi.get(self, "enabled")
3499
+ return pulumi.get(self, "certificate")
3182
3500
 
3183
- @enabled.setter
3184
- def enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
3185
- pulumi.set(self, "enabled", value)
3501
+ @certificate.setter
3502
+ def certificate(self, value: Optional[pulumi.Input['DistributionTenantCustomizationsCertificateArgs']]):
3503
+ pulumi.set(self, "certificate", value)
3504
+
3505
+ @_builtins.property
3506
+ @pulumi.getter(name="geoRestriction")
3507
+ def geo_restriction(self) -> Optional[pulumi.Input['DistributionTenantCustomizationsGeoRestrictionArgs']]:
3508
+ """
3509
+ Geographic restrictions configuration for the tenant (maximum one).
3510
+ """
3511
+ return pulumi.get(self, "geo_restriction")
3512
+
3513
+ @geo_restriction.setter
3514
+ def geo_restriction(self, value: Optional[pulumi.Input['DistributionTenantCustomizationsGeoRestrictionArgs']]):
3515
+ pulumi.set(self, "geo_restriction", value)
3516
+
3517
+ @_builtins.property
3518
+ @pulumi.getter(name="webAcl")
3519
+ def web_acl(self) -> Optional[pulumi.Input['DistributionTenantCustomizationsWebAclArgs']]:
3520
+ """
3521
+ Web ACL configuration for the tenant (maximum one).
3522
+ """
3523
+ return pulumi.get(self, "web_acl")
3524
+
3525
+ @web_acl.setter
3526
+ def web_acl(self, value: Optional[pulumi.Input['DistributionTenantCustomizationsWebAclArgs']]):
3527
+ pulumi.set(self, "web_acl", value)
3528
+
3529
+
3530
+ if not MYPY:
3531
+ class DistributionTenantCustomizationsCertificateArgsDict(TypedDict):
3532
+ arn: NotRequired[pulumi.Input[_builtins.str]]
3533
+ """
3534
+ ARN of the distribution tenant.
3535
+ """
3536
+ elif False:
3537
+ DistributionTenantCustomizationsCertificateArgsDict: TypeAlias = Mapping[str, Any]
3538
+
3539
+ @pulumi.input_type
3540
+ class DistributionTenantCustomizationsCertificateArgs:
3541
+ def __init__(__self__, *,
3542
+ arn: Optional[pulumi.Input[_builtins.str]] = None):
3543
+ """
3544
+ :param pulumi.Input[_builtins.str] arn: ARN of the distribution tenant.
3545
+ """
3546
+ if arn is not None:
3547
+ pulumi.set(__self__, "arn", arn)
3186
3548
 
3187
3549
  @_builtins.property
3188
3550
  @pulumi.getter
3189
- def items(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DistributionTrustedKeyGroupItemArgs']]]]:
3551
+ def arn(self) -> Optional[pulumi.Input[_builtins.str]]:
3190
3552
  """
3191
- List of nested attributes for each trusted signer
3553
+ ARN of the distribution tenant.
3192
3554
  """
3193
- return pulumi.get(self, "items")
3555
+ return pulumi.get(self, "arn")
3194
3556
 
3195
- @items.setter
3196
- def items(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DistributionTrustedKeyGroupItemArgs']]]]):
3197
- pulumi.set(self, "items", value)
3557
+ @arn.setter
3558
+ def arn(self, value: Optional[pulumi.Input[_builtins.str]]):
3559
+ pulumi.set(self, "arn", value)
3198
3560
 
3199
3561
 
3200
3562
  if not MYPY:
3201
- class DistributionTrustedKeyGroupItemArgsDict(TypedDict):
3202
- key_group_id: NotRequired[pulumi.Input[_builtins.str]]
3563
+ class DistributionTenantCustomizationsGeoRestrictionArgsDict(TypedDict):
3564
+ locations: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
3203
3565
  """
3204
- ID of the key group that contains the public keys.
3566
+ Set of ISO 3166-1-alpha-2 country codes for the restriction. Required if `restriction_type` is `whitelist` or `blacklist`.
3205
3567
  """
3206
- key_pair_ids: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
3568
+ restriction_type: NotRequired[pulumi.Input[_builtins.str]]
3207
3569
  """
3208
- Set of active CloudFront key pairs associated with the signer account
3570
+ Method to restrict distribution by country: `none`, `whitelist`, or `blacklist`.
3209
3571
  """
3210
3572
  elif False:
3211
- DistributionTrustedKeyGroupItemArgsDict: TypeAlias = Mapping[str, Any]
3573
+ DistributionTenantCustomizationsGeoRestrictionArgsDict: TypeAlias = Mapping[str, Any]
3212
3574
 
3213
3575
  @pulumi.input_type
3214
- class DistributionTrustedKeyGroupItemArgs:
3576
+ class DistributionTenantCustomizationsGeoRestrictionArgs:
3215
3577
  def __init__(__self__, *,
3216
- key_group_id: Optional[pulumi.Input[_builtins.str]] = None,
3217
- key_pair_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
3578
+ locations: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
3579
+ restriction_type: Optional[pulumi.Input[_builtins.str]] = None):
3218
3580
  """
3219
- :param pulumi.Input[_builtins.str] key_group_id: ID of the key group that contains the public keys.
3220
- :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] key_pair_ids: Set of active CloudFront key pairs associated with the signer account
3581
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] locations: Set of ISO 3166-1-alpha-2 country codes for the restriction. Required if `restriction_type` is `whitelist` or `blacklist`.
3582
+ :param pulumi.Input[_builtins.str] restriction_type: Method to restrict distribution by country: `none`, `whitelist`, or `blacklist`.
3221
3583
  """
3222
- if key_group_id is not None:
3223
- pulumi.set(__self__, "key_group_id", key_group_id)
3224
- if key_pair_ids is not None:
3225
- pulumi.set(__self__, "key_pair_ids", key_pair_ids)
3584
+ if locations is not None:
3585
+ pulumi.set(__self__, "locations", locations)
3586
+ if restriction_type is not None:
3587
+ pulumi.set(__self__, "restriction_type", restriction_type)
3226
3588
 
3227
3589
  @_builtins.property
3228
- @pulumi.getter(name="keyGroupId")
3229
- def key_group_id(self) -> Optional[pulumi.Input[_builtins.str]]:
3590
+ @pulumi.getter
3591
+ def locations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
3230
3592
  """
3231
- ID of the key group that contains the public keys.
3593
+ Set of ISO 3166-1-alpha-2 country codes for the restriction. Required if `restriction_type` is `whitelist` or `blacklist`.
3232
3594
  """
3233
- return pulumi.get(self, "key_group_id")
3595
+ return pulumi.get(self, "locations")
3234
3596
 
3235
- @key_group_id.setter
3236
- def key_group_id(self, value: Optional[pulumi.Input[_builtins.str]]):
3237
- pulumi.set(self, "key_group_id", value)
3597
+ @locations.setter
3598
+ def locations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
3599
+ pulumi.set(self, "locations", value)
3238
3600
 
3239
3601
  @_builtins.property
3240
- @pulumi.getter(name="keyPairIds")
3241
- def key_pair_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
3602
+ @pulumi.getter(name="restrictionType")
3603
+ def restriction_type(self) -> Optional[pulumi.Input[_builtins.str]]:
3242
3604
  """
3243
- Set of active CloudFront key pairs associated with the signer account
3605
+ Method to restrict distribution by country: `none`, `whitelist`, or `blacklist`.
3244
3606
  """
3245
- return pulumi.get(self, "key_pair_ids")
3607
+ return pulumi.get(self, "restriction_type")
3246
3608
 
3247
- @key_pair_ids.setter
3248
- def key_pair_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
3249
- pulumi.set(self, "key_pair_ids", value)
3609
+ @restriction_type.setter
3610
+ def restriction_type(self, value: Optional[pulumi.Input[_builtins.str]]):
3611
+ pulumi.set(self, "restriction_type", value)
3250
3612
 
3251
3613
 
3252
3614
  if not MYPY:
3253
- class DistributionTrustedSignerArgsDict(TypedDict):
3254
- enabled: NotRequired[pulumi.Input[_builtins.bool]]
3615
+ class DistributionTenantCustomizationsWebAclArgsDict(TypedDict):
3616
+ action: NotRequired[pulumi.Input[_builtins.str]]
3255
3617
  """
3256
- Whether the distribution is enabled to accept end user requests for content.
3618
+ Action to take for the web ACL. Valid values: `allow`, `block`.
3257
3619
  """
3258
- items: NotRequired[pulumi.Input[Sequence[pulumi.Input['DistributionTrustedSignerItemArgsDict']]]]
3620
+ arn: NotRequired[pulumi.Input[_builtins.str]]
3259
3621
  """
3260
- List of nested attributes for each trusted signer
3622
+ ARN of the distribution tenant.
3261
3623
  """
3262
3624
  elif False:
3263
- DistributionTrustedSignerArgsDict: TypeAlias = Mapping[str, Any]
3625
+ DistributionTenantCustomizationsWebAclArgsDict: TypeAlias = Mapping[str, Any]
3264
3626
 
3265
3627
  @pulumi.input_type
3266
- class DistributionTrustedSignerArgs:
3628
+ class DistributionTenantCustomizationsWebAclArgs:
3267
3629
  def __init__(__self__, *,
3268
- enabled: Optional[pulumi.Input[_builtins.bool]] = None,
3269
- items: Optional[pulumi.Input[Sequence[pulumi.Input['DistributionTrustedSignerItemArgs']]]] = None):
3630
+ action: Optional[pulumi.Input[_builtins.str]] = None,
3631
+ arn: Optional[pulumi.Input[_builtins.str]] = None):
3270
3632
  """
3271
- :param pulumi.Input[_builtins.bool] enabled: Whether the distribution is enabled to accept end user requests for content.
3272
- :param pulumi.Input[Sequence[pulumi.Input['DistributionTrustedSignerItemArgs']]] items: List of nested attributes for each trusted signer
3633
+ :param pulumi.Input[_builtins.str] action: Action to take for the web ACL. Valid values: `allow`, `block`.
3634
+ :param pulumi.Input[_builtins.str] arn: ARN of the distribution tenant.
3273
3635
  """
3274
- if enabled is not None:
3275
- pulumi.set(__self__, "enabled", enabled)
3276
- if items is not None:
3277
- pulumi.set(__self__, "items", items)
3636
+ if action is not None:
3637
+ pulumi.set(__self__, "action", action)
3638
+ if arn is not None:
3639
+ pulumi.set(__self__, "arn", arn)
3278
3640
 
3279
3641
  @_builtins.property
3280
3642
  @pulumi.getter
3281
- def enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
3643
+ def action(self) -> Optional[pulumi.Input[_builtins.str]]:
3282
3644
  """
3283
- Whether the distribution is enabled to accept end user requests for content.
3645
+ Action to take for the web ACL. Valid values: `allow`, `block`.
3284
3646
  """
3285
- return pulumi.get(self, "enabled")
3647
+ return pulumi.get(self, "action")
3286
3648
 
3287
- @enabled.setter
3288
- def enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
3289
- pulumi.set(self, "enabled", value)
3649
+ @action.setter
3650
+ def action(self, value: Optional[pulumi.Input[_builtins.str]]):
3651
+ pulumi.set(self, "action", value)
3290
3652
 
3291
3653
  @_builtins.property
3292
3654
  @pulumi.getter
3293
- def items(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DistributionTrustedSignerItemArgs']]]]:
3655
+ def arn(self) -> Optional[pulumi.Input[_builtins.str]]:
3294
3656
  """
3295
- List of nested attributes for each trusted signer
3657
+ ARN of the distribution tenant.
3296
3658
  """
3297
- return pulumi.get(self, "items")
3659
+ return pulumi.get(self, "arn")
3298
3660
 
3299
- @items.setter
3300
- def items(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DistributionTrustedSignerItemArgs']]]]):
3301
- pulumi.set(self, "items", value)
3661
+ @arn.setter
3662
+ def arn(self, value: Optional[pulumi.Input[_builtins.str]]):
3663
+ pulumi.set(self, "arn", value)
3302
3664
 
3303
3665
 
3304
3666
  if not MYPY:
3305
- class DistributionTrustedSignerItemArgsDict(TypedDict):
3306
- aws_account_number: NotRequired[pulumi.Input[_builtins.str]]
3667
+ class DistributionTenantDomainArgsDict(TypedDict):
3668
+ domain: pulumi.Input[_builtins.str]
3307
3669
  """
3308
- AWS account ID or `self`
3670
+ Set of domains associated with the distribution tenant.
3309
3671
  """
3310
- key_pair_ids: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
3672
+ status: NotRequired[pulumi.Input[_builtins.str]]
3311
3673
  """
3312
- Set of active CloudFront key pairs associated with the signer account
3674
+ Current status of the distribution tenant.
3313
3675
  """
3314
3676
  elif False:
3315
- DistributionTrustedSignerItemArgsDict: TypeAlias = Mapping[str, Any]
3677
+ DistributionTenantDomainArgsDict: TypeAlias = Mapping[str, Any]
3316
3678
 
3317
3679
  @pulumi.input_type
3318
- class DistributionTrustedSignerItemArgs:
3680
+ class DistributionTenantDomainArgs:
3319
3681
  def __init__(__self__, *,
3320
- aws_account_number: Optional[pulumi.Input[_builtins.str]] = None,
3321
- key_pair_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
3682
+ domain: pulumi.Input[_builtins.str],
3683
+ status: Optional[pulumi.Input[_builtins.str]] = None):
3322
3684
  """
3323
- :param pulumi.Input[_builtins.str] aws_account_number: AWS account ID or `self`
3324
- :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] key_pair_ids: Set of active CloudFront key pairs associated with the signer account
3685
+ :param pulumi.Input[_builtins.str] domain: Set of domains associated with the distribution tenant.
3686
+ :param pulumi.Input[_builtins.str] status: Current status of the distribution tenant.
3325
3687
  """
3326
- if aws_account_number is not None:
3327
- pulumi.set(__self__, "aws_account_number", aws_account_number)
3328
- if key_pair_ids is not None:
3329
- pulumi.set(__self__, "key_pair_ids", key_pair_ids)
3688
+ pulumi.set(__self__, "domain", domain)
3689
+ if status is not None:
3690
+ pulumi.set(__self__, "status", status)
3330
3691
 
3331
3692
  @_builtins.property
3332
- @pulumi.getter(name="awsAccountNumber")
3333
- def aws_account_number(self) -> Optional[pulumi.Input[_builtins.str]]:
3693
+ @pulumi.getter
3694
+ def domain(self) -> pulumi.Input[_builtins.str]:
3334
3695
  """
3335
- AWS account ID or `self`
3696
+ Set of domains associated with the distribution tenant.
3336
3697
  """
3337
- return pulumi.get(self, "aws_account_number")
3698
+ return pulumi.get(self, "domain")
3338
3699
 
3339
- @aws_account_number.setter
3340
- def aws_account_number(self, value: Optional[pulumi.Input[_builtins.str]]):
3341
- pulumi.set(self, "aws_account_number", value)
3700
+ @domain.setter
3701
+ def domain(self, value: pulumi.Input[_builtins.str]):
3702
+ pulumi.set(self, "domain", value)
3342
3703
 
3343
3704
  @_builtins.property
3344
- @pulumi.getter(name="keyPairIds")
3345
- def key_pair_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
3705
+ @pulumi.getter
3706
+ def status(self) -> Optional[pulumi.Input[_builtins.str]]:
3346
3707
  """
3347
- Set of active CloudFront key pairs associated with the signer account
3708
+ Current status of the distribution tenant.
3348
3709
  """
3349
- return pulumi.get(self, "key_pair_ids")
3710
+ return pulumi.get(self, "status")
3350
3711
 
3351
- @key_pair_ids.setter
3352
- def key_pair_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
3353
- pulumi.set(self, "key_pair_ids", value)
3712
+ @status.setter
3713
+ def status(self, value: Optional[pulumi.Input[_builtins.str]]):
3714
+ pulumi.set(self, "status", value)
3354
3715
 
3355
3716
 
3356
3717
  if not MYPY:
3357
- class DistributionViewerCertificateArgsDict(TypedDict):
3358
- acm_certificate_arn: NotRequired[pulumi.Input[_builtins.str]]
3359
- """
3360
- ARN of the [AWS Certificate Manager](https://aws.amazon.com/certificate-manager/) certificate that you wish to use with this distribution. Specify this, `cloudfront_default_certificate`, or `iam_certificate_id`. The ACM certificate must be in US-EAST-1.
3361
- """
3362
- cloudfront_default_certificate: NotRequired[pulumi.Input[_builtins.bool]]
3363
- """
3364
- `true` if you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name for your distribution. Specify this, `acm_certificate_arn`, or `iam_certificate_id`.
3365
- """
3366
- iam_certificate_id: NotRequired[pulumi.Input[_builtins.str]]
3718
+ class DistributionTenantManagedCertificateRequestArgsDict(TypedDict):
3719
+ certificate_transparency_logging_preference: NotRequired[pulumi.Input[_builtins.str]]
3367
3720
  """
3368
- IAM certificate identifier of the custom viewer certificate for this distribution if you are using a custom domain. Specify this, `acm_certificate_arn`, or `cloudfront_default_certificate`.
3721
+ Certificate transparency logging preference. Valid values: `enabled`, `disabled`.
3369
3722
  """
3370
- minimum_protocol_version: NotRequired[pulumi.Input[_builtins.str]]
3723
+ primary_domain_name: NotRequired[pulumi.Input[_builtins.str]]
3371
3724
  """
3372
- Minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections. Can only be set if `cloudfront_default_certificate = false`. See all possible values in [this](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html) table under "Security policy." Some examples include: `TLSv1.2_2019` and `TLSv1.2_2021`. Default: `TLSv1`. **NOTE**: If you are using a custom certificate (specified with `acm_certificate_arn` or `iam_certificate_id`), and have specified `sni-only` in `ssl_support_method`, `TLSv1` or later must be specified. If you have specified `vip` in `ssl_support_method`, only `SSLv3` or `TLSv1` can be specified. If you have specified `cloudfront_default_certificate`, `TLSv1` must be specified.
3725
+ Primary domain name for the certificate.
3373
3726
  """
3374
- ssl_support_method: NotRequired[pulumi.Input[_builtins.str]]
3727
+ validation_token_host: NotRequired[pulumi.Input[_builtins.str]]
3375
3728
  """
3376
- How you want CloudFront to serve HTTPS requests. One of `vip`, `sni-only`, or `static-ip`. Required if you specify `acm_certificate_arn` or `iam_certificate_id`. **NOTE:** `vip` causes CloudFront to use a dedicated IP address and may incur extra charges.
3729
+ Host for validation token. Valid values: `cloudfront`, `domain`.
3377
3730
  """
3378
3731
  elif False:
3379
- DistributionViewerCertificateArgsDict: TypeAlias = Mapping[str, Any]
3732
+ DistributionTenantManagedCertificateRequestArgsDict: TypeAlias = Mapping[str, Any]
3380
3733
 
3381
3734
  @pulumi.input_type
3382
- class DistributionViewerCertificateArgs:
3735
+ class DistributionTenantManagedCertificateRequestArgs:
3383
3736
  def __init__(__self__, *,
3384
- acm_certificate_arn: Optional[pulumi.Input[_builtins.str]] = None,
3385
- cloudfront_default_certificate: Optional[pulumi.Input[_builtins.bool]] = None,
3386
- iam_certificate_id: Optional[pulumi.Input[_builtins.str]] = None,
3387
- minimum_protocol_version: Optional[pulumi.Input[_builtins.str]] = None,
3388
- ssl_support_method: Optional[pulumi.Input[_builtins.str]] = None):
3737
+ certificate_transparency_logging_preference: Optional[pulumi.Input[_builtins.str]] = None,
3738
+ primary_domain_name: Optional[pulumi.Input[_builtins.str]] = None,
3739
+ validation_token_host: Optional[pulumi.Input[_builtins.str]] = None):
3389
3740
  """
3390
- :param pulumi.Input[_builtins.str] acm_certificate_arn: ARN of the [AWS Certificate Manager](https://aws.amazon.com/certificate-manager/) certificate that you wish to use with this distribution. Specify this, `cloudfront_default_certificate`, or `iam_certificate_id`. The ACM certificate must be in US-EAST-1.
3391
- :param pulumi.Input[_builtins.bool] cloudfront_default_certificate: `true` if you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name for your distribution. Specify this, `acm_certificate_arn`, or `iam_certificate_id`.
3392
- :param pulumi.Input[_builtins.str] iam_certificate_id: IAM certificate identifier of the custom viewer certificate for this distribution if you are using a custom domain. Specify this, `acm_certificate_arn`, or `cloudfront_default_certificate`.
3393
- :param pulumi.Input[_builtins.str] minimum_protocol_version: Minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections. Can only be set if `cloudfront_default_certificate = false`. See all possible values in [this](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html) table under "Security policy." Some examples include: `TLSv1.2_2019` and `TLSv1.2_2021`. Default: `TLSv1`. **NOTE**: If you are using a custom certificate (specified with `acm_certificate_arn` or `iam_certificate_id`), and have specified `sni-only` in `ssl_support_method`, `TLSv1` or later must be specified. If you have specified `vip` in `ssl_support_method`, only `SSLv3` or `TLSv1` can be specified. If you have specified `cloudfront_default_certificate`, `TLSv1` must be specified.
3394
- :param pulumi.Input[_builtins.str] ssl_support_method: How you want CloudFront to serve HTTPS requests. One of `vip`, `sni-only`, or `static-ip`. Required if you specify `acm_certificate_arn` or `iam_certificate_id`. **NOTE:** `vip` causes CloudFront to use a dedicated IP address and may incur extra charges.
3741
+ :param pulumi.Input[_builtins.str] certificate_transparency_logging_preference: Certificate transparency logging preference. Valid values: `enabled`, `disabled`.
3742
+ :param pulumi.Input[_builtins.str] primary_domain_name: Primary domain name for the certificate.
3743
+ :param pulumi.Input[_builtins.str] validation_token_host: Host for validation token. Valid values: `cloudfront`, `domain`.
3395
3744
  """
3396
- if acm_certificate_arn is not None:
3397
- pulumi.set(__self__, "acm_certificate_arn", acm_certificate_arn)
3398
- if cloudfront_default_certificate is not None:
3399
- pulumi.set(__self__, "cloudfront_default_certificate", cloudfront_default_certificate)
3400
- if iam_certificate_id is not None:
3401
- pulumi.set(__self__, "iam_certificate_id", iam_certificate_id)
3402
- if minimum_protocol_version is not None:
3403
- pulumi.set(__self__, "minimum_protocol_version", minimum_protocol_version)
3404
- if ssl_support_method is not None:
3405
- pulumi.set(__self__, "ssl_support_method", ssl_support_method)
3745
+ if certificate_transparency_logging_preference is not None:
3746
+ pulumi.set(__self__, "certificate_transparency_logging_preference", certificate_transparency_logging_preference)
3747
+ if primary_domain_name is not None:
3748
+ pulumi.set(__self__, "primary_domain_name", primary_domain_name)
3749
+ if validation_token_host is not None:
3750
+ pulumi.set(__self__, "validation_token_host", validation_token_host)
3406
3751
 
3407
3752
  @_builtins.property
3408
- @pulumi.getter(name="acmCertificateArn")
3409
- def acm_certificate_arn(self) -> Optional[pulumi.Input[_builtins.str]]:
3753
+ @pulumi.getter(name="certificateTransparencyLoggingPreference")
3754
+ def certificate_transparency_logging_preference(self) -> Optional[pulumi.Input[_builtins.str]]:
3410
3755
  """
3411
- ARN of the [AWS Certificate Manager](https://aws.amazon.com/certificate-manager/) certificate that you wish to use with this distribution. Specify this, `cloudfront_default_certificate`, or `iam_certificate_id`. The ACM certificate must be in US-EAST-1.
3756
+ Certificate transparency logging preference. Valid values: `enabled`, `disabled`.
3412
3757
  """
3413
- return pulumi.get(self, "acm_certificate_arn")
3758
+ return pulumi.get(self, "certificate_transparency_logging_preference")
3414
3759
 
3415
- @acm_certificate_arn.setter
3416
- def acm_certificate_arn(self, value: Optional[pulumi.Input[_builtins.str]]):
3417
- pulumi.set(self, "acm_certificate_arn", value)
3760
+ @certificate_transparency_logging_preference.setter
3761
+ def certificate_transparency_logging_preference(self, value: Optional[pulumi.Input[_builtins.str]]):
3762
+ pulumi.set(self, "certificate_transparency_logging_preference", value)
3418
3763
 
3419
3764
  @_builtins.property
3420
- @pulumi.getter(name="cloudfrontDefaultCertificate")
3421
- def cloudfront_default_certificate(self) -> Optional[pulumi.Input[_builtins.bool]]:
3765
+ @pulumi.getter(name="primaryDomainName")
3766
+ def primary_domain_name(self) -> Optional[pulumi.Input[_builtins.str]]:
3422
3767
  """
3423
- `true` if you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name for your distribution. Specify this, `acm_certificate_arn`, or `iam_certificate_id`.
3768
+ Primary domain name for the certificate.
3424
3769
  """
3425
- return pulumi.get(self, "cloudfront_default_certificate")
3770
+ return pulumi.get(self, "primary_domain_name")
3426
3771
 
3427
- @cloudfront_default_certificate.setter
3428
- def cloudfront_default_certificate(self, value: Optional[pulumi.Input[_builtins.bool]]):
3429
- pulumi.set(self, "cloudfront_default_certificate", value)
3772
+ @primary_domain_name.setter
3773
+ def primary_domain_name(self, value: Optional[pulumi.Input[_builtins.str]]):
3774
+ pulumi.set(self, "primary_domain_name", value)
3430
3775
 
3431
3776
  @_builtins.property
3432
- @pulumi.getter(name="iamCertificateId")
3433
- def iam_certificate_id(self) -> Optional[pulumi.Input[_builtins.str]]:
3777
+ @pulumi.getter(name="validationTokenHost")
3778
+ def validation_token_host(self) -> Optional[pulumi.Input[_builtins.str]]:
3434
3779
  """
3435
- IAM certificate identifier of the custom viewer certificate for this distribution if you are using a custom domain. Specify this, `acm_certificate_arn`, or `cloudfront_default_certificate`.
3780
+ Host for validation token. Valid values: `cloudfront`, `domain`.
3436
3781
  """
3437
- return pulumi.get(self, "iam_certificate_id")
3782
+ return pulumi.get(self, "validation_token_host")
3783
+
3784
+ @validation_token_host.setter
3785
+ def validation_token_host(self, value: Optional[pulumi.Input[_builtins.str]]):
3786
+ pulumi.set(self, "validation_token_host", value)
3438
3787
 
3439
- @iam_certificate_id.setter
3440
- def iam_certificate_id(self, value: Optional[pulumi.Input[_builtins.str]]):
3441
- pulumi.set(self, "iam_certificate_id", value)
3788
+
3789
+ if not MYPY:
3790
+ class DistributionTenantParameterArgsDict(TypedDict):
3791
+ name: pulumi.Input[_builtins.str]
3792
+ """
3793
+ Name of the distribution tenant.
3794
+ """
3795
+ value: pulumi.Input[_builtins.str]
3796
+ """
3797
+ Value of the parameter.
3798
+ """
3799
+ elif False:
3800
+ DistributionTenantParameterArgsDict: TypeAlias = Mapping[str, Any]
3801
+
3802
+ @pulumi.input_type
3803
+ class DistributionTenantParameterArgs:
3804
+ def __init__(__self__, *,
3805
+ name: pulumi.Input[_builtins.str],
3806
+ value: pulumi.Input[_builtins.str]):
3807
+ """
3808
+ :param pulumi.Input[_builtins.str] name: Name of the distribution tenant.
3809
+ :param pulumi.Input[_builtins.str] value: Value of the parameter.
3810
+ """
3811
+ pulumi.set(__self__, "name", name)
3812
+ pulumi.set(__self__, "value", value)
3442
3813
 
3443
3814
  @_builtins.property
3444
- @pulumi.getter(name="minimumProtocolVersion")
3445
- def minimum_protocol_version(self) -> Optional[pulumi.Input[_builtins.str]]:
3815
+ @pulumi.getter
3816
+ def name(self) -> pulumi.Input[_builtins.str]:
3446
3817
  """
3447
- Minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections. Can only be set if `cloudfront_default_certificate = false`. See all possible values in [this](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html) table under "Security policy." Some examples include: `TLSv1.2_2019` and `TLSv1.2_2021`. Default: `TLSv1`. **NOTE**: If you are using a custom certificate (specified with `acm_certificate_arn` or `iam_certificate_id`), and have specified `sni-only` in `ssl_support_method`, `TLSv1` or later must be specified. If you have specified `vip` in `ssl_support_method`, only `SSLv3` or `TLSv1` can be specified. If you have specified `cloudfront_default_certificate`, `TLSv1` must be specified.
3818
+ Name of the distribution tenant.
3448
3819
  """
3449
- return pulumi.get(self, "minimum_protocol_version")
3820
+ return pulumi.get(self, "name")
3450
3821
 
3451
- @minimum_protocol_version.setter
3452
- def minimum_protocol_version(self, value: Optional[pulumi.Input[_builtins.str]]):
3453
- pulumi.set(self, "minimum_protocol_version", value)
3822
+ @name.setter
3823
+ def name(self, value: pulumi.Input[_builtins.str]):
3824
+ pulumi.set(self, "name", value)
3454
3825
 
3455
3826
  @_builtins.property
3456
- @pulumi.getter(name="sslSupportMethod")
3457
- def ssl_support_method(self) -> Optional[pulumi.Input[_builtins.str]]:
3827
+ @pulumi.getter
3828
+ def value(self) -> pulumi.Input[_builtins.str]:
3458
3829
  """
3459
- How you want CloudFront to serve HTTPS requests. One of `vip`, `sni-only`, or `static-ip`. Required if you specify `acm_certificate_arn` or `iam_certificate_id`. **NOTE:** `vip` causes CloudFront to use a dedicated IP address and may incur extra charges.
3830
+ Value of the parameter.
3460
3831
  """
3461
- return pulumi.get(self, "ssl_support_method")
3832
+ return pulumi.get(self, "value")
3462
3833
 
3463
- @ssl_support_method.setter
3464
- def ssl_support_method(self, value: Optional[pulumi.Input[_builtins.str]]):
3465
- pulumi.set(self, "ssl_support_method", value)
3834
+ @value.setter
3835
+ def value(self, value: pulumi.Input[_builtins.str]):
3836
+ pulumi.set(self, "value", value)
3466
3837
 
3467
3838
 
3468
3839
  if not MYPY:
3469
- class FieldLevelEncryptionConfigContentTypeProfileConfigArgsDict(TypedDict):
3470
- content_type_profiles: pulumi.Input['FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgsDict']
3840
+ class DistributionTenantTimeoutsArgsDict(TypedDict):
3841
+ create: NotRequired[pulumi.Input[_builtins.str]]
3471
3842
  """
3472
- Object that contains an attribute `items` that contains the list of configurations for a field-level encryption content type-profile. See Content Type Profile.
3843
+ A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
3473
3844
  """
3474
- forward_when_content_type_is_unknown: pulumi.Input[_builtins.bool]
3845
+ delete: NotRequired[pulumi.Input[_builtins.str]]
3475
3846
  """
3476
- specifies what to do when an unknown content type is provided for the profile. If true, content is forwarded without being encrypted when the content type is unknown. If false (the default), an error is returned when the content type is unknown.
3847
+ A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
3848
+ """
3849
+ update: NotRequired[pulumi.Input[_builtins.str]]
3850
+ """
3851
+ A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
3477
3852
  """
3478
3853
  elif False:
3479
- FieldLevelEncryptionConfigContentTypeProfileConfigArgsDict: TypeAlias = Mapping[str, Any]
3854
+ DistributionTenantTimeoutsArgsDict: TypeAlias = Mapping[str, Any]
3480
3855
 
3481
3856
  @pulumi.input_type
3482
- class FieldLevelEncryptionConfigContentTypeProfileConfigArgs:
3857
+ class DistributionTenantTimeoutsArgs:
3483
3858
  def __init__(__self__, *,
3484
- content_type_profiles: pulumi.Input['FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgs'],
3485
- forward_when_content_type_is_unknown: pulumi.Input[_builtins.bool]):
3859
+ create: Optional[pulumi.Input[_builtins.str]] = None,
3860
+ delete: Optional[pulumi.Input[_builtins.str]] = None,
3861
+ update: Optional[pulumi.Input[_builtins.str]] = None):
3486
3862
  """
3487
- :param pulumi.Input['FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgs'] content_type_profiles: Object that contains an attribute `items` that contains the list of configurations for a field-level encryption content type-profile. See Content Type Profile.
3488
- :param pulumi.Input[_builtins.bool] forward_when_content_type_is_unknown: specifies what to do when an unknown content type is provided for the profile. If true, content is forwarded without being encrypted when the content type is unknown. If false (the default), an error is returned when the content type is unknown.
3863
+ :param pulumi.Input[_builtins.str] create: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
3864
+ :param pulumi.Input[_builtins.str] delete: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
3865
+ :param pulumi.Input[_builtins.str] update: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
3489
3866
  """
3490
- pulumi.set(__self__, "content_type_profiles", content_type_profiles)
3491
- pulumi.set(__self__, "forward_when_content_type_is_unknown", forward_when_content_type_is_unknown)
3867
+ if create is not None:
3868
+ pulumi.set(__self__, "create", create)
3869
+ if delete is not None:
3870
+ pulumi.set(__self__, "delete", delete)
3871
+ if update is not None:
3872
+ pulumi.set(__self__, "update", update)
3492
3873
 
3493
3874
  @_builtins.property
3494
- @pulumi.getter(name="contentTypeProfiles")
3495
- def content_type_profiles(self) -> pulumi.Input['FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgs']:
3875
+ @pulumi.getter
3876
+ def create(self) -> Optional[pulumi.Input[_builtins.str]]:
3496
3877
  """
3497
- Object that contains an attribute `items` that contains the list of configurations for a field-level encryption content type-profile. See Content Type Profile.
3878
+ A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
3498
3879
  """
3499
- return pulumi.get(self, "content_type_profiles")
3880
+ return pulumi.get(self, "create")
3500
3881
 
3501
- @content_type_profiles.setter
3502
- def content_type_profiles(self, value: pulumi.Input['FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgs']):
3503
- pulumi.set(self, "content_type_profiles", value)
3882
+ @create.setter
3883
+ def create(self, value: Optional[pulumi.Input[_builtins.str]]):
3884
+ pulumi.set(self, "create", value)
3504
3885
 
3505
3886
  @_builtins.property
3506
- @pulumi.getter(name="forwardWhenContentTypeIsUnknown")
3507
- def forward_when_content_type_is_unknown(self) -> pulumi.Input[_builtins.bool]:
3887
+ @pulumi.getter
3888
+ def delete(self) -> Optional[pulumi.Input[_builtins.str]]:
3508
3889
  """
3509
- specifies what to do when an unknown content type is provided for the profile. If true, content is forwarded without being encrypted when the content type is unknown. If false (the default), an error is returned when the content type is unknown.
3890
+ A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
3510
3891
  """
3511
- return pulumi.get(self, "forward_when_content_type_is_unknown")
3512
-
3513
- @forward_when_content_type_is_unknown.setter
3514
- def forward_when_content_type_is_unknown(self, value: pulumi.Input[_builtins.bool]):
3515
- pulumi.set(self, "forward_when_content_type_is_unknown", value)
3516
-
3517
-
3518
- if not MYPY:
3519
- class FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgsDict(TypedDict):
3520
- items: pulumi.Input[Sequence[pulumi.Input['FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgsDict']]]
3521
- elif False:
3522
- FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgsDict: TypeAlias = Mapping[str, Any]
3892
+ return pulumi.get(self, "delete")
3523
3893
 
3524
- @pulumi.input_type
3525
- class FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgs:
3526
- def __init__(__self__, *,
3527
- items: pulumi.Input[Sequence[pulumi.Input['FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgs']]]):
3528
- pulumi.set(__self__, "items", items)
3894
+ @delete.setter
3895
+ def delete(self, value: Optional[pulumi.Input[_builtins.str]]):
3896
+ pulumi.set(self, "delete", value)
3529
3897
 
3530
3898
  @_builtins.property
3531
3899
  @pulumi.getter
3532
- def items(self) -> pulumi.Input[Sequence[pulumi.Input['FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgs']]]:
3533
- return pulumi.get(self, "items")
3900
+ def update(self) -> Optional[pulumi.Input[_builtins.str]]:
3901
+ """
3902
+ A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
3903
+ """
3904
+ return pulumi.get(self, "update")
3534
3905
 
3535
- @items.setter
3536
- def items(self, value: pulumi.Input[Sequence[pulumi.Input['FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgs']]]):
3537
- pulumi.set(self, "items", value)
3906
+ @update.setter
3907
+ def update(self, value: Optional[pulumi.Input[_builtins.str]]):
3908
+ pulumi.set(self, "update", value)
3538
3909
 
3539
3910
 
3540
3911
  if not MYPY:
3541
- class FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgsDict(TypedDict):
3542
- content_type: pulumi.Input[_builtins.str]
3912
+ class DistributionTrustedKeyGroupArgsDict(TypedDict):
3913
+ enabled: NotRequired[pulumi.Input[_builtins.bool]]
3543
3914
  """
3544
- he content type for a field-level encryption content type-profile mapping. Valid value is `application/x-www-form-urlencoded`.
3915
+ Whether the distribution is enabled to accept end user requests for content.
3545
3916
  """
3546
- format: pulumi.Input[_builtins.str]
3917
+ items: NotRequired[pulumi.Input[Sequence[pulumi.Input['DistributionTrustedKeyGroupItemArgsDict']]]]
3547
3918
  """
3548
- The format for a field-level encryption content type-profile mapping. Valid value is `URLEncoded`.
3919
+ List of nested attributes for each trusted signer
3549
3920
  """
3550
- profile_id: NotRequired[pulumi.Input[_builtins.str]]
3551
3921
  elif False:
3552
- FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgsDict: TypeAlias = Mapping[str, Any]
3922
+ DistributionTrustedKeyGroupArgsDict: TypeAlias = Mapping[str, Any]
3553
3923
 
3554
3924
  @pulumi.input_type
3555
- class FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgs:
3925
+ class DistributionTrustedKeyGroupArgs:
3556
3926
  def __init__(__self__, *,
3557
- content_type: pulumi.Input[_builtins.str],
3558
- format: pulumi.Input[_builtins.str],
3559
- profile_id: Optional[pulumi.Input[_builtins.str]] = None):
3927
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
3928
+ items: Optional[pulumi.Input[Sequence[pulumi.Input['DistributionTrustedKeyGroupItemArgs']]]] = None):
3560
3929
  """
3561
- :param pulumi.Input[_builtins.str] content_type: he content type for a field-level encryption content type-profile mapping. Valid value is `application/x-www-form-urlencoded`.
3562
- :param pulumi.Input[_builtins.str] format: The format for a field-level encryption content type-profile mapping. Valid value is `URLEncoded`.
3930
+ :param pulumi.Input[_builtins.bool] enabled: Whether the distribution is enabled to accept end user requests for content.
3931
+ :param pulumi.Input[Sequence[pulumi.Input['DistributionTrustedKeyGroupItemArgs']]] items: List of nested attributes for each trusted signer
3563
3932
  """
3564
- pulumi.set(__self__, "content_type", content_type)
3565
- pulumi.set(__self__, "format", format)
3566
- if profile_id is not None:
3567
- pulumi.set(__self__, "profile_id", profile_id)
3568
-
3933
+ if enabled is not None:
3934
+ pulumi.set(__self__, "enabled", enabled)
3935
+ if items is not None:
3936
+ pulumi.set(__self__, "items", items)
3937
+
3938
+ @_builtins.property
3939
+ @pulumi.getter
3940
+ def enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
3941
+ """
3942
+ Whether the distribution is enabled to accept end user requests for content.
3943
+ """
3944
+ return pulumi.get(self, "enabled")
3945
+
3946
+ @enabled.setter
3947
+ def enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
3948
+ pulumi.set(self, "enabled", value)
3949
+
3950
+ @_builtins.property
3951
+ @pulumi.getter
3952
+ def items(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DistributionTrustedKeyGroupItemArgs']]]]:
3953
+ """
3954
+ List of nested attributes for each trusted signer
3955
+ """
3956
+ return pulumi.get(self, "items")
3957
+
3958
+ @items.setter
3959
+ def items(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DistributionTrustedKeyGroupItemArgs']]]]):
3960
+ pulumi.set(self, "items", value)
3961
+
3962
+
3963
+ if not MYPY:
3964
+ class DistributionTrustedKeyGroupItemArgsDict(TypedDict):
3965
+ key_group_id: NotRequired[pulumi.Input[_builtins.str]]
3966
+ """
3967
+ ID of the key group that contains the public keys.
3968
+ """
3969
+ key_pair_ids: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
3970
+ """
3971
+ Set of active CloudFront key pairs associated with the signer account
3972
+ """
3973
+ elif False:
3974
+ DistributionTrustedKeyGroupItemArgsDict: TypeAlias = Mapping[str, Any]
3975
+
3976
+ @pulumi.input_type
3977
+ class DistributionTrustedKeyGroupItemArgs:
3978
+ def __init__(__self__, *,
3979
+ key_group_id: Optional[pulumi.Input[_builtins.str]] = None,
3980
+ key_pair_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
3981
+ """
3982
+ :param pulumi.Input[_builtins.str] key_group_id: ID of the key group that contains the public keys.
3983
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] key_pair_ids: Set of active CloudFront key pairs associated with the signer account
3984
+ """
3985
+ if key_group_id is not None:
3986
+ pulumi.set(__self__, "key_group_id", key_group_id)
3987
+ if key_pair_ids is not None:
3988
+ pulumi.set(__self__, "key_pair_ids", key_pair_ids)
3989
+
3990
+ @_builtins.property
3991
+ @pulumi.getter(name="keyGroupId")
3992
+ def key_group_id(self) -> Optional[pulumi.Input[_builtins.str]]:
3993
+ """
3994
+ ID of the key group that contains the public keys.
3995
+ """
3996
+ return pulumi.get(self, "key_group_id")
3997
+
3998
+ @key_group_id.setter
3999
+ def key_group_id(self, value: Optional[pulumi.Input[_builtins.str]]):
4000
+ pulumi.set(self, "key_group_id", value)
4001
+
4002
+ @_builtins.property
4003
+ @pulumi.getter(name="keyPairIds")
4004
+ def key_pair_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
4005
+ """
4006
+ Set of active CloudFront key pairs associated with the signer account
4007
+ """
4008
+ return pulumi.get(self, "key_pair_ids")
4009
+
4010
+ @key_pair_ids.setter
4011
+ def key_pair_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
4012
+ pulumi.set(self, "key_pair_ids", value)
4013
+
4014
+
4015
+ if not MYPY:
4016
+ class DistributionTrustedSignerArgsDict(TypedDict):
4017
+ enabled: NotRequired[pulumi.Input[_builtins.bool]]
4018
+ """
4019
+ Whether the distribution is enabled to accept end user requests for content.
4020
+ """
4021
+ items: NotRequired[pulumi.Input[Sequence[pulumi.Input['DistributionTrustedSignerItemArgsDict']]]]
4022
+ """
4023
+ List of nested attributes for each trusted signer
4024
+ """
4025
+ elif False:
4026
+ DistributionTrustedSignerArgsDict: TypeAlias = Mapping[str, Any]
4027
+
4028
+ @pulumi.input_type
4029
+ class DistributionTrustedSignerArgs:
4030
+ def __init__(__self__, *,
4031
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
4032
+ items: Optional[pulumi.Input[Sequence[pulumi.Input['DistributionTrustedSignerItemArgs']]]] = None):
4033
+ """
4034
+ :param pulumi.Input[_builtins.bool] enabled: Whether the distribution is enabled to accept end user requests for content.
4035
+ :param pulumi.Input[Sequence[pulumi.Input['DistributionTrustedSignerItemArgs']]] items: List of nested attributes for each trusted signer
4036
+ """
4037
+ if enabled is not None:
4038
+ pulumi.set(__self__, "enabled", enabled)
4039
+ if items is not None:
4040
+ pulumi.set(__self__, "items", items)
4041
+
4042
+ @_builtins.property
4043
+ @pulumi.getter
4044
+ def enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
4045
+ """
4046
+ Whether the distribution is enabled to accept end user requests for content.
4047
+ """
4048
+ return pulumi.get(self, "enabled")
4049
+
4050
+ @enabled.setter
4051
+ def enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
4052
+ pulumi.set(self, "enabled", value)
4053
+
4054
+ @_builtins.property
4055
+ @pulumi.getter
4056
+ def items(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DistributionTrustedSignerItemArgs']]]]:
4057
+ """
4058
+ List of nested attributes for each trusted signer
4059
+ """
4060
+ return pulumi.get(self, "items")
4061
+
4062
+ @items.setter
4063
+ def items(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DistributionTrustedSignerItemArgs']]]]):
4064
+ pulumi.set(self, "items", value)
4065
+
4066
+
4067
+ if not MYPY:
4068
+ class DistributionTrustedSignerItemArgsDict(TypedDict):
4069
+ aws_account_number: NotRequired[pulumi.Input[_builtins.str]]
4070
+ """
4071
+ AWS account ID or `self`
4072
+ """
4073
+ key_pair_ids: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
4074
+ """
4075
+ Set of active CloudFront key pairs associated with the signer account
4076
+ """
4077
+ elif False:
4078
+ DistributionTrustedSignerItemArgsDict: TypeAlias = Mapping[str, Any]
4079
+
4080
+ @pulumi.input_type
4081
+ class DistributionTrustedSignerItemArgs:
4082
+ def __init__(__self__, *,
4083
+ aws_account_number: Optional[pulumi.Input[_builtins.str]] = None,
4084
+ key_pair_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
4085
+ """
4086
+ :param pulumi.Input[_builtins.str] aws_account_number: AWS account ID or `self`
4087
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] key_pair_ids: Set of active CloudFront key pairs associated with the signer account
4088
+ """
4089
+ if aws_account_number is not None:
4090
+ pulumi.set(__self__, "aws_account_number", aws_account_number)
4091
+ if key_pair_ids is not None:
4092
+ pulumi.set(__self__, "key_pair_ids", key_pair_ids)
4093
+
4094
+ @_builtins.property
4095
+ @pulumi.getter(name="awsAccountNumber")
4096
+ def aws_account_number(self) -> Optional[pulumi.Input[_builtins.str]]:
4097
+ """
4098
+ AWS account ID or `self`
4099
+ """
4100
+ return pulumi.get(self, "aws_account_number")
4101
+
4102
+ @aws_account_number.setter
4103
+ def aws_account_number(self, value: Optional[pulumi.Input[_builtins.str]]):
4104
+ pulumi.set(self, "aws_account_number", value)
4105
+
4106
+ @_builtins.property
4107
+ @pulumi.getter(name="keyPairIds")
4108
+ def key_pair_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
4109
+ """
4110
+ Set of active CloudFront key pairs associated with the signer account
4111
+ """
4112
+ return pulumi.get(self, "key_pair_ids")
4113
+
4114
+ @key_pair_ids.setter
4115
+ def key_pair_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
4116
+ pulumi.set(self, "key_pair_ids", value)
4117
+
4118
+
4119
+ if not MYPY:
4120
+ class DistributionViewerCertificateArgsDict(TypedDict):
4121
+ acm_certificate_arn: NotRequired[pulumi.Input[_builtins.str]]
4122
+ """
4123
+ ARN of the [AWS Certificate Manager](https://aws.amazon.com/certificate-manager/) certificate that you wish to use with this distribution. Specify this, `cloudfront_default_certificate`, or `iam_certificate_id`. The ACM certificate must be in US-EAST-1.
4124
+ """
4125
+ cloudfront_default_certificate: NotRequired[pulumi.Input[_builtins.bool]]
4126
+ """
4127
+ `true` if you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name for your distribution. Specify this, `acm_certificate_arn`, or `iam_certificate_id`.
4128
+ """
4129
+ iam_certificate_id: NotRequired[pulumi.Input[_builtins.str]]
4130
+ """
4131
+ IAM certificate identifier of the custom viewer certificate for this distribution if you are using a custom domain. Specify this, `acm_certificate_arn`, or `cloudfront_default_certificate`.
4132
+ """
4133
+ minimum_protocol_version: NotRequired[pulumi.Input[_builtins.str]]
4134
+ """
4135
+ Minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections. Can only be set if `cloudfront_default_certificate = false`. See all possible values in [this](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html) table under "Security policy." Some examples include: `TLSv1.2_2019` and `TLSv1.2_2021`. Default: `TLSv1`. **NOTE**: If you are using a custom certificate (specified with `acm_certificate_arn` or `iam_certificate_id`), and have specified `sni-only` in `ssl_support_method`, `TLSv1` or later must be specified. If you have specified `vip` in `ssl_support_method`, only `SSLv3` or `TLSv1` can be specified. If you have specified `cloudfront_default_certificate`, `TLSv1` must be specified.
4136
+ """
4137
+ ssl_support_method: NotRequired[pulumi.Input[_builtins.str]]
4138
+ """
4139
+ How you want CloudFront to serve HTTPS requests. One of `vip`, `sni-only`, or `static-ip`. Required if you specify `acm_certificate_arn` or `iam_certificate_id`. **NOTE:** `vip` causes CloudFront to use a dedicated IP address and may incur extra charges.
4140
+ """
4141
+ elif False:
4142
+ DistributionViewerCertificateArgsDict: TypeAlias = Mapping[str, Any]
4143
+
4144
+ @pulumi.input_type
4145
+ class DistributionViewerCertificateArgs:
4146
+ def __init__(__self__, *,
4147
+ acm_certificate_arn: Optional[pulumi.Input[_builtins.str]] = None,
4148
+ cloudfront_default_certificate: Optional[pulumi.Input[_builtins.bool]] = None,
4149
+ iam_certificate_id: Optional[pulumi.Input[_builtins.str]] = None,
4150
+ minimum_protocol_version: Optional[pulumi.Input[_builtins.str]] = None,
4151
+ ssl_support_method: Optional[pulumi.Input[_builtins.str]] = None):
4152
+ """
4153
+ :param pulumi.Input[_builtins.str] acm_certificate_arn: ARN of the [AWS Certificate Manager](https://aws.amazon.com/certificate-manager/) certificate that you wish to use with this distribution. Specify this, `cloudfront_default_certificate`, or `iam_certificate_id`. The ACM certificate must be in US-EAST-1.
4154
+ :param pulumi.Input[_builtins.bool] cloudfront_default_certificate: `true` if you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name for your distribution. Specify this, `acm_certificate_arn`, or `iam_certificate_id`.
4155
+ :param pulumi.Input[_builtins.str] iam_certificate_id: IAM certificate identifier of the custom viewer certificate for this distribution if you are using a custom domain. Specify this, `acm_certificate_arn`, or `cloudfront_default_certificate`.
4156
+ :param pulumi.Input[_builtins.str] minimum_protocol_version: Minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections. Can only be set if `cloudfront_default_certificate = false`. See all possible values in [this](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html) table under "Security policy." Some examples include: `TLSv1.2_2019` and `TLSv1.2_2021`. Default: `TLSv1`. **NOTE**: If you are using a custom certificate (specified with `acm_certificate_arn` or `iam_certificate_id`), and have specified `sni-only` in `ssl_support_method`, `TLSv1` or later must be specified. If you have specified `vip` in `ssl_support_method`, only `SSLv3` or `TLSv1` can be specified. If you have specified `cloudfront_default_certificate`, `TLSv1` must be specified.
4157
+ :param pulumi.Input[_builtins.str] ssl_support_method: How you want CloudFront to serve HTTPS requests. One of `vip`, `sni-only`, or `static-ip`. Required if you specify `acm_certificate_arn` or `iam_certificate_id`. **NOTE:** `vip` causes CloudFront to use a dedicated IP address and may incur extra charges.
4158
+ """
4159
+ if acm_certificate_arn is not None:
4160
+ pulumi.set(__self__, "acm_certificate_arn", acm_certificate_arn)
4161
+ if cloudfront_default_certificate is not None:
4162
+ pulumi.set(__self__, "cloudfront_default_certificate", cloudfront_default_certificate)
4163
+ if iam_certificate_id is not None:
4164
+ pulumi.set(__self__, "iam_certificate_id", iam_certificate_id)
4165
+ if minimum_protocol_version is not None:
4166
+ pulumi.set(__self__, "minimum_protocol_version", minimum_protocol_version)
4167
+ if ssl_support_method is not None:
4168
+ pulumi.set(__self__, "ssl_support_method", ssl_support_method)
4169
+
4170
+ @_builtins.property
4171
+ @pulumi.getter(name="acmCertificateArn")
4172
+ def acm_certificate_arn(self) -> Optional[pulumi.Input[_builtins.str]]:
4173
+ """
4174
+ ARN of the [AWS Certificate Manager](https://aws.amazon.com/certificate-manager/) certificate that you wish to use with this distribution. Specify this, `cloudfront_default_certificate`, or `iam_certificate_id`. The ACM certificate must be in US-EAST-1.
4175
+ """
4176
+ return pulumi.get(self, "acm_certificate_arn")
4177
+
4178
+ @acm_certificate_arn.setter
4179
+ def acm_certificate_arn(self, value: Optional[pulumi.Input[_builtins.str]]):
4180
+ pulumi.set(self, "acm_certificate_arn", value)
4181
+
4182
+ @_builtins.property
4183
+ @pulumi.getter(name="cloudfrontDefaultCertificate")
4184
+ def cloudfront_default_certificate(self) -> Optional[pulumi.Input[_builtins.bool]]:
4185
+ """
4186
+ `true` if you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name for your distribution. Specify this, `acm_certificate_arn`, or `iam_certificate_id`.
4187
+ """
4188
+ return pulumi.get(self, "cloudfront_default_certificate")
4189
+
4190
+ @cloudfront_default_certificate.setter
4191
+ def cloudfront_default_certificate(self, value: Optional[pulumi.Input[_builtins.bool]]):
4192
+ pulumi.set(self, "cloudfront_default_certificate", value)
4193
+
4194
+ @_builtins.property
4195
+ @pulumi.getter(name="iamCertificateId")
4196
+ def iam_certificate_id(self) -> Optional[pulumi.Input[_builtins.str]]:
4197
+ """
4198
+ IAM certificate identifier of the custom viewer certificate for this distribution if you are using a custom domain. Specify this, `acm_certificate_arn`, or `cloudfront_default_certificate`.
4199
+ """
4200
+ return pulumi.get(self, "iam_certificate_id")
4201
+
4202
+ @iam_certificate_id.setter
4203
+ def iam_certificate_id(self, value: Optional[pulumi.Input[_builtins.str]]):
4204
+ pulumi.set(self, "iam_certificate_id", value)
4205
+
4206
+ @_builtins.property
4207
+ @pulumi.getter(name="minimumProtocolVersion")
4208
+ def minimum_protocol_version(self) -> Optional[pulumi.Input[_builtins.str]]:
4209
+ """
4210
+ Minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections. Can only be set if `cloudfront_default_certificate = false`. See all possible values in [this](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html) table under "Security policy." Some examples include: `TLSv1.2_2019` and `TLSv1.2_2021`. Default: `TLSv1`. **NOTE**: If you are using a custom certificate (specified with `acm_certificate_arn` or `iam_certificate_id`), and have specified `sni-only` in `ssl_support_method`, `TLSv1` or later must be specified. If you have specified `vip` in `ssl_support_method`, only `SSLv3` or `TLSv1` can be specified. If you have specified `cloudfront_default_certificate`, `TLSv1` must be specified.
4211
+ """
4212
+ return pulumi.get(self, "minimum_protocol_version")
4213
+
4214
+ @minimum_protocol_version.setter
4215
+ def minimum_protocol_version(self, value: Optional[pulumi.Input[_builtins.str]]):
4216
+ pulumi.set(self, "minimum_protocol_version", value)
4217
+
4218
+ @_builtins.property
4219
+ @pulumi.getter(name="sslSupportMethod")
4220
+ def ssl_support_method(self) -> Optional[pulumi.Input[_builtins.str]]:
4221
+ """
4222
+ How you want CloudFront to serve HTTPS requests. One of `vip`, `sni-only`, or `static-ip`. Required if you specify `acm_certificate_arn` or `iam_certificate_id`. **NOTE:** `vip` causes CloudFront to use a dedicated IP address and may incur extra charges.
4223
+ """
4224
+ return pulumi.get(self, "ssl_support_method")
4225
+
4226
+ @ssl_support_method.setter
4227
+ def ssl_support_method(self, value: Optional[pulumi.Input[_builtins.str]]):
4228
+ pulumi.set(self, "ssl_support_method", value)
4229
+
4230
+
4231
+ if not MYPY:
4232
+ class DistributionViewerMtlsConfigArgsDict(TypedDict):
4233
+ mode: NotRequired[pulumi.Input[_builtins.str]]
4234
+ """
4235
+ The mode for viewer mTLS. Valid values: `required`, `optional`.
4236
+ """
4237
+ trust_store_config: NotRequired[pulumi.Input['DistributionViewerMtlsConfigTrustStoreConfigArgsDict']]
4238
+ """
4239
+ The trust store configuration for viewer mTLS (maximum one).
4240
+ """
4241
+ elif False:
4242
+ DistributionViewerMtlsConfigArgsDict: TypeAlias = Mapping[str, Any]
4243
+
4244
+ @pulumi.input_type
4245
+ class DistributionViewerMtlsConfigArgs:
4246
+ def __init__(__self__, *,
4247
+ mode: Optional[pulumi.Input[_builtins.str]] = None,
4248
+ trust_store_config: Optional[pulumi.Input['DistributionViewerMtlsConfigTrustStoreConfigArgs']] = None):
4249
+ """
4250
+ :param pulumi.Input[_builtins.str] mode: The mode for viewer mTLS. Valid values: `required`, `optional`.
4251
+ :param pulumi.Input['DistributionViewerMtlsConfigTrustStoreConfigArgs'] trust_store_config: The trust store configuration for viewer mTLS (maximum one).
4252
+ """
4253
+ if mode is not None:
4254
+ pulumi.set(__self__, "mode", mode)
4255
+ if trust_store_config is not None:
4256
+ pulumi.set(__self__, "trust_store_config", trust_store_config)
4257
+
4258
+ @_builtins.property
4259
+ @pulumi.getter
4260
+ def mode(self) -> Optional[pulumi.Input[_builtins.str]]:
4261
+ """
4262
+ The mode for viewer mTLS. Valid values: `required`, `optional`.
4263
+ """
4264
+ return pulumi.get(self, "mode")
4265
+
4266
+ @mode.setter
4267
+ def mode(self, value: Optional[pulumi.Input[_builtins.str]]):
4268
+ pulumi.set(self, "mode", value)
4269
+
4270
+ @_builtins.property
4271
+ @pulumi.getter(name="trustStoreConfig")
4272
+ def trust_store_config(self) -> Optional[pulumi.Input['DistributionViewerMtlsConfigTrustStoreConfigArgs']]:
4273
+ """
4274
+ The trust store configuration for viewer mTLS (maximum one).
4275
+ """
4276
+ return pulumi.get(self, "trust_store_config")
4277
+
4278
+ @trust_store_config.setter
4279
+ def trust_store_config(self, value: Optional[pulumi.Input['DistributionViewerMtlsConfigTrustStoreConfigArgs']]):
4280
+ pulumi.set(self, "trust_store_config", value)
4281
+
4282
+
4283
+ if not MYPY:
4284
+ class DistributionViewerMtlsConfigTrustStoreConfigArgsDict(TypedDict):
4285
+ trust_store_id: pulumi.Input[_builtins.str]
4286
+ """
4287
+ Identifier of the trust store to use for viewer mTLS.
4288
+ """
4289
+ advertise_trust_store_ca_names: NotRequired[pulumi.Input[_builtins.bool]]
4290
+ """
4291
+ Whether to advertise the trust store CA names to clients. Defaults to `false`.
4292
+ """
4293
+ ignore_certificate_expiry: NotRequired[pulumi.Input[_builtins.bool]]
4294
+ """
4295
+ Whether to ignore certificate expiry for viewer mTLS. Defaults to `false`.
4296
+ """
4297
+ elif False:
4298
+ DistributionViewerMtlsConfigTrustStoreConfigArgsDict: TypeAlias = Mapping[str, Any]
4299
+
4300
+ @pulumi.input_type
4301
+ class DistributionViewerMtlsConfigTrustStoreConfigArgs:
4302
+ def __init__(__self__, *,
4303
+ trust_store_id: pulumi.Input[_builtins.str],
4304
+ advertise_trust_store_ca_names: Optional[pulumi.Input[_builtins.bool]] = None,
4305
+ ignore_certificate_expiry: Optional[pulumi.Input[_builtins.bool]] = None):
4306
+ """
4307
+ :param pulumi.Input[_builtins.str] trust_store_id: Identifier of the trust store to use for viewer mTLS.
4308
+ :param pulumi.Input[_builtins.bool] advertise_trust_store_ca_names: Whether to advertise the trust store CA names to clients. Defaults to `false`.
4309
+ :param pulumi.Input[_builtins.bool] ignore_certificate_expiry: Whether to ignore certificate expiry for viewer mTLS. Defaults to `false`.
4310
+ """
4311
+ pulumi.set(__self__, "trust_store_id", trust_store_id)
4312
+ if advertise_trust_store_ca_names is not None:
4313
+ pulumi.set(__self__, "advertise_trust_store_ca_names", advertise_trust_store_ca_names)
4314
+ if ignore_certificate_expiry is not None:
4315
+ pulumi.set(__self__, "ignore_certificate_expiry", ignore_certificate_expiry)
4316
+
4317
+ @_builtins.property
4318
+ @pulumi.getter(name="trustStoreId")
4319
+ def trust_store_id(self) -> pulumi.Input[_builtins.str]:
4320
+ """
4321
+ Identifier of the trust store to use for viewer mTLS.
4322
+ """
4323
+ return pulumi.get(self, "trust_store_id")
4324
+
4325
+ @trust_store_id.setter
4326
+ def trust_store_id(self, value: pulumi.Input[_builtins.str]):
4327
+ pulumi.set(self, "trust_store_id", value)
4328
+
4329
+ @_builtins.property
4330
+ @pulumi.getter(name="advertiseTrustStoreCaNames")
4331
+ def advertise_trust_store_ca_names(self) -> Optional[pulumi.Input[_builtins.bool]]:
4332
+ """
4333
+ Whether to advertise the trust store CA names to clients. Defaults to `false`.
4334
+ """
4335
+ return pulumi.get(self, "advertise_trust_store_ca_names")
4336
+
4337
+ @advertise_trust_store_ca_names.setter
4338
+ def advertise_trust_store_ca_names(self, value: Optional[pulumi.Input[_builtins.bool]]):
4339
+ pulumi.set(self, "advertise_trust_store_ca_names", value)
4340
+
4341
+ @_builtins.property
4342
+ @pulumi.getter(name="ignoreCertificateExpiry")
4343
+ def ignore_certificate_expiry(self) -> Optional[pulumi.Input[_builtins.bool]]:
4344
+ """
4345
+ Whether to ignore certificate expiry for viewer mTLS. Defaults to `false`.
4346
+ """
4347
+ return pulumi.get(self, "ignore_certificate_expiry")
4348
+
4349
+ @ignore_certificate_expiry.setter
4350
+ def ignore_certificate_expiry(self, value: Optional[pulumi.Input[_builtins.bool]]):
4351
+ pulumi.set(self, "ignore_certificate_expiry", value)
4352
+
4353
+
4354
+ if not MYPY:
4355
+ class FieldLevelEncryptionConfigContentTypeProfileConfigArgsDict(TypedDict):
4356
+ content_type_profiles: pulumi.Input['FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgsDict']
4357
+ """
4358
+ Object that contains an attribute `items` that contains the list of configurations for a field-level encryption content type-profile. See Content Type Profile.
4359
+ """
4360
+ forward_when_content_type_is_unknown: pulumi.Input[_builtins.bool]
4361
+ """
4362
+ specifies what to do when an unknown content type is provided for the profile. If true, content is forwarded without being encrypted when the content type is unknown. If false (the default), an error is returned when the content type is unknown.
4363
+ """
4364
+ elif False:
4365
+ FieldLevelEncryptionConfigContentTypeProfileConfigArgsDict: TypeAlias = Mapping[str, Any]
4366
+
4367
+ @pulumi.input_type
4368
+ class FieldLevelEncryptionConfigContentTypeProfileConfigArgs:
4369
+ def __init__(__self__, *,
4370
+ content_type_profiles: pulumi.Input['FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgs'],
4371
+ forward_when_content_type_is_unknown: pulumi.Input[_builtins.bool]):
4372
+ """
4373
+ :param pulumi.Input['FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgs'] content_type_profiles: Object that contains an attribute `items` that contains the list of configurations for a field-level encryption content type-profile. See Content Type Profile.
4374
+ :param pulumi.Input[_builtins.bool] forward_when_content_type_is_unknown: specifies what to do when an unknown content type is provided for the profile. If true, content is forwarded without being encrypted when the content type is unknown. If false (the default), an error is returned when the content type is unknown.
4375
+ """
4376
+ pulumi.set(__self__, "content_type_profiles", content_type_profiles)
4377
+ pulumi.set(__self__, "forward_when_content_type_is_unknown", forward_when_content_type_is_unknown)
4378
+
4379
+ @_builtins.property
4380
+ @pulumi.getter(name="contentTypeProfiles")
4381
+ def content_type_profiles(self) -> pulumi.Input['FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgs']:
4382
+ """
4383
+ Object that contains an attribute `items` that contains the list of configurations for a field-level encryption content type-profile. See Content Type Profile.
4384
+ """
4385
+ return pulumi.get(self, "content_type_profiles")
4386
+
4387
+ @content_type_profiles.setter
4388
+ def content_type_profiles(self, value: pulumi.Input['FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgs']):
4389
+ pulumi.set(self, "content_type_profiles", value)
4390
+
4391
+ @_builtins.property
4392
+ @pulumi.getter(name="forwardWhenContentTypeIsUnknown")
4393
+ def forward_when_content_type_is_unknown(self) -> pulumi.Input[_builtins.bool]:
4394
+ """
4395
+ specifies what to do when an unknown content type is provided for the profile. If true, content is forwarded without being encrypted when the content type is unknown. If false (the default), an error is returned when the content type is unknown.
4396
+ """
4397
+ return pulumi.get(self, "forward_when_content_type_is_unknown")
4398
+
4399
+ @forward_when_content_type_is_unknown.setter
4400
+ def forward_when_content_type_is_unknown(self, value: pulumi.Input[_builtins.bool]):
4401
+ pulumi.set(self, "forward_when_content_type_is_unknown", value)
4402
+
4403
+
4404
+ if not MYPY:
4405
+ class FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgsDict(TypedDict):
4406
+ items: pulumi.Input[Sequence[pulumi.Input['FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgsDict']]]
4407
+ elif False:
4408
+ FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgsDict: TypeAlias = Mapping[str, Any]
4409
+
4410
+ @pulumi.input_type
4411
+ class FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesArgs:
4412
+ def __init__(__self__, *,
4413
+ items: pulumi.Input[Sequence[pulumi.Input['FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgs']]]):
4414
+ pulumi.set(__self__, "items", items)
4415
+
4416
+ @_builtins.property
4417
+ @pulumi.getter
4418
+ def items(self) -> pulumi.Input[Sequence[pulumi.Input['FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgs']]]:
4419
+ return pulumi.get(self, "items")
4420
+
4421
+ @items.setter
4422
+ def items(self, value: pulumi.Input[Sequence[pulumi.Input['FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgs']]]):
4423
+ pulumi.set(self, "items", value)
4424
+
4425
+
4426
+ if not MYPY:
4427
+ class FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgsDict(TypedDict):
4428
+ content_type: pulumi.Input[_builtins.str]
4429
+ """
4430
+ he content type for a field-level encryption content type-profile mapping. Valid value is `application/x-www-form-urlencoded`.
4431
+ """
4432
+ format: pulumi.Input[_builtins.str]
4433
+ """
4434
+ The format for a field-level encryption content type-profile mapping. Valid value is `URLEncoded`.
4435
+ """
4436
+ profile_id: NotRequired[pulumi.Input[_builtins.str]]
4437
+ elif False:
4438
+ FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgsDict: TypeAlias = Mapping[str, Any]
4439
+
4440
+ @pulumi.input_type
4441
+ class FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItemArgs:
4442
+ def __init__(__self__, *,
4443
+ content_type: pulumi.Input[_builtins.str],
4444
+ format: pulumi.Input[_builtins.str],
4445
+ profile_id: Optional[pulumi.Input[_builtins.str]] = None):
4446
+ """
4447
+ :param pulumi.Input[_builtins.str] content_type: he content type for a field-level encryption content type-profile mapping. Valid value is `application/x-www-form-urlencoded`.
4448
+ :param pulumi.Input[_builtins.str] format: The format for a field-level encryption content type-profile mapping. Valid value is `URLEncoded`.
4449
+ """
4450
+ pulumi.set(__self__, "content_type", content_type)
4451
+ pulumi.set(__self__, "format", format)
4452
+ if profile_id is not None:
4453
+ pulumi.set(__self__, "profile_id", profile_id)
4454
+
4455
+ @_builtins.property
4456
+ @pulumi.getter(name="contentType")
4457
+ def content_type(self) -> pulumi.Input[_builtins.str]:
4458
+ """
4459
+ he content type for a field-level encryption content type-profile mapping. Valid value is `application/x-www-form-urlencoded`.
4460
+ """
4461
+ return pulumi.get(self, "content_type")
4462
+
4463
+ @content_type.setter
4464
+ def content_type(self, value: pulumi.Input[_builtins.str]):
4465
+ pulumi.set(self, "content_type", value)
4466
+
4467
+ @_builtins.property
4468
+ @pulumi.getter
4469
+ def format(self) -> pulumi.Input[_builtins.str]:
4470
+ """
4471
+ The format for a field-level encryption content type-profile mapping. Valid value is `URLEncoded`.
4472
+ """
4473
+ return pulumi.get(self, "format")
4474
+
4475
+ @format.setter
4476
+ def format(self, value: pulumi.Input[_builtins.str]):
4477
+ pulumi.set(self, "format", value)
4478
+
4479
+ @_builtins.property
4480
+ @pulumi.getter(name="profileId")
4481
+ def profile_id(self) -> Optional[pulumi.Input[_builtins.str]]:
4482
+ return pulumi.get(self, "profile_id")
4483
+
4484
+ @profile_id.setter
4485
+ def profile_id(self, value: Optional[pulumi.Input[_builtins.str]]):
4486
+ pulumi.set(self, "profile_id", value)
4487
+
4488
+
4489
+ if not MYPY:
4490
+ class FieldLevelEncryptionConfigQueryArgProfileConfigArgsDict(TypedDict):
4491
+ forward_when_query_arg_profile_is_unknown: pulumi.Input[_builtins.bool]
4492
+ """
4493
+ Flag to set if you want a request to be forwarded to the origin even if the profile specified by the field-level encryption query argument, fle-profile, is unknown.
4494
+ """
4495
+ query_arg_profiles: NotRequired[pulumi.Input['FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgsDict']]
4496
+ """
4497
+ Object that contains an attribute `items` that contains the list ofrofiles specified for query argument-profile mapping for field-level encryption. see Query Arg Profile.
4498
+ """
4499
+ elif False:
4500
+ FieldLevelEncryptionConfigQueryArgProfileConfigArgsDict: TypeAlias = Mapping[str, Any]
4501
+
4502
+ @pulumi.input_type
4503
+ class FieldLevelEncryptionConfigQueryArgProfileConfigArgs:
4504
+ def __init__(__self__, *,
4505
+ forward_when_query_arg_profile_is_unknown: pulumi.Input[_builtins.bool],
4506
+ query_arg_profiles: Optional[pulumi.Input['FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgs']] = None):
4507
+ """
4508
+ :param pulumi.Input[_builtins.bool] forward_when_query_arg_profile_is_unknown: Flag to set if you want a request to be forwarded to the origin even if the profile specified by the field-level encryption query argument, fle-profile, is unknown.
4509
+ :param pulumi.Input['FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgs'] query_arg_profiles: Object that contains an attribute `items` that contains the list ofrofiles specified for query argument-profile mapping for field-level encryption. see Query Arg Profile.
4510
+ """
4511
+ pulumi.set(__self__, "forward_when_query_arg_profile_is_unknown", forward_when_query_arg_profile_is_unknown)
4512
+ if query_arg_profiles is not None:
4513
+ pulumi.set(__self__, "query_arg_profiles", query_arg_profiles)
4514
+
4515
+ @_builtins.property
4516
+ @pulumi.getter(name="forwardWhenQueryArgProfileIsUnknown")
4517
+ def forward_when_query_arg_profile_is_unknown(self) -> pulumi.Input[_builtins.bool]:
4518
+ """
4519
+ Flag to set if you want a request to be forwarded to the origin even if the profile specified by the field-level encryption query argument, fle-profile, is unknown.
4520
+ """
4521
+ return pulumi.get(self, "forward_when_query_arg_profile_is_unknown")
4522
+
4523
+ @forward_when_query_arg_profile_is_unknown.setter
4524
+ def forward_when_query_arg_profile_is_unknown(self, value: pulumi.Input[_builtins.bool]):
4525
+ pulumi.set(self, "forward_when_query_arg_profile_is_unknown", value)
4526
+
4527
+ @_builtins.property
4528
+ @pulumi.getter(name="queryArgProfiles")
4529
+ def query_arg_profiles(self) -> Optional[pulumi.Input['FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgs']]:
4530
+ """
4531
+ Object that contains an attribute `items` that contains the list ofrofiles specified for query argument-profile mapping for field-level encryption. see Query Arg Profile.
4532
+ """
4533
+ return pulumi.get(self, "query_arg_profiles")
4534
+
4535
+ @query_arg_profiles.setter
4536
+ def query_arg_profiles(self, value: Optional[pulumi.Input['FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgs']]):
4537
+ pulumi.set(self, "query_arg_profiles", value)
4538
+
4539
+
4540
+ if not MYPY:
4541
+ class FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgsDict(TypedDict):
4542
+ items: NotRequired[pulumi.Input[Sequence[pulumi.Input['FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgsDict']]]]
4543
+ elif False:
4544
+ FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgsDict: TypeAlias = Mapping[str, Any]
4545
+
4546
+ @pulumi.input_type
4547
+ class FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgs:
4548
+ def __init__(__self__, *,
4549
+ items: Optional[pulumi.Input[Sequence[pulumi.Input['FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgs']]]] = None):
4550
+ if items is not None:
4551
+ pulumi.set(__self__, "items", items)
4552
+
4553
+ @_builtins.property
4554
+ @pulumi.getter
4555
+ def items(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgs']]]]:
4556
+ return pulumi.get(self, "items")
4557
+
4558
+ @items.setter
4559
+ def items(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgs']]]]):
4560
+ pulumi.set(self, "items", value)
4561
+
4562
+
4563
+ if not MYPY:
4564
+ class FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgsDict(TypedDict):
4565
+ profile_id: pulumi.Input[_builtins.str]
4566
+ query_arg: pulumi.Input[_builtins.str]
4567
+ """
4568
+ Query argument for field-level encryption query argument-profile mapping.
4569
+ """
4570
+ elif False:
4571
+ FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgsDict: TypeAlias = Mapping[str, Any]
4572
+
4573
+ @pulumi.input_type
4574
+ class FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgs:
4575
+ def __init__(__self__, *,
4576
+ profile_id: pulumi.Input[_builtins.str],
4577
+ query_arg: pulumi.Input[_builtins.str]):
4578
+ """
4579
+ :param pulumi.Input[_builtins.str] query_arg: Query argument for field-level encryption query argument-profile mapping.
4580
+ """
4581
+ pulumi.set(__self__, "profile_id", profile_id)
4582
+ pulumi.set(__self__, "query_arg", query_arg)
4583
+
4584
+ @_builtins.property
4585
+ @pulumi.getter(name="profileId")
4586
+ def profile_id(self) -> pulumi.Input[_builtins.str]:
4587
+ return pulumi.get(self, "profile_id")
4588
+
4589
+ @profile_id.setter
4590
+ def profile_id(self, value: pulumi.Input[_builtins.str]):
4591
+ pulumi.set(self, "profile_id", value)
4592
+
4593
+ @_builtins.property
4594
+ @pulumi.getter(name="queryArg")
4595
+ def query_arg(self) -> pulumi.Input[_builtins.str]:
4596
+ """
4597
+ Query argument for field-level encryption query argument-profile mapping.
4598
+ """
4599
+ return pulumi.get(self, "query_arg")
4600
+
4601
+ @query_arg.setter
4602
+ def query_arg(self, value: pulumi.Input[_builtins.str]):
4603
+ pulumi.set(self, "query_arg", value)
4604
+
4605
+
4606
+ if not MYPY:
4607
+ class FieldLevelEncryptionProfileEncryptionEntitiesArgsDict(TypedDict):
4608
+ items: NotRequired[pulumi.Input[Sequence[pulumi.Input['FieldLevelEncryptionProfileEncryptionEntitiesItemArgsDict']]]]
4609
+ elif False:
4610
+ FieldLevelEncryptionProfileEncryptionEntitiesArgsDict: TypeAlias = Mapping[str, Any]
4611
+
4612
+ @pulumi.input_type
4613
+ class FieldLevelEncryptionProfileEncryptionEntitiesArgs:
4614
+ def __init__(__self__, *,
4615
+ items: Optional[pulumi.Input[Sequence[pulumi.Input['FieldLevelEncryptionProfileEncryptionEntitiesItemArgs']]]] = None):
4616
+ if items is not None:
4617
+ pulumi.set(__self__, "items", items)
4618
+
4619
+ @_builtins.property
4620
+ @pulumi.getter
4621
+ def items(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FieldLevelEncryptionProfileEncryptionEntitiesItemArgs']]]]:
4622
+ return pulumi.get(self, "items")
4623
+
4624
+ @items.setter
4625
+ def items(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FieldLevelEncryptionProfileEncryptionEntitiesItemArgs']]]]):
4626
+ pulumi.set(self, "items", value)
4627
+
4628
+
4629
+ if not MYPY:
4630
+ class FieldLevelEncryptionProfileEncryptionEntitiesItemArgsDict(TypedDict):
4631
+ field_patterns: pulumi.Input['FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgsDict']
4632
+ """
4633
+ Object that contains an attribute `items` that contains the list of field patterns in a field-level encryption content type profile specify the fields that you want to be encrypted.
4634
+ """
4635
+ provider_id: pulumi.Input[_builtins.str]
4636
+ """
4637
+ The provider associated with the public key being used for encryption.
4638
+ """
4639
+ public_key_id: pulumi.Input[_builtins.str]
4640
+ """
4641
+ The public key associated with a set of field-level encryption patterns, to be used when encrypting the fields that match the patterns.
4642
+ """
4643
+ elif False:
4644
+ FieldLevelEncryptionProfileEncryptionEntitiesItemArgsDict: TypeAlias = Mapping[str, Any]
4645
+
4646
+ @pulumi.input_type
4647
+ class FieldLevelEncryptionProfileEncryptionEntitiesItemArgs:
4648
+ def __init__(__self__, *,
4649
+ field_patterns: pulumi.Input['FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgs'],
4650
+ provider_id: pulumi.Input[_builtins.str],
4651
+ public_key_id: pulumi.Input[_builtins.str]):
4652
+ """
4653
+ :param pulumi.Input['FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgs'] field_patterns: Object that contains an attribute `items` that contains the list of field patterns in a field-level encryption content type profile specify the fields that you want to be encrypted.
4654
+ :param pulumi.Input[_builtins.str] provider_id: The provider associated with the public key being used for encryption.
4655
+ :param pulumi.Input[_builtins.str] public_key_id: The public key associated with a set of field-level encryption patterns, to be used when encrypting the fields that match the patterns.
4656
+ """
4657
+ pulumi.set(__self__, "field_patterns", field_patterns)
4658
+ pulumi.set(__self__, "provider_id", provider_id)
4659
+ pulumi.set(__self__, "public_key_id", public_key_id)
4660
+
4661
+ @_builtins.property
4662
+ @pulumi.getter(name="fieldPatterns")
4663
+ def field_patterns(self) -> pulumi.Input['FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgs']:
4664
+ """
4665
+ Object that contains an attribute `items` that contains the list of field patterns in a field-level encryption content type profile specify the fields that you want to be encrypted.
4666
+ """
4667
+ return pulumi.get(self, "field_patterns")
4668
+
4669
+ @field_patterns.setter
4670
+ def field_patterns(self, value: pulumi.Input['FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgs']):
4671
+ pulumi.set(self, "field_patterns", value)
4672
+
4673
+ @_builtins.property
4674
+ @pulumi.getter(name="providerId")
4675
+ def provider_id(self) -> pulumi.Input[_builtins.str]:
4676
+ """
4677
+ The provider associated with the public key being used for encryption.
4678
+ """
4679
+ return pulumi.get(self, "provider_id")
4680
+
4681
+ @provider_id.setter
4682
+ def provider_id(self, value: pulumi.Input[_builtins.str]):
4683
+ pulumi.set(self, "provider_id", value)
4684
+
4685
+ @_builtins.property
4686
+ @pulumi.getter(name="publicKeyId")
4687
+ def public_key_id(self) -> pulumi.Input[_builtins.str]:
4688
+ """
4689
+ The public key associated with a set of field-level encryption patterns, to be used when encrypting the fields that match the patterns.
4690
+ """
4691
+ return pulumi.get(self, "public_key_id")
4692
+
4693
+ @public_key_id.setter
4694
+ def public_key_id(self, value: pulumi.Input[_builtins.str]):
4695
+ pulumi.set(self, "public_key_id", value)
4696
+
4697
+
4698
+ if not MYPY:
4699
+ class FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgsDict(TypedDict):
4700
+ items: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
4701
+ elif False:
4702
+ FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgsDict: TypeAlias = Mapping[str, Any]
4703
+
4704
+ @pulumi.input_type
4705
+ class FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgs:
4706
+ def __init__(__self__, *,
4707
+ items: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
4708
+ if items is not None:
4709
+ pulumi.set(__self__, "items", items)
4710
+
4711
+ @_builtins.property
4712
+ @pulumi.getter
4713
+ def items(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
4714
+ return pulumi.get(self, "items")
4715
+
4716
+ @items.setter
4717
+ def items(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
4718
+ pulumi.set(self, "items", value)
4719
+
4720
+
4721
+ if not MYPY:
4722
+ class KeyValueStoreTimeoutsArgsDict(TypedDict):
4723
+ create: NotRequired[pulumi.Input[_builtins.str]]
4724
+ """
4725
+ A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
4726
+ """
4727
+ elif False:
4728
+ KeyValueStoreTimeoutsArgsDict: TypeAlias = Mapping[str, Any]
4729
+
4730
+ @pulumi.input_type
4731
+ class KeyValueStoreTimeoutsArgs:
4732
+ def __init__(__self__, *,
4733
+ create: Optional[pulumi.Input[_builtins.str]] = None):
4734
+ """
4735
+ :param pulumi.Input[_builtins.str] create: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
4736
+ """
4737
+ if create is not None:
4738
+ pulumi.set(__self__, "create", create)
4739
+
4740
+ @_builtins.property
4741
+ @pulumi.getter
4742
+ def create(self) -> Optional[pulumi.Input[_builtins.str]]:
4743
+ """
4744
+ A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
4745
+ """
4746
+ return pulumi.get(self, "create")
4747
+
4748
+ @create.setter
4749
+ def create(self, value: Optional[pulumi.Input[_builtins.str]]):
4750
+ pulumi.set(self, "create", value)
4751
+
4752
+
4753
+ if not MYPY:
4754
+ class KeyvaluestoreKeysExclusiveResourceKeyValuePairArgsDict(TypedDict):
4755
+ key: pulumi.Input[_builtins.str]
4756
+ """
4757
+ Key to put.
4758
+ """
4759
+ value: pulumi.Input[_builtins.str]
4760
+ """
4761
+ Value to put.
4762
+ """
4763
+ elif False:
4764
+ KeyvaluestoreKeysExclusiveResourceKeyValuePairArgsDict: TypeAlias = Mapping[str, Any]
4765
+
4766
+ @pulumi.input_type
4767
+ class KeyvaluestoreKeysExclusiveResourceKeyValuePairArgs:
4768
+ def __init__(__self__, *,
4769
+ key: pulumi.Input[_builtins.str],
4770
+ value: pulumi.Input[_builtins.str]):
4771
+ """
4772
+ :param pulumi.Input[_builtins.str] key: Key to put.
4773
+ :param pulumi.Input[_builtins.str] value: Value to put.
4774
+ """
4775
+ pulumi.set(__self__, "key", key)
4776
+ pulumi.set(__self__, "value", value)
4777
+
4778
+ @_builtins.property
4779
+ @pulumi.getter
4780
+ def key(self) -> pulumi.Input[_builtins.str]:
4781
+ """
4782
+ Key to put.
4783
+ """
4784
+ return pulumi.get(self, "key")
4785
+
4786
+ @key.setter
4787
+ def key(self, value: pulumi.Input[_builtins.str]):
4788
+ pulumi.set(self, "key", value)
4789
+
4790
+ @_builtins.property
4791
+ @pulumi.getter
4792
+ def value(self) -> pulumi.Input[_builtins.str]:
4793
+ """
4794
+ Value to put.
4795
+ """
4796
+ return pulumi.get(self, "value")
4797
+
4798
+ @value.setter
4799
+ def value(self, value: pulumi.Input[_builtins.str]):
4800
+ pulumi.set(self, "value", value)
4801
+
4802
+
4803
+ if not MYPY:
4804
+ class MonitoringSubscriptionMonitoringSubscriptionArgsDict(TypedDict):
4805
+ realtime_metrics_subscription_config: pulumi.Input['MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgsDict']
4806
+ """
4807
+ A subscription configuration for additional CloudWatch metrics. See below.
4808
+ """
4809
+ elif False:
4810
+ MonitoringSubscriptionMonitoringSubscriptionArgsDict: TypeAlias = Mapping[str, Any]
4811
+
4812
+ @pulumi.input_type
4813
+ class MonitoringSubscriptionMonitoringSubscriptionArgs:
4814
+ def __init__(__self__, *,
4815
+ realtime_metrics_subscription_config: pulumi.Input['MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs']):
4816
+ """
4817
+ :param pulumi.Input['MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs'] realtime_metrics_subscription_config: A subscription configuration for additional CloudWatch metrics. See below.
4818
+ """
4819
+ pulumi.set(__self__, "realtime_metrics_subscription_config", realtime_metrics_subscription_config)
4820
+
4821
+ @_builtins.property
4822
+ @pulumi.getter(name="realtimeMetricsSubscriptionConfig")
4823
+ def realtime_metrics_subscription_config(self) -> pulumi.Input['MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs']:
4824
+ """
4825
+ A subscription configuration for additional CloudWatch metrics. See below.
4826
+ """
4827
+ return pulumi.get(self, "realtime_metrics_subscription_config")
4828
+
4829
+ @realtime_metrics_subscription_config.setter
4830
+ def realtime_metrics_subscription_config(self, value: pulumi.Input['MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs']):
4831
+ pulumi.set(self, "realtime_metrics_subscription_config", value)
4832
+
4833
+
4834
+ if not MYPY:
4835
+ class MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgsDict(TypedDict):
4836
+ realtime_metrics_subscription_status: pulumi.Input[_builtins.str]
4837
+ """
4838
+ A flag that indicates whether additional CloudWatch metrics are enabled for a given CloudFront distribution. Valid values are `Enabled` and `Disabled`. See below.
4839
+ """
4840
+ elif False:
4841
+ MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgsDict: TypeAlias = Mapping[str, Any]
4842
+
4843
+ @pulumi.input_type
4844
+ class MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs:
4845
+ def __init__(__self__, *,
4846
+ realtime_metrics_subscription_status: pulumi.Input[_builtins.str]):
4847
+ """
4848
+ :param pulumi.Input[_builtins.str] realtime_metrics_subscription_status: A flag that indicates whether additional CloudWatch metrics are enabled for a given CloudFront distribution. Valid values are `Enabled` and `Disabled`. See below.
4849
+ """
4850
+ pulumi.set(__self__, "realtime_metrics_subscription_status", realtime_metrics_subscription_status)
4851
+
4852
+ @_builtins.property
4853
+ @pulumi.getter(name="realtimeMetricsSubscriptionStatus")
4854
+ def realtime_metrics_subscription_status(self) -> pulumi.Input[_builtins.str]:
4855
+ """
4856
+ A flag that indicates whether additional CloudWatch metrics are enabled for a given CloudFront distribution. Valid values are `Enabled` and `Disabled`. See below.
4857
+ """
4858
+ return pulumi.get(self, "realtime_metrics_subscription_status")
4859
+
4860
+ @realtime_metrics_subscription_status.setter
4861
+ def realtime_metrics_subscription_status(self, value: pulumi.Input[_builtins.str]):
4862
+ pulumi.set(self, "realtime_metrics_subscription_status", value)
4863
+
4864
+
4865
+ if not MYPY:
4866
+ class MultitenantDistributionActiveTrustedKeyGroupArgsDict(TypedDict):
4867
+ enabled: NotRequired[pulumi.Input[_builtins.bool]]
4868
+ """
4869
+ Whether any of the key groups have public keys that CloudFront can use to verify the signatures of signed URLs and signed cookies.
4870
+ """
4871
+ items: NotRequired[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionActiveTrustedKeyGroupItemArgsDict']]]]
4872
+ """
4873
+ List of key groups. See Key Group Items below.
4874
+ """
4875
+ elif False:
4876
+ MultitenantDistributionActiveTrustedKeyGroupArgsDict: TypeAlias = Mapping[str, Any]
4877
+
4878
+ @pulumi.input_type
4879
+ class MultitenantDistributionActiveTrustedKeyGroupArgs:
4880
+ def __init__(__self__, *,
4881
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
4882
+ items: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionActiveTrustedKeyGroupItemArgs']]]] = None):
4883
+ """
4884
+ :param pulumi.Input[_builtins.bool] enabled: Whether any of the key groups have public keys that CloudFront can use to verify the signatures of signed URLs and signed cookies.
4885
+ :param pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionActiveTrustedKeyGroupItemArgs']]] items: List of key groups. See Key Group Items below.
4886
+ """
4887
+ if enabled is not None:
4888
+ pulumi.set(__self__, "enabled", enabled)
4889
+ if items is not None:
4890
+ pulumi.set(__self__, "items", items)
4891
+
4892
+ @_builtins.property
4893
+ @pulumi.getter
4894
+ def enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
4895
+ """
4896
+ Whether any of the key groups have public keys that CloudFront can use to verify the signatures of signed URLs and signed cookies.
4897
+ """
4898
+ return pulumi.get(self, "enabled")
4899
+
4900
+ @enabled.setter
4901
+ def enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
4902
+ pulumi.set(self, "enabled", value)
4903
+
4904
+ @_builtins.property
4905
+ @pulumi.getter
4906
+ def items(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionActiveTrustedKeyGroupItemArgs']]]]:
4907
+ """
4908
+ List of key groups. See Key Group Items below.
4909
+ """
4910
+ return pulumi.get(self, "items")
4911
+
4912
+ @items.setter
4913
+ def items(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionActiveTrustedKeyGroupItemArgs']]]]):
4914
+ pulumi.set(self, "items", value)
4915
+
4916
+
4917
+ if not MYPY:
4918
+ class MultitenantDistributionActiveTrustedKeyGroupItemArgsDict(TypedDict):
4919
+ key_group_id: NotRequired[pulumi.Input[_builtins.str]]
4920
+ """
4921
+ ID of the key group that contains the public keys.
4922
+ """
4923
+ key_pair_ids: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
4924
+ """
4925
+ Set of active CloudFront key pairs associated with the signer that can be used to verify the signatures of signed URLs and signed cookies.
4926
+ """
4927
+ elif False:
4928
+ MultitenantDistributionActiveTrustedKeyGroupItemArgsDict: TypeAlias = Mapping[str, Any]
4929
+
4930
+ @pulumi.input_type
4931
+ class MultitenantDistributionActiveTrustedKeyGroupItemArgs:
4932
+ def __init__(__self__, *,
4933
+ key_group_id: Optional[pulumi.Input[_builtins.str]] = None,
4934
+ key_pair_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
4935
+ """
4936
+ :param pulumi.Input[_builtins.str] key_group_id: ID of the key group that contains the public keys.
4937
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] key_pair_ids: Set of active CloudFront key pairs associated with the signer that can be used to verify the signatures of signed URLs and signed cookies.
4938
+ """
4939
+ if key_group_id is not None:
4940
+ pulumi.set(__self__, "key_group_id", key_group_id)
4941
+ if key_pair_ids is not None:
4942
+ pulumi.set(__self__, "key_pair_ids", key_pair_ids)
4943
+
4944
+ @_builtins.property
4945
+ @pulumi.getter(name="keyGroupId")
4946
+ def key_group_id(self) -> Optional[pulumi.Input[_builtins.str]]:
4947
+ """
4948
+ ID of the key group that contains the public keys.
4949
+ """
4950
+ return pulumi.get(self, "key_group_id")
4951
+
4952
+ @key_group_id.setter
4953
+ def key_group_id(self, value: Optional[pulumi.Input[_builtins.str]]):
4954
+ pulumi.set(self, "key_group_id", value)
4955
+
4956
+ @_builtins.property
4957
+ @pulumi.getter(name="keyPairIds")
4958
+ def key_pair_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
4959
+ """
4960
+ Set of active CloudFront key pairs associated with the signer that can be used to verify the signatures of signed URLs and signed cookies.
4961
+ """
4962
+ return pulumi.get(self, "key_pair_ids")
4963
+
4964
+ @key_pair_ids.setter
4965
+ def key_pair_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
4966
+ pulumi.set(self, "key_pair_ids", value)
4967
+
4968
+
4969
+ if not MYPY:
4970
+ class MultitenantDistributionCacheBehaviorArgsDict(TypedDict):
4971
+ path_pattern: pulumi.Input[_builtins.str]
4972
+ """
4973
+ Pattern that specifies which requests you want this cache behavior to apply to.
4974
+ """
4975
+ target_origin_id: pulumi.Input[_builtins.str]
4976
+ """
4977
+ Value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.
4978
+ """
4979
+ viewer_protocol_policy: pulumi.Input[_builtins.str]
4980
+ """
4981
+ Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. One of `allow-all`, `https-only`, or `redirect-to-https`.
4982
+ """
4983
+ allowed_methods: NotRequired[pulumi.Input['MultitenantDistributionCacheBehaviorAllowedMethodsArgsDict']]
4984
+ """
4985
+ Controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin.
4986
+ """
4987
+ cache_policy_id: NotRequired[pulumi.Input[_builtins.str]]
4988
+ """
4989
+ Unique identifier of the cache policy that is attached to the cache behavior.
4990
+ """
4991
+ compress: NotRequired[pulumi.Input[_builtins.bool]]
4992
+ """
4993
+ Whether you want CloudFront to automatically compress content for web requests that include `Accept-Encoding: gzip` in the request header. Default: `false`.
4994
+ """
4995
+ field_level_encryption_id: NotRequired[pulumi.Input[_builtins.str]]
4996
+ """
4997
+ Field level encryption configuration ID.
4998
+ """
4999
+ function_associations: NotRequired[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCacheBehaviorFunctionAssociationArgsDict']]]]
5000
+ """
5001
+ Configuration block for CloudFront Functions associations. See Function Association below.
5002
+ """
5003
+ lambda_function_associations: NotRequired[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCacheBehaviorLambdaFunctionAssociationArgsDict']]]]
5004
+ """
5005
+ Configuration block for Lambda@Edge associations. See Lambda Function Association below.
5006
+ """
5007
+ origin_request_policy_id: NotRequired[pulumi.Input[_builtins.str]]
5008
+ """
5009
+ Unique identifier of the origin request policy that is attached to the behavior.
5010
+ """
5011
+ realtime_log_config_arn: NotRequired[pulumi.Input[_builtins.str]]
5012
+ """
5013
+ ARN of the real-time log configuration that is attached to this cache behavior.
5014
+ """
5015
+ response_headers_policy_id: NotRequired[pulumi.Input[_builtins.str]]
5016
+ """
5017
+ Identifier for a response headers policy.
5018
+ """
5019
+ trusted_key_groups: NotRequired[pulumi.Input['MultitenantDistributionCacheBehaviorTrustedKeyGroupsArgsDict']]
5020
+ """
5021
+ List of key group IDs that CloudFront can use to validate signed URLs or signed cookies.
5022
+ """
5023
+ elif False:
5024
+ MultitenantDistributionCacheBehaviorArgsDict: TypeAlias = Mapping[str, Any]
5025
+
5026
+ @pulumi.input_type
5027
+ class MultitenantDistributionCacheBehaviorArgs:
5028
+ def __init__(__self__, *,
5029
+ path_pattern: pulumi.Input[_builtins.str],
5030
+ target_origin_id: pulumi.Input[_builtins.str],
5031
+ viewer_protocol_policy: pulumi.Input[_builtins.str],
5032
+ allowed_methods: Optional[pulumi.Input['MultitenantDistributionCacheBehaviorAllowedMethodsArgs']] = None,
5033
+ cache_policy_id: Optional[pulumi.Input[_builtins.str]] = None,
5034
+ compress: Optional[pulumi.Input[_builtins.bool]] = None,
5035
+ field_level_encryption_id: Optional[pulumi.Input[_builtins.str]] = None,
5036
+ function_associations: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCacheBehaviorFunctionAssociationArgs']]]] = None,
5037
+ lambda_function_associations: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCacheBehaviorLambdaFunctionAssociationArgs']]]] = None,
5038
+ origin_request_policy_id: Optional[pulumi.Input[_builtins.str]] = None,
5039
+ realtime_log_config_arn: Optional[pulumi.Input[_builtins.str]] = None,
5040
+ response_headers_policy_id: Optional[pulumi.Input[_builtins.str]] = None,
5041
+ trusted_key_groups: Optional[pulumi.Input['MultitenantDistributionCacheBehaviorTrustedKeyGroupsArgs']] = None):
5042
+ """
5043
+ :param pulumi.Input[_builtins.str] path_pattern: Pattern that specifies which requests you want this cache behavior to apply to.
5044
+ :param pulumi.Input[_builtins.str] target_origin_id: Value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.
5045
+ :param pulumi.Input[_builtins.str] viewer_protocol_policy: Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. One of `allow-all`, `https-only`, or `redirect-to-https`.
5046
+ :param pulumi.Input['MultitenantDistributionCacheBehaviorAllowedMethodsArgs'] allowed_methods: Controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin.
5047
+ :param pulumi.Input[_builtins.str] cache_policy_id: Unique identifier of the cache policy that is attached to the cache behavior.
5048
+ :param pulumi.Input[_builtins.bool] compress: Whether you want CloudFront to automatically compress content for web requests that include `Accept-Encoding: gzip` in the request header. Default: `false`.
5049
+ :param pulumi.Input[_builtins.str] field_level_encryption_id: Field level encryption configuration ID.
5050
+ :param pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCacheBehaviorFunctionAssociationArgs']]] function_associations: Configuration block for CloudFront Functions associations. See Function Association below.
5051
+ :param pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCacheBehaviorLambdaFunctionAssociationArgs']]] lambda_function_associations: Configuration block for Lambda@Edge associations. See Lambda Function Association below.
5052
+ :param pulumi.Input[_builtins.str] origin_request_policy_id: Unique identifier of the origin request policy that is attached to the behavior.
5053
+ :param pulumi.Input[_builtins.str] realtime_log_config_arn: ARN of the real-time log configuration that is attached to this cache behavior.
5054
+ :param pulumi.Input[_builtins.str] response_headers_policy_id: Identifier for a response headers policy.
5055
+ :param pulumi.Input['MultitenantDistributionCacheBehaviorTrustedKeyGroupsArgs'] trusted_key_groups: List of key group IDs that CloudFront can use to validate signed URLs or signed cookies.
5056
+ """
5057
+ pulumi.set(__self__, "path_pattern", path_pattern)
5058
+ pulumi.set(__self__, "target_origin_id", target_origin_id)
5059
+ pulumi.set(__self__, "viewer_protocol_policy", viewer_protocol_policy)
5060
+ if allowed_methods is not None:
5061
+ pulumi.set(__self__, "allowed_methods", allowed_methods)
5062
+ if cache_policy_id is not None:
5063
+ pulumi.set(__self__, "cache_policy_id", cache_policy_id)
5064
+ if compress is not None:
5065
+ pulumi.set(__self__, "compress", compress)
5066
+ if field_level_encryption_id is not None:
5067
+ pulumi.set(__self__, "field_level_encryption_id", field_level_encryption_id)
5068
+ if function_associations is not None:
5069
+ pulumi.set(__self__, "function_associations", function_associations)
5070
+ if lambda_function_associations is not None:
5071
+ pulumi.set(__self__, "lambda_function_associations", lambda_function_associations)
5072
+ if origin_request_policy_id is not None:
5073
+ pulumi.set(__self__, "origin_request_policy_id", origin_request_policy_id)
5074
+ if realtime_log_config_arn is not None:
5075
+ pulumi.set(__self__, "realtime_log_config_arn", realtime_log_config_arn)
5076
+ if response_headers_policy_id is not None:
5077
+ pulumi.set(__self__, "response_headers_policy_id", response_headers_policy_id)
5078
+ if trusted_key_groups is not None:
5079
+ pulumi.set(__self__, "trusted_key_groups", trusted_key_groups)
5080
+
5081
+ @_builtins.property
5082
+ @pulumi.getter(name="pathPattern")
5083
+ def path_pattern(self) -> pulumi.Input[_builtins.str]:
5084
+ """
5085
+ Pattern that specifies which requests you want this cache behavior to apply to.
5086
+ """
5087
+ return pulumi.get(self, "path_pattern")
5088
+
5089
+ @path_pattern.setter
5090
+ def path_pattern(self, value: pulumi.Input[_builtins.str]):
5091
+ pulumi.set(self, "path_pattern", value)
5092
+
5093
+ @_builtins.property
5094
+ @pulumi.getter(name="targetOriginId")
5095
+ def target_origin_id(self) -> pulumi.Input[_builtins.str]:
5096
+ """
5097
+ Value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.
5098
+ """
5099
+ return pulumi.get(self, "target_origin_id")
5100
+
5101
+ @target_origin_id.setter
5102
+ def target_origin_id(self, value: pulumi.Input[_builtins.str]):
5103
+ pulumi.set(self, "target_origin_id", value)
5104
+
5105
+ @_builtins.property
5106
+ @pulumi.getter(name="viewerProtocolPolicy")
5107
+ def viewer_protocol_policy(self) -> pulumi.Input[_builtins.str]:
5108
+ """
5109
+ Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. One of `allow-all`, `https-only`, or `redirect-to-https`.
5110
+ """
5111
+ return pulumi.get(self, "viewer_protocol_policy")
5112
+
5113
+ @viewer_protocol_policy.setter
5114
+ def viewer_protocol_policy(self, value: pulumi.Input[_builtins.str]):
5115
+ pulumi.set(self, "viewer_protocol_policy", value)
5116
+
5117
+ @_builtins.property
5118
+ @pulumi.getter(name="allowedMethods")
5119
+ def allowed_methods(self) -> Optional[pulumi.Input['MultitenantDistributionCacheBehaviorAllowedMethodsArgs']]:
5120
+ """
5121
+ Controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin.
5122
+ """
5123
+ return pulumi.get(self, "allowed_methods")
5124
+
5125
+ @allowed_methods.setter
5126
+ def allowed_methods(self, value: Optional[pulumi.Input['MultitenantDistributionCacheBehaviorAllowedMethodsArgs']]):
5127
+ pulumi.set(self, "allowed_methods", value)
5128
+
5129
+ @_builtins.property
5130
+ @pulumi.getter(name="cachePolicyId")
5131
+ def cache_policy_id(self) -> Optional[pulumi.Input[_builtins.str]]:
5132
+ """
5133
+ Unique identifier of the cache policy that is attached to the cache behavior.
5134
+ """
5135
+ return pulumi.get(self, "cache_policy_id")
5136
+
5137
+ @cache_policy_id.setter
5138
+ def cache_policy_id(self, value: Optional[pulumi.Input[_builtins.str]]):
5139
+ pulumi.set(self, "cache_policy_id", value)
5140
+
5141
+ @_builtins.property
5142
+ @pulumi.getter
5143
+ def compress(self) -> Optional[pulumi.Input[_builtins.bool]]:
5144
+ """
5145
+ Whether you want CloudFront to automatically compress content for web requests that include `Accept-Encoding: gzip` in the request header. Default: `false`.
5146
+ """
5147
+ return pulumi.get(self, "compress")
5148
+
5149
+ @compress.setter
5150
+ def compress(self, value: Optional[pulumi.Input[_builtins.bool]]):
5151
+ pulumi.set(self, "compress", value)
5152
+
5153
+ @_builtins.property
5154
+ @pulumi.getter(name="fieldLevelEncryptionId")
5155
+ def field_level_encryption_id(self) -> Optional[pulumi.Input[_builtins.str]]:
5156
+ """
5157
+ Field level encryption configuration ID.
5158
+ """
5159
+ return pulumi.get(self, "field_level_encryption_id")
5160
+
5161
+ @field_level_encryption_id.setter
5162
+ def field_level_encryption_id(self, value: Optional[pulumi.Input[_builtins.str]]):
5163
+ pulumi.set(self, "field_level_encryption_id", value)
5164
+
5165
+ @_builtins.property
5166
+ @pulumi.getter(name="functionAssociations")
5167
+ def function_associations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCacheBehaviorFunctionAssociationArgs']]]]:
5168
+ """
5169
+ Configuration block for CloudFront Functions associations. See Function Association below.
5170
+ """
5171
+ return pulumi.get(self, "function_associations")
5172
+
5173
+ @function_associations.setter
5174
+ def function_associations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCacheBehaviorFunctionAssociationArgs']]]]):
5175
+ pulumi.set(self, "function_associations", value)
5176
+
5177
+ @_builtins.property
5178
+ @pulumi.getter(name="lambdaFunctionAssociations")
5179
+ def lambda_function_associations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCacheBehaviorLambdaFunctionAssociationArgs']]]]:
5180
+ """
5181
+ Configuration block for Lambda@Edge associations. See Lambda Function Association below.
5182
+ """
5183
+ return pulumi.get(self, "lambda_function_associations")
5184
+
5185
+ @lambda_function_associations.setter
5186
+ def lambda_function_associations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionCacheBehaviorLambdaFunctionAssociationArgs']]]]):
5187
+ pulumi.set(self, "lambda_function_associations", value)
5188
+
5189
+ @_builtins.property
5190
+ @pulumi.getter(name="originRequestPolicyId")
5191
+ def origin_request_policy_id(self) -> Optional[pulumi.Input[_builtins.str]]:
5192
+ """
5193
+ Unique identifier of the origin request policy that is attached to the behavior.
5194
+ """
5195
+ return pulumi.get(self, "origin_request_policy_id")
5196
+
5197
+ @origin_request_policy_id.setter
5198
+ def origin_request_policy_id(self, value: Optional[pulumi.Input[_builtins.str]]):
5199
+ pulumi.set(self, "origin_request_policy_id", value)
5200
+
5201
+ @_builtins.property
5202
+ @pulumi.getter(name="realtimeLogConfigArn")
5203
+ def realtime_log_config_arn(self) -> Optional[pulumi.Input[_builtins.str]]:
5204
+ """
5205
+ ARN of the real-time log configuration that is attached to this cache behavior.
5206
+ """
5207
+ return pulumi.get(self, "realtime_log_config_arn")
5208
+
5209
+ @realtime_log_config_arn.setter
5210
+ def realtime_log_config_arn(self, value: Optional[pulumi.Input[_builtins.str]]):
5211
+ pulumi.set(self, "realtime_log_config_arn", value)
5212
+
5213
+ @_builtins.property
5214
+ @pulumi.getter(name="responseHeadersPolicyId")
5215
+ def response_headers_policy_id(self) -> Optional[pulumi.Input[_builtins.str]]:
5216
+ """
5217
+ Identifier for a response headers policy.
5218
+ """
5219
+ return pulumi.get(self, "response_headers_policy_id")
5220
+
5221
+ @response_headers_policy_id.setter
5222
+ def response_headers_policy_id(self, value: Optional[pulumi.Input[_builtins.str]]):
5223
+ pulumi.set(self, "response_headers_policy_id", value)
5224
+
5225
+ @_builtins.property
5226
+ @pulumi.getter(name="trustedKeyGroups")
5227
+ def trusted_key_groups(self) -> Optional[pulumi.Input['MultitenantDistributionCacheBehaviorTrustedKeyGroupsArgs']]:
5228
+ """
5229
+ List of key group IDs that CloudFront can use to validate signed URLs or signed cookies.
5230
+ """
5231
+ return pulumi.get(self, "trusted_key_groups")
5232
+
5233
+ @trusted_key_groups.setter
5234
+ def trusted_key_groups(self, value: Optional[pulumi.Input['MultitenantDistributionCacheBehaviorTrustedKeyGroupsArgs']]):
5235
+ pulumi.set(self, "trusted_key_groups", value)
5236
+
5237
+
5238
+ if not MYPY:
5239
+ class MultitenantDistributionCacheBehaviorAllowedMethodsArgsDict(TypedDict):
5240
+ cached_methods: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]
5241
+ """
5242
+ Controls whether CloudFront caches the response to requests using the specified HTTP methods.
5243
+ """
5244
+ items: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]
5245
+ elif False:
5246
+ MultitenantDistributionCacheBehaviorAllowedMethodsArgsDict: TypeAlias = Mapping[str, Any]
5247
+
5248
+ @pulumi.input_type
5249
+ class MultitenantDistributionCacheBehaviorAllowedMethodsArgs:
5250
+ def __init__(__self__, *,
5251
+ cached_methods: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]],
5252
+ items: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
5253
+ """
5254
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] cached_methods: Controls whether CloudFront caches the response to requests using the specified HTTP methods.
5255
+ """
5256
+ pulumi.set(__self__, "cached_methods", cached_methods)
5257
+ pulumi.set(__self__, "items", items)
5258
+
5259
+ @_builtins.property
5260
+ @pulumi.getter(name="cachedMethods")
5261
+ def cached_methods(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
5262
+ """
5263
+ Controls whether CloudFront caches the response to requests using the specified HTTP methods.
5264
+ """
5265
+ return pulumi.get(self, "cached_methods")
5266
+
5267
+ @cached_methods.setter
5268
+ def cached_methods(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
5269
+ pulumi.set(self, "cached_methods", value)
5270
+
5271
+ @_builtins.property
5272
+ @pulumi.getter
5273
+ def items(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
5274
+ return pulumi.get(self, "items")
5275
+
5276
+ @items.setter
5277
+ def items(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
5278
+ pulumi.set(self, "items", value)
5279
+
5280
+
5281
+ if not MYPY:
5282
+ class MultitenantDistributionCacheBehaviorFunctionAssociationArgsDict(TypedDict):
5283
+ event_type: pulumi.Input[_builtins.str]
5284
+ """
5285
+ Specific event to trigger this function. Valid values: `viewer-request`, `origin-request`, `viewer-response`, `origin-response`.
5286
+ """
5287
+ function_arn: pulumi.Input[_builtins.str]
5288
+ """
5289
+ ARN of the CloudFront function.
5290
+ """
5291
+ elif False:
5292
+ MultitenantDistributionCacheBehaviorFunctionAssociationArgsDict: TypeAlias = Mapping[str, Any]
5293
+
5294
+ @pulumi.input_type
5295
+ class MultitenantDistributionCacheBehaviorFunctionAssociationArgs:
5296
+ def __init__(__self__, *,
5297
+ event_type: pulumi.Input[_builtins.str],
5298
+ function_arn: pulumi.Input[_builtins.str]):
5299
+ """
5300
+ :param pulumi.Input[_builtins.str] event_type: Specific event to trigger this function. Valid values: `viewer-request`, `origin-request`, `viewer-response`, `origin-response`.
5301
+ :param pulumi.Input[_builtins.str] function_arn: ARN of the CloudFront function.
5302
+ """
5303
+ pulumi.set(__self__, "event_type", event_type)
5304
+ pulumi.set(__self__, "function_arn", function_arn)
5305
+
5306
+ @_builtins.property
5307
+ @pulumi.getter(name="eventType")
5308
+ def event_type(self) -> pulumi.Input[_builtins.str]:
5309
+ """
5310
+ Specific event to trigger this function. Valid values: `viewer-request`, `origin-request`, `viewer-response`, `origin-response`.
5311
+ """
5312
+ return pulumi.get(self, "event_type")
5313
+
5314
+ @event_type.setter
5315
+ def event_type(self, value: pulumi.Input[_builtins.str]):
5316
+ pulumi.set(self, "event_type", value)
5317
+
5318
+ @_builtins.property
5319
+ @pulumi.getter(name="functionArn")
5320
+ def function_arn(self) -> pulumi.Input[_builtins.str]:
5321
+ """
5322
+ ARN of the CloudFront function.
5323
+ """
5324
+ return pulumi.get(self, "function_arn")
5325
+
5326
+ @function_arn.setter
5327
+ def function_arn(self, value: pulumi.Input[_builtins.str]):
5328
+ pulumi.set(self, "function_arn", value)
5329
+
5330
+
5331
+ if not MYPY:
5332
+ class MultitenantDistributionCacheBehaviorLambdaFunctionAssociationArgsDict(TypedDict):
5333
+ event_type: pulumi.Input[_builtins.str]
5334
+ """
5335
+ Specific event to trigger this function. Valid values: `viewer-request`, `origin-request`, `viewer-response`, `origin-response`.
5336
+ """
5337
+ lambda_function_arn: pulumi.Input[_builtins.str]
5338
+ """
5339
+ ARN of the Lambda function.
5340
+ """
5341
+ include_body: NotRequired[pulumi.Input[_builtins.bool]]
5342
+ """
5343
+ When set to true, the request body is exposed to the Lambda function. Default: `false`.
5344
+ """
5345
+ elif False:
5346
+ MultitenantDistributionCacheBehaviorLambdaFunctionAssociationArgsDict: TypeAlias = Mapping[str, Any]
5347
+
5348
+ @pulumi.input_type
5349
+ class MultitenantDistributionCacheBehaviorLambdaFunctionAssociationArgs:
5350
+ def __init__(__self__, *,
5351
+ event_type: pulumi.Input[_builtins.str],
5352
+ lambda_function_arn: pulumi.Input[_builtins.str],
5353
+ include_body: Optional[pulumi.Input[_builtins.bool]] = None):
5354
+ """
5355
+ :param pulumi.Input[_builtins.str] event_type: Specific event to trigger this function. Valid values: `viewer-request`, `origin-request`, `viewer-response`, `origin-response`.
5356
+ :param pulumi.Input[_builtins.str] lambda_function_arn: ARN of the Lambda function.
5357
+ :param pulumi.Input[_builtins.bool] include_body: When set to true, the request body is exposed to the Lambda function. Default: `false`.
5358
+ """
5359
+ pulumi.set(__self__, "event_type", event_type)
5360
+ pulumi.set(__self__, "lambda_function_arn", lambda_function_arn)
5361
+ if include_body is not None:
5362
+ pulumi.set(__self__, "include_body", include_body)
5363
+
5364
+ @_builtins.property
5365
+ @pulumi.getter(name="eventType")
5366
+ def event_type(self) -> pulumi.Input[_builtins.str]:
5367
+ """
5368
+ Specific event to trigger this function. Valid values: `viewer-request`, `origin-request`, `viewer-response`, `origin-response`.
5369
+ """
5370
+ return pulumi.get(self, "event_type")
5371
+
5372
+ @event_type.setter
5373
+ def event_type(self, value: pulumi.Input[_builtins.str]):
5374
+ pulumi.set(self, "event_type", value)
5375
+
5376
+ @_builtins.property
5377
+ @pulumi.getter(name="lambdaFunctionArn")
5378
+ def lambda_function_arn(self) -> pulumi.Input[_builtins.str]:
5379
+ """
5380
+ ARN of the Lambda function.
5381
+ """
5382
+ return pulumi.get(self, "lambda_function_arn")
5383
+
5384
+ @lambda_function_arn.setter
5385
+ def lambda_function_arn(self, value: pulumi.Input[_builtins.str]):
5386
+ pulumi.set(self, "lambda_function_arn", value)
5387
+
5388
+ @_builtins.property
5389
+ @pulumi.getter(name="includeBody")
5390
+ def include_body(self) -> Optional[pulumi.Input[_builtins.bool]]:
5391
+ """
5392
+ When set to true, the request body is exposed to the Lambda function. Default: `false`.
5393
+ """
5394
+ return pulumi.get(self, "include_body")
5395
+
5396
+ @include_body.setter
5397
+ def include_body(self, value: Optional[pulumi.Input[_builtins.bool]]):
5398
+ pulumi.set(self, "include_body", value)
5399
+
5400
+
5401
+ if not MYPY:
5402
+ class MultitenantDistributionCacheBehaviorTrustedKeyGroupsArgsDict(TypedDict):
5403
+ enabled: NotRequired[pulumi.Input[_builtins.bool]]
5404
+ """
5405
+ Whether the distribution is enabled to accept end user requests for content.
5406
+ """
5407
+ items: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
5408
+ elif False:
5409
+ MultitenantDistributionCacheBehaviorTrustedKeyGroupsArgsDict: TypeAlias = Mapping[str, Any]
5410
+
5411
+ @pulumi.input_type
5412
+ class MultitenantDistributionCacheBehaviorTrustedKeyGroupsArgs:
5413
+ def __init__(__self__, *,
5414
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
5415
+ items: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
5416
+ """
5417
+ :param pulumi.Input[_builtins.bool] enabled: Whether the distribution is enabled to accept end user requests for content.
5418
+ """
5419
+ if enabled is not None:
5420
+ pulumi.set(__self__, "enabled", enabled)
5421
+ if items is not None:
5422
+ pulumi.set(__self__, "items", items)
5423
+
5424
+ @_builtins.property
5425
+ @pulumi.getter
5426
+ def enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
5427
+ """
5428
+ Whether the distribution is enabled to accept end user requests for content.
5429
+ """
5430
+ return pulumi.get(self, "enabled")
5431
+
5432
+ @enabled.setter
5433
+ def enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
5434
+ pulumi.set(self, "enabled", value)
5435
+
5436
+ @_builtins.property
5437
+ @pulumi.getter
5438
+ def items(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
5439
+ return pulumi.get(self, "items")
5440
+
5441
+ @items.setter
5442
+ def items(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
5443
+ pulumi.set(self, "items", value)
5444
+
5445
+
5446
+ if not MYPY:
5447
+ class MultitenantDistributionCustomErrorResponseArgsDict(TypedDict):
5448
+ error_code: pulumi.Input[_builtins.int]
5449
+ """
5450
+ HTTP status code for which you want to specify a custom error page and/or a caching duration.
5451
+ """
5452
+ error_caching_min_ttl: NotRequired[pulumi.Input[_builtins.int]]
5453
+ """
5454
+ Minimum amount of time that you want CloudFront to cache the HTTP status code specified in ErrorCode.
5455
+ """
5456
+ response_code: NotRequired[pulumi.Input[_builtins.str]]
5457
+ """
5458
+ HTTP status code that you want CloudFront to return to the viewer along with the custom error page.
5459
+ """
5460
+ response_page_path: NotRequired[pulumi.Input[_builtins.str]]
5461
+ """
5462
+ Path to the custom error page that you want CloudFront to return to a viewer when your origin returns the HTTP status code specified by ErrorCode.
5463
+ """
5464
+ elif False:
5465
+ MultitenantDistributionCustomErrorResponseArgsDict: TypeAlias = Mapping[str, Any]
5466
+
5467
+ @pulumi.input_type
5468
+ class MultitenantDistributionCustomErrorResponseArgs:
5469
+ def __init__(__self__, *,
5470
+ error_code: pulumi.Input[_builtins.int],
5471
+ error_caching_min_ttl: Optional[pulumi.Input[_builtins.int]] = None,
5472
+ response_code: Optional[pulumi.Input[_builtins.str]] = None,
5473
+ response_page_path: Optional[pulumi.Input[_builtins.str]] = None):
5474
+ """
5475
+ :param pulumi.Input[_builtins.int] error_code: HTTP status code for which you want to specify a custom error page and/or a caching duration.
5476
+ :param pulumi.Input[_builtins.int] error_caching_min_ttl: Minimum amount of time that you want CloudFront to cache the HTTP status code specified in ErrorCode.
5477
+ :param pulumi.Input[_builtins.str] response_code: HTTP status code that you want CloudFront to return to the viewer along with the custom error page.
5478
+ :param pulumi.Input[_builtins.str] response_page_path: Path to the custom error page that you want CloudFront to return to a viewer when your origin returns the HTTP status code specified by ErrorCode.
5479
+ """
5480
+ pulumi.set(__self__, "error_code", error_code)
5481
+ if error_caching_min_ttl is not None:
5482
+ pulumi.set(__self__, "error_caching_min_ttl", error_caching_min_ttl)
5483
+ if response_code is not None:
5484
+ pulumi.set(__self__, "response_code", response_code)
5485
+ if response_page_path is not None:
5486
+ pulumi.set(__self__, "response_page_path", response_page_path)
5487
+
5488
+ @_builtins.property
5489
+ @pulumi.getter(name="errorCode")
5490
+ def error_code(self) -> pulumi.Input[_builtins.int]:
5491
+ """
5492
+ HTTP status code for which you want to specify a custom error page and/or a caching duration.
5493
+ """
5494
+ return pulumi.get(self, "error_code")
5495
+
5496
+ @error_code.setter
5497
+ def error_code(self, value: pulumi.Input[_builtins.int]):
5498
+ pulumi.set(self, "error_code", value)
5499
+
5500
+ @_builtins.property
5501
+ @pulumi.getter(name="errorCachingMinTtl")
5502
+ def error_caching_min_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
5503
+ """
5504
+ Minimum amount of time that you want CloudFront to cache the HTTP status code specified in ErrorCode.
5505
+ """
5506
+ return pulumi.get(self, "error_caching_min_ttl")
5507
+
5508
+ @error_caching_min_ttl.setter
5509
+ def error_caching_min_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
5510
+ pulumi.set(self, "error_caching_min_ttl", value)
5511
+
5512
+ @_builtins.property
5513
+ @pulumi.getter(name="responseCode")
5514
+ def response_code(self) -> Optional[pulumi.Input[_builtins.str]]:
5515
+ """
5516
+ HTTP status code that you want CloudFront to return to the viewer along with the custom error page.
5517
+ """
5518
+ return pulumi.get(self, "response_code")
5519
+
5520
+ @response_code.setter
5521
+ def response_code(self, value: Optional[pulumi.Input[_builtins.str]]):
5522
+ pulumi.set(self, "response_code", value)
5523
+
5524
+ @_builtins.property
5525
+ @pulumi.getter(name="responsePagePath")
5526
+ def response_page_path(self) -> Optional[pulumi.Input[_builtins.str]]:
5527
+ """
5528
+ Path to the custom error page that you want CloudFront to return to a viewer when your origin returns the HTTP status code specified by ErrorCode.
5529
+ """
5530
+ return pulumi.get(self, "response_page_path")
5531
+
5532
+ @response_page_path.setter
5533
+ def response_page_path(self, value: Optional[pulumi.Input[_builtins.str]]):
5534
+ pulumi.set(self, "response_page_path", value)
5535
+
5536
+
5537
+ if not MYPY:
5538
+ class MultitenantDistributionDefaultCacheBehaviorArgsDict(TypedDict):
5539
+ target_origin_id: pulumi.Input[_builtins.str]
5540
+ """
5541
+ Value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.
5542
+ """
5543
+ viewer_protocol_policy: pulumi.Input[_builtins.str]
5544
+ """
5545
+ Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. One of `allow-all`, `https-only`, or `redirect-to-https`.
5546
+ """
5547
+ allowed_methods: NotRequired[pulumi.Input['MultitenantDistributionDefaultCacheBehaviorAllowedMethodsArgsDict']]
5548
+ """
5549
+ Controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin.
5550
+ """
5551
+ cache_policy_id: NotRequired[pulumi.Input[_builtins.str]]
5552
+ """
5553
+ Unique identifier of the cache policy that is attached to the cache behavior.
5554
+ """
5555
+ compress: NotRequired[pulumi.Input[_builtins.bool]]
5556
+ """
5557
+ Whether you want CloudFront to automatically compress content for web requests that include `Accept-Encoding: gzip` in the request header. Default: `false`.
5558
+ """
5559
+ field_level_encryption_id: NotRequired[pulumi.Input[_builtins.str]]
5560
+ """
5561
+ Field level encryption configuration ID.
5562
+ """
5563
+ function_associations: NotRequired[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionDefaultCacheBehaviorFunctionAssociationArgsDict']]]]
5564
+ """
5565
+ Configuration block for CloudFront Functions associations. See Function Association below.
5566
+ """
5567
+ lambda_function_associations: NotRequired[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionDefaultCacheBehaviorLambdaFunctionAssociationArgsDict']]]]
5568
+ """
5569
+ Configuration block for Lambda@Edge associations. See Lambda Function Association below.
5570
+ """
5571
+ origin_request_policy_id: NotRequired[pulumi.Input[_builtins.str]]
5572
+ """
5573
+ Unique identifier of the origin request policy that is attached to the behavior.
5574
+ """
5575
+ realtime_log_config_arn: NotRequired[pulumi.Input[_builtins.str]]
5576
+ """
5577
+ ARN of the real-time log configuration that is attached to this cache behavior.
5578
+ """
5579
+ response_headers_policy_id: NotRequired[pulumi.Input[_builtins.str]]
5580
+ """
5581
+ Identifier for a response headers policy.
5582
+ """
5583
+ trusted_key_groups: NotRequired[pulumi.Input['MultitenantDistributionDefaultCacheBehaviorTrustedKeyGroupsArgsDict']]
5584
+ """
5585
+ List of key group IDs that CloudFront can use to validate signed URLs or signed cookies.
5586
+ """
5587
+ elif False:
5588
+ MultitenantDistributionDefaultCacheBehaviorArgsDict: TypeAlias = Mapping[str, Any]
5589
+
5590
+ @pulumi.input_type
5591
+ class MultitenantDistributionDefaultCacheBehaviorArgs:
5592
+ def __init__(__self__, *,
5593
+ target_origin_id: pulumi.Input[_builtins.str],
5594
+ viewer_protocol_policy: pulumi.Input[_builtins.str],
5595
+ allowed_methods: Optional[pulumi.Input['MultitenantDistributionDefaultCacheBehaviorAllowedMethodsArgs']] = None,
5596
+ cache_policy_id: Optional[pulumi.Input[_builtins.str]] = None,
5597
+ compress: Optional[pulumi.Input[_builtins.bool]] = None,
5598
+ field_level_encryption_id: Optional[pulumi.Input[_builtins.str]] = None,
5599
+ function_associations: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionDefaultCacheBehaviorFunctionAssociationArgs']]]] = None,
5600
+ lambda_function_associations: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionDefaultCacheBehaviorLambdaFunctionAssociationArgs']]]] = None,
5601
+ origin_request_policy_id: Optional[pulumi.Input[_builtins.str]] = None,
5602
+ realtime_log_config_arn: Optional[pulumi.Input[_builtins.str]] = None,
5603
+ response_headers_policy_id: Optional[pulumi.Input[_builtins.str]] = None,
5604
+ trusted_key_groups: Optional[pulumi.Input['MultitenantDistributionDefaultCacheBehaviorTrustedKeyGroupsArgs']] = None):
5605
+ """
5606
+ :param pulumi.Input[_builtins.str] target_origin_id: Value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.
5607
+ :param pulumi.Input[_builtins.str] viewer_protocol_policy: Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. One of `allow-all`, `https-only`, or `redirect-to-https`.
5608
+ :param pulumi.Input['MultitenantDistributionDefaultCacheBehaviorAllowedMethodsArgs'] allowed_methods: Controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin.
5609
+ :param pulumi.Input[_builtins.str] cache_policy_id: Unique identifier of the cache policy that is attached to the cache behavior.
5610
+ :param pulumi.Input[_builtins.bool] compress: Whether you want CloudFront to automatically compress content for web requests that include `Accept-Encoding: gzip` in the request header. Default: `false`.
5611
+ :param pulumi.Input[_builtins.str] field_level_encryption_id: Field level encryption configuration ID.
5612
+ :param pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionDefaultCacheBehaviorFunctionAssociationArgs']]] function_associations: Configuration block for CloudFront Functions associations. See Function Association below.
5613
+ :param pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionDefaultCacheBehaviorLambdaFunctionAssociationArgs']]] lambda_function_associations: Configuration block for Lambda@Edge associations. See Lambda Function Association below.
5614
+ :param pulumi.Input[_builtins.str] origin_request_policy_id: Unique identifier of the origin request policy that is attached to the behavior.
5615
+ :param pulumi.Input[_builtins.str] realtime_log_config_arn: ARN of the real-time log configuration that is attached to this cache behavior.
5616
+ :param pulumi.Input[_builtins.str] response_headers_policy_id: Identifier for a response headers policy.
5617
+ :param pulumi.Input['MultitenantDistributionDefaultCacheBehaviorTrustedKeyGroupsArgs'] trusted_key_groups: List of key group IDs that CloudFront can use to validate signed URLs or signed cookies.
5618
+ """
5619
+ pulumi.set(__self__, "target_origin_id", target_origin_id)
5620
+ pulumi.set(__self__, "viewer_protocol_policy", viewer_protocol_policy)
5621
+ if allowed_methods is not None:
5622
+ pulumi.set(__self__, "allowed_methods", allowed_methods)
5623
+ if cache_policy_id is not None:
5624
+ pulumi.set(__self__, "cache_policy_id", cache_policy_id)
5625
+ if compress is not None:
5626
+ pulumi.set(__self__, "compress", compress)
5627
+ if field_level_encryption_id is not None:
5628
+ pulumi.set(__self__, "field_level_encryption_id", field_level_encryption_id)
5629
+ if function_associations is not None:
5630
+ pulumi.set(__self__, "function_associations", function_associations)
5631
+ if lambda_function_associations is not None:
5632
+ pulumi.set(__self__, "lambda_function_associations", lambda_function_associations)
5633
+ if origin_request_policy_id is not None:
5634
+ pulumi.set(__self__, "origin_request_policy_id", origin_request_policy_id)
5635
+ if realtime_log_config_arn is not None:
5636
+ pulumi.set(__self__, "realtime_log_config_arn", realtime_log_config_arn)
5637
+ if response_headers_policy_id is not None:
5638
+ pulumi.set(__self__, "response_headers_policy_id", response_headers_policy_id)
5639
+ if trusted_key_groups is not None:
5640
+ pulumi.set(__self__, "trusted_key_groups", trusted_key_groups)
5641
+
5642
+ @_builtins.property
5643
+ @pulumi.getter(name="targetOriginId")
5644
+ def target_origin_id(self) -> pulumi.Input[_builtins.str]:
5645
+ """
5646
+ Value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.
5647
+ """
5648
+ return pulumi.get(self, "target_origin_id")
5649
+
5650
+ @target_origin_id.setter
5651
+ def target_origin_id(self, value: pulumi.Input[_builtins.str]):
5652
+ pulumi.set(self, "target_origin_id", value)
5653
+
5654
+ @_builtins.property
5655
+ @pulumi.getter(name="viewerProtocolPolicy")
5656
+ def viewer_protocol_policy(self) -> pulumi.Input[_builtins.str]:
5657
+ """
5658
+ Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. One of `allow-all`, `https-only`, or `redirect-to-https`.
5659
+ """
5660
+ return pulumi.get(self, "viewer_protocol_policy")
5661
+
5662
+ @viewer_protocol_policy.setter
5663
+ def viewer_protocol_policy(self, value: pulumi.Input[_builtins.str]):
5664
+ pulumi.set(self, "viewer_protocol_policy", value)
5665
+
5666
+ @_builtins.property
5667
+ @pulumi.getter(name="allowedMethods")
5668
+ def allowed_methods(self) -> Optional[pulumi.Input['MultitenantDistributionDefaultCacheBehaviorAllowedMethodsArgs']]:
5669
+ """
5670
+ Controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin.
5671
+ """
5672
+ return pulumi.get(self, "allowed_methods")
5673
+
5674
+ @allowed_methods.setter
5675
+ def allowed_methods(self, value: Optional[pulumi.Input['MultitenantDistributionDefaultCacheBehaviorAllowedMethodsArgs']]):
5676
+ pulumi.set(self, "allowed_methods", value)
5677
+
5678
+ @_builtins.property
5679
+ @pulumi.getter(name="cachePolicyId")
5680
+ def cache_policy_id(self) -> Optional[pulumi.Input[_builtins.str]]:
5681
+ """
5682
+ Unique identifier of the cache policy that is attached to the cache behavior.
5683
+ """
5684
+ return pulumi.get(self, "cache_policy_id")
5685
+
5686
+ @cache_policy_id.setter
5687
+ def cache_policy_id(self, value: Optional[pulumi.Input[_builtins.str]]):
5688
+ pulumi.set(self, "cache_policy_id", value)
5689
+
5690
+ @_builtins.property
5691
+ @pulumi.getter
5692
+ def compress(self) -> Optional[pulumi.Input[_builtins.bool]]:
5693
+ """
5694
+ Whether you want CloudFront to automatically compress content for web requests that include `Accept-Encoding: gzip` in the request header. Default: `false`.
5695
+ """
5696
+ return pulumi.get(self, "compress")
5697
+
5698
+ @compress.setter
5699
+ def compress(self, value: Optional[pulumi.Input[_builtins.bool]]):
5700
+ pulumi.set(self, "compress", value)
5701
+
5702
+ @_builtins.property
5703
+ @pulumi.getter(name="fieldLevelEncryptionId")
5704
+ def field_level_encryption_id(self) -> Optional[pulumi.Input[_builtins.str]]:
5705
+ """
5706
+ Field level encryption configuration ID.
5707
+ """
5708
+ return pulumi.get(self, "field_level_encryption_id")
5709
+
5710
+ @field_level_encryption_id.setter
5711
+ def field_level_encryption_id(self, value: Optional[pulumi.Input[_builtins.str]]):
5712
+ pulumi.set(self, "field_level_encryption_id", value)
5713
+
5714
+ @_builtins.property
5715
+ @pulumi.getter(name="functionAssociations")
5716
+ def function_associations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionDefaultCacheBehaviorFunctionAssociationArgs']]]]:
5717
+ """
5718
+ Configuration block for CloudFront Functions associations. See Function Association below.
5719
+ """
5720
+ return pulumi.get(self, "function_associations")
5721
+
5722
+ @function_associations.setter
5723
+ def function_associations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionDefaultCacheBehaviorFunctionAssociationArgs']]]]):
5724
+ pulumi.set(self, "function_associations", value)
5725
+
5726
+ @_builtins.property
5727
+ @pulumi.getter(name="lambdaFunctionAssociations")
5728
+ def lambda_function_associations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionDefaultCacheBehaviorLambdaFunctionAssociationArgs']]]]:
5729
+ """
5730
+ Configuration block for Lambda@Edge associations. See Lambda Function Association below.
5731
+ """
5732
+ return pulumi.get(self, "lambda_function_associations")
5733
+
5734
+ @lambda_function_associations.setter
5735
+ def lambda_function_associations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionDefaultCacheBehaviorLambdaFunctionAssociationArgs']]]]):
5736
+ pulumi.set(self, "lambda_function_associations", value)
5737
+
5738
+ @_builtins.property
5739
+ @pulumi.getter(name="originRequestPolicyId")
5740
+ def origin_request_policy_id(self) -> Optional[pulumi.Input[_builtins.str]]:
5741
+ """
5742
+ Unique identifier of the origin request policy that is attached to the behavior.
5743
+ """
5744
+ return pulumi.get(self, "origin_request_policy_id")
5745
+
5746
+ @origin_request_policy_id.setter
5747
+ def origin_request_policy_id(self, value: Optional[pulumi.Input[_builtins.str]]):
5748
+ pulumi.set(self, "origin_request_policy_id", value)
5749
+
5750
+ @_builtins.property
5751
+ @pulumi.getter(name="realtimeLogConfigArn")
5752
+ def realtime_log_config_arn(self) -> Optional[pulumi.Input[_builtins.str]]:
5753
+ """
5754
+ ARN of the real-time log configuration that is attached to this cache behavior.
5755
+ """
5756
+ return pulumi.get(self, "realtime_log_config_arn")
5757
+
5758
+ @realtime_log_config_arn.setter
5759
+ def realtime_log_config_arn(self, value: Optional[pulumi.Input[_builtins.str]]):
5760
+ pulumi.set(self, "realtime_log_config_arn", value)
5761
+
5762
+ @_builtins.property
5763
+ @pulumi.getter(name="responseHeadersPolicyId")
5764
+ def response_headers_policy_id(self) -> Optional[pulumi.Input[_builtins.str]]:
5765
+ """
5766
+ Identifier for a response headers policy.
5767
+ """
5768
+ return pulumi.get(self, "response_headers_policy_id")
5769
+
5770
+ @response_headers_policy_id.setter
5771
+ def response_headers_policy_id(self, value: Optional[pulumi.Input[_builtins.str]]):
5772
+ pulumi.set(self, "response_headers_policy_id", value)
5773
+
5774
+ @_builtins.property
5775
+ @pulumi.getter(name="trustedKeyGroups")
5776
+ def trusted_key_groups(self) -> Optional[pulumi.Input['MultitenantDistributionDefaultCacheBehaviorTrustedKeyGroupsArgs']]:
5777
+ """
5778
+ List of key group IDs that CloudFront can use to validate signed URLs or signed cookies.
5779
+ """
5780
+ return pulumi.get(self, "trusted_key_groups")
5781
+
5782
+ @trusted_key_groups.setter
5783
+ def trusted_key_groups(self, value: Optional[pulumi.Input['MultitenantDistributionDefaultCacheBehaviorTrustedKeyGroupsArgs']]):
5784
+ pulumi.set(self, "trusted_key_groups", value)
5785
+
5786
+
5787
+ if not MYPY:
5788
+ class MultitenantDistributionDefaultCacheBehaviorAllowedMethodsArgsDict(TypedDict):
5789
+ cached_methods: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]
5790
+ """
5791
+ Controls whether CloudFront caches the response to requests using the specified HTTP methods.
5792
+ """
5793
+ items: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]
5794
+ elif False:
5795
+ MultitenantDistributionDefaultCacheBehaviorAllowedMethodsArgsDict: TypeAlias = Mapping[str, Any]
5796
+
5797
+ @pulumi.input_type
5798
+ class MultitenantDistributionDefaultCacheBehaviorAllowedMethodsArgs:
5799
+ def __init__(__self__, *,
5800
+ cached_methods: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]],
5801
+ items: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
5802
+ """
5803
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] cached_methods: Controls whether CloudFront caches the response to requests using the specified HTTP methods.
5804
+ """
5805
+ pulumi.set(__self__, "cached_methods", cached_methods)
5806
+ pulumi.set(__self__, "items", items)
5807
+
5808
+ @_builtins.property
5809
+ @pulumi.getter(name="cachedMethods")
5810
+ def cached_methods(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
5811
+ """
5812
+ Controls whether CloudFront caches the response to requests using the specified HTTP methods.
5813
+ """
5814
+ return pulumi.get(self, "cached_methods")
5815
+
5816
+ @cached_methods.setter
5817
+ def cached_methods(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
5818
+ pulumi.set(self, "cached_methods", value)
5819
+
5820
+ @_builtins.property
5821
+ @pulumi.getter
5822
+ def items(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
5823
+ return pulumi.get(self, "items")
5824
+
5825
+ @items.setter
5826
+ def items(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
5827
+ pulumi.set(self, "items", value)
5828
+
5829
+
5830
+ if not MYPY:
5831
+ class MultitenantDistributionDefaultCacheBehaviorFunctionAssociationArgsDict(TypedDict):
5832
+ event_type: pulumi.Input[_builtins.str]
5833
+ """
5834
+ Specific event to trigger this function. Valid values: `viewer-request`, `origin-request`, `viewer-response`, `origin-response`.
5835
+ """
5836
+ function_arn: pulumi.Input[_builtins.str]
5837
+ """
5838
+ ARN of the CloudFront function.
5839
+ """
5840
+ elif False:
5841
+ MultitenantDistributionDefaultCacheBehaviorFunctionAssociationArgsDict: TypeAlias = Mapping[str, Any]
5842
+
5843
+ @pulumi.input_type
5844
+ class MultitenantDistributionDefaultCacheBehaviorFunctionAssociationArgs:
5845
+ def __init__(__self__, *,
5846
+ event_type: pulumi.Input[_builtins.str],
5847
+ function_arn: pulumi.Input[_builtins.str]):
5848
+ """
5849
+ :param pulumi.Input[_builtins.str] event_type: Specific event to trigger this function. Valid values: `viewer-request`, `origin-request`, `viewer-response`, `origin-response`.
5850
+ :param pulumi.Input[_builtins.str] function_arn: ARN of the CloudFront function.
5851
+ """
5852
+ pulumi.set(__self__, "event_type", event_type)
5853
+ pulumi.set(__self__, "function_arn", function_arn)
5854
+
5855
+ @_builtins.property
5856
+ @pulumi.getter(name="eventType")
5857
+ def event_type(self) -> pulumi.Input[_builtins.str]:
5858
+ """
5859
+ Specific event to trigger this function. Valid values: `viewer-request`, `origin-request`, `viewer-response`, `origin-response`.
5860
+ """
5861
+ return pulumi.get(self, "event_type")
5862
+
5863
+ @event_type.setter
5864
+ def event_type(self, value: pulumi.Input[_builtins.str]):
5865
+ pulumi.set(self, "event_type", value)
5866
+
5867
+ @_builtins.property
5868
+ @pulumi.getter(name="functionArn")
5869
+ def function_arn(self) -> pulumi.Input[_builtins.str]:
5870
+ """
5871
+ ARN of the CloudFront function.
5872
+ """
5873
+ return pulumi.get(self, "function_arn")
5874
+
5875
+ @function_arn.setter
5876
+ def function_arn(self, value: pulumi.Input[_builtins.str]):
5877
+ pulumi.set(self, "function_arn", value)
5878
+
5879
+
5880
+ if not MYPY:
5881
+ class MultitenantDistributionDefaultCacheBehaviorLambdaFunctionAssociationArgsDict(TypedDict):
5882
+ event_type: pulumi.Input[_builtins.str]
5883
+ """
5884
+ Specific event to trigger this function. Valid values: `viewer-request`, `origin-request`, `viewer-response`, `origin-response`.
5885
+ """
5886
+ lambda_function_arn: pulumi.Input[_builtins.str]
5887
+ """
5888
+ ARN of the Lambda function.
5889
+ """
5890
+ include_body: NotRequired[pulumi.Input[_builtins.bool]]
5891
+ """
5892
+ When set to true, the request body is exposed to the Lambda function. Default: `false`.
5893
+ """
5894
+ elif False:
5895
+ MultitenantDistributionDefaultCacheBehaviorLambdaFunctionAssociationArgsDict: TypeAlias = Mapping[str, Any]
5896
+
5897
+ @pulumi.input_type
5898
+ class MultitenantDistributionDefaultCacheBehaviorLambdaFunctionAssociationArgs:
5899
+ def __init__(__self__, *,
5900
+ event_type: pulumi.Input[_builtins.str],
5901
+ lambda_function_arn: pulumi.Input[_builtins.str],
5902
+ include_body: Optional[pulumi.Input[_builtins.bool]] = None):
5903
+ """
5904
+ :param pulumi.Input[_builtins.str] event_type: Specific event to trigger this function. Valid values: `viewer-request`, `origin-request`, `viewer-response`, `origin-response`.
5905
+ :param pulumi.Input[_builtins.str] lambda_function_arn: ARN of the Lambda function.
5906
+ :param pulumi.Input[_builtins.bool] include_body: When set to true, the request body is exposed to the Lambda function. Default: `false`.
5907
+ """
5908
+ pulumi.set(__self__, "event_type", event_type)
5909
+ pulumi.set(__self__, "lambda_function_arn", lambda_function_arn)
5910
+ if include_body is not None:
5911
+ pulumi.set(__self__, "include_body", include_body)
5912
+
5913
+ @_builtins.property
5914
+ @pulumi.getter(name="eventType")
5915
+ def event_type(self) -> pulumi.Input[_builtins.str]:
5916
+ """
5917
+ Specific event to trigger this function. Valid values: `viewer-request`, `origin-request`, `viewer-response`, `origin-response`.
5918
+ """
5919
+ return pulumi.get(self, "event_type")
5920
+
5921
+ @event_type.setter
5922
+ def event_type(self, value: pulumi.Input[_builtins.str]):
5923
+ pulumi.set(self, "event_type", value)
5924
+
5925
+ @_builtins.property
5926
+ @pulumi.getter(name="lambdaFunctionArn")
5927
+ def lambda_function_arn(self) -> pulumi.Input[_builtins.str]:
5928
+ """
5929
+ ARN of the Lambda function.
5930
+ """
5931
+ return pulumi.get(self, "lambda_function_arn")
5932
+
5933
+ @lambda_function_arn.setter
5934
+ def lambda_function_arn(self, value: pulumi.Input[_builtins.str]):
5935
+ pulumi.set(self, "lambda_function_arn", value)
5936
+
5937
+ @_builtins.property
5938
+ @pulumi.getter(name="includeBody")
5939
+ def include_body(self) -> Optional[pulumi.Input[_builtins.bool]]:
5940
+ """
5941
+ When set to true, the request body is exposed to the Lambda function. Default: `false`.
5942
+ """
5943
+ return pulumi.get(self, "include_body")
5944
+
5945
+ @include_body.setter
5946
+ def include_body(self, value: Optional[pulumi.Input[_builtins.bool]]):
5947
+ pulumi.set(self, "include_body", value)
5948
+
5949
+
5950
+ if not MYPY:
5951
+ class MultitenantDistributionDefaultCacheBehaviorTrustedKeyGroupsArgsDict(TypedDict):
5952
+ enabled: NotRequired[pulumi.Input[_builtins.bool]]
5953
+ """
5954
+ Whether the distribution is enabled to accept end user requests for content.
5955
+ """
5956
+ items: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
5957
+ elif False:
5958
+ MultitenantDistributionDefaultCacheBehaviorTrustedKeyGroupsArgsDict: TypeAlias = Mapping[str, Any]
5959
+
5960
+ @pulumi.input_type
5961
+ class MultitenantDistributionDefaultCacheBehaviorTrustedKeyGroupsArgs:
5962
+ def __init__(__self__, *,
5963
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
5964
+ items: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
5965
+ """
5966
+ :param pulumi.Input[_builtins.bool] enabled: Whether the distribution is enabled to accept end user requests for content.
5967
+ """
5968
+ if enabled is not None:
5969
+ pulumi.set(__self__, "enabled", enabled)
5970
+ if items is not None:
5971
+ pulumi.set(__self__, "items", items)
5972
+
5973
+ @_builtins.property
5974
+ @pulumi.getter
5975
+ def enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
5976
+ """
5977
+ Whether the distribution is enabled to accept end user requests for content.
5978
+ """
5979
+ return pulumi.get(self, "enabled")
5980
+
5981
+ @enabled.setter
5982
+ def enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
5983
+ pulumi.set(self, "enabled", value)
5984
+
5985
+ @_builtins.property
5986
+ @pulumi.getter
5987
+ def items(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
5988
+ return pulumi.get(self, "items")
5989
+
5990
+ @items.setter
5991
+ def items(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
5992
+ pulumi.set(self, "items", value)
5993
+
5994
+
5995
+ if not MYPY:
5996
+ class MultitenantDistributionOriginArgsDict(TypedDict):
5997
+ domain_name: pulumi.Input[_builtins.str]
5998
+ """
5999
+ DNS domain name of either the S3 bucket, or web site of your custom origin.
6000
+ """
6001
+ id: pulumi.Input[_builtins.str]
6002
+ """
6003
+ Identifier for the distribution.
6004
+ """
6005
+ connection_attempts: NotRequired[pulumi.Input[_builtins.int]]
6006
+ """
6007
+ Number of times that CloudFront attempts to connect to the origin. Must be between 1-3. Default: 3.
6008
+ """
6009
+ connection_timeout: NotRequired[pulumi.Input[_builtins.int]]
6010
+ """
6011
+ Number of seconds that CloudFront waits when trying to establish a connection to the origin. Must be between 1-10. Default: 10.
6012
+ """
6013
+ custom_headers: NotRequired[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginCustomHeaderArgsDict']]]]
6014
+ """
6015
+ One or more sub-resources with `name` and `value` parameters that specify header data that will be sent to the origin. See Custom Header below.
6016
+ """
6017
+ custom_origin_configs: NotRequired[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginCustomOriginConfigArgsDict']]]]
6018
+ """
6019
+ CloudFront origin access identity to associate with the origin. See Custom Origin Config below.
6020
+ """
6021
+ origin_access_control_id: NotRequired[pulumi.Input[_builtins.str]]
6022
+ """
6023
+ CloudFront origin access control identifier to associate with the origin.
6024
+ """
6025
+ origin_path: NotRequired[pulumi.Input[_builtins.str]]
6026
+ """
6027
+ Optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin.
6028
+ """
6029
+ origin_shields: NotRequired[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginOriginShieldArgsDict']]]]
6030
+ """
6031
+ CloudFront Origin Shield configuration information. See Origin Shield below.
6032
+ """
6033
+ response_completion_timeout: NotRequired[pulumi.Input[_builtins.int]]
6034
+ """
6035
+ Number of seconds that CloudFront waits for a response after forwarding a request to the origin. Default: 30.
6036
+ """
6037
+ vpc_origin_configs: NotRequired[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginVpcOriginConfigArgsDict']]]]
6038
+ """
6039
+ CloudFront VPC origin configuration. See VPC Origin Config below.
6040
+ """
6041
+ elif False:
6042
+ MultitenantDistributionOriginArgsDict: TypeAlias = Mapping[str, Any]
6043
+
6044
+ @pulumi.input_type
6045
+ class MultitenantDistributionOriginArgs:
6046
+ def __init__(__self__, *,
6047
+ domain_name: pulumi.Input[_builtins.str],
6048
+ id: pulumi.Input[_builtins.str],
6049
+ connection_attempts: Optional[pulumi.Input[_builtins.int]] = None,
6050
+ connection_timeout: Optional[pulumi.Input[_builtins.int]] = None,
6051
+ custom_headers: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginCustomHeaderArgs']]]] = None,
6052
+ custom_origin_configs: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginCustomOriginConfigArgs']]]] = None,
6053
+ origin_access_control_id: Optional[pulumi.Input[_builtins.str]] = None,
6054
+ origin_path: Optional[pulumi.Input[_builtins.str]] = None,
6055
+ origin_shields: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginOriginShieldArgs']]]] = None,
6056
+ response_completion_timeout: Optional[pulumi.Input[_builtins.int]] = None,
6057
+ vpc_origin_configs: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginVpcOriginConfigArgs']]]] = None):
6058
+ """
6059
+ :param pulumi.Input[_builtins.str] domain_name: DNS domain name of either the S3 bucket, or web site of your custom origin.
6060
+ :param pulumi.Input[_builtins.str] id: Identifier for the distribution.
6061
+ :param pulumi.Input[_builtins.int] connection_attempts: Number of times that CloudFront attempts to connect to the origin. Must be between 1-3. Default: 3.
6062
+ :param pulumi.Input[_builtins.int] connection_timeout: Number of seconds that CloudFront waits when trying to establish a connection to the origin. Must be between 1-10. Default: 10.
6063
+ :param pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginCustomHeaderArgs']]] custom_headers: One or more sub-resources with `name` and `value` parameters that specify header data that will be sent to the origin. See Custom Header below.
6064
+ :param pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginCustomOriginConfigArgs']]] custom_origin_configs: CloudFront origin access identity to associate with the origin. See Custom Origin Config below.
6065
+ :param pulumi.Input[_builtins.str] origin_access_control_id: CloudFront origin access control identifier to associate with the origin.
6066
+ :param pulumi.Input[_builtins.str] origin_path: Optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin.
6067
+ :param pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginOriginShieldArgs']]] origin_shields: CloudFront Origin Shield configuration information. See Origin Shield below.
6068
+ :param pulumi.Input[_builtins.int] response_completion_timeout: Number of seconds that CloudFront waits for a response after forwarding a request to the origin. Default: 30.
6069
+ :param pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginVpcOriginConfigArgs']]] vpc_origin_configs: CloudFront VPC origin configuration. See VPC Origin Config below.
6070
+ """
6071
+ pulumi.set(__self__, "domain_name", domain_name)
6072
+ pulumi.set(__self__, "id", id)
6073
+ if connection_attempts is not None:
6074
+ pulumi.set(__self__, "connection_attempts", connection_attempts)
6075
+ if connection_timeout is not None:
6076
+ pulumi.set(__self__, "connection_timeout", connection_timeout)
6077
+ if custom_headers is not None:
6078
+ pulumi.set(__self__, "custom_headers", custom_headers)
6079
+ if custom_origin_configs is not None:
6080
+ pulumi.set(__self__, "custom_origin_configs", custom_origin_configs)
6081
+ if origin_access_control_id is not None:
6082
+ pulumi.set(__self__, "origin_access_control_id", origin_access_control_id)
6083
+ if origin_path is not None:
6084
+ pulumi.set(__self__, "origin_path", origin_path)
6085
+ if origin_shields is not None:
6086
+ pulumi.set(__self__, "origin_shields", origin_shields)
6087
+ if response_completion_timeout is not None:
6088
+ pulumi.set(__self__, "response_completion_timeout", response_completion_timeout)
6089
+ if vpc_origin_configs is not None:
6090
+ pulumi.set(__self__, "vpc_origin_configs", vpc_origin_configs)
6091
+
6092
+ @_builtins.property
6093
+ @pulumi.getter(name="domainName")
6094
+ def domain_name(self) -> pulumi.Input[_builtins.str]:
6095
+ """
6096
+ DNS domain name of either the S3 bucket, or web site of your custom origin.
6097
+ """
6098
+ return pulumi.get(self, "domain_name")
6099
+
6100
+ @domain_name.setter
6101
+ def domain_name(self, value: pulumi.Input[_builtins.str]):
6102
+ pulumi.set(self, "domain_name", value)
6103
+
6104
+ @_builtins.property
6105
+ @pulumi.getter
6106
+ def id(self) -> pulumi.Input[_builtins.str]:
6107
+ """
6108
+ Identifier for the distribution.
6109
+ """
6110
+ return pulumi.get(self, "id")
6111
+
6112
+ @id.setter
6113
+ def id(self, value: pulumi.Input[_builtins.str]):
6114
+ pulumi.set(self, "id", value)
6115
+
6116
+ @_builtins.property
6117
+ @pulumi.getter(name="connectionAttempts")
6118
+ def connection_attempts(self) -> Optional[pulumi.Input[_builtins.int]]:
6119
+ """
6120
+ Number of times that CloudFront attempts to connect to the origin. Must be between 1-3. Default: 3.
6121
+ """
6122
+ return pulumi.get(self, "connection_attempts")
6123
+
6124
+ @connection_attempts.setter
6125
+ def connection_attempts(self, value: Optional[pulumi.Input[_builtins.int]]):
6126
+ pulumi.set(self, "connection_attempts", value)
6127
+
6128
+ @_builtins.property
6129
+ @pulumi.getter(name="connectionTimeout")
6130
+ def connection_timeout(self) -> Optional[pulumi.Input[_builtins.int]]:
6131
+ """
6132
+ Number of seconds that CloudFront waits when trying to establish a connection to the origin. Must be between 1-10. Default: 10.
6133
+ """
6134
+ return pulumi.get(self, "connection_timeout")
6135
+
6136
+ @connection_timeout.setter
6137
+ def connection_timeout(self, value: Optional[pulumi.Input[_builtins.int]]):
6138
+ pulumi.set(self, "connection_timeout", value)
6139
+
6140
+ @_builtins.property
6141
+ @pulumi.getter(name="customHeaders")
6142
+ def custom_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginCustomHeaderArgs']]]]:
6143
+ """
6144
+ One or more sub-resources with `name` and `value` parameters that specify header data that will be sent to the origin. See Custom Header below.
6145
+ """
6146
+ return pulumi.get(self, "custom_headers")
6147
+
6148
+ @custom_headers.setter
6149
+ def custom_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginCustomHeaderArgs']]]]):
6150
+ pulumi.set(self, "custom_headers", value)
6151
+
6152
+ @_builtins.property
6153
+ @pulumi.getter(name="customOriginConfigs")
6154
+ def custom_origin_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginCustomOriginConfigArgs']]]]:
6155
+ """
6156
+ CloudFront origin access identity to associate with the origin. See Custom Origin Config below.
6157
+ """
6158
+ return pulumi.get(self, "custom_origin_configs")
6159
+
6160
+ @custom_origin_configs.setter
6161
+ def custom_origin_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginCustomOriginConfigArgs']]]]):
6162
+ pulumi.set(self, "custom_origin_configs", value)
6163
+
6164
+ @_builtins.property
6165
+ @pulumi.getter(name="originAccessControlId")
6166
+ def origin_access_control_id(self) -> Optional[pulumi.Input[_builtins.str]]:
6167
+ """
6168
+ CloudFront origin access control identifier to associate with the origin.
6169
+ """
6170
+ return pulumi.get(self, "origin_access_control_id")
6171
+
6172
+ @origin_access_control_id.setter
6173
+ def origin_access_control_id(self, value: Optional[pulumi.Input[_builtins.str]]):
6174
+ pulumi.set(self, "origin_access_control_id", value)
6175
+
6176
+ @_builtins.property
6177
+ @pulumi.getter(name="originPath")
6178
+ def origin_path(self) -> Optional[pulumi.Input[_builtins.str]]:
6179
+ """
6180
+ Optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin.
6181
+ """
6182
+ return pulumi.get(self, "origin_path")
6183
+
6184
+ @origin_path.setter
6185
+ def origin_path(self, value: Optional[pulumi.Input[_builtins.str]]):
6186
+ pulumi.set(self, "origin_path", value)
6187
+
6188
+ @_builtins.property
6189
+ @pulumi.getter(name="originShields")
6190
+ def origin_shields(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginOriginShieldArgs']]]]:
6191
+ """
6192
+ CloudFront Origin Shield configuration information. See Origin Shield below.
6193
+ """
6194
+ return pulumi.get(self, "origin_shields")
6195
+
6196
+ @origin_shields.setter
6197
+ def origin_shields(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginOriginShieldArgs']]]]):
6198
+ pulumi.set(self, "origin_shields", value)
6199
+
6200
+ @_builtins.property
6201
+ @pulumi.getter(name="responseCompletionTimeout")
6202
+ def response_completion_timeout(self) -> Optional[pulumi.Input[_builtins.int]]:
6203
+ """
6204
+ Number of seconds that CloudFront waits for a response after forwarding a request to the origin. Default: 30.
6205
+ """
6206
+ return pulumi.get(self, "response_completion_timeout")
6207
+
6208
+ @response_completion_timeout.setter
6209
+ def response_completion_timeout(self, value: Optional[pulumi.Input[_builtins.int]]):
6210
+ pulumi.set(self, "response_completion_timeout", value)
6211
+
6212
+ @_builtins.property
6213
+ @pulumi.getter(name="vpcOriginConfigs")
6214
+ def vpc_origin_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginVpcOriginConfigArgs']]]]:
6215
+ """
6216
+ CloudFront VPC origin configuration. See VPC Origin Config below.
6217
+ """
6218
+ return pulumi.get(self, "vpc_origin_configs")
6219
+
6220
+ @vpc_origin_configs.setter
6221
+ def vpc_origin_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginVpcOriginConfigArgs']]]]):
6222
+ pulumi.set(self, "vpc_origin_configs", value)
6223
+
6224
+
6225
+ if not MYPY:
6226
+ class MultitenantDistributionOriginCustomHeaderArgsDict(TypedDict):
6227
+ header_name: pulumi.Input[_builtins.str]
6228
+ """
6229
+ Name of the header.
6230
+ """
6231
+ header_value: pulumi.Input[_builtins.str]
6232
+ """
6233
+ Value for the header.
6234
+ """
6235
+ elif False:
6236
+ MultitenantDistributionOriginCustomHeaderArgsDict: TypeAlias = Mapping[str, Any]
6237
+
6238
+ @pulumi.input_type
6239
+ class MultitenantDistributionOriginCustomHeaderArgs:
6240
+ def __init__(__self__, *,
6241
+ header_name: pulumi.Input[_builtins.str],
6242
+ header_value: pulumi.Input[_builtins.str]):
6243
+ """
6244
+ :param pulumi.Input[_builtins.str] header_name: Name of the header.
6245
+ :param pulumi.Input[_builtins.str] header_value: Value for the header.
6246
+ """
6247
+ pulumi.set(__self__, "header_name", header_name)
6248
+ pulumi.set(__self__, "header_value", header_value)
6249
+
6250
+ @_builtins.property
6251
+ @pulumi.getter(name="headerName")
6252
+ def header_name(self) -> pulumi.Input[_builtins.str]:
6253
+ """
6254
+ Name of the header.
6255
+ """
6256
+ return pulumi.get(self, "header_name")
6257
+
6258
+ @header_name.setter
6259
+ def header_name(self, value: pulumi.Input[_builtins.str]):
6260
+ pulumi.set(self, "header_name", value)
6261
+
6262
+ @_builtins.property
6263
+ @pulumi.getter(name="headerValue")
6264
+ def header_value(self) -> pulumi.Input[_builtins.str]:
6265
+ """
6266
+ Value for the header.
6267
+ """
6268
+ return pulumi.get(self, "header_value")
6269
+
6270
+ @header_value.setter
6271
+ def header_value(self, value: pulumi.Input[_builtins.str]):
6272
+ pulumi.set(self, "header_value", value)
6273
+
6274
+
6275
+ if not MYPY:
6276
+ class MultitenantDistributionOriginCustomOriginConfigArgsDict(TypedDict):
6277
+ http_port: pulumi.Input[_builtins.int]
6278
+ """
6279
+ HTTP port the custom origin listens on.
6280
+ """
6281
+ https_port: pulumi.Input[_builtins.int]
6282
+ """
6283
+ HTTPS port the custom origin listens on.
6284
+ """
6285
+ origin_protocol_policy: pulumi.Input[_builtins.str]
6286
+ """
6287
+ Origin protocol policy to apply to your origin. Valid values are `http-only`, `https-only`, and `match-viewer`.
6288
+ """
6289
+ origin_ssl_protocols: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]
6290
+ """
6291
+ List of SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS.
6292
+ """
6293
+ ip_address_type: NotRequired[pulumi.Input[_builtins.str]]
6294
+ """
6295
+ Type of IP addresses used by your origins. Valid values are `ipv4` and `dualstack`.
6296
+ """
6297
+ origin_keepalive_timeout: NotRequired[pulumi.Input[_builtins.int]]
6298
+ """
6299
+ Custom keep-alive timeout, in seconds. Default: 5.
6300
+ """
6301
+ origin_read_timeout: NotRequired[pulumi.Input[_builtins.int]]
6302
+ """
6303
+ Custom read timeout, in seconds. Default: 30.
6304
+ """
6305
+ elif False:
6306
+ MultitenantDistributionOriginCustomOriginConfigArgsDict: TypeAlias = Mapping[str, Any]
6307
+
6308
+ @pulumi.input_type
6309
+ class MultitenantDistributionOriginCustomOriginConfigArgs:
6310
+ def __init__(__self__, *,
6311
+ http_port: pulumi.Input[_builtins.int],
6312
+ https_port: pulumi.Input[_builtins.int],
6313
+ origin_protocol_policy: pulumi.Input[_builtins.str],
6314
+ origin_ssl_protocols: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]],
6315
+ ip_address_type: Optional[pulumi.Input[_builtins.str]] = None,
6316
+ origin_keepalive_timeout: Optional[pulumi.Input[_builtins.int]] = None,
6317
+ origin_read_timeout: Optional[pulumi.Input[_builtins.int]] = None):
6318
+ """
6319
+ :param pulumi.Input[_builtins.int] http_port: HTTP port the custom origin listens on.
6320
+ :param pulumi.Input[_builtins.int] https_port: HTTPS port the custom origin listens on.
6321
+ :param pulumi.Input[_builtins.str] origin_protocol_policy: Origin protocol policy to apply to your origin. Valid values are `http-only`, `https-only`, and `match-viewer`.
6322
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] origin_ssl_protocols: List of SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS.
6323
+ :param pulumi.Input[_builtins.str] ip_address_type: Type of IP addresses used by your origins. Valid values are `ipv4` and `dualstack`.
6324
+ :param pulumi.Input[_builtins.int] origin_keepalive_timeout: Custom keep-alive timeout, in seconds. Default: 5.
6325
+ :param pulumi.Input[_builtins.int] origin_read_timeout: Custom read timeout, in seconds. Default: 30.
6326
+ """
6327
+ pulumi.set(__self__, "http_port", http_port)
6328
+ pulumi.set(__self__, "https_port", https_port)
6329
+ pulumi.set(__self__, "origin_protocol_policy", origin_protocol_policy)
6330
+ pulumi.set(__self__, "origin_ssl_protocols", origin_ssl_protocols)
6331
+ if ip_address_type is not None:
6332
+ pulumi.set(__self__, "ip_address_type", ip_address_type)
6333
+ if origin_keepalive_timeout is not None:
6334
+ pulumi.set(__self__, "origin_keepalive_timeout", origin_keepalive_timeout)
6335
+ if origin_read_timeout is not None:
6336
+ pulumi.set(__self__, "origin_read_timeout", origin_read_timeout)
6337
+
6338
+ @_builtins.property
6339
+ @pulumi.getter(name="httpPort")
6340
+ def http_port(self) -> pulumi.Input[_builtins.int]:
6341
+ """
6342
+ HTTP port the custom origin listens on.
6343
+ """
6344
+ return pulumi.get(self, "http_port")
6345
+
6346
+ @http_port.setter
6347
+ def http_port(self, value: pulumi.Input[_builtins.int]):
6348
+ pulumi.set(self, "http_port", value)
6349
+
6350
+ @_builtins.property
6351
+ @pulumi.getter(name="httpsPort")
6352
+ def https_port(self) -> pulumi.Input[_builtins.int]:
6353
+ """
6354
+ HTTPS port the custom origin listens on.
6355
+ """
6356
+ return pulumi.get(self, "https_port")
6357
+
6358
+ @https_port.setter
6359
+ def https_port(self, value: pulumi.Input[_builtins.int]):
6360
+ pulumi.set(self, "https_port", value)
6361
+
6362
+ @_builtins.property
6363
+ @pulumi.getter(name="originProtocolPolicy")
6364
+ def origin_protocol_policy(self) -> pulumi.Input[_builtins.str]:
6365
+ """
6366
+ Origin protocol policy to apply to your origin. Valid values are `http-only`, `https-only`, and `match-viewer`.
6367
+ """
6368
+ return pulumi.get(self, "origin_protocol_policy")
6369
+
6370
+ @origin_protocol_policy.setter
6371
+ def origin_protocol_policy(self, value: pulumi.Input[_builtins.str]):
6372
+ pulumi.set(self, "origin_protocol_policy", value)
6373
+
6374
+ @_builtins.property
6375
+ @pulumi.getter(name="originSslProtocols")
6376
+ def origin_ssl_protocols(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
6377
+ """
6378
+ List of SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS.
6379
+ """
6380
+ return pulumi.get(self, "origin_ssl_protocols")
6381
+
6382
+ @origin_ssl_protocols.setter
6383
+ def origin_ssl_protocols(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
6384
+ pulumi.set(self, "origin_ssl_protocols", value)
6385
+
6386
+ @_builtins.property
6387
+ @pulumi.getter(name="ipAddressType")
6388
+ def ip_address_type(self) -> Optional[pulumi.Input[_builtins.str]]:
6389
+ """
6390
+ Type of IP addresses used by your origins. Valid values are `ipv4` and `dualstack`.
6391
+ """
6392
+ return pulumi.get(self, "ip_address_type")
6393
+
6394
+ @ip_address_type.setter
6395
+ def ip_address_type(self, value: Optional[pulumi.Input[_builtins.str]]):
6396
+ pulumi.set(self, "ip_address_type", value)
6397
+
6398
+ @_builtins.property
6399
+ @pulumi.getter(name="originKeepaliveTimeout")
6400
+ def origin_keepalive_timeout(self) -> Optional[pulumi.Input[_builtins.int]]:
6401
+ """
6402
+ Custom keep-alive timeout, in seconds. Default: 5.
6403
+ """
6404
+ return pulumi.get(self, "origin_keepalive_timeout")
6405
+
6406
+ @origin_keepalive_timeout.setter
6407
+ def origin_keepalive_timeout(self, value: Optional[pulumi.Input[_builtins.int]]):
6408
+ pulumi.set(self, "origin_keepalive_timeout", value)
6409
+
6410
+ @_builtins.property
6411
+ @pulumi.getter(name="originReadTimeout")
6412
+ def origin_read_timeout(self) -> Optional[pulumi.Input[_builtins.int]]:
6413
+ """
6414
+ Custom read timeout, in seconds. Default: 30.
6415
+ """
6416
+ return pulumi.get(self, "origin_read_timeout")
6417
+
6418
+ @origin_read_timeout.setter
6419
+ def origin_read_timeout(self, value: Optional[pulumi.Input[_builtins.int]]):
6420
+ pulumi.set(self, "origin_read_timeout", value)
6421
+
6422
+
6423
+ if not MYPY:
6424
+ class MultitenantDistributionOriginGroupArgsDict(TypedDict):
6425
+ origin_id: pulumi.Input[_builtins.str]
6426
+ """
6427
+ Unique identifier for the origin group.
6428
+ """
6429
+ failover_criteria: NotRequired[pulumi.Input['MultitenantDistributionOriginGroupFailoverCriteriaArgsDict']]
6430
+ """
6431
+ Failover criteria for when to failover to the secondary origin. See Failover Criteria below.
6432
+ """
6433
+ members: NotRequired[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginGroupMemberArgsDict']]]]
6434
+ """
6435
+ List of origins in this origin group. Must contain exactly 2 members. See Origin Group Member below.
6436
+ """
6437
+ elif False:
6438
+ MultitenantDistributionOriginGroupArgsDict: TypeAlias = Mapping[str, Any]
6439
+
6440
+ @pulumi.input_type
6441
+ class MultitenantDistributionOriginGroupArgs:
6442
+ def __init__(__self__, *,
6443
+ origin_id: pulumi.Input[_builtins.str],
6444
+ failover_criteria: Optional[pulumi.Input['MultitenantDistributionOriginGroupFailoverCriteriaArgs']] = None,
6445
+ members: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginGroupMemberArgs']]]] = None):
6446
+ """
6447
+ :param pulumi.Input[_builtins.str] origin_id: Unique identifier for the origin group.
6448
+ :param pulumi.Input['MultitenantDistributionOriginGroupFailoverCriteriaArgs'] failover_criteria: Failover criteria for when to failover to the secondary origin. See Failover Criteria below.
6449
+ :param pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginGroupMemberArgs']]] members: List of origins in this origin group. Must contain exactly 2 members. See Origin Group Member below.
6450
+ """
6451
+ pulumi.set(__self__, "origin_id", origin_id)
6452
+ if failover_criteria is not None:
6453
+ pulumi.set(__self__, "failover_criteria", failover_criteria)
6454
+ if members is not None:
6455
+ pulumi.set(__self__, "members", members)
6456
+
6457
+ @_builtins.property
6458
+ @pulumi.getter(name="originId")
6459
+ def origin_id(self) -> pulumi.Input[_builtins.str]:
6460
+ """
6461
+ Unique identifier for the origin group.
6462
+ """
6463
+ return pulumi.get(self, "origin_id")
6464
+
6465
+ @origin_id.setter
6466
+ def origin_id(self, value: pulumi.Input[_builtins.str]):
6467
+ pulumi.set(self, "origin_id", value)
6468
+
6469
+ @_builtins.property
6470
+ @pulumi.getter(name="failoverCriteria")
6471
+ def failover_criteria(self) -> Optional[pulumi.Input['MultitenantDistributionOriginGroupFailoverCriteriaArgs']]:
6472
+ """
6473
+ Failover criteria for when to failover to the secondary origin. See Failover Criteria below.
6474
+ """
6475
+ return pulumi.get(self, "failover_criteria")
6476
+
6477
+ @failover_criteria.setter
6478
+ def failover_criteria(self, value: Optional[pulumi.Input['MultitenantDistributionOriginGroupFailoverCriteriaArgs']]):
6479
+ pulumi.set(self, "failover_criteria", value)
6480
+
3569
6481
  @_builtins.property
3570
- @pulumi.getter(name="contentType")
3571
- def content_type(self) -> pulumi.Input[_builtins.str]:
6482
+ @pulumi.getter
6483
+ def members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginGroupMemberArgs']]]]:
3572
6484
  """
3573
- he content type for a field-level encryption content type-profile mapping. Valid value is `application/x-www-form-urlencoded`.
6485
+ List of origins in this origin group. Must contain exactly 2 members. See Origin Group Member below.
3574
6486
  """
3575
- return pulumi.get(self, "content_type")
6487
+ return pulumi.get(self, "members")
3576
6488
 
3577
- @content_type.setter
3578
- def content_type(self, value: pulumi.Input[_builtins.str]):
3579
- pulumi.set(self, "content_type", value)
6489
+ @members.setter
6490
+ def members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionOriginGroupMemberArgs']]]]):
6491
+ pulumi.set(self, "members", value)
6492
+
6493
+
6494
+ if not MYPY:
6495
+ class MultitenantDistributionOriginGroupFailoverCriteriaArgsDict(TypedDict):
6496
+ status_codes: pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]
6497
+ """
6498
+ List of HTTP status codes that trigger a failover to the secondary origin.
6499
+ """
6500
+ elif False:
6501
+ MultitenantDistributionOriginGroupFailoverCriteriaArgsDict: TypeAlias = Mapping[str, Any]
6502
+
6503
+ @pulumi.input_type
6504
+ class MultitenantDistributionOriginGroupFailoverCriteriaArgs:
6505
+ def __init__(__self__, *,
6506
+ status_codes: pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]):
6507
+ """
6508
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.int]]] status_codes: List of HTTP status codes that trigger a failover to the secondary origin.
6509
+ """
6510
+ pulumi.set(__self__, "status_codes", status_codes)
6511
+
6512
+ @_builtins.property
6513
+ @pulumi.getter(name="statusCodes")
6514
+ def status_codes(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]:
6515
+ """
6516
+ List of HTTP status codes that trigger a failover to the secondary origin.
6517
+ """
6518
+ return pulumi.get(self, "status_codes")
6519
+
6520
+ @status_codes.setter
6521
+ def status_codes(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.int]]]):
6522
+ pulumi.set(self, "status_codes", value)
6523
+
6524
+
6525
+ if not MYPY:
6526
+ class MultitenantDistributionOriginGroupMemberArgsDict(TypedDict):
6527
+ origin_id: pulumi.Input[_builtins.str]
6528
+ elif False:
6529
+ MultitenantDistributionOriginGroupMemberArgsDict: TypeAlias = Mapping[str, Any]
6530
+
6531
+ @pulumi.input_type
6532
+ class MultitenantDistributionOriginGroupMemberArgs:
6533
+ def __init__(__self__, *,
6534
+ origin_id: pulumi.Input[_builtins.str]):
6535
+ pulumi.set(__self__, "origin_id", origin_id)
6536
+
6537
+ @_builtins.property
6538
+ @pulumi.getter(name="originId")
6539
+ def origin_id(self) -> pulumi.Input[_builtins.str]:
6540
+ return pulumi.get(self, "origin_id")
6541
+
6542
+ @origin_id.setter
6543
+ def origin_id(self, value: pulumi.Input[_builtins.str]):
6544
+ pulumi.set(self, "origin_id", value)
6545
+
6546
+
6547
+ if not MYPY:
6548
+ class MultitenantDistributionOriginOriginShieldArgsDict(TypedDict):
6549
+ enabled: pulumi.Input[_builtins.bool]
6550
+ """
6551
+ Whether Origin Shield is enabled.
6552
+ """
6553
+ origin_shield_region: NotRequired[pulumi.Input[_builtins.str]]
6554
+ """
6555
+ AWS Region for Origin Shield. Required when `enabled` is `true`.
6556
+ """
6557
+ elif False:
6558
+ MultitenantDistributionOriginOriginShieldArgsDict: TypeAlias = Mapping[str, Any]
6559
+
6560
+ @pulumi.input_type
6561
+ class MultitenantDistributionOriginOriginShieldArgs:
6562
+ def __init__(__self__, *,
6563
+ enabled: pulumi.Input[_builtins.bool],
6564
+ origin_shield_region: Optional[pulumi.Input[_builtins.str]] = None):
6565
+ """
6566
+ :param pulumi.Input[_builtins.bool] enabled: Whether Origin Shield is enabled.
6567
+ :param pulumi.Input[_builtins.str] origin_shield_region: AWS Region for Origin Shield. Required when `enabled` is `true`.
6568
+ """
6569
+ pulumi.set(__self__, "enabled", enabled)
6570
+ if origin_shield_region is not None:
6571
+ pulumi.set(__self__, "origin_shield_region", origin_shield_region)
3580
6572
 
3581
6573
  @_builtins.property
3582
6574
  @pulumi.getter
3583
- def format(self) -> pulumi.Input[_builtins.str]:
6575
+ def enabled(self) -> pulumi.Input[_builtins.bool]:
3584
6576
  """
3585
- The format for a field-level encryption content type-profile mapping. Valid value is `URLEncoded`.
6577
+ Whether Origin Shield is enabled.
3586
6578
  """
3587
- return pulumi.get(self, "format")
6579
+ return pulumi.get(self, "enabled")
3588
6580
 
3589
- @format.setter
3590
- def format(self, value: pulumi.Input[_builtins.str]):
3591
- pulumi.set(self, "format", value)
6581
+ @enabled.setter
6582
+ def enabled(self, value: pulumi.Input[_builtins.bool]):
6583
+ pulumi.set(self, "enabled", value)
3592
6584
 
3593
6585
  @_builtins.property
3594
- @pulumi.getter(name="profileId")
3595
- def profile_id(self) -> Optional[pulumi.Input[_builtins.str]]:
3596
- return pulumi.get(self, "profile_id")
6586
+ @pulumi.getter(name="originShieldRegion")
6587
+ def origin_shield_region(self) -> Optional[pulumi.Input[_builtins.str]]:
6588
+ """
6589
+ AWS Region for Origin Shield. Required when `enabled` is `true`.
6590
+ """
6591
+ return pulumi.get(self, "origin_shield_region")
3597
6592
 
3598
- @profile_id.setter
3599
- def profile_id(self, value: Optional[pulumi.Input[_builtins.str]]):
3600
- pulumi.set(self, "profile_id", value)
6593
+ @origin_shield_region.setter
6594
+ def origin_shield_region(self, value: Optional[pulumi.Input[_builtins.str]]):
6595
+ pulumi.set(self, "origin_shield_region", value)
3601
6596
 
3602
6597
 
3603
6598
  if not MYPY:
3604
- class FieldLevelEncryptionConfigQueryArgProfileConfigArgsDict(TypedDict):
3605
- forward_when_query_arg_profile_is_unknown: pulumi.Input[_builtins.bool]
6599
+ class MultitenantDistributionOriginVpcOriginConfigArgsDict(TypedDict):
6600
+ vpc_origin_id: pulumi.Input[_builtins.str]
3606
6601
  """
3607
- Flag to set if you want a request to be forwarded to the origin even if the profile specified by the field-level encryption query argument, fle-profile, is unknown.
6602
+ ID of the VPC origin that you want CloudFront to route requests to.
3608
6603
  """
3609
- query_arg_profiles: NotRequired[pulumi.Input['FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgsDict']]
6604
+ origin_keepalive_timeout: NotRequired[pulumi.Input[_builtins.int]]
3610
6605
  """
3611
- Object that contains an attribute `items` that contains the list ofrofiles specified for query argument-profile mapping for field-level encryption. see Query Arg Profile.
6606
+ Custom keep-alive timeout, in seconds. By default, CloudFront uses a default timeout. Default: 5.
6607
+ """
6608
+ origin_read_timeout: NotRequired[pulumi.Input[_builtins.int]]
6609
+ """
6610
+ Custom read timeout, in seconds. By default, CloudFront uses a default timeout. Default: 30.
3612
6611
  """
3613
6612
  elif False:
3614
- FieldLevelEncryptionConfigQueryArgProfileConfigArgsDict: TypeAlias = Mapping[str, Any]
6613
+ MultitenantDistributionOriginVpcOriginConfigArgsDict: TypeAlias = Mapping[str, Any]
3615
6614
 
3616
6615
  @pulumi.input_type
3617
- class FieldLevelEncryptionConfigQueryArgProfileConfigArgs:
6616
+ class MultitenantDistributionOriginVpcOriginConfigArgs:
3618
6617
  def __init__(__self__, *,
3619
- forward_when_query_arg_profile_is_unknown: pulumi.Input[_builtins.bool],
3620
- query_arg_profiles: Optional[pulumi.Input['FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgs']] = None):
6618
+ vpc_origin_id: pulumi.Input[_builtins.str],
6619
+ origin_keepalive_timeout: Optional[pulumi.Input[_builtins.int]] = None,
6620
+ origin_read_timeout: Optional[pulumi.Input[_builtins.int]] = None):
3621
6621
  """
3622
- :param pulumi.Input[_builtins.bool] forward_when_query_arg_profile_is_unknown: Flag to set if you want a request to be forwarded to the origin even if the profile specified by the field-level encryption query argument, fle-profile, is unknown.
3623
- :param pulumi.Input['FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgs'] query_arg_profiles: Object that contains an attribute `items` that contains the list ofrofiles specified for query argument-profile mapping for field-level encryption. see Query Arg Profile.
6622
+ :param pulumi.Input[_builtins.str] vpc_origin_id: ID of the VPC origin that you want CloudFront to route requests to.
6623
+ :param pulumi.Input[_builtins.int] origin_keepalive_timeout: Custom keep-alive timeout, in seconds. By default, CloudFront uses a default timeout. Default: 5.
6624
+ :param pulumi.Input[_builtins.int] origin_read_timeout: Custom read timeout, in seconds. By default, CloudFront uses a default timeout. Default: 30.
3624
6625
  """
3625
- pulumi.set(__self__, "forward_when_query_arg_profile_is_unknown", forward_when_query_arg_profile_is_unknown)
3626
- if query_arg_profiles is not None:
3627
- pulumi.set(__self__, "query_arg_profiles", query_arg_profiles)
6626
+ pulumi.set(__self__, "vpc_origin_id", vpc_origin_id)
6627
+ if origin_keepalive_timeout is not None:
6628
+ pulumi.set(__self__, "origin_keepalive_timeout", origin_keepalive_timeout)
6629
+ if origin_read_timeout is not None:
6630
+ pulumi.set(__self__, "origin_read_timeout", origin_read_timeout)
3628
6631
 
3629
6632
  @_builtins.property
3630
- @pulumi.getter(name="forwardWhenQueryArgProfileIsUnknown")
3631
- def forward_when_query_arg_profile_is_unknown(self) -> pulumi.Input[_builtins.bool]:
6633
+ @pulumi.getter(name="vpcOriginId")
6634
+ def vpc_origin_id(self) -> pulumi.Input[_builtins.str]:
3632
6635
  """
3633
- Flag to set if you want a request to be forwarded to the origin even if the profile specified by the field-level encryption query argument, fle-profile, is unknown.
6636
+ ID of the VPC origin that you want CloudFront to route requests to.
3634
6637
  """
3635
- return pulumi.get(self, "forward_when_query_arg_profile_is_unknown")
6638
+ return pulumi.get(self, "vpc_origin_id")
3636
6639
 
3637
- @forward_when_query_arg_profile_is_unknown.setter
3638
- def forward_when_query_arg_profile_is_unknown(self, value: pulumi.Input[_builtins.bool]):
3639
- pulumi.set(self, "forward_when_query_arg_profile_is_unknown", value)
6640
+ @vpc_origin_id.setter
6641
+ def vpc_origin_id(self, value: pulumi.Input[_builtins.str]):
6642
+ pulumi.set(self, "vpc_origin_id", value)
3640
6643
 
3641
6644
  @_builtins.property
3642
- @pulumi.getter(name="queryArgProfiles")
3643
- def query_arg_profiles(self) -> Optional[pulumi.Input['FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgs']]:
6645
+ @pulumi.getter(name="originKeepaliveTimeout")
6646
+ def origin_keepalive_timeout(self) -> Optional[pulumi.Input[_builtins.int]]:
3644
6647
  """
3645
- Object that contains an attribute `items` that contains the list ofrofiles specified for query argument-profile mapping for field-level encryption. see Query Arg Profile.
6648
+ Custom keep-alive timeout, in seconds. By default, CloudFront uses a default timeout. Default: 5.
3646
6649
  """
3647
- return pulumi.get(self, "query_arg_profiles")
6650
+ return pulumi.get(self, "origin_keepalive_timeout")
3648
6651
 
3649
- @query_arg_profiles.setter
3650
- def query_arg_profiles(self, value: Optional[pulumi.Input['FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgs']]):
3651
- pulumi.set(self, "query_arg_profiles", value)
6652
+ @origin_keepalive_timeout.setter
6653
+ def origin_keepalive_timeout(self, value: Optional[pulumi.Input[_builtins.int]]):
6654
+ pulumi.set(self, "origin_keepalive_timeout", value)
6655
+
6656
+ @_builtins.property
6657
+ @pulumi.getter(name="originReadTimeout")
6658
+ def origin_read_timeout(self) -> Optional[pulumi.Input[_builtins.int]]:
6659
+ """
6660
+ Custom read timeout, in seconds. By default, CloudFront uses a default timeout. Default: 30.
6661
+ """
6662
+ return pulumi.get(self, "origin_read_timeout")
6663
+
6664
+ @origin_read_timeout.setter
6665
+ def origin_read_timeout(self, value: Optional[pulumi.Input[_builtins.int]]):
6666
+ pulumi.set(self, "origin_read_timeout", value)
3652
6667
 
3653
6668
 
3654
6669
  if not MYPY:
3655
- class FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgsDict(TypedDict):
3656
- items: NotRequired[pulumi.Input[Sequence[pulumi.Input['FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgsDict']]]]
6670
+ class MultitenantDistributionRestrictionsArgsDict(TypedDict):
6671
+ geo_restriction: NotRequired[pulumi.Input['MultitenantDistributionRestrictionsGeoRestrictionArgsDict']]
6672
+ """
6673
+ Geographic restriction configuration. See Geo Restriction below.
6674
+ """
3657
6675
  elif False:
3658
- FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgsDict: TypeAlias = Mapping[str, Any]
6676
+ MultitenantDistributionRestrictionsArgsDict: TypeAlias = Mapping[str, Any]
3659
6677
 
3660
6678
  @pulumi.input_type
3661
- class FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesArgs:
6679
+ class MultitenantDistributionRestrictionsArgs:
3662
6680
  def __init__(__self__, *,
3663
- items: Optional[pulumi.Input[Sequence[pulumi.Input['FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgs']]]] = None):
6681
+ geo_restriction: Optional[pulumi.Input['MultitenantDistributionRestrictionsGeoRestrictionArgs']] = None):
6682
+ """
6683
+ :param pulumi.Input['MultitenantDistributionRestrictionsGeoRestrictionArgs'] geo_restriction: Geographic restriction configuration. See Geo Restriction below.
6684
+ """
6685
+ if geo_restriction is not None:
6686
+ pulumi.set(__self__, "geo_restriction", geo_restriction)
6687
+
6688
+ @_builtins.property
6689
+ @pulumi.getter(name="geoRestriction")
6690
+ def geo_restriction(self) -> Optional[pulumi.Input['MultitenantDistributionRestrictionsGeoRestrictionArgs']]:
6691
+ """
6692
+ Geographic restriction configuration. See Geo Restriction below.
6693
+ """
6694
+ return pulumi.get(self, "geo_restriction")
6695
+
6696
+ @geo_restriction.setter
6697
+ def geo_restriction(self, value: Optional[pulumi.Input['MultitenantDistributionRestrictionsGeoRestrictionArgs']]):
6698
+ pulumi.set(self, "geo_restriction", value)
6699
+
6700
+
6701
+ if not MYPY:
6702
+ class MultitenantDistributionRestrictionsGeoRestrictionArgsDict(TypedDict):
6703
+ restriction_type: pulumi.Input[_builtins.str]
6704
+ """
6705
+ Method to restrict distribution of your content by country. Valid values are `none`, `whitelist`, and `blacklist`.
6706
+ """
6707
+ items: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
6708
+ """
6709
+ List of ISO 3166-1-alpha-2 country codes for which you want CloudFront either to distribute your content (`whitelist`) or not distribute your content (`blacklist`). Required when `restriction_type` is `whitelist` or `blacklist`.
6710
+ """
6711
+ elif False:
6712
+ MultitenantDistributionRestrictionsGeoRestrictionArgsDict: TypeAlias = Mapping[str, Any]
6713
+
6714
+ @pulumi.input_type
6715
+ class MultitenantDistributionRestrictionsGeoRestrictionArgs:
6716
+ def __init__(__self__, *,
6717
+ restriction_type: pulumi.Input[_builtins.str],
6718
+ items: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
6719
+ """
6720
+ :param pulumi.Input[_builtins.str] restriction_type: Method to restrict distribution of your content by country. Valid values are `none`, `whitelist`, and `blacklist`.
6721
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] items: List of ISO 3166-1-alpha-2 country codes for which you want CloudFront either to distribute your content (`whitelist`) or not distribute your content (`blacklist`). Required when `restriction_type` is `whitelist` or `blacklist`.
6722
+ """
6723
+ pulumi.set(__self__, "restriction_type", restriction_type)
3664
6724
  if items is not None:
3665
6725
  pulumi.set(__self__, "items", items)
3666
6726
 
6727
+ @_builtins.property
6728
+ @pulumi.getter(name="restrictionType")
6729
+ def restriction_type(self) -> pulumi.Input[_builtins.str]:
6730
+ """
6731
+ Method to restrict distribution of your content by country. Valid values are `none`, `whitelist`, and `blacklist`.
6732
+ """
6733
+ return pulumi.get(self, "restriction_type")
6734
+
6735
+ @restriction_type.setter
6736
+ def restriction_type(self, value: pulumi.Input[_builtins.str]):
6737
+ pulumi.set(self, "restriction_type", value)
6738
+
3667
6739
  @_builtins.property
3668
6740
  @pulumi.getter
3669
- def items(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgs']]]]:
6741
+ def items(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
6742
+ """
6743
+ List of ISO 3166-1-alpha-2 country codes for which you want CloudFront either to distribute your content (`whitelist`) or not distribute your content (`blacklist`). Required when `restriction_type` is `whitelist` or `blacklist`.
6744
+ """
3670
6745
  return pulumi.get(self, "items")
3671
6746
 
3672
6747
  @items.setter
3673
- def items(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgs']]]]):
6748
+ def items(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
3674
6749
  pulumi.set(self, "items", value)
3675
6750
 
3676
6751
 
3677
6752
  if not MYPY:
3678
- class FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgsDict(TypedDict):
3679
- profile_id: pulumi.Input[_builtins.str]
3680
- query_arg: pulumi.Input[_builtins.str]
6753
+ class MultitenantDistributionTenantConfigArgsDict(TypedDict):
6754
+ parameter_definitions: NotRequired[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionTenantConfigParameterDefinitionArgsDict']]]]
3681
6755
  """
3682
- Query argument for field-level encryption query argument-profile mapping.
6756
+ One or more parameter definitions for the tenant configuration. See Parameter Definition below.
3683
6757
  """
3684
6758
  elif False:
3685
- FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgsDict: TypeAlias = Mapping[str, Any]
6759
+ MultitenantDistributionTenantConfigArgsDict: TypeAlias = Mapping[str, Any]
3686
6760
 
3687
6761
  @pulumi.input_type
3688
- class FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItemArgs:
6762
+ class MultitenantDistributionTenantConfigArgs:
3689
6763
  def __init__(__self__, *,
3690
- profile_id: pulumi.Input[_builtins.str],
3691
- query_arg: pulumi.Input[_builtins.str]):
6764
+ parameter_definitions: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionTenantConfigParameterDefinitionArgs']]]] = None):
3692
6765
  """
3693
- :param pulumi.Input[_builtins.str] query_arg: Query argument for field-level encryption query argument-profile mapping.
6766
+ :param pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionTenantConfigParameterDefinitionArgs']]] parameter_definitions: One or more parameter definitions for the tenant configuration. See Parameter Definition below.
3694
6767
  """
3695
- pulumi.set(__self__, "profile_id", profile_id)
3696
- pulumi.set(__self__, "query_arg", query_arg)
6768
+ if parameter_definitions is not None:
6769
+ pulumi.set(__self__, "parameter_definitions", parameter_definitions)
3697
6770
 
3698
6771
  @_builtins.property
3699
- @pulumi.getter(name="profileId")
3700
- def profile_id(self) -> pulumi.Input[_builtins.str]:
3701
- return pulumi.get(self, "profile_id")
6772
+ @pulumi.getter(name="parameterDefinitions")
6773
+ def parameter_definitions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionTenantConfigParameterDefinitionArgs']]]]:
6774
+ """
6775
+ One or more parameter definitions for the tenant configuration. See Parameter Definition below.
6776
+ """
6777
+ return pulumi.get(self, "parameter_definitions")
6778
+
6779
+ @parameter_definitions.setter
6780
+ def parameter_definitions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionTenantConfigParameterDefinitionArgs']]]]):
6781
+ pulumi.set(self, "parameter_definitions", value)
6782
+
6783
+
6784
+ if not MYPY:
6785
+ class MultitenantDistributionTenantConfigParameterDefinitionArgsDict(TypedDict):
6786
+ name: pulumi.Input[_builtins.str]
6787
+ """
6788
+ Name of the parameter.
6789
+ """
6790
+ definitions: NotRequired[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionTenantConfigParameterDefinitionDefinitionArgsDict']]]]
6791
+ """
6792
+ Definition of the parameter schema. See Parameter Definition Schema below.
6793
+ """
6794
+ elif False:
6795
+ MultitenantDistributionTenantConfigParameterDefinitionArgsDict: TypeAlias = Mapping[str, Any]
6796
+
6797
+ @pulumi.input_type
6798
+ class MultitenantDistributionTenantConfigParameterDefinitionArgs:
6799
+ def __init__(__self__, *,
6800
+ name: pulumi.Input[_builtins.str],
6801
+ definitions: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionTenantConfigParameterDefinitionDefinitionArgs']]]] = None):
6802
+ """
6803
+ :param pulumi.Input[_builtins.str] name: Name of the parameter.
6804
+ :param pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionTenantConfigParameterDefinitionDefinitionArgs']]] definitions: Definition of the parameter schema. See Parameter Definition Schema below.
6805
+ """
6806
+ pulumi.set(__self__, "name", name)
6807
+ if definitions is not None:
6808
+ pulumi.set(__self__, "definitions", definitions)
6809
+
6810
+ @_builtins.property
6811
+ @pulumi.getter
6812
+ def name(self) -> pulumi.Input[_builtins.str]:
6813
+ """
6814
+ Name of the parameter.
6815
+ """
6816
+ return pulumi.get(self, "name")
3702
6817
 
3703
- @profile_id.setter
3704
- def profile_id(self, value: pulumi.Input[_builtins.str]):
3705
- pulumi.set(self, "profile_id", value)
6818
+ @name.setter
6819
+ def name(self, value: pulumi.Input[_builtins.str]):
6820
+ pulumi.set(self, "name", value)
3706
6821
 
3707
6822
  @_builtins.property
3708
- @pulumi.getter(name="queryArg")
3709
- def query_arg(self) -> pulumi.Input[_builtins.str]:
6823
+ @pulumi.getter
6824
+ def definitions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionTenantConfigParameterDefinitionDefinitionArgs']]]]:
3710
6825
  """
3711
- Query argument for field-level encryption query argument-profile mapping.
6826
+ Definition of the parameter schema. See Parameter Definition Schema below.
3712
6827
  """
3713
- return pulumi.get(self, "query_arg")
6828
+ return pulumi.get(self, "definitions")
3714
6829
 
3715
- @query_arg.setter
3716
- def query_arg(self, value: pulumi.Input[_builtins.str]):
3717
- pulumi.set(self, "query_arg", value)
6830
+ @definitions.setter
6831
+ def definitions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionTenantConfigParameterDefinitionDefinitionArgs']]]]):
6832
+ pulumi.set(self, "definitions", value)
3718
6833
 
3719
6834
 
3720
6835
  if not MYPY:
3721
- class FieldLevelEncryptionProfileEncryptionEntitiesArgsDict(TypedDict):
3722
- items: NotRequired[pulumi.Input[Sequence[pulumi.Input['FieldLevelEncryptionProfileEncryptionEntitiesItemArgsDict']]]]
6836
+ class MultitenantDistributionTenantConfigParameterDefinitionDefinitionArgsDict(TypedDict):
6837
+ string_schemas: NotRequired[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionTenantConfigParameterDefinitionDefinitionStringSchemaArgsDict']]]]
6838
+ """
6839
+ String schema configuration. See String Schema below.
6840
+ """
3723
6841
  elif False:
3724
- FieldLevelEncryptionProfileEncryptionEntitiesArgsDict: TypeAlias = Mapping[str, Any]
6842
+ MultitenantDistributionTenantConfigParameterDefinitionDefinitionArgsDict: TypeAlias = Mapping[str, Any]
3725
6843
 
3726
6844
  @pulumi.input_type
3727
- class FieldLevelEncryptionProfileEncryptionEntitiesArgs:
6845
+ class MultitenantDistributionTenantConfigParameterDefinitionDefinitionArgs:
3728
6846
  def __init__(__self__, *,
3729
- items: Optional[pulumi.Input[Sequence[pulumi.Input['FieldLevelEncryptionProfileEncryptionEntitiesItemArgs']]]] = None):
3730
- if items is not None:
3731
- pulumi.set(__self__, "items", items)
6847
+ string_schemas: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionTenantConfigParameterDefinitionDefinitionStringSchemaArgs']]]] = None):
6848
+ """
6849
+ :param pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionTenantConfigParameterDefinitionDefinitionStringSchemaArgs']]] string_schemas: String schema configuration. See String Schema below.
6850
+ """
6851
+ if string_schemas is not None:
6852
+ pulumi.set(__self__, "string_schemas", string_schemas)
3732
6853
 
3733
6854
  @_builtins.property
3734
- @pulumi.getter
3735
- def items(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FieldLevelEncryptionProfileEncryptionEntitiesItemArgs']]]]:
3736
- return pulumi.get(self, "items")
6855
+ @pulumi.getter(name="stringSchemas")
6856
+ def string_schemas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionTenantConfigParameterDefinitionDefinitionStringSchemaArgs']]]]:
6857
+ """
6858
+ String schema configuration. See String Schema below.
6859
+ """
6860
+ return pulumi.get(self, "string_schemas")
3737
6861
 
3738
- @items.setter
3739
- def items(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FieldLevelEncryptionProfileEncryptionEntitiesItemArgs']]]]):
3740
- pulumi.set(self, "items", value)
6862
+ @string_schemas.setter
6863
+ def string_schemas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MultitenantDistributionTenantConfigParameterDefinitionDefinitionStringSchemaArgs']]]]):
6864
+ pulumi.set(self, "string_schemas", value)
3741
6865
 
3742
6866
 
3743
6867
  if not MYPY:
3744
- class FieldLevelEncryptionProfileEncryptionEntitiesItemArgsDict(TypedDict):
3745
- field_patterns: pulumi.Input['FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgsDict']
6868
+ class MultitenantDistributionTenantConfigParameterDefinitionDefinitionStringSchemaArgsDict(TypedDict):
6869
+ required: pulumi.Input[_builtins.bool]
3746
6870
  """
3747
- Object that contains an attribute `items` that contains the list of field patterns in a field-level encryption content type profile specify the fields that you want to be encrypted.
6871
+ Whether the parameter is required.
3748
6872
  """
3749
- provider_id: pulumi.Input[_builtins.str]
6873
+ comment: NotRequired[pulumi.Input[_builtins.str]]
3750
6874
  """
3751
- The provider associated with the public key being used for encryption.
6875
+ Comment describing the parameter.
3752
6876
  """
3753
- public_key_id: pulumi.Input[_builtins.str]
6877
+ default_value: NotRequired[pulumi.Input[_builtins.str]]
3754
6878
  """
3755
- The public key associated with a set of field-level encryption patterns, to be used when encrypting the fields that match the patterns.
6879
+ Default value for the parameter.
3756
6880
  """
3757
6881
  elif False:
3758
- FieldLevelEncryptionProfileEncryptionEntitiesItemArgsDict: TypeAlias = Mapping[str, Any]
6882
+ MultitenantDistributionTenantConfigParameterDefinitionDefinitionStringSchemaArgsDict: TypeAlias = Mapping[str, Any]
3759
6883
 
3760
6884
  @pulumi.input_type
3761
- class FieldLevelEncryptionProfileEncryptionEntitiesItemArgs:
6885
+ class MultitenantDistributionTenantConfigParameterDefinitionDefinitionStringSchemaArgs:
3762
6886
  def __init__(__self__, *,
3763
- field_patterns: pulumi.Input['FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgs'],
3764
- provider_id: pulumi.Input[_builtins.str],
3765
- public_key_id: pulumi.Input[_builtins.str]):
6887
+ required: pulumi.Input[_builtins.bool],
6888
+ comment: Optional[pulumi.Input[_builtins.str]] = None,
6889
+ default_value: Optional[pulumi.Input[_builtins.str]] = None):
3766
6890
  """
3767
- :param pulumi.Input['FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgs'] field_patterns: Object that contains an attribute `items` that contains the list of field patterns in a field-level encryption content type profile specify the fields that you want to be encrypted.
3768
- :param pulumi.Input[_builtins.str] provider_id: The provider associated with the public key being used for encryption.
3769
- :param pulumi.Input[_builtins.str] public_key_id: The public key associated with a set of field-level encryption patterns, to be used when encrypting the fields that match the patterns.
6891
+ :param pulumi.Input[_builtins.bool] required: Whether the parameter is required.
6892
+ :param pulumi.Input[_builtins.str] comment: Comment describing the parameter.
6893
+ :param pulumi.Input[_builtins.str] default_value: Default value for the parameter.
3770
6894
  """
3771
- pulumi.set(__self__, "field_patterns", field_patterns)
3772
- pulumi.set(__self__, "provider_id", provider_id)
3773
- pulumi.set(__self__, "public_key_id", public_key_id)
6895
+ pulumi.set(__self__, "required", required)
6896
+ if comment is not None:
6897
+ pulumi.set(__self__, "comment", comment)
6898
+ if default_value is not None:
6899
+ pulumi.set(__self__, "default_value", default_value)
3774
6900
 
3775
6901
  @_builtins.property
3776
- @pulumi.getter(name="fieldPatterns")
3777
- def field_patterns(self) -> pulumi.Input['FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgs']:
6902
+ @pulumi.getter
6903
+ def required(self) -> pulumi.Input[_builtins.bool]:
3778
6904
  """
3779
- Object that contains an attribute `items` that contains the list of field patterns in a field-level encryption content type profile specify the fields that you want to be encrypted.
6905
+ Whether the parameter is required.
3780
6906
  """
3781
- return pulumi.get(self, "field_patterns")
6907
+ return pulumi.get(self, "required")
3782
6908
 
3783
- @field_patterns.setter
3784
- def field_patterns(self, value: pulumi.Input['FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgs']):
3785
- pulumi.set(self, "field_patterns", value)
6909
+ @required.setter
6910
+ def required(self, value: pulumi.Input[_builtins.bool]):
6911
+ pulumi.set(self, "required", value)
3786
6912
 
3787
6913
  @_builtins.property
3788
- @pulumi.getter(name="providerId")
3789
- def provider_id(self) -> pulumi.Input[_builtins.str]:
6914
+ @pulumi.getter
6915
+ def comment(self) -> Optional[pulumi.Input[_builtins.str]]:
3790
6916
  """
3791
- The provider associated with the public key being used for encryption.
6917
+ Comment describing the parameter.
3792
6918
  """
3793
- return pulumi.get(self, "provider_id")
6919
+ return pulumi.get(self, "comment")
3794
6920
 
3795
- @provider_id.setter
3796
- def provider_id(self, value: pulumi.Input[_builtins.str]):
3797
- pulumi.set(self, "provider_id", value)
6921
+ @comment.setter
6922
+ def comment(self, value: Optional[pulumi.Input[_builtins.str]]):
6923
+ pulumi.set(self, "comment", value)
3798
6924
 
3799
6925
  @_builtins.property
3800
- @pulumi.getter(name="publicKeyId")
3801
- def public_key_id(self) -> pulumi.Input[_builtins.str]:
6926
+ @pulumi.getter(name="defaultValue")
6927
+ def default_value(self) -> Optional[pulumi.Input[_builtins.str]]:
3802
6928
  """
3803
- The public key associated with a set of field-level encryption patterns, to be used when encrypting the fields that match the patterns.
6929
+ Default value for the parameter.
3804
6930
  """
3805
- return pulumi.get(self, "public_key_id")
3806
-
3807
- @public_key_id.setter
3808
- def public_key_id(self, value: pulumi.Input[_builtins.str]):
3809
- pulumi.set(self, "public_key_id", value)
3810
-
3811
-
3812
- if not MYPY:
3813
- class FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgsDict(TypedDict):
3814
- items: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
3815
- elif False:
3816
- FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgsDict: TypeAlias = Mapping[str, Any]
3817
-
3818
- @pulumi.input_type
3819
- class FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatternsArgs:
3820
- def __init__(__self__, *,
3821
- items: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
3822
- if items is not None:
3823
- pulumi.set(__self__, "items", items)
3824
-
3825
- @_builtins.property
3826
- @pulumi.getter
3827
- def items(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
3828
- return pulumi.get(self, "items")
6931
+ return pulumi.get(self, "default_value")
3829
6932
 
3830
- @items.setter
3831
- def items(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
3832
- pulumi.set(self, "items", value)
6933
+ @default_value.setter
6934
+ def default_value(self, value: Optional[pulumi.Input[_builtins.str]]):
6935
+ pulumi.set(self, "default_value", value)
3833
6936
 
3834
6937
 
3835
6938
  if not MYPY:
3836
- class KeyValueStoreTimeoutsArgsDict(TypedDict):
6939
+ class MultitenantDistributionTimeoutsArgsDict(TypedDict):
3837
6940
  create: NotRequired[pulumi.Input[_builtins.str]]
3838
6941
  """
3839
6942
  A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
3840
6943
  """
6944
+ delete: NotRequired[pulumi.Input[_builtins.str]]
6945
+ """
6946
+ A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
6947
+ """
6948
+ update: NotRequired[pulumi.Input[_builtins.str]]
6949
+ """
6950
+ A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
6951
+ """
3841
6952
  elif False:
3842
- KeyValueStoreTimeoutsArgsDict: TypeAlias = Mapping[str, Any]
6953
+ MultitenantDistributionTimeoutsArgsDict: TypeAlias = Mapping[str, Any]
3843
6954
 
3844
6955
  @pulumi.input_type
3845
- class KeyValueStoreTimeoutsArgs:
6956
+ class MultitenantDistributionTimeoutsArgs:
3846
6957
  def __init__(__self__, *,
3847
- create: Optional[pulumi.Input[_builtins.str]] = None):
6958
+ create: Optional[pulumi.Input[_builtins.str]] = None,
6959
+ delete: Optional[pulumi.Input[_builtins.str]] = None,
6960
+ update: Optional[pulumi.Input[_builtins.str]] = None):
3848
6961
  """
3849
6962
  :param pulumi.Input[_builtins.str] create: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
6963
+ :param pulumi.Input[_builtins.str] delete: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
6964
+ :param pulumi.Input[_builtins.str] update: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
3850
6965
  """
3851
6966
  if create is not None:
3852
6967
  pulumi.set(__self__, "create", create)
6968
+ if delete is not None:
6969
+ pulumi.set(__self__, "delete", delete)
6970
+ if update is not None:
6971
+ pulumi.set(__self__, "update", update)
3853
6972
 
3854
6973
  @_builtins.property
3855
6974
  @pulumi.getter
@@ -3863,117 +6982,121 @@ class KeyValueStoreTimeoutsArgs:
3863
6982
  def create(self, value: Optional[pulumi.Input[_builtins.str]]):
3864
6983
  pulumi.set(self, "create", value)
3865
6984
 
3866
-
3867
- if not MYPY:
3868
- class KeyvaluestoreKeysExclusiveResourceKeyValuePairArgsDict(TypedDict):
3869
- key: pulumi.Input[_builtins.str]
3870
- """
3871
- Key to put.
3872
- """
3873
- value: pulumi.Input[_builtins.str]
3874
- """
3875
- Value to put.
3876
- """
3877
- elif False:
3878
- KeyvaluestoreKeysExclusiveResourceKeyValuePairArgsDict: TypeAlias = Mapping[str, Any]
3879
-
3880
- @pulumi.input_type
3881
- class KeyvaluestoreKeysExclusiveResourceKeyValuePairArgs:
3882
- def __init__(__self__, *,
3883
- key: pulumi.Input[_builtins.str],
3884
- value: pulumi.Input[_builtins.str]):
3885
- """
3886
- :param pulumi.Input[_builtins.str] key: Key to put.
3887
- :param pulumi.Input[_builtins.str] value: Value to put.
3888
- """
3889
- pulumi.set(__self__, "key", key)
3890
- pulumi.set(__self__, "value", value)
3891
-
3892
6985
  @_builtins.property
3893
6986
  @pulumi.getter
3894
- def key(self) -> pulumi.Input[_builtins.str]:
6987
+ def delete(self) -> Optional[pulumi.Input[_builtins.str]]:
3895
6988
  """
3896
- Key to put.
6989
+ A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
3897
6990
  """
3898
- return pulumi.get(self, "key")
6991
+ return pulumi.get(self, "delete")
3899
6992
 
3900
- @key.setter
3901
- def key(self, value: pulumi.Input[_builtins.str]):
3902
- pulumi.set(self, "key", value)
6993
+ @delete.setter
6994
+ def delete(self, value: Optional[pulumi.Input[_builtins.str]]):
6995
+ pulumi.set(self, "delete", value)
3903
6996
 
3904
6997
  @_builtins.property
3905
6998
  @pulumi.getter
3906
- def value(self) -> pulumi.Input[_builtins.str]:
6999
+ def update(self) -> Optional[pulumi.Input[_builtins.str]]:
3907
7000
  """
3908
- Value to put.
7001
+ A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
3909
7002
  """
3910
- return pulumi.get(self, "value")
7003
+ return pulumi.get(self, "update")
3911
7004
 
3912
- @value.setter
3913
- def value(self, value: pulumi.Input[_builtins.str]):
3914
- pulumi.set(self, "value", value)
7005
+ @update.setter
7006
+ def update(self, value: Optional[pulumi.Input[_builtins.str]]):
7007
+ pulumi.set(self, "update", value)
3915
7008
 
3916
7009
 
3917
7010
  if not MYPY:
3918
- class MonitoringSubscriptionMonitoringSubscriptionArgsDict(TypedDict):
3919
- realtime_metrics_subscription_config: pulumi.Input['MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgsDict']
7011
+ class MultitenantDistributionViewerCertificateArgsDict(TypedDict):
7012
+ acm_certificate_arn: NotRequired[pulumi.Input[_builtins.str]]
3920
7013
  """
3921
- A subscription configuration for additional CloudWatch metrics. See below.
7014
+ ARN of the AWS Certificate Manager certificate that you wish to use with this distribution. Required when using a custom SSL certificate.
7015
+ """
7016
+ cloudfront_default_certificate: NotRequired[pulumi.Input[_builtins.bool]]
7017
+ """
7018
+ Whether to use the CloudFront default certificate. Cannot be used with `acm_certificate_arn`.
7019
+ """
7020
+ minimum_protocol_version: NotRequired[pulumi.Input[_builtins.str]]
7021
+ """
7022
+ Minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections. Default: `TLSv1`.
7023
+ """
7024
+ ssl_support_method: NotRequired[pulumi.Input[_builtins.str]]
7025
+ """
7026
+ How you want CloudFront to serve HTTPS requests. Valid values are `sni-only` and `vip`. Required when `acm_certificate_arn` is specified.
3922
7027
  """
3923
7028
  elif False:
3924
- MonitoringSubscriptionMonitoringSubscriptionArgsDict: TypeAlias = Mapping[str, Any]
7029
+ MultitenantDistributionViewerCertificateArgsDict: TypeAlias = Mapping[str, Any]
3925
7030
 
3926
7031
  @pulumi.input_type
3927
- class MonitoringSubscriptionMonitoringSubscriptionArgs:
7032
+ class MultitenantDistributionViewerCertificateArgs:
3928
7033
  def __init__(__self__, *,
3929
- realtime_metrics_subscription_config: pulumi.Input['MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs']):
7034
+ acm_certificate_arn: Optional[pulumi.Input[_builtins.str]] = None,
7035
+ cloudfront_default_certificate: Optional[pulumi.Input[_builtins.bool]] = None,
7036
+ minimum_protocol_version: Optional[pulumi.Input[_builtins.str]] = None,
7037
+ ssl_support_method: Optional[pulumi.Input[_builtins.str]] = None):
3930
7038
  """
3931
- :param pulumi.Input['MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs'] realtime_metrics_subscription_config: A subscription configuration for additional CloudWatch metrics. See below.
7039
+ :param pulumi.Input[_builtins.str] acm_certificate_arn: ARN of the AWS Certificate Manager certificate that you wish to use with this distribution. Required when using a custom SSL certificate.
7040
+ :param pulumi.Input[_builtins.bool] cloudfront_default_certificate: Whether to use the CloudFront default certificate. Cannot be used with `acm_certificate_arn`.
7041
+ :param pulumi.Input[_builtins.str] minimum_protocol_version: Minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections. Default: `TLSv1`.
7042
+ :param pulumi.Input[_builtins.str] ssl_support_method: How you want CloudFront to serve HTTPS requests. Valid values are `sni-only` and `vip`. Required when `acm_certificate_arn` is specified.
3932
7043
  """
3933
- pulumi.set(__self__, "realtime_metrics_subscription_config", realtime_metrics_subscription_config)
7044
+ if acm_certificate_arn is not None:
7045
+ pulumi.set(__self__, "acm_certificate_arn", acm_certificate_arn)
7046
+ if cloudfront_default_certificate is not None:
7047
+ pulumi.set(__self__, "cloudfront_default_certificate", cloudfront_default_certificate)
7048
+ if minimum_protocol_version is not None:
7049
+ pulumi.set(__self__, "minimum_protocol_version", minimum_protocol_version)
7050
+ if ssl_support_method is not None:
7051
+ pulumi.set(__self__, "ssl_support_method", ssl_support_method)
3934
7052
 
3935
7053
  @_builtins.property
3936
- @pulumi.getter(name="realtimeMetricsSubscriptionConfig")
3937
- def realtime_metrics_subscription_config(self) -> pulumi.Input['MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs']:
7054
+ @pulumi.getter(name="acmCertificateArn")
7055
+ def acm_certificate_arn(self) -> Optional[pulumi.Input[_builtins.str]]:
3938
7056
  """
3939
- A subscription configuration for additional CloudWatch metrics. See below.
7057
+ ARN of the AWS Certificate Manager certificate that you wish to use with this distribution. Required when using a custom SSL certificate.
3940
7058
  """
3941
- return pulumi.get(self, "realtime_metrics_subscription_config")
3942
-
3943
- @realtime_metrics_subscription_config.setter
3944
- def realtime_metrics_subscription_config(self, value: pulumi.Input['MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs']):
3945
- pulumi.set(self, "realtime_metrics_subscription_config", value)
7059
+ return pulumi.get(self, "acm_certificate_arn")
3946
7060
 
7061
+ @acm_certificate_arn.setter
7062
+ def acm_certificate_arn(self, value: Optional[pulumi.Input[_builtins.str]]):
7063
+ pulumi.set(self, "acm_certificate_arn", value)
3947
7064
 
3948
- if not MYPY:
3949
- class MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgsDict(TypedDict):
3950
- realtime_metrics_subscription_status: pulumi.Input[_builtins.str]
7065
+ @_builtins.property
7066
+ @pulumi.getter(name="cloudfrontDefaultCertificate")
7067
+ def cloudfront_default_certificate(self) -> Optional[pulumi.Input[_builtins.bool]]:
3951
7068
  """
3952
- A flag that indicates whether additional CloudWatch metrics are enabled for a given CloudFront distribution. Valid values are `Enabled` and `Disabled`. See below.
7069
+ Whether to use the CloudFront default certificate. Cannot be used with `acm_certificate_arn`.
3953
7070
  """
3954
- elif False:
3955
- MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgsDict: TypeAlias = Mapping[str, Any]
7071
+ return pulumi.get(self, "cloudfront_default_certificate")
3956
7072
 
3957
- @pulumi.input_type
3958
- class MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs:
3959
- def __init__(__self__, *,
3960
- realtime_metrics_subscription_status: pulumi.Input[_builtins.str]):
7073
+ @cloudfront_default_certificate.setter
7074
+ def cloudfront_default_certificate(self, value: Optional[pulumi.Input[_builtins.bool]]):
7075
+ pulumi.set(self, "cloudfront_default_certificate", value)
7076
+
7077
+ @_builtins.property
7078
+ @pulumi.getter(name="minimumProtocolVersion")
7079
+ def minimum_protocol_version(self) -> Optional[pulumi.Input[_builtins.str]]:
3961
7080
  """
3962
- :param pulumi.Input[_builtins.str] realtime_metrics_subscription_status: A flag that indicates whether additional CloudWatch metrics are enabled for a given CloudFront distribution. Valid values are `Enabled` and `Disabled`. See below.
7081
+ Minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections. Default: `TLSv1`.
3963
7082
  """
3964
- pulumi.set(__self__, "realtime_metrics_subscription_status", realtime_metrics_subscription_status)
7083
+ return pulumi.get(self, "minimum_protocol_version")
7084
+
7085
+ @minimum_protocol_version.setter
7086
+ def minimum_protocol_version(self, value: Optional[pulumi.Input[_builtins.str]]):
7087
+ pulumi.set(self, "minimum_protocol_version", value)
3965
7088
 
3966
7089
  @_builtins.property
3967
- @pulumi.getter(name="realtimeMetricsSubscriptionStatus")
3968
- def realtime_metrics_subscription_status(self) -> pulumi.Input[_builtins.str]:
7090
+ @pulumi.getter(name="sslSupportMethod")
7091
+ def ssl_support_method(self) -> Optional[pulumi.Input[_builtins.str]]:
3969
7092
  """
3970
- A flag that indicates whether additional CloudWatch metrics are enabled for a given CloudFront distribution. Valid values are `Enabled` and `Disabled`. See below.
7093
+ How you want CloudFront to serve HTTPS requests. Valid values are `sni-only` and `vip`. Required when `acm_certificate_arn` is specified.
3971
7094
  """
3972
- return pulumi.get(self, "realtime_metrics_subscription_status")
7095
+ return pulumi.get(self, "ssl_support_method")
3973
7096
 
3974
- @realtime_metrics_subscription_status.setter
3975
- def realtime_metrics_subscription_status(self, value: pulumi.Input[_builtins.str]):
3976
- pulumi.set(self, "realtime_metrics_subscription_status", value)
7097
+ @ssl_support_method.setter
7098
+ def ssl_support_method(self, value: Optional[pulumi.Input[_builtins.str]]):
7099
+ pulumi.set(self, "ssl_support_method", value)
3977
7100
 
3978
7101
 
3979
7102
  if not MYPY: