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
@@ -23,11 +23,15 @@ __all__ = [
23
23
  'CachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfigHeaders',
24
24
  'CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfig',
25
25
  'CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigQueryStrings',
26
+ 'ConnectionFunctionConnectionFunctionConfig',
27
+ 'ConnectionFunctionConnectionFunctionConfigKeyValueStoreAssociation',
28
+ 'ConnectionGroupTimeouts',
26
29
  'ContinuousDeploymentPolicyStagingDistributionDnsNames',
27
30
  'ContinuousDeploymentPolicyTrafficConfig',
28
31
  'ContinuousDeploymentPolicyTrafficConfigSingleHeaderConfig',
29
32
  'ContinuousDeploymentPolicyTrafficConfigSingleWeightConfig',
30
33
  'ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickinessConfig',
34
+ 'DistributionConnectionFunctionAssociation',
31
35
  'DistributionCustomErrorResponse',
32
36
  'DistributionDefaultCacheBehavior',
33
37
  'DistributionDefaultCacheBehaviorForwardedValues',
@@ -53,11 +57,21 @@ __all__ = [
53
57
  'DistributionOriginVpcOriginConfig',
54
58
  'DistributionRestrictions',
55
59
  'DistributionRestrictionsGeoRestriction',
60
+ 'DistributionTenantCustomizations',
61
+ 'DistributionTenantCustomizationsCertificate',
62
+ 'DistributionTenantCustomizationsGeoRestriction',
63
+ 'DistributionTenantCustomizationsWebAcl',
64
+ 'DistributionTenantDomain',
65
+ 'DistributionTenantManagedCertificateRequest',
66
+ 'DistributionTenantParameter',
67
+ 'DistributionTenantTimeouts',
56
68
  'DistributionTrustedKeyGroup',
57
69
  'DistributionTrustedKeyGroupItem',
58
70
  'DistributionTrustedSigner',
59
71
  'DistributionTrustedSignerItem',
60
72
  'DistributionViewerCertificate',
73
+ 'DistributionViewerMtlsConfig',
74
+ 'DistributionViewerMtlsConfigTrustStoreConfig',
61
75
  'FieldLevelEncryptionConfigContentTypeProfileConfig',
62
76
  'FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfiles',
63
77
  'FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItem',
@@ -71,6 +85,35 @@ __all__ = [
71
85
  'KeyvaluestoreKeysExclusiveResourceKeyValuePair',
72
86
  'MonitoringSubscriptionMonitoringSubscription',
73
87
  'MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfig',
88
+ 'MultitenantDistributionActiveTrustedKeyGroup',
89
+ 'MultitenantDistributionActiveTrustedKeyGroupItem',
90
+ 'MultitenantDistributionCacheBehavior',
91
+ 'MultitenantDistributionCacheBehaviorAllowedMethods',
92
+ 'MultitenantDistributionCacheBehaviorFunctionAssociation',
93
+ 'MultitenantDistributionCacheBehaviorLambdaFunctionAssociation',
94
+ 'MultitenantDistributionCacheBehaviorTrustedKeyGroups',
95
+ 'MultitenantDistributionCustomErrorResponse',
96
+ 'MultitenantDistributionDefaultCacheBehavior',
97
+ 'MultitenantDistributionDefaultCacheBehaviorAllowedMethods',
98
+ 'MultitenantDistributionDefaultCacheBehaviorFunctionAssociation',
99
+ 'MultitenantDistributionDefaultCacheBehaviorLambdaFunctionAssociation',
100
+ 'MultitenantDistributionDefaultCacheBehaviorTrustedKeyGroups',
101
+ 'MultitenantDistributionOrigin',
102
+ 'MultitenantDistributionOriginCustomHeader',
103
+ 'MultitenantDistributionOriginCustomOriginConfig',
104
+ 'MultitenantDistributionOriginGroup',
105
+ 'MultitenantDistributionOriginGroupFailoverCriteria',
106
+ 'MultitenantDistributionOriginGroupMember',
107
+ 'MultitenantDistributionOriginOriginShield',
108
+ 'MultitenantDistributionOriginVpcOriginConfig',
109
+ 'MultitenantDistributionRestrictions',
110
+ 'MultitenantDistributionRestrictionsGeoRestriction',
111
+ 'MultitenantDistributionTenantConfig',
112
+ 'MultitenantDistributionTenantConfigParameterDefinition',
113
+ 'MultitenantDistributionTenantConfigParameterDefinitionDefinition',
114
+ 'MultitenantDistributionTenantConfigParameterDefinitionDefinitionStringSchema',
115
+ 'MultitenantDistributionTimeouts',
116
+ 'MultitenantDistributionViewerCertificate',
74
117
  'OriginRequestPolicyCookiesConfig',
75
118
  'OriginRequestPolicyCookiesConfigCookies',
76
119
  'OriginRequestPolicyHeadersConfig',
@@ -109,6 +152,13 @@ __all__ = [
109
152
  'GetCachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfigHeaderResult',
110
153
  'GetCachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigResult',
111
154
  'GetCachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigQueryStringResult',
155
+ 'GetDistributionTenantCustomizationResult',
156
+ 'GetDistributionTenantCustomizationCertificateResult',
157
+ 'GetDistributionTenantCustomizationGeoRestrictionResult',
158
+ 'GetDistributionTenantCustomizationWebAclResult',
159
+ 'GetDistributionTenantDomainResult',
160
+ 'GetDistributionTenantManagedCertificateRequestResult',
161
+ 'GetDistributionTenantParameterResult',
112
162
  'GetOriginRequestPolicyCookiesConfigResult',
113
163
  'GetOriginRequestPolicyCookiesConfigCookieResult',
114
164
  'GetOriginRequestPolicyHeadersConfigResult',
@@ -426,6 +476,142 @@ class CachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigQuery
426
476
  return pulumi.get(self, "items")
427
477
 
428
478
 
479
+ @pulumi.output_type
480
+ class ConnectionFunctionConnectionFunctionConfig(dict):
481
+ @staticmethod
482
+ def __key_warning(key: str):
483
+ suggest = None
484
+ if key == "keyValueStoreAssociation":
485
+ suggest = "key_value_store_association"
486
+
487
+ if suggest:
488
+ pulumi.log.warn(f"Key '{key}' not found in ConnectionFunctionConnectionFunctionConfig. Access the value via the '{suggest}' property getter instead.")
489
+
490
+ def __getitem__(self, key: str) -> Any:
491
+ ConnectionFunctionConnectionFunctionConfig.__key_warning(key)
492
+ return super().__getitem__(key)
493
+
494
+ def get(self, key: str, default = None) -> Any:
495
+ ConnectionFunctionConnectionFunctionConfig.__key_warning(key)
496
+ return super().get(key, default)
497
+
498
+ def __init__(__self__, *,
499
+ comment: _builtins.str,
500
+ runtime: _builtins.str,
501
+ key_value_store_association: Optional['outputs.ConnectionFunctionConnectionFunctionConfigKeyValueStoreAssociation'] = None):
502
+ """
503
+ :param _builtins.str comment: Comment to describe the function.
504
+ :param _builtins.str runtime: Runtime environment for the function. Valid values are `cloudfront-js-1.0` and `cloudfront-js-2.0`.
505
+ :param 'ConnectionFunctionConnectionFunctionConfigKeyValueStoreAssociationArgs' key_value_store_association: Key value store associations. See `key_value_store_association` below.
506
+ """
507
+ pulumi.set(__self__, "comment", comment)
508
+ pulumi.set(__self__, "runtime", runtime)
509
+ if key_value_store_association is not None:
510
+ pulumi.set(__self__, "key_value_store_association", key_value_store_association)
511
+
512
+ @_builtins.property
513
+ @pulumi.getter
514
+ def comment(self) -> _builtins.str:
515
+ """
516
+ Comment to describe the function.
517
+ """
518
+ return pulumi.get(self, "comment")
519
+
520
+ @_builtins.property
521
+ @pulumi.getter
522
+ def runtime(self) -> _builtins.str:
523
+ """
524
+ Runtime environment for the function. Valid values are `cloudfront-js-1.0` and `cloudfront-js-2.0`.
525
+ """
526
+ return pulumi.get(self, "runtime")
527
+
528
+ @_builtins.property
529
+ @pulumi.getter(name="keyValueStoreAssociation")
530
+ def key_value_store_association(self) -> Optional['outputs.ConnectionFunctionConnectionFunctionConfigKeyValueStoreAssociation']:
531
+ """
532
+ Key value store associations. See `key_value_store_association` below.
533
+ """
534
+ return pulumi.get(self, "key_value_store_association")
535
+
536
+
537
+ @pulumi.output_type
538
+ class ConnectionFunctionConnectionFunctionConfigKeyValueStoreAssociation(dict):
539
+ @staticmethod
540
+ def __key_warning(key: str):
541
+ suggest = None
542
+ if key == "keyValueStoreArn":
543
+ suggest = "key_value_store_arn"
544
+
545
+ if suggest:
546
+ pulumi.log.warn(f"Key '{key}' not found in ConnectionFunctionConnectionFunctionConfigKeyValueStoreAssociation. Access the value via the '{suggest}' property getter instead.")
547
+
548
+ def __getitem__(self, key: str) -> Any:
549
+ ConnectionFunctionConnectionFunctionConfigKeyValueStoreAssociation.__key_warning(key)
550
+ return super().__getitem__(key)
551
+
552
+ def get(self, key: str, default = None) -> Any:
553
+ ConnectionFunctionConnectionFunctionConfigKeyValueStoreAssociation.__key_warning(key)
554
+ return super().get(key, default)
555
+
556
+ def __init__(__self__, *,
557
+ key_value_store_arn: _builtins.str):
558
+ """
559
+ :param _builtins.str key_value_store_arn: ARN of the key value store.
560
+ """
561
+ pulumi.set(__self__, "key_value_store_arn", key_value_store_arn)
562
+
563
+ @_builtins.property
564
+ @pulumi.getter(name="keyValueStoreArn")
565
+ def key_value_store_arn(self) -> _builtins.str:
566
+ """
567
+ ARN of the key value store.
568
+ """
569
+ return pulumi.get(self, "key_value_store_arn")
570
+
571
+
572
+ @pulumi.output_type
573
+ class ConnectionGroupTimeouts(dict):
574
+ def __init__(__self__, *,
575
+ create: Optional[_builtins.str] = None,
576
+ delete: Optional[_builtins.str] = None,
577
+ update: Optional[_builtins.str] = None):
578
+ """
579
+ :param _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.
580
+ :param _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.
581
+ :param _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.
582
+ """
583
+ if create is not None:
584
+ pulumi.set(__self__, "create", create)
585
+ if delete is not None:
586
+ pulumi.set(__self__, "delete", delete)
587
+ if update is not None:
588
+ pulumi.set(__self__, "update", update)
589
+
590
+ @_builtins.property
591
+ @pulumi.getter
592
+ def create(self) -> Optional[_builtins.str]:
593
+ """
594
+ 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.
595
+ """
596
+ return pulumi.get(self, "create")
597
+
598
+ @_builtins.property
599
+ @pulumi.getter
600
+ def delete(self) -> Optional[_builtins.str]:
601
+ """
602
+ 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.
603
+ """
604
+ return pulumi.get(self, "delete")
605
+
606
+ @_builtins.property
607
+ @pulumi.getter
608
+ def update(self) -> Optional[_builtins.str]:
609
+ """
610
+ 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.
611
+ """
612
+ return pulumi.get(self, "update")
613
+
614
+
429
615
  @pulumi.output_type
430
616
  class ContinuousDeploymentPolicyStagingDistributionDnsNames(dict):
431
617
  def __init__(__self__, *,
@@ -641,6 +827,24 @@ class ContinuousDeploymentPolicyTrafficConfigSingleWeightConfigSessionStickiness
641
827
  return pulumi.get(self, "maximum_ttl")
642
828
 
643
829
 
830
+ @pulumi.output_type
831
+ class DistributionConnectionFunctionAssociation(dict):
832
+ def __init__(__self__, *,
833
+ id: _builtins.str):
834
+ """
835
+ :param _builtins.str id: Identifier for the distribution. For example: `EDFDVBD632BHDS5`.
836
+ """
837
+ pulumi.set(__self__, "id", id)
838
+
839
+ @_builtins.property
840
+ @pulumi.getter
841
+ def id(self) -> _builtins.str:
842
+ """
843
+ Identifier for the distribution. For example: `EDFDVBD632BHDS5`.
844
+ """
845
+ return pulumi.get(self, "id")
846
+
847
+
644
848
  @pulumi.output_type
645
849
  class DistributionCustomErrorResponse(dict):
646
850
  @staticmethod
@@ -2402,6 +2606,8 @@ class DistributionOriginVpcOriginConfig(dict):
2402
2606
  suggest = "origin_keepalive_timeout"
2403
2607
  elif key == "originReadTimeout":
2404
2608
  suggest = "origin_read_timeout"
2609
+ elif key == "ownerAccountId":
2610
+ suggest = "owner_account_id"
2405
2611
 
2406
2612
  if suggest:
2407
2613
  pulumi.log.warn(f"Key '{key}' not found in DistributionOriginVpcOriginConfig. Access the value via the '{suggest}' property getter instead.")
@@ -2417,15 +2623,19 @@ class DistributionOriginVpcOriginConfig(dict):
2417
2623
  def __init__(__self__, *,
2418
2624
  vpc_origin_id: _builtins.str,
2419
2625
  origin_keepalive_timeout: Optional[_builtins.int] = None,
2420
- origin_read_timeout: Optional[_builtins.int] = None):
2626
+ origin_read_timeout: Optional[_builtins.int] = None,
2627
+ owner_account_id: Optional[_builtins.str] = None):
2421
2628
  """
2422
2629
  :param _builtins.str vpc_origin_id: The VPC origin ID.
2630
+ :param _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.
2423
2631
  """
2424
2632
  pulumi.set(__self__, "vpc_origin_id", vpc_origin_id)
2425
2633
  if origin_keepalive_timeout is not None:
2426
2634
  pulumi.set(__self__, "origin_keepalive_timeout", origin_keepalive_timeout)
2427
2635
  if origin_read_timeout is not None:
2428
2636
  pulumi.set(__self__, "origin_read_timeout", origin_read_timeout)
2637
+ if owner_account_id is not None:
2638
+ pulumi.set(__self__, "owner_account_id", owner_account_id)
2429
2639
 
2430
2640
  @_builtins.property
2431
2641
  @pulumi.getter(name="vpcOriginId")
@@ -2445,6 +2655,14 @@ class DistributionOriginVpcOriginConfig(dict):
2445
2655
  def origin_read_timeout(self) -> Optional[_builtins.int]:
2446
2656
  return pulumi.get(self, "origin_read_timeout")
2447
2657
 
2658
+ @_builtins.property
2659
+ @pulumi.getter(name="ownerAccountId")
2660
+ def owner_account_id(self) -> Optional[_builtins.str]:
2661
+ """
2662
+ 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.
2663
+ """
2664
+ return pulumi.get(self, "owner_account_id")
2665
+
2448
2666
 
2449
2667
  @pulumi.output_type
2450
2668
  class DistributionRestrictions(dict):
@@ -2523,577 +2741,2856 @@ class DistributionRestrictionsGeoRestriction(dict):
2523
2741
 
2524
2742
 
2525
2743
  @pulumi.output_type
2526
- class DistributionTrustedKeyGroup(dict):
2744
+ class DistributionTenantCustomizations(dict):
2745
+ @staticmethod
2746
+ def __key_warning(key: str):
2747
+ suggest = None
2748
+ if key == "geoRestriction":
2749
+ suggest = "geo_restriction"
2750
+ elif key == "webAcl":
2751
+ suggest = "web_acl"
2752
+
2753
+ if suggest:
2754
+ pulumi.log.warn(f"Key '{key}' not found in DistributionTenantCustomizations. Access the value via the '{suggest}' property getter instead.")
2755
+
2756
+ def __getitem__(self, key: str) -> Any:
2757
+ DistributionTenantCustomizations.__key_warning(key)
2758
+ return super().__getitem__(key)
2759
+
2760
+ def get(self, key: str, default = None) -> Any:
2761
+ DistributionTenantCustomizations.__key_warning(key)
2762
+ return super().get(key, default)
2763
+
2527
2764
  def __init__(__self__, *,
2528
- enabled: Optional[_builtins.bool] = None,
2529
- items: Optional[Sequence['outputs.DistributionTrustedKeyGroupItem']] = None):
2765
+ certificate: Optional['outputs.DistributionTenantCustomizationsCertificate'] = None,
2766
+ geo_restriction: Optional['outputs.DistributionTenantCustomizationsGeoRestriction'] = None,
2767
+ web_acl: Optional['outputs.DistributionTenantCustomizationsWebAcl'] = None):
2530
2768
  """
2531
- :param _builtins.bool enabled: Whether the distribution is enabled to accept end user requests for content.
2532
- :param Sequence['DistributionTrustedKeyGroupItemArgs'] items: List of nested attributes for each trusted signer
2769
+ :param 'DistributionTenantCustomizationsCertificateArgs' certificate: Certificate configuration for the tenant (maximum one).
2770
+ :param 'DistributionTenantCustomizationsGeoRestrictionArgs' geo_restriction: Geographic restrictions configuration for the tenant (maximum one).
2771
+ :param 'DistributionTenantCustomizationsWebAclArgs' web_acl: Web ACL configuration for the tenant (maximum one).
2533
2772
  """
2534
- if enabled is not None:
2535
- pulumi.set(__self__, "enabled", enabled)
2536
- if items is not None:
2537
- pulumi.set(__self__, "items", items)
2773
+ if certificate is not None:
2774
+ pulumi.set(__self__, "certificate", certificate)
2775
+ if geo_restriction is not None:
2776
+ pulumi.set(__self__, "geo_restriction", geo_restriction)
2777
+ if web_acl is not None:
2778
+ pulumi.set(__self__, "web_acl", web_acl)
2538
2779
 
2539
2780
  @_builtins.property
2540
2781
  @pulumi.getter
2541
- def enabled(self) -> Optional[_builtins.bool]:
2782
+ def certificate(self) -> Optional['outputs.DistributionTenantCustomizationsCertificate']:
2542
2783
  """
2543
- Whether the distribution is enabled to accept end user requests for content.
2784
+ Certificate configuration for the tenant (maximum one).
2544
2785
  """
2545
- return pulumi.get(self, "enabled")
2786
+ return pulumi.get(self, "certificate")
2787
+
2788
+ @_builtins.property
2789
+ @pulumi.getter(name="geoRestriction")
2790
+ def geo_restriction(self) -> Optional['outputs.DistributionTenantCustomizationsGeoRestriction']:
2791
+ """
2792
+ Geographic restrictions configuration for the tenant (maximum one).
2793
+ """
2794
+ return pulumi.get(self, "geo_restriction")
2795
+
2796
+ @_builtins.property
2797
+ @pulumi.getter(name="webAcl")
2798
+ def web_acl(self) -> Optional['outputs.DistributionTenantCustomizationsWebAcl']:
2799
+ """
2800
+ Web ACL configuration for the tenant (maximum one).
2801
+ """
2802
+ return pulumi.get(self, "web_acl")
2803
+
2804
+
2805
+ @pulumi.output_type
2806
+ class DistributionTenantCustomizationsCertificate(dict):
2807
+ def __init__(__self__, *,
2808
+ arn: Optional[_builtins.str] = None):
2809
+ """
2810
+ :param _builtins.str arn: ARN of the distribution tenant.
2811
+ """
2812
+ if arn is not None:
2813
+ pulumi.set(__self__, "arn", arn)
2546
2814
 
2547
2815
  @_builtins.property
2548
2816
  @pulumi.getter
2549
- def items(self) -> Optional[Sequence['outputs.DistributionTrustedKeyGroupItem']]:
2817
+ def arn(self) -> Optional[_builtins.str]:
2550
2818
  """
2551
- List of nested attributes for each trusted signer
2819
+ ARN of the distribution tenant.
2552
2820
  """
2553
- return pulumi.get(self, "items")
2821
+ return pulumi.get(self, "arn")
2554
2822
 
2555
2823
 
2556
2824
  @pulumi.output_type
2557
- class DistributionTrustedKeyGroupItem(dict):
2825
+ class DistributionTenantCustomizationsGeoRestriction(dict):
2558
2826
  @staticmethod
2559
2827
  def __key_warning(key: str):
2560
2828
  suggest = None
2561
- if key == "keyGroupId":
2562
- suggest = "key_group_id"
2563
- elif key == "keyPairIds":
2564
- suggest = "key_pair_ids"
2829
+ if key == "restrictionType":
2830
+ suggest = "restriction_type"
2565
2831
 
2566
2832
  if suggest:
2567
- pulumi.log.warn(f"Key '{key}' not found in DistributionTrustedKeyGroupItem. Access the value via the '{suggest}' property getter instead.")
2833
+ pulumi.log.warn(f"Key '{key}' not found in DistributionTenantCustomizationsGeoRestriction. Access the value via the '{suggest}' property getter instead.")
2568
2834
 
2569
2835
  def __getitem__(self, key: str) -> Any:
2570
- DistributionTrustedKeyGroupItem.__key_warning(key)
2836
+ DistributionTenantCustomizationsGeoRestriction.__key_warning(key)
2571
2837
  return super().__getitem__(key)
2572
2838
 
2573
2839
  def get(self, key: str, default = None) -> Any:
2574
- DistributionTrustedKeyGroupItem.__key_warning(key)
2840
+ DistributionTenantCustomizationsGeoRestriction.__key_warning(key)
2575
2841
  return super().get(key, default)
2576
2842
 
2577
2843
  def __init__(__self__, *,
2578
- key_group_id: Optional[_builtins.str] = None,
2579
- key_pair_ids: Optional[Sequence[_builtins.str]] = None):
2844
+ locations: Optional[Sequence[_builtins.str]] = None,
2845
+ restriction_type: Optional[_builtins.str] = None):
2580
2846
  """
2581
- :param _builtins.str key_group_id: ID of the key group that contains the public keys.
2582
- :param Sequence[_builtins.str] key_pair_ids: Set of active CloudFront key pairs associated with the signer account
2847
+ :param Sequence[_builtins.str] locations: Set of ISO 3166-1-alpha-2 country codes for the restriction. Required if `restriction_type` is `whitelist` or `blacklist`.
2848
+ :param _builtins.str restriction_type: Method to restrict distribution by country: `none`, `whitelist`, or `blacklist`.
2583
2849
  """
2584
- if key_group_id is not None:
2585
- pulumi.set(__self__, "key_group_id", key_group_id)
2586
- if key_pair_ids is not None:
2587
- pulumi.set(__self__, "key_pair_ids", key_pair_ids)
2850
+ if locations is not None:
2851
+ pulumi.set(__self__, "locations", locations)
2852
+ if restriction_type is not None:
2853
+ pulumi.set(__self__, "restriction_type", restriction_type)
2588
2854
 
2589
2855
  @_builtins.property
2590
- @pulumi.getter(name="keyGroupId")
2591
- def key_group_id(self) -> Optional[_builtins.str]:
2856
+ @pulumi.getter
2857
+ def locations(self) -> Optional[Sequence[_builtins.str]]:
2592
2858
  """
2593
- ID of the key group that contains the public keys.
2859
+ Set of ISO 3166-1-alpha-2 country codes for the restriction. Required if `restriction_type` is `whitelist` or `blacklist`.
2594
2860
  """
2595
- return pulumi.get(self, "key_group_id")
2861
+ return pulumi.get(self, "locations")
2596
2862
 
2597
2863
  @_builtins.property
2598
- @pulumi.getter(name="keyPairIds")
2599
- def key_pair_ids(self) -> Optional[Sequence[_builtins.str]]:
2864
+ @pulumi.getter(name="restrictionType")
2865
+ def restriction_type(self) -> Optional[_builtins.str]:
2600
2866
  """
2601
- Set of active CloudFront key pairs associated with the signer account
2867
+ Method to restrict distribution by country: `none`, `whitelist`, or `blacklist`.
2602
2868
  """
2603
- return pulumi.get(self, "key_pair_ids")
2869
+ return pulumi.get(self, "restriction_type")
2604
2870
 
2605
2871
 
2606
2872
  @pulumi.output_type
2607
- class DistributionTrustedSigner(dict):
2873
+ class DistributionTenantCustomizationsWebAcl(dict):
2608
2874
  def __init__(__self__, *,
2609
- enabled: Optional[_builtins.bool] = None,
2610
- items: Optional[Sequence['outputs.DistributionTrustedSignerItem']] = None):
2875
+ action: Optional[_builtins.str] = None,
2876
+ arn: Optional[_builtins.str] = None):
2611
2877
  """
2612
- :param _builtins.bool enabled: Whether the distribution is enabled to accept end user requests for content.
2613
- :param Sequence['DistributionTrustedSignerItemArgs'] items: List of nested attributes for each trusted signer
2878
+ :param _builtins.str action: Action to take for the web ACL. Valid values: `allow`, `block`.
2879
+ :param _builtins.str arn: ARN of the distribution tenant.
2614
2880
  """
2615
- if enabled is not None:
2616
- pulumi.set(__self__, "enabled", enabled)
2617
- if items is not None:
2618
- pulumi.set(__self__, "items", items)
2881
+ if action is not None:
2882
+ pulumi.set(__self__, "action", action)
2883
+ if arn is not None:
2884
+ pulumi.set(__self__, "arn", arn)
2619
2885
 
2620
2886
  @_builtins.property
2621
2887
  @pulumi.getter
2622
- def enabled(self) -> Optional[_builtins.bool]:
2888
+ def action(self) -> Optional[_builtins.str]:
2623
2889
  """
2624
- Whether the distribution is enabled to accept end user requests for content.
2890
+ Action to take for the web ACL. Valid values: `allow`, `block`.
2625
2891
  """
2626
- return pulumi.get(self, "enabled")
2892
+ return pulumi.get(self, "action")
2627
2893
 
2628
2894
  @_builtins.property
2629
2895
  @pulumi.getter
2630
- def items(self) -> Optional[Sequence['outputs.DistributionTrustedSignerItem']]:
2896
+ def arn(self) -> Optional[_builtins.str]:
2631
2897
  """
2632
- List of nested attributes for each trusted signer
2898
+ ARN of the distribution tenant.
2633
2899
  """
2634
- return pulumi.get(self, "items")
2900
+ return pulumi.get(self, "arn")
2635
2901
 
2636
2902
 
2637
2903
  @pulumi.output_type
2638
- class DistributionTrustedSignerItem(dict):
2639
- @staticmethod
2640
- def __key_warning(key: str):
2641
- suggest = None
2642
- if key == "awsAccountNumber":
2643
- suggest = "aws_account_number"
2644
- elif key == "keyPairIds":
2645
- suggest = "key_pair_ids"
2646
-
2647
- if suggest:
2648
- pulumi.log.warn(f"Key '{key}' not found in DistributionTrustedSignerItem. Access the value via the '{suggest}' property getter instead.")
2649
-
2650
- def __getitem__(self, key: str) -> Any:
2651
- DistributionTrustedSignerItem.__key_warning(key)
2652
- return super().__getitem__(key)
2653
-
2654
- def get(self, key: str, default = None) -> Any:
2655
- DistributionTrustedSignerItem.__key_warning(key)
2656
- return super().get(key, default)
2657
-
2904
+ class DistributionTenantDomain(dict):
2658
2905
  def __init__(__self__, *,
2659
- aws_account_number: Optional[_builtins.str] = None,
2660
- key_pair_ids: Optional[Sequence[_builtins.str]] = None):
2906
+ domain: _builtins.str,
2907
+ status: Optional[_builtins.str] = None):
2661
2908
  """
2662
- :param _builtins.str aws_account_number: AWS account ID or `self`
2663
- :param Sequence[_builtins.str] key_pair_ids: Set of active CloudFront key pairs associated with the signer account
2909
+ :param _builtins.str domain: Set of domains associated with the distribution tenant.
2910
+ :param _builtins.str status: Current status of the distribution tenant.
2664
2911
  """
2665
- if aws_account_number is not None:
2666
- pulumi.set(__self__, "aws_account_number", aws_account_number)
2667
- if key_pair_ids is not None:
2668
- pulumi.set(__self__, "key_pair_ids", key_pair_ids)
2912
+ pulumi.set(__self__, "domain", domain)
2913
+ if status is not None:
2914
+ pulumi.set(__self__, "status", status)
2669
2915
 
2670
2916
  @_builtins.property
2671
- @pulumi.getter(name="awsAccountNumber")
2672
- def aws_account_number(self) -> Optional[_builtins.str]:
2917
+ @pulumi.getter
2918
+ def domain(self) -> _builtins.str:
2673
2919
  """
2674
- AWS account ID or `self`
2920
+ Set of domains associated with the distribution tenant.
2675
2921
  """
2676
- return pulumi.get(self, "aws_account_number")
2922
+ return pulumi.get(self, "domain")
2677
2923
 
2678
2924
  @_builtins.property
2679
- @pulumi.getter(name="keyPairIds")
2680
- def key_pair_ids(self) -> Optional[Sequence[_builtins.str]]:
2925
+ @pulumi.getter
2926
+ def status(self) -> Optional[_builtins.str]:
2681
2927
  """
2682
- Set of active CloudFront key pairs associated with the signer account
2928
+ Current status of the distribution tenant.
2683
2929
  """
2684
- return pulumi.get(self, "key_pair_ids")
2930
+ return pulumi.get(self, "status")
2685
2931
 
2686
2932
 
2687
2933
  @pulumi.output_type
2688
- class DistributionViewerCertificate(dict):
2934
+ class DistributionTenantManagedCertificateRequest(dict):
2689
2935
  @staticmethod
2690
2936
  def __key_warning(key: str):
2691
2937
  suggest = None
2692
- if key == "acmCertificateArn":
2693
- suggest = "acm_certificate_arn"
2694
- elif key == "cloudfrontDefaultCertificate":
2695
- suggest = "cloudfront_default_certificate"
2696
- elif key == "iamCertificateId":
2697
- suggest = "iam_certificate_id"
2698
- elif key == "minimumProtocolVersion":
2699
- suggest = "minimum_protocol_version"
2700
- elif key == "sslSupportMethod":
2701
- suggest = "ssl_support_method"
2938
+ if key == "certificateTransparencyLoggingPreference":
2939
+ suggest = "certificate_transparency_logging_preference"
2940
+ elif key == "primaryDomainName":
2941
+ suggest = "primary_domain_name"
2942
+ elif key == "validationTokenHost":
2943
+ suggest = "validation_token_host"
2702
2944
 
2703
2945
  if suggest:
2704
- pulumi.log.warn(f"Key '{key}' not found in DistributionViewerCertificate. Access the value via the '{suggest}' property getter instead.")
2946
+ pulumi.log.warn(f"Key '{key}' not found in DistributionTenantManagedCertificateRequest. Access the value via the '{suggest}' property getter instead.")
2705
2947
 
2706
2948
  def __getitem__(self, key: str) -> Any:
2707
- DistributionViewerCertificate.__key_warning(key)
2949
+ DistributionTenantManagedCertificateRequest.__key_warning(key)
2708
2950
  return super().__getitem__(key)
2709
2951
 
2710
2952
  def get(self, key: str, default = None) -> Any:
2711
- DistributionViewerCertificate.__key_warning(key)
2953
+ DistributionTenantManagedCertificateRequest.__key_warning(key)
2712
2954
  return super().get(key, default)
2713
2955
 
2714
2956
  def __init__(__self__, *,
2715
- acm_certificate_arn: Optional[_builtins.str] = None,
2716
- cloudfront_default_certificate: Optional[_builtins.bool] = None,
2717
- iam_certificate_id: Optional[_builtins.str] = None,
2957
+ certificate_transparency_logging_preference: Optional[_builtins.str] = None,
2958
+ primary_domain_name: Optional[_builtins.str] = None,
2959
+ validation_token_host: Optional[_builtins.str] = None):
2960
+ """
2961
+ :param _builtins.str certificate_transparency_logging_preference: Certificate transparency logging preference. Valid values: `enabled`, `disabled`.
2962
+ :param _builtins.str primary_domain_name: Primary domain name for the certificate.
2963
+ :param _builtins.str validation_token_host: Host for validation token. Valid values: `cloudfront`, `domain`.
2964
+ """
2965
+ if certificate_transparency_logging_preference is not None:
2966
+ pulumi.set(__self__, "certificate_transparency_logging_preference", certificate_transparency_logging_preference)
2967
+ if primary_domain_name is not None:
2968
+ pulumi.set(__self__, "primary_domain_name", primary_domain_name)
2969
+ if validation_token_host is not None:
2970
+ pulumi.set(__self__, "validation_token_host", validation_token_host)
2971
+
2972
+ @_builtins.property
2973
+ @pulumi.getter(name="certificateTransparencyLoggingPreference")
2974
+ def certificate_transparency_logging_preference(self) -> Optional[_builtins.str]:
2975
+ """
2976
+ Certificate transparency logging preference. Valid values: `enabled`, `disabled`.
2977
+ """
2978
+ return pulumi.get(self, "certificate_transparency_logging_preference")
2979
+
2980
+ @_builtins.property
2981
+ @pulumi.getter(name="primaryDomainName")
2982
+ def primary_domain_name(self) -> Optional[_builtins.str]:
2983
+ """
2984
+ Primary domain name for the certificate.
2985
+ """
2986
+ return pulumi.get(self, "primary_domain_name")
2987
+
2988
+ @_builtins.property
2989
+ @pulumi.getter(name="validationTokenHost")
2990
+ def validation_token_host(self) -> Optional[_builtins.str]:
2991
+ """
2992
+ Host for validation token. Valid values: `cloudfront`, `domain`.
2993
+ """
2994
+ return pulumi.get(self, "validation_token_host")
2995
+
2996
+
2997
+ @pulumi.output_type
2998
+ class DistributionTenantParameter(dict):
2999
+ def __init__(__self__, *,
3000
+ name: _builtins.str,
3001
+ value: _builtins.str):
3002
+ """
3003
+ :param _builtins.str name: Name of the distribution tenant.
3004
+ :param _builtins.str value: Value of the parameter.
3005
+ """
3006
+ pulumi.set(__self__, "name", name)
3007
+ pulumi.set(__self__, "value", value)
3008
+
3009
+ @_builtins.property
3010
+ @pulumi.getter
3011
+ def name(self) -> _builtins.str:
3012
+ """
3013
+ Name of the distribution tenant.
3014
+ """
3015
+ return pulumi.get(self, "name")
3016
+
3017
+ @_builtins.property
3018
+ @pulumi.getter
3019
+ def value(self) -> _builtins.str:
3020
+ """
3021
+ Value of the parameter.
3022
+ """
3023
+ return pulumi.get(self, "value")
3024
+
3025
+
3026
+ @pulumi.output_type
3027
+ class DistributionTenantTimeouts(dict):
3028
+ def __init__(__self__, *,
3029
+ create: Optional[_builtins.str] = None,
3030
+ delete: Optional[_builtins.str] = None,
3031
+ update: Optional[_builtins.str] = None):
3032
+ """
3033
+ :param _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).
3034
+ :param _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.
3035
+ :param _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).
3036
+ """
3037
+ if create is not None:
3038
+ pulumi.set(__self__, "create", create)
3039
+ if delete is not None:
3040
+ pulumi.set(__self__, "delete", delete)
3041
+ if update is not None:
3042
+ pulumi.set(__self__, "update", update)
3043
+
3044
+ @_builtins.property
3045
+ @pulumi.getter
3046
+ def create(self) -> Optional[_builtins.str]:
3047
+ """
3048
+ 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).
3049
+ """
3050
+ return pulumi.get(self, "create")
3051
+
3052
+ @_builtins.property
3053
+ @pulumi.getter
3054
+ def delete(self) -> Optional[_builtins.str]:
3055
+ """
3056
+ 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.
3057
+ """
3058
+ return pulumi.get(self, "delete")
3059
+
3060
+ @_builtins.property
3061
+ @pulumi.getter
3062
+ def update(self) -> Optional[_builtins.str]:
3063
+ """
3064
+ 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).
3065
+ """
3066
+ return pulumi.get(self, "update")
3067
+
3068
+
3069
+ @pulumi.output_type
3070
+ class DistributionTrustedKeyGroup(dict):
3071
+ def __init__(__self__, *,
3072
+ enabled: Optional[_builtins.bool] = None,
3073
+ items: Optional[Sequence['outputs.DistributionTrustedKeyGroupItem']] = None):
3074
+ """
3075
+ :param _builtins.bool enabled: Whether the distribution is enabled to accept end user requests for content.
3076
+ :param Sequence['DistributionTrustedKeyGroupItemArgs'] items: List of nested attributes for each trusted signer
3077
+ """
3078
+ if enabled is not None:
3079
+ pulumi.set(__self__, "enabled", enabled)
3080
+ if items is not None:
3081
+ pulumi.set(__self__, "items", items)
3082
+
3083
+ @_builtins.property
3084
+ @pulumi.getter
3085
+ def enabled(self) -> Optional[_builtins.bool]:
3086
+ """
3087
+ Whether the distribution is enabled to accept end user requests for content.
3088
+ """
3089
+ return pulumi.get(self, "enabled")
3090
+
3091
+ @_builtins.property
3092
+ @pulumi.getter
3093
+ def items(self) -> Optional[Sequence['outputs.DistributionTrustedKeyGroupItem']]:
3094
+ """
3095
+ List of nested attributes for each trusted signer
3096
+ """
3097
+ return pulumi.get(self, "items")
3098
+
3099
+
3100
+ @pulumi.output_type
3101
+ class DistributionTrustedKeyGroupItem(dict):
3102
+ @staticmethod
3103
+ def __key_warning(key: str):
3104
+ suggest = None
3105
+ if key == "keyGroupId":
3106
+ suggest = "key_group_id"
3107
+ elif key == "keyPairIds":
3108
+ suggest = "key_pair_ids"
3109
+
3110
+ if suggest:
3111
+ pulumi.log.warn(f"Key '{key}' not found in DistributionTrustedKeyGroupItem. Access the value via the '{suggest}' property getter instead.")
3112
+
3113
+ def __getitem__(self, key: str) -> Any:
3114
+ DistributionTrustedKeyGroupItem.__key_warning(key)
3115
+ return super().__getitem__(key)
3116
+
3117
+ def get(self, key: str, default = None) -> Any:
3118
+ DistributionTrustedKeyGroupItem.__key_warning(key)
3119
+ return super().get(key, default)
3120
+
3121
+ def __init__(__self__, *,
3122
+ key_group_id: Optional[_builtins.str] = None,
3123
+ key_pair_ids: Optional[Sequence[_builtins.str]] = None):
3124
+ """
3125
+ :param _builtins.str key_group_id: ID of the key group that contains the public keys.
3126
+ :param Sequence[_builtins.str] key_pair_ids: Set of active CloudFront key pairs associated with the signer account
3127
+ """
3128
+ if key_group_id is not None:
3129
+ pulumi.set(__self__, "key_group_id", key_group_id)
3130
+ if key_pair_ids is not None:
3131
+ pulumi.set(__self__, "key_pair_ids", key_pair_ids)
3132
+
3133
+ @_builtins.property
3134
+ @pulumi.getter(name="keyGroupId")
3135
+ def key_group_id(self) -> Optional[_builtins.str]:
3136
+ """
3137
+ ID of the key group that contains the public keys.
3138
+ """
3139
+ return pulumi.get(self, "key_group_id")
3140
+
3141
+ @_builtins.property
3142
+ @pulumi.getter(name="keyPairIds")
3143
+ def key_pair_ids(self) -> Optional[Sequence[_builtins.str]]:
3144
+ """
3145
+ Set of active CloudFront key pairs associated with the signer account
3146
+ """
3147
+ return pulumi.get(self, "key_pair_ids")
3148
+
3149
+
3150
+ @pulumi.output_type
3151
+ class DistributionTrustedSigner(dict):
3152
+ def __init__(__self__, *,
3153
+ enabled: Optional[_builtins.bool] = None,
3154
+ items: Optional[Sequence['outputs.DistributionTrustedSignerItem']] = None):
3155
+ """
3156
+ :param _builtins.bool enabled: Whether the distribution is enabled to accept end user requests for content.
3157
+ :param Sequence['DistributionTrustedSignerItemArgs'] items: List of nested attributes for each trusted signer
3158
+ """
3159
+ if enabled is not None:
3160
+ pulumi.set(__self__, "enabled", enabled)
3161
+ if items is not None:
3162
+ pulumi.set(__self__, "items", items)
3163
+
3164
+ @_builtins.property
3165
+ @pulumi.getter
3166
+ def enabled(self) -> Optional[_builtins.bool]:
3167
+ """
3168
+ Whether the distribution is enabled to accept end user requests for content.
3169
+ """
3170
+ return pulumi.get(self, "enabled")
3171
+
3172
+ @_builtins.property
3173
+ @pulumi.getter
3174
+ def items(self) -> Optional[Sequence['outputs.DistributionTrustedSignerItem']]:
3175
+ """
3176
+ List of nested attributes for each trusted signer
3177
+ """
3178
+ return pulumi.get(self, "items")
3179
+
3180
+
3181
+ @pulumi.output_type
3182
+ class DistributionTrustedSignerItem(dict):
3183
+ @staticmethod
3184
+ def __key_warning(key: str):
3185
+ suggest = None
3186
+ if key == "awsAccountNumber":
3187
+ suggest = "aws_account_number"
3188
+ elif key == "keyPairIds":
3189
+ suggest = "key_pair_ids"
3190
+
3191
+ if suggest:
3192
+ pulumi.log.warn(f"Key '{key}' not found in DistributionTrustedSignerItem. Access the value via the '{suggest}' property getter instead.")
3193
+
3194
+ def __getitem__(self, key: str) -> Any:
3195
+ DistributionTrustedSignerItem.__key_warning(key)
3196
+ return super().__getitem__(key)
3197
+
3198
+ def get(self, key: str, default = None) -> Any:
3199
+ DistributionTrustedSignerItem.__key_warning(key)
3200
+ return super().get(key, default)
3201
+
3202
+ def __init__(__self__, *,
3203
+ aws_account_number: Optional[_builtins.str] = None,
3204
+ key_pair_ids: Optional[Sequence[_builtins.str]] = None):
3205
+ """
3206
+ :param _builtins.str aws_account_number: AWS account ID or `self`
3207
+ :param Sequence[_builtins.str] key_pair_ids: Set of active CloudFront key pairs associated with the signer account
3208
+ """
3209
+ if aws_account_number is not None:
3210
+ pulumi.set(__self__, "aws_account_number", aws_account_number)
3211
+ if key_pair_ids is not None:
3212
+ pulumi.set(__self__, "key_pair_ids", key_pair_ids)
3213
+
3214
+ @_builtins.property
3215
+ @pulumi.getter(name="awsAccountNumber")
3216
+ def aws_account_number(self) -> Optional[_builtins.str]:
3217
+ """
3218
+ AWS account ID or `self`
3219
+ """
3220
+ return pulumi.get(self, "aws_account_number")
3221
+
3222
+ @_builtins.property
3223
+ @pulumi.getter(name="keyPairIds")
3224
+ def key_pair_ids(self) -> Optional[Sequence[_builtins.str]]:
3225
+ """
3226
+ Set of active CloudFront key pairs associated with the signer account
3227
+ """
3228
+ return pulumi.get(self, "key_pair_ids")
3229
+
3230
+
3231
+ @pulumi.output_type
3232
+ class DistributionViewerCertificate(dict):
3233
+ @staticmethod
3234
+ def __key_warning(key: str):
3235
+ suggest = None
3236
+ if key == "acmCertificateArn":
3237
+ suggest = "acm_certificate_arn"
3238
+ elif key == "cloudfrontDefaultCertificate":
3239
+ suggest = "cloudfront_default_certificate"
3240
+ elif key == "iamCertificateId":
3241
+ suggest = "iam_certificate_id"
3242
+ elif key == "minimumProtocolVersion":
3243
+ suggest = "minimum_protocol_version"
3244
+ elif key == "sslSupportMethod":
3245
+ suggest = "ssl_support_method"
3246
+
3247
+ if suggest:
3248
+ pulumi.log.warn(f"Key '{key}' not found in DistributionViewerCertificate. Access the value via the '{suggest}' property getter instead.")
3249
+
3250
+ def __getitem__(self, key: str) -> Any:
3251
+ DistributionViewerCertificate.__key_warning(key)
3252
+ return super().__getitem__(key)
3253
+
3254
+ def get(self, key: str, default = None) -> Any:
3255
+ DistributionViewerCertificate.__key_warning(key)
3256
+ return super().get(key, default)
3257
+
3258
+ def __init__(__self__, *,
3259
+ acm_certificate_arn: Optional[_builtins.str] = None,
3260
+ cloudfront_default_certificate: Optional[_builtins.bool] = None,
3261
+ iam_certificate_id: Optional[_builtins.str] = None,
2718
3262
  minimum_protocol_version: Optional[_builtins.str] = None,
2719
3263
  ssl_support_method: Optional[_builtins.str] = None):
2720
3264
  """
2721
- :param _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.
2722
- :param _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`.
2723
- :param _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`.
2724
- :param _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.
2725
- :param _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.
3265
+ :param _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.
3266
+ :param _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`.
3267
+ :param _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`.
3268
+ :param _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.
3269
+ :param _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.
3270
+ """
3271
+ if acm_certificate_arn is not None:
3272
+ pulumi.set(__self__, "acm_certificate_arn", acm_certificate_arn)
3273
+ if cloudfront_default_certificate is not None:
3274
+ pulumi.set(__self__, "cloudfront_default_certificate", cloudfront_default_certificate)
3275
+ if iam_certificate_id is not None:
3276
+ pulumi.set(__self__, "iam_certificate_id", iam_certificate_id)
3277
+ if minimum_protocol_version is not None:
3278
+ pulumi.set(__self__, "minimum_protocol_version", minimum_protocol_version)
3279
+ if ssl_support_method is not None:
3280
+ pulumi.set(__self__, "ssl_support_method", ssl_support_method)
3281
+
3282
+ @_builtins.property
3283
+ @pulumi.getter(name="acmCertificateArn")
3284
+ def acm_certificate_arn(self) -> Optional[_builtins.str]:
3285
+ """
3286
+ 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.
3287
+ """
3288
+ return pulumi.get(self, "acm_certificate_arn")
3289
+
3290
+ @_builtins.property
3291
+ @pulumi.getter(name="cloudfrontDefaultCertificate")
3292
+ def cloudfront_default_certificate(self) -> Optional[_builtins.bool]:
3293
+ """
3294
+ `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`.
3295
+ """
3296
+ return pulumi.get(self, "cloudfront_default_certificate")
3297
+
3298
+ @_builtins.property
3299
+ @pulumi.getter(name="iamCertificateId")
3300
+ def iam_certificate_id(self) -> Optional[_builtins.str]:
3301
+ """
3302
+ 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`.
3303
+ """
3304
+ return pulumi.get(self, "iam_certificate_id")
3305
+
3306
+ @_builtins.property
3307
+ @pulumi.getter(name="minimumProtocolVersion")
3308
+ def minimum_protocol_version(self) -> Optional[_builtins.str]:
3309
+ """
3310
+ 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.
3311
+ """
3312
+ return pulumi.get(self, "minimum_protocol_version")
3313
+
3314
+ @_builtins.property
3315
+ @pulumi.getter(name="sslSupportMethod")
3316
+ def ssl_support_method(self) -> Optional[_builtins.str]:
3317
+ """
3318
+ 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.
3319
+ """
3320
+ return pulumi.get(self, "ssl_support_method")
3321
+
3322
+
3323
+ @pulumi.output_type
3324
+ class DistributionViewerMtlsConfig(dict):
3325
+ @staticmethod
3326
+ def __key_warning(key: str):
3327
+ suggest = None
3328
+ if key == "trustStoreConfig":
3329
+ suggest = "trust_store_config"
3330
+
3331
+ if suggest:
3332
+ pulumi.log.warn(f"Key '{key}' not found in DistributionViewerMtlsConfig. Access the value via the '{suggest}' property getter instead.")
3333
+
3334
+ def __getitem__(self, key: str) -> Any:
3335
+ DistributionViewerMtlsConfig.__key_warning(key)
3336
+ return super().__getitem__(key)
3337
+
3338
+ def get(self, key: str, default = None) -> Any:
3339
+ DistributionViewerMtlsConfig.__key_warning(key)
3340
+ return super().get(key, default)
3341
+
3342
+ def __init__(__self__, *,
3343
+ mode: Optional[_builtins.str] = None,
3344
+ trust_store_config: Optional['outputs.DistributionViewerMtlsConfigTrustStoreConfig'] = None):
3345
+ """
3346
+ :param _builtins.str mode: The mode for viewer mTLS. Valid values: `required`, `optional`.
3347
+ :param 'DistributionViewerMtlsConfigTrustStoreConfigArgs' trust_store_config: The trust store configuration for viewer mTLS (maximum one).
3348
+ """
3349
+ if mode is not None:
3350
+ pulumi.set(__self__, "mode", mode)
3351
+ if trust_store_config is not None:
3352
+ pulumi.set(__self__, "trust_store_config", trust_store_config)
3353
+
3354
+ @_builtins.property
3355
+ @pulumi.getter
3356
+ def mode(self) -> Optional[_builtins.str]:
3357
+ """
3358
+ The mode for viewer mTLS. Valid values: `required`, `optional`.
3359
+ """
3360
+ return pulumi.get(self, "mode")
3361
+
3362
+ @_builtins.property
3363
+ @pulumi.getter(name="trustStoreConfig")
3364
+ def trust_store_config(self) -> Optional['outputs.DistributionViewerMtlsConfigTrustStoreConfig']:
3365
+ """
3366
+ The trust store configuration for viewer mTLS (maximum one).
3367
+ """
3368
+ return pulumi.get(self, "trust_store_config")
3369
+
3370
+
3371
+ @pulumi.output_type
3372
+ class DistributionViewerMtlsConfigTrustStoreConfig(dict):
3373
+ @staticmethod
3374
+ def __key_warning(key: str):
3375
+ suggest = None
3376
+ if key == "trustStoreId":
3377
+ suggest = "trust_store_id"
3378
+ elif key == "advertiseTrustStoreCaNames":
3379
+ suggest = "advertise_trust_store_ca_names"
3380
+ elif key == "ignoreCertificateExpiry":
3381
+ suggest = "ignore_certificate_expiry"
3382
+
3383
+ if suggest:
3384
+ pulumi.log.warn(f"Key '{key}' not found in DistributionViewerMtlsConfigTrustStoreConfig. Access the value via the '{suggest}' property getter instead.")
3385
+
3386
+ def __getitem__(self, key: str) -> Any:
3387
+ DistributionViewerMtlsConfigTrustStoreConfig.__key_warning(key)
3388
+ return super().__getitem__(key)
3389
+
3390
+ def get(self, key: str, default = None) -> Any:
3391
+ DistributionViewerMtlsConfigTrustStoreConfig.__key_warning(key)
3392
+ return super().get(key, default)
3393
+
3394
+ def __init__(__self__, *,
3395
+ trust_store_id: _builtins.str,
3396
+ advertise_trust_store_ca_names: Optional[_builtins.bool] = None,
3397
+ ignore_certificate_expiry: Optional[_builtins.bool] = None):
3398
+ """
3399
+ :param _builtins.str trust_store_id: Identifier of the trust store to use for viewer mTLS.
3400
+ :param _builtins.bool advertise_trust_store_ca_names: Whether to advertise the trust store CA names to clients. Defaults to `false`.
3401
+ :param _builtins.bool ignore_certificate_expiry: Whether to ignore certificate expiry for viewer mTLS. Defaults to `false`.
3402
+ """
3403
+ pulumi.set(__self__, "trust_store_id", trust_store_id)
3404
+ if advertise_trust_store_ca_names is not None:
3405
+ pulumi.set(__self__, "advertise_trust_store_ca_names", advertise_trust_store_ca_names)
3406
+ if ignore_certificate_expiry is not None:
3407
+ pulumi.set(__self__, "ignore_certificate_expiry", ignore_certificate_expiry)
3408
+
3409
+ @_builtins.property
3410
+ @pulumi.getter(name="trustStoreId")
3411
+ def trust_store_id(self) -> _builtins.str:
3412
+ """
3413
+ Identifier of the trust store to use for viewer mTLS.
3414
+ """
3415
+ return pulumi.get(self, "trust_store_id")
3416
+
3417
+ @_builtins.property
3418
+ @pulumi.getter(name="advertiseTrustStoreCaNames")
3419
+ def advertise_trust_store_ca_names(self) -> Optional[_builtins.bool]:
3420
+ """
3421
+ Whether to advertise the trust store CA names to clients. Defaults to `false`.
3422
+ """
3423
+ return pulumi.get(self, "advertise_trust_store_ca_names")
3424
+
3425
+ @_builtins.property
3426
+ @pulumi.getter(name="ignoreCertificateExpiry")
3427
+ def ignore_certificate_expiry(self) -> Optional[_builtins.bool]:
3428
+ """
3429
+ Whether to ignore certificate expiry for viewer mTLS. Defaults to `false`.
3430
+ """
3431
+ return pulumi.get(self, "ignore_certificate_expiry")
3432
+
3433
+
3434
+ @pulumi.output_type
3435
+ class FieldLevelEncryptionConfigContentTypeProfileConfig(dict):
3436
+ @staticmethod
3437
+ def __key_warning(key: str):
3438
+ suggest = None
3439
+ if key == "contentTypeProfiles":
3440
+ suggest = "content_type_profiles"
3441
+ elif key == "forwardWhenContentTypeIsUnknown":
3442
+ suggest = "forward_when_content_type_is_unknown"
3443
+
3444
+ if suggest:
3445
+ pulumi.log.warn(f"Key '{key}' not found in FieldLevelEncryptionConfigContentTypeProfileConfig. Access the value via the '{suggest}' property getter instead.")
3446
+
3447
+ def __getitem__(self, key: str) -> Any:
3448
+ FieldLevelEncryptionConfigContentTypeProfileConfig.__key_warning(key)
3449
+ return super().__getitem__(key)
3450
+
3451
+ def get(self, key: str, default = None) -> Any:
3452
+ FieldLevelEncryptionConfigContentTypeProfileConfig.__key_warning(key)
3453
+ return super().get(key, default)
3454
+
3455
+ def __init__(__self__, *,
3456
+ content_type_profiles: 'outputs.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfiles',
3457
+ forward_when_content_type_is_unknown: _builtins.bool):
3458
+ """
3459
+ :param '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.
3460
+ :param _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.
3461
+ """
3462
+ pulumi.set(__self__, "content_type_profiles", content_type_profiles)
3463
+ pulumi.set(__self__, "forward_when_content_type_is_unknown", forward_when_content_type_is_unknown)
3464
+
3465
+ @_builtins.property
3466
+ @pulumi.getter(name="contentTypeProfiles")
3467
+ def content_type_profiles(self) -> 'outputs.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfiles':
3468
+ """
3469
+ Object that contains an attribute `items` that contains the list of configurations for a field-level encryption content type-profile. See Content Type Profile.
3470
+ """
3471
+ return pulumi.get(self, "content_type_profiles")
3472
+
3473
+ @_builtins.property
3474
+ @pulumi.getter(name="forwardWhenContentTypeIsUnknown")
3475
+ def forward_when_content_type_is_unknown(self) -> _builtins.bool:
3476
+ """
3477
+ 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.
3478
+ """
3479
+ return pulumi.get(self, "forward_when_content_type_is_unknown")
3480
+
3481
+
3482
+ @pulumi.output_type
3483
+ class FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfiles(dict):
3484
+ def __init__(__self__, *,
3485
+ items: Sequence['outputs.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItem']):
3486
+ pulumi.set(__self__, "items", items)
3487
+
3488
+ @_builtins.property
3489
+ @pulumi.getter
3490
+ def items(self) -> Sequence['outputs.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItem']:
3491
+ return pulumi.get(self, "items")
3492
+
3493
+
3494
+ @pulumi.output_type
3495
+ class FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItem(dict):
3496
+ @staticmethod
3497
+ def __key_warning(key: str):
3498
+ suggest = None
3499
+ if key == "contentType":
3500
+ suggest = "content_type"
3501
+ elif key == "profileId":
3502
+ suggest = "profile_id"
3503
+
3504
+ if suggest:
3505
+ pulumi.log.warn(f"Key '{key}' not found in FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItem. Access the value via the '{suggest}' property getter instead.")
3506
+
3507
+ def __getitem__(self, key: str) -> Any:
3508
+ FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItem.__key_warning(key)
3509
+ return super().__getitem__(key)
3510
+
3511
+ def get(self, key: str, default = None) -> Any:
3512
+ FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItem.__key_warning(key)
3513
+ return super().get(key, default)
3514
+
3515
+ def __init__(__self__, *,
3516
+ content_type: _builtins.str,
3517
+ format: _builtins.str,
3518
+ profile_id: Optional[_builtins.str] = None):
3519
+ """
3520
+ :param _builtins.str content_type: he content type for a field-level encryption content type-profile mapping. Valid value is `application/x-www-form-urlencoded`.
3521
+ :param _builtins.str format: The format for a field-level encryption content type-profile mapping. Valid value is `URLEncoded`.
3522
+ """
3523
+ pulumi.set(__self__, "content_type", content_type)
3524
+ pulumi.set(__self__, "format", format)
3525
+ if profile_id is not None:
3526
+ pulumi.set(__self__, "profile_id", profile_id)
3527
+
3528
+ @_builtins.property
3529
+ @pulumi.getter(name="contentType")
3530
+ def content_type(self) -> _builtins.str:
3531
+ """
3532
+ he content type for a field-level encryption content type-profile mapping. Valid value is `application/x-www-form-urlencoded`.
3533
+ """
3534
+ return pulumi.get(self, "content_type")
3535
+
3536
+ @_builtins.property
3537
+ @pulumi.getter
3538
+ def format(self) -> _builtins.str:
3539
+ """
3540
+ The format for a field-level encryption content type-profile mapping. Valid value is `URLEncoded`.
3541
+ """
3542
+ return pulumi.get(self, "format")
3543
+
3544
+ @_builtins.property
3545
+ @pulumi.getter(name="profileId")
3546
+ def profile_id(self) -> Optional[_builtins.str]:
3547
+ return pulumi.get(self, "profile_id")
3548
+
3549
+
3550
+ @pulumi.output_type
3551
+ class FieldLevelEncryptionConfigQueryArgProfileConfig(dict):
3552
+ @staticmethod
3553
+ def __key_warning(key: str):
3554
+ suggest = None
3555
+ if key == "forwardWhenQueryArgProfileIsUnknown":
3556
+ suggest = "forward_when_query_arg_profile_is_unknown"
3557
+ elif key == "queryArgProfiles":
3558
+ suggest = "query_arg_profiles"
3559
+
3560
+ if suggest:
3561
+ pulumi.log.warn(f"Key '{key}' not found in FieldLevelEncryptionConfigQueryArgProfileConfig. Access the value via the '{suggest}' property getter instead.")
3562
+
3563
+ def __getitem__(self, key: str) -> Any:
3564
+ FieldLevelEncryptionConfigQueryArgProfileConfig.__key_warning(key)
3565
+ return super().__getitem__(key)
3566
+
3567
+ def get(self, key: str, default = None) -> Any:
3568
+ FieldLevelEncryptionConfigQueryArgProfileConfig.__key_warning(key)
3569
+ return super().get(key, default)
3570
+
3571
+ def __init__(__self__, *,
3572
+ forward_when_query_arg_profile_is_unknown: _builtins.bool,
3573
+ query_arg_profiles: Optional['outputs.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfiles'] = None):
3574
+ """
3575
+ :param _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.
3576
+ :param '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.
3577
+ """
3578
+ pulumi.set(__self__, "forward_when_query_arg_profile_is_unknown", forward_when_query_arg_profile_is_unknown)
3579
+ if query_arg_profiles is not None:
3580
+ pulumi.set(__self__, "query_arg_profiles", query_arg_profiles)
3581
+
3582
+ @_builtins.property
3583
+ @pulumi.getter(name="forwardWhenQueryArgProfileIsUnknown")
3584
+ def forward_when_query_arg_profile_is_unknown(self) -> _builtins.bool:
3585
+ """
3586
+ 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.
3587
+ """
3588
+ return pulumi.get(self, "forward_when_query_arg_profile_is_unknown")
3589
+
3590
+ @_builtins.property
3591
+ @pulumi.getter(name="queryArgProfiles")
3592
+ def query_arg_profiles(self) -> Optional['outputs.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfiles']:
3593
+ """
3594
+ 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.
3595
+ """
3596
+ return pulumi.get(self, "query_arg_profiles")
3597
+
3598
+
3599
+ @pulumi.output_type
3600
+ class FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfiles(dict):
3601
+ def __init__(__self__, *,
3602
+ items: Optional[Sequence['outputs.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItem']] = None):
3603
+ if items is not None:
3604
+ pulumi.set(__self__, "items", items)
3605
+
3606
+ @_builtins.property
3607
+ @pulumi.getter
3608
+ def items(self) -> Optional[Sequence['outputs.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItem']]:
3609
+ return pulumi.get(self, "items")
3610
+
3611
+
3612
+ @pulumi.output_type
3613
+ class FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItem(dict):
3614
+ @staticmethod
3615
+ def __key_warning(key: str):
3616
+ suggest = None
3617
+ if key == "profileId":
3618
+ suggest = "profile_id"
3619
+ elif key == "queryArg":
3620
+ suggest = "query_arg"
3621
+
3622
+ if suggest:
3623
+ pulumi.log.warn(f"Key '{key}' not found in FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItem. Access the value via the '{suggest}' property getter instead.")
3624
+
3625
+ def __getitem__(self, key: str) -> Any:
3626
+ FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItem.__key_warning(key)
3627
+ return super().__getitem__(key)
3628
+
3629
+ def get(self, key: str, default = None) -> Any:
3630
+ FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItem.__key_warning(key)
3631
+ return super().get(key, default)
3632
+
3633
+ def __init__(__self__, *,
3634
+ profile_id: _builtins.str,
3635
+ query_arg: _builtins.str):
3636
+ """
3637
+ :param _builtins.str query_arg: Query argument for field-level encryption query argument-profile mapping.
3638
+ """
3639
+ pulumi.set(__self__, "profile_id", profile_id)
3640
+ pulumi.set(__self__, "query_arg", query_arg)
3641
+
3642
+ @_builtins.property
3643
+ @pulumi.getter(name="profileId")
3644
+ def profile_id(self) -> _builtins.str:
3645
+ return pulumi.get(self, "profile_id")
3646
+
3647
+ @_builtins.property
3648
+ @pulumi.getter(name="queryArg")
3649
+ def query_arg(self) -> _builtins.str:
3650
+ """
3651
+ Query argument for field-level encryption query argument-profile mapping.
3652
+ """
3653
+ return pulumi.get(self, "query_arg")
3654
+
3655
+
3656
+ @pulumi.output_type
3657
+ class FieldLevelEncryptionProfileEncryptionEntities(dict):
3658
+ def __init__(__self__, *,
3659
+ items: Optional[Sequence['outputs.FieldLevelEncryptionProfileEncryptionEntitiesItem']] = None):
3660
+ if items is not None:
3661
+ pulumi.set(__self__, "items", items)
3662
+
3663
+ @_builtins.property
3664
+ @pulumi.getter
3665
+ def items(self) -> Optional[Sequence['outputs.FieldLevelEncryptionProfileEncryptionEntitiesItem']]:
3666
+ return pulumi.get(self, "items")
3667
+
3668
+
3669
+ @pulumi.output_type
3670
+ class FieldLevelEncryptionProfileEncryptionEntitiesItem(dict):
3671
+ @staticmethod
3672
+ def __key_warning(key: str):
3673
+ suggest = None
3674
+ if key == "fieldPatterns":
3675
+ suggest = "field_patterns"
3676
+ elif key == "providerId":
3677
+ suggest = "provider_id"
3678
+ elif key == "publicKeyId":
3679
+ suggest = "public_key_id"
3680
+
3681
+ if suggest:
3682
+ pulumi.log.warn(f"Key '{key}' not found in FieldLevelEncryptionProfileEncryptionEntitiesItem. Access the value via the '{suggest}' property getter instead.")
3683
+
3684
+ def __getitem__(self, key: str) -> Any:
3685
+ FieldLevelEncryptionProfileEncryptionEntitiesItem.__key_warning(key)
3686
+ return super().__getitem__(key)
3687
+
3688
+ def get(self, key: str, default = None) -> Any:
3689
+ FieldLevelEncryptionProfileEncryptionEntitiesItem.__key_warning(key)
3690
+ return super().get(key, default)
3691
+
3692
+ def __init__(__self__, *,
3693
+ field_patterns: 'outputs.FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatterns',
3694
+ provider_id: _builtins.str,
3695
+ public_key_id: _builtins.str):
3696
+ """
3697
+ :param '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.
3698
+ :param _builtins.str provider_id: The provider associated with the public key being used for encryption.
3699
+ :param _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.
3700
+ """
3701
+ pulumi.set(__self__, "field_patterns", field_patterns)
3702
+ pulumi.set(__self__, "provider_id", provider_id)
3703
+ pulumi.set(__self__, "public_key_id", public_key_id)
3704
+
3705
+ @_builtins.property
3706
+ @pulumi.getter(name="fieldPatterns")
3707
+ def field_patterns(self) -> 'outputs.FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatterns':
3708
+ """
3709
+ 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.
3710
+ """
3711
+ return pulumi.get(self, "field_patterns")
3712
+
3713
+ @_builtins.property
3714
+ @pulumi.getter(name="providerId")
3715
+ def provider_id(self) -> _builtins.str:
3716
+ """
3717
+ The provider associated with the public key being used for encryption.
3718
+ """
3719
+ return pulumi.get(self, "provider_id")
3720
+
3721
+ @_builtins.property
3722
+ @pulumi.getter(name="publicKeyId")
3723
+ def public_key_id(self) -> _builtins.str:
3724
+ """
3725
+ The public key associated with a set of field-level encryption patterns, to be used when encrypting the fields that match the patterns.
3726
+ """
3727
+ return pulumi.get(self, "public_key_id")
3728
+
3729
+
3730
+ @pulumi.output_type
3731
+ class FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatterns(dict):
3732
+ def __init__(__self__, *,
3733
+ items: Optional[Sequence[_builtins.str]] = None):
3734
+ if items is not None:
3735
+ pulumi.set(__self__, "items", items)
3736
+
3737
+ @_builtins.property
3738
+ @pulumi.getter
3739
+ def items(self) -> Optional[Sequence[_builtins.str]]:
3740
+ return pulumi.get(self, "items")
3741
+
3742
+
3743
+ @pulumi.output_type
3744
+ class KeyValueStoreTimeouts(dict):
3745
+ def __init__(__self__, *,
3746
+ create: Optional[_builtins.str] = None):
3747
+ """
3748
+ :param _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).
3749
+ """
3750
+ if create is not None:
3751
+ pulumi.set(__self__, "create", create)
3752
+
3753
+ @_builtins.property
3754
+ @pulumi.getter
3755
+ def create(self) -> Optional[_builtins.str]:
3756
+ """
3757
+ 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).
3758
+ """
3759
+ return pulumi.get(self, "create")
3760
+
3761
+
3762
+ @pulumi.output_type
3763
+ class KeyvaluestoreKeysExclusiveResourceKeyValuePair(dict):
3764
+ def __init__(__self__, *,
3765
+ key: _builtins.str,
3766
+ value: _builtins.str):
3767
+ """
3768
+ :param _builtins.str key: Key to put.
3769
+ :param _builtins.str value: Value to put.
3770
+ """
3771
+ pulumi.set(__self__, "key", key)
3772
+ pulumi.set(__self__, "value", value)
3773
+
3774
+ @_builtins.property
3775
+ @pulumi.getter
3776
+ def key(self) -> _builtins.str:
3777
+ """
3778
+ Key to put.
3779
+ """
3780
+ return pulumi.get(self, "key")
3781
+
3782
+ @_builtins.property
3783
+ @pulumi.getter
3784
+ def value(self) -> _builtins.str:
3785
+ """
3786
+ Value to put.
3787
+ """
3788
+ return pulumi.get(self, "value")
3789
+
3790
+
3791
+ @pulumi.output_type
3792
+ class MonitoringSubscriptionMonitoringSubscription(dict):
3793
+ @staticmethod
3794
+ def __key_warning(key: str):
3795
+ suggest = None
3796
+ if key == "realtimeMetricsSubscriptionConfig":
3797
+ suggest = "realtime_metrics_subscription_config"
3798
+
3799
+ if suggest:
3800
+ pulumi.log.warn(f"Key '{key}' not found in MonitoringSubscriptionMonitoringSubscription. Access the value via the '{suggest}' property getter instead.")
3801
+
3802
+ def __getitem__(self, key: str) -> Any:
3803
+ MonitoringSubscriptionMonitoringSubscription.__key_warning(key)
3804
+ return super().__getitem__(key)
3805
+
3806
+ def get(self, key: str, default = None) -> Any:
3807
+ MonitoringSubscriptionMonitoringSubscription.__key_warning(key)
3808
+ return super().get(key, default)
3809
+
3810
+ def __init__(__self__, *,
3811
+ realtime_metrics_subscription_config: 'outputs.MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfig'):
3812
+ """
3813
+ :param 'MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs' realtime_metrics_subscription_config: A subscription configuration for additional CloudWatch metrics. See below.
3814
+ """
3815
+ pulumi.set(__self__, "realtime_metrics_subscription_config", realtime_metrics_subscription_config)
3816
+
3817
+ @_builtins.property
3818
+ @pulumi.getter(name="realtimeMetricsSubscriptionConfig")
3819
+ def realtime_metrics_subscription_config(self) -> 'outputs.MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfig':
3820
+ """
3821
+ A subscription configuration for additional CloudWatch metrics. See below.
3822
+ """
3823
+ return pulumi.get(self, "realtime_metrics_subscription_config")
3824
+
3825
+
3826
+ @pulumi.output_type
3827
+ class MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfig(dict):
3828
+ @staticmethod
3829
+ def __key_warning(key: str):
3830
+ suggest = None
3831
+ if key == "realtimeMetricsSubscriptionStatus":
3832
+ suggest = "realtime_metrics_subscription_status"
3833
+
3834
+ if suggest:
3835
+ pulumi.log.warn(f"Key '{key}' not found in MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfig. Access the value via the '{suggest}' property getter instead.")
3836
+
3837
+ def __getitem__(self, key: str) -> Any:
3838
+ MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfig.__key_warning(key)
3839
+ return super().__getitem__(key)
3840
+
3841
+ def get(self, key: str, default = None) -> Any:
3842
+ MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfig.__key_warning(key)
3843
+ return super().get(key, default)
3844
+
3845
+ def __init__(__self__, *,
3846
+ realtime_metrics_subscription_status: _builtins.str):
3847
+ """
3848
+ :param _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.
3849
+ """
3850
+ pulumi.set(__self__, "realtime_metrics_subscription_status", realtime_metrics_subscription_status)
3851
+
3852
+ @_builtins.property
3853
+ @pulumi.getter(name="realtimeMetricsSubscriptionStatus")
3854
+ def realtime_metrics_subscription_status(self) -> _builtins.str:
3855
+ """
3856
+ A flag that indicates whether additional CloudWatch metrics are enabled for a given CloudFront distribution. Valid values are `Enabled` and `Disabled`. See below.
3857
+ """
3858
+ return pulumi.get(self, "realtime_metrics_subscription_status")
3859
+
3860
+
3861
+ @pulumi.output_type
3862
+ class MultitenantDistributionActiveTrustedKeyGroup(dict):
3863
+ def __init__(__self__, *,
3864
+ enabled: Optional[_builtins.bool] = None,
3865
+ items: Optional[Sequence['outputs.MultitenantDistributionActiveTrustedKeyGroupItem']] = None):
3866
+ """
3867
+ :param _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.
3868
+ :param Sequence['MultitenantDistributionActiveTrustedKeyGroupItemArgs'] items: List of key groups. See Key Group Items below.
3869
+ """
3870
+ if enabled is not None:
3871
+ pulumi.set(__self__, "enabled", enabled)
3872
+ if items is not None:
3873
+ pulumi.set(__self__, "items", items)
3874
+
3875
+ @_builtins.property
3876
+ @pulumi.getter
3877
+ def enabled(self) -> Optional[_builtins.bool]:
3878
+ """
3879
+ Whether any of the key groups have public keys that CloudFront can use to verify the signatures of signed URLs and signed cookies.
3880
+ """
3881
+ return pulumi.get(self, "enabled")
3882
+
3883
+ @_builtins.property
3884
+ @pulumi.getter
3885
+ def items(self) -> Optional[Sequence['outputs.MultitenantDistributionActiveTrustedKeyGroupItem']]:
3886
+ """
3887
+ List of key groups. See Key Group Items below.
3888
+ """
3889
+ return pulumi.get(self, "items")
3890
+
3891
+
3892
+ @pulumi.output_type
3893
+ class MultitenantDistributionActiveTrustedKeyGroupItem(dict):
3894
+ @staticmethod
3895
+ def __key_warning(key: str):
3896
+ suggest = None
3897
+ if key == "keyGroupId":
3898
+ suggest = "key_group_id"
3899
+ elif key == "keyPairIds":
3900
+ suggest = "key_pair_ids"
3901
+
3902
+ if suggest:
3903
+ pulumi.log.warn(f"Key '{key}' not found in MultitenantDistributionActiveTrustedKeyGroupItem. Access the value via the '{suggest}' property getter instead.")
3904
+
3905
+ def __getitem__(self, key: str) -> Any:
3906
+ MultitenantDistributionActiveTrustedKeyGroupItem.__key_warning(key)
3907
+ return super().__getitem__(key)
3908
+
3909
+ def get(self, key: str, default = None) -> Any:
3910
+ MultitenantDistributionActiveTrustedKeyGroupItem.__key_warning(key)
3911
+ return super().get(key, default)
3912
+
3913
+ def __init__(__self__, *,
3914
+ key_group_id: Optional[_builtins.str] = None,
3915
+ key_pair_ids: Optional[Sequence[_builtins.str]] = None):
3916
+ """
3917
+ :param _builtins.str key_group_id: ID of the key group that contains the public keys.
3918
+ :param Sequence[_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.
3919
+ """
3920
+ if key_group_id is not None:
3921
+ pulumi.set(__self__, "key_group_id", key_group_id)
3922
+ if key_pair_ids is not None:
3923
+ pulumi.set(__self__, "key_pair_ids", key_pair_ids)
3924
+
3925
+ @_builtins.property
3926
+ @pulumi.getter(name="keyGroupId")
3927
+ def key_group_id(self) -> Optional[_builtins.str]:
3928
+ """
3929
+ ID of the key group that contains the public keys.
3930
+ """
3931
+ return pulumi.get(self, "key_group_id")
3932
+
3933
+ @_builtins.property
3934
+ @pulumi.getter(name="keyPairIds")
3935
+ def key_pair_ids(self) -> Optional[Sequence[_builtins.str]]:
3936
+ """
3937
+ Set of active CloudFront key pairs associated with the signer that can be used to verify the signatures of signed URLs and signed cookies.
3938
+ """
3939
+ return pulumi.get(self, "key_pair_ids")
3940
+
3941
+
3942
+ @pulumi.output_type
3943
+ class MultitenantDistributionCacheBehavior(dict):
3944
+ @staticmethod
3945
+ def __key_warning(key: str):
3946
+ suggest = None
3947
+ if key == "pathPattern":
3948
+ suggest = "path_pattern"
3949
+ elif key == "targetOriginId":
3950
+ suggest = "target_origin_id"
3951
+ elif key == "viewerProtocolPolicy":
3952
+ suggest = "viewer_protocol_policy"
3953
+ elif key == "allowedMethods":
3954
+ suggest = "allowed_methods"
3955
+ elif key == "cachePolicyId":
3956
+ suggest = "cache_policy_id"
3957
+ elif key == "fieldLevelEncryptionId":
3958
+ suggest = "field_level_encryption_id"
3959
+ elif key == "functionAssociations":
3960
+ suggest = "function_associations"
3961
+ elif key == "lambdaFunctionAssociations":
3962
+ suggest = "lambda_function_associations"
3963
+ elif key == "originRequestPolicyId":
3964
+ suggest = "origin_request_policy_id"
3965
+ elif key == "realtimeLogConfigArn":
3966
+ suggest = "realtime_log_config_arn"
3967
+ elif key == "responseHeadersPolicyId":
3968
+ suggest = "response_headers_policy_id"
3969
+ elif key == "trustedKeyGroups":
3970
+ suggest = "trusted_key_groups"
3971
+
3972
+ if suggest:
3973
+ pulumi.log.warn(f"Key '{key}' not found in MultitenantDistributionCacheBehavior. Access the value via the '{suggest}' property getter instead.")
3974
+
3975
+ def __getitem__(self, key: str) -> Any:
3976
+ MultitenantDistributionCacheBehavior.__key_warning(key)
3977
+ return super().__getitem__(key)
3978
+
3979
+ def get(self, key: str, default = None) -> Any:
3980
+ MultitenantDistributionCacheBehavior.__key_warning(key)
3981
+ return super().get(key, default)
3982
+
3983
+ def __init__(__self__, *,
3984
+ path_pattern: _builtins.str,
3985
+ target_origin_id: _builtins.str,
3986
+ viewer_protocol_policy: _builtins.str,
3987
+ allowed_methods: Optional['outputs.MultitenantDistributionCacheBehaviorAllowedMethods'] = None,
3988
+ cache_policy_id: Optional[_builtins.str] = None,
3989
+ compress: Optional[_builtins.bool] = None,
3990
+ field_level_encryption_id: Optional[_builtins.str] = None,
3991
+ function_associations: Optional[Sequence['outputs.MultitenantDistributionCacheBehaviorFunctionAssociation']] = None,
3992
+ lambda_function_associations: Optional[Sequence['outputs.MultitenantDistributionCacheBehaviorLambdaFunctionAssociation']] = None,
3993
+ origin_request_policy_id: Optional[_builtins.str] = None,
3994
+ realtime_log_config_arn: Optional[_builtins.str] = None,
3995
+ response_headers_policy_id: Optional[_builtins.str] = None,
3996
+ trusted_key_groups: Optional['outputs.MultitenantDistributionCacheBehaviorTrustedKeyGroups'] = None):
3997
+ """
3998
+ :param _builtins.str path_pattern: Pattern that specifies which requests you want this cache behavior to apply to.
3999
+ :param _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.
4000
+ :param _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`.
4001
+ :param 'MultitenantDistributionCacheBehaviorAllowedMethodsArgs' allowed_methods: Controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin.
4002
+ :param _builtins.str cache_policy_id: Unique identifier of the cache policy that is attached to the cache behavior.
4003
+ :param _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`.
4004
+ :param _builtins.str field_level_encryption_id: Field level encryption configuration ID.
4005
+ :param Sequence['MultitenantDistributionCacheBehaviorFunctionAssociationArgs'] function_associations: Configuration block for CloudFront Functions associations. See Function Association below.
4006
+ :param Sequence['MultitenantDistributionCacheBehaviorLambdaFunctionAssociationArgs'] lambda_function_associations: Configuration block for Lambda@Edge associations. See Lambda Function Association below.
4007
+ :param _builtins.str origin_request_policy_id: Unique identifier of the origin request policy that is attached to the behavior.
4008
+ :param _builtins.str realtime_log_config_arn: ARN of the real-time log configuration that is attached to this cache behavior.
4009
+ :param _builtins.str response_headers_policy_id: Identifier for a response headers policy.
4010
+ :param 'MultitenantDistributionCacheBehaviorTrustedKeyGroupsArgs' trusted_key_groups: List of key group IDs that CloudFront can use to validate signed URLs or signed cookies.
4011
+ """
4012
+ pulumi.set(__self__, "path_pattern", path_pattern)
4013
+ pulumi.set(__self__, "target_origin_id", target_origin_id)
4014
+ pulumi.set(__self__, "viewer_protocol_policy", viewer_protocol_policy)
4015
+ if allowed_methods is not None:
4016
+ pulumi.set(__self__, "allowed_methods", allowed_methods)
4017
+ if cache_policy_id is not None:
4018
+ pulumi.set(__self__, "cache_policy_id", cache_policy_id)
4019
+ if compress is not None:
4020
+ pulumi.set(__self__, "compress", compress)
4021
+ if field_level_encryption_id is not None:
4022
+ pulumi.set(__self__, "field_level_encryption_id", field_level_encryption_id)
4023
+ if function_associations is not None:
4024
+ pulumi.set(__self__, "function_associations", function_associations)
4025
+ if lambda_function_associations is not None:
4026
+ pulumi.set(__self__, "lambda_function_associations", lambda_function_associations)
4027
+ if origin_request_policy_id is not None:
4028
+ pulumi.set(__self__, "origin_request_policy_id", origin_request_policy_id)
4029
+ if realtime_log_config_arn is not None:
4030
+ pulumi.set(__self__, "realtime_log_config_arn", realtime_log_config_arn)
4031
+ if response_headers_policy_id is not None:
4032
+ pulumi.set(__self__, "response_headers_policy_id", response_headers_policy_id)
4033
+ if trusted_key_groups is not None:
4034
+ pulumi.set(__self__, "trusted_key_groups", trusted_key_groups)
4035
+
4036
+ @_builtins.property
4037
+ @pulumi.getter(name="pathPattern")
4038
+ def path_pattern(self) -> _builtins.str:
4039
+ """
4040
+ Pattern that specifies which requests you want this cache behavior to apply to.
4041
+ """
4042
+ return pulumi.get(self, "path_pattern")
4043
+
4044
+ @_builtins.property
4045
+ @pulumi.getter(name="targetOriginId")
4046
+ def target_origin_id(self) -> _builtins.str:
4047
+ """
4048
+ 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.
4049
+ """
4050
+ return pulumi.get(self, "target_origin_id")
4051
+
4052
+ @_builtins.property
4053
+ @pulumi.getter(name="viewerProtocolPolicy")
4054
+ def viewer_protocol_policy(self) -> _builtins.str:
4055
+ """
4056
+ 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`.
4057
+ """
4058
+ return pulumi.get(self, "viewer_protocol_policy")
4059
+
4060
+ @_builtins.property
4061
+ @pulumi.getter(name="allowedMethods")
4062
+ def allowed_methods(self) -> Optional['outputs.MultitenantDistributionCacheBehaviorAllowedMethods']:
4063
+ """
4064
+ Controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin.
4065
+ """
4066
+ return pulumi.get(self, "allowed_methods")
4067
+
4068
+ @_builtins.property
4069
+ @pulumi.getter(name="cachePolicyId")
4070
+ def cache_policy_id(self) -> Optional[_builtins.str]:
4071
+ """
4072
+ Unique identifier of the cache policy that is attached to the cache behavior.
4073
+ """
4074
+ return pulumi.get(self, "cache_policy_id")
4075
+
4076
+ @_builtins.property
4077
+ @pulumi.getter
4078
+ def compress(self) -> Optional[_builtins.bool]:
4079
+ """
4080
+ Whether you want CloudFront to automatically compress content for web requests that include `Accept-Encoding: gzip` in the request header. Default: `false`.
4081
+ """
4082
+ return pulumi.get(self, "compress")
4083
+
4084
+ @_builtins.property
4085
+ @pulumi.getter(name="fieldLevelEncryptionId")
4086
+ def field_level_encryption_id(self) -> Optional[_builtins.str]:
4087
+ """
4088
+ Field level encryption configuration ID.
4089
+ """
4090
+ return pulumi.get(self, "field_level_encryption_id")
4091
+
4092
+ @_builtins.property
4093
+ @pulumi.getter(name="functionAssociations")
4094
+ def function_associations(self) -> Optional[Sequence['outputs.MultitenantDistributionCacheBehaviorFunctionAssociation']]:
4095
+ """
4096
+ Configuration block for CloudFront Functions associations. See Function Association below.
4097
+ """
4098
+ return pulumi.get(self, "function_associations")
4099
+
4100
+ @_builtins.property
4101
+ @pulumi.getter(name="lambdaFunctionAssociations")
4102
+ def lambda_function_associations(self) -> Optional[Sequence['outputs.MultitenantDistributionCacheBehaviorLambdaFunctionAssociation']]:
4103
+ """
4104
+ Configuration block for Lambda@Edge associations. See Lambda Function Association below.
4105
+ """
4106
+ return pulumi.get(self, "lambda_function_associations")
4107
+
4108
+ @_builtins.property
4109
+ @pulumi.getter(name="originRequestPolicyId")
4110
+ def origin_request_policy_id(self) -> Optional[_builtins.str]:
4111
+ """
4112
+ Unique identifier of the origin request policy that is attached to the behavior.
4113
+ """
4114
+ return pulumi.get(self, "origin_request_policy_id")
4115
+
4116
+ @_builtins.property
4117
+ @pulumi.getter(name="realtimeLogConfigArn")
4118
+ def realtime_log_config_arn(self) -> Optional[_builtins.str]:
4119
+ """
4120
+ ARN of the real-time log configuration that is attached to this cache behavior.
4121
+ """
4122
+ return pulumi.get(self, "realtime_log_config_arn")
4123
+
4124
+ @_builtins.property
4125
+ @pulumi.getter(name="responseHeadersPolicyId")
4126
+ def response_headers_policy_id(self) -> Optional[_builtins.str]:
4127
+ """
4128
+ Identifier for a response headers policy.
4129
+ """
4130
+ return pulumi.get(self, "response_headers_policy_id")
4131
+
4132
+ @_builtins.property
4133
+ @pulumi.getter(name="trustedKeyGroups")
4134
+ def trusted_key_groups(self) -> Optional['outputs.MultitenantDistributionCacheBehaviorTrustedKeyGroups']:
4135
+ """
4136
+ List of key group IDs that CloudFront can use to validate signed URLs or signed cookies.
4137
+ """
4138
+ return pulumi.get(self, "trusted_key_groups")
4139
+
4140
+
4141
+ @pulumi.output_type
4142
+ class MultitenantDistributionCacheBehaviorAllowedMethods(dict):
4143
+ @staticmethod
4144
+ def __key_warning(key: str):
4145
+ suggest = None
4146
+ if key == "cachedMethods":
4147
+ suggest = "cached_methods"
4148
+
4149
+ if suggest:
4150
+ pulumi.log.warn(f"Key '{key}' not found in MultitenantDistributionCacheBehaviorAllowedMethods. Access the value via the '{suggest}' property getter instead.")
4151
+
4152
+ def __getitem__(self, key: str) -> Any:
4153
+ MultitenantDistributionCacheBehaviorAllowedMethods.__key_warning(key)
4154
+ return super().__getitem__(key)
4155
+
4156
+ def get(self, key: str, default = None) -> Any:
4157
+ MultitenantDistributionCacheBehaviorAllowedMethods.__key_warning(key)
4158
+ return super().get(key, default)
4159
+
4160
+ def __init__(__self__, *,
4161
+ cached_methods: Sequence[_builtins.str],
4162
+ items: Sequence[_builtins.str]):
4163
+ """
4164
+ :param Sequence[_builtins.str] cached_methods: Controls whether CloudFront caches the response to requests using the specified HTTP methods.
4165
+ """
4166
+ pulumi.set(__self__, "cached_methods", cached_methods)
4167
+ pulumi.set(__self__, "items", items)
4168
+
4169
+ @_builtins.property
4170
+ @pulumi.getter(name="cachedMethods")
4171
+ def cached_methods(self) -> Sequence[_builtins.str]:
4172
+ """
4173
+ Controls whether CloudFront caches the response to requests using the specified HTTP methods.
4174
+ """
4175
+ return pulumi.get(self, "cached_methods")
4176
+
4177
+ @_builtins.property
4178
+ @pulumi.getter
4179
+ def items(self) -> Sequence[_builtins.str]:
4180
+ return pulumi.get(self, "items")
4181
+
4182
+
4183
+ @pulumi.output_type
4184
+ class MultitenantDistributionCacheBehaviorFunctionAssociation(dict):
4185
+ @staticmethod
4186
+ def __key_warning(key: str):
4187
+ suggest = None
4188
+ if key == "eventType":
4189
+ suggest = "event_type"
4190
+ elif key == "functionArn":
4191
+ suggest = "function_arn"
4192
+
4193
+ if suggest:
4194
+ pulumi.log.warn(f"Key '{key}' not found in MultitenantDistributionCacheBehaviorFunctionAssociation. Access the value via the '{suggest}' property getter instead.")
4195
+
4196
+ def __getitem__(self, key: str) -> Any:
4197
+ MultitenantDistributionCacheBehaviorFunctionAssociation.__key_warning(key)
4198
+ return super().__getitem__(key)
4199
+
4200
+ def get(self, key: str, default = None) -> Any:
4201
+ MultitenantDistributionCacheBehaviorFunctionAssociation.__key_warning(key)
4202
+ return super().get(key, default)
4203
+
4204
+ def __init__(__self__, *,
4205
+ event_type: _builtins.str,
4206
+ function_arn: _builtins.str):
4207
+ """
4208
+ :param _builtins.str event_type: Specific event to trigger this function. Valid values: `viewer-request`, `origin-request`, `viewer-response`, `origin-response`.
4209
+ :param _builtins.str function_arn: ARN of the CloudFront function.
4210
+ """
4211
+ pulumi.set(__self__, "event_type", event_type)
4212
+ pulumi.set(__self__, "function_arn", function_arn)
4213
+
4214
+ @_builtins.property
4215
+ @pulumi.getter(name="eventType")
4216
+ def event_type(self) -> _builtins.str:
4217
+ """
4218
+ Specific event to trigger this function. Valid values: `viewer-request`, `origin-request`, `viewer-response`, `origin-response`.
4219
+ """
4220
+ return pulumi.get(self, "event_type")
4221
+
4222
+ @_builtins.property
4223
+ @pulumi.getter(name="functionArn")
4224
+ def function_arn(self) -> _builtins.str:
4225
+ """
4226
+ ARN of the CloudFront function.
4227
+ """
4228
+ return pulumi.get(self, "function_arn")
4229
+
4230
+
4231
+ @pulumi.output_type
4232
+ class MultitenantDistributionCacheBehaviorLambdaFunctionAssociation(dict):
4233
+ @staticmethod
4234
+ def __key_warning(key: str):
4235
+ suggest = None
4236
+ if key == "eventType":
4237
+ suggest = "event_type"
4238
+ elif key == "lambdaFunctionArn":
4239
+ suggest = "lambda_function_arn"
4240
+ elif key == "includeBody":
4241
+ suggest = "include_body"
4242
+
4243
+ if suggest:
4244
+ pulumi.log.warn(f"Key '{key}' not found in MultitenantDistributionCacheBehaviorLambdaFunctionAssociation. Access the value via the '{suggest}' property getter instead.")
4245
+
4246
+ def __getitem__(self, key: str) -> Any:
4247
+ MultitenantDistributionCacheBehaviorLambdaFunctionAssociation.__key_warning(key)
4248
+ return super().__getitem__(key)
4249
+
4250
+ def get(self, key: str, default = None) -> Any:
4251
+ MultitenantDistributionCacheBehaviorLambdaFunctionAssociation.__key_warning(key)
4252
+ return super().get(key, default)
4253
+
4254
+ def __init__(__self__, *,
4255
+ event_type: _builtins.str,
4256
+ lambda_function_arn: _builtins.str,
4257
+ include_body: Optional[_builtins.bool] = None):
4258
+ """
4259
+ :param _builtins.str event_type: Specific event to trigger this function. Valid values: `viewer-request`, `origin-request`, `viewer-response`, `origin-response`.
4260
+ :param _builtins.str lambda_function_arn: ARN of the Lambda function.
4261
+ :param _builtins.bool include_body: When set to true, the request body is exposed to the Lambda function. Default: `false`.
4262
+ """
4263
+ pulumi.set(__self__, "event_type", event_type)
4264
+ pulumi.set(__self__, "lambda_function_arn", lambda_function_arn)
4265
+ if include_body is not None:
4266
+ pulumi.set(__self__, "include_body", include_body)
4267
+
4268
+ @_builtins.property
4269
+ @pulumi.getter(name="eventType")
4270
+ def event_type(self) -> _builtins.str:
4271
+ """
4272
+ Specific event to trigger this function. Valid values: `viewer-request`, `origin-request`, `viewer-response`, `origin-response`.
4273
+ """
4274
+ return pulumi.get(self, "event_type")
4275
+
4276
+ @_builtins.property
4277
+ @pulumi.getter(name="lambdaFunctionArn")
4278
+ def lambda_function_arn(self) -> _builtins.str:
4279
+ """
4280
+ ARN of the Lambda function.
4281
+ """
4282
+ return pulumi.get(self, "lambda_function_arn")
4283
+
4284
+ @_builtins.property
4285
+ @pulumi.getter(name="includeBody")
4286
+ def include_body(self) -> Optional[_builtins.bool]:
4287
+ """
4288
+ When set to true, the request body is exposed to the Lambda function. Default: `false`.
4289
+ """
4290
+ return pulumi.get(self, "include_body")
4291
+
4292
+
4293
+ @pulumi.output_type
4294
+ class MultitenantDistributionCacheBehaviorTrustedKeyGroups(dict):
4295
+ def __init__(__self__, *,
4296
+ enabled: Optional[_builtins.bool] = None,
4297
+ items: Optional[Sequence[_builtins.str]] = None):
4298
+ """
4299
+ :param _builtins.bool enabled: Whether the distribution is enabled to accept end user requests for content.
4300
+ """
4301
+ if enabled is not None:
4302
+ pulumi.set(__self__, "enabled", enabled)
4303
+ if items is not None:
4304
+ pulumi.set(__self__, "items", items)
4305
+
4306
+ @_builtins.property
4307
+ @pulumi.getter
4308
+ def enabled(self) -> Optional[_builtins.bool]:
4309
+ """
4310
+ Whether the distribution is enabled to accept end user requests for content.
4311
+ """
4312
+ return pulumi.get(self, "enabled")
4313
+
4314
+ @_builtins.property
4315
+ @pulumi.getter
4316
+ def items(self) -> Optional[Sequence[_builtins.str]]:
4317
+ return pulumi.get(self, "items")
4318
+
4319
+
4320
+ @pulumi.output_type
4321
+ class MultitenantDistributionCustomErrorResponse(dict):
4322
+ @staticmethod
4323
+ def __key_warning(key: str):
4324
+ suggest = None
4325
+ if key == "errorCode":
4326
+ suggest = "error_code"
4327
+ elif key == "errorCachingMinTtl":
4328
+ suggest = "error_caching_min_ttl"
4329
+ elif key == "responseCode":
4330
+ suggest = "response_code"
4331
+ elif key == "responsePagePath":
4332
+ suggest = "response_page_path"
4333
+
4334
+ if suggest:
4335
+ pulumi.log.warn(f"Key '{key}' not found in MultitenantDistributionCustomErrorResponse. Access the value via the '{suggest}' property getter instead.")
4336
+
4337
+ def __getitem__(self, key: str) -> Any:
4338
+ MultitenantDistributionCustomErrorResponse.__key_warning(key)
4339
+ return super().__getitem__(key)
4340
+
4341
+ def get(self, key: str, default = None) -> Any:
4342
+ MultitenantDistributionCustomErrorResponse.__key_warning(key)
4343
+ return super().get(key, default)
4344
+
4345
+ def __init__(__self__, *,
4346
+ error_code: _builtins.int,
4347
+ error_caching_min_ttl: Optional[_builtins.int] = None,
4348
+ response_code: Optional[_builtins.str] = None,
4349
+ response_page_path: Optional[_builtins.str] = None):
4350
+ """
4351
+ :param _builtins.int error_code: HTTP status code for which you want to specify a custom error page and/or a caching duration.
4352
+ :param _builtins.int error_caching_min_ttl: Minimum amount of time that you want CloudFront to cache the HTTP status code specified in ErrorCode.
4353
+ :param _builtins.str response_code: HTTP status code that you want CloudFront to return to the viewer along with the custom error page.
4354
+ :param _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.
4355
+ """
4356
+ pulumi.set(__self__, "error_code", error_code)
4357
+ if error_caching_min_ttl is not None:
4358
+ pulumi.set(__self__, "error_caching_min_ttl", error_caching_min_ttl)
4359
+ if response_code is not None:
4360
+ pulumi.set(__self__, "response_code", response_code)
4361
+ if response_page_path is not None:
4362
+ pulumi.set(__self__, "response_page_path", response_page_path)
4363
+
4364
+ @_builtins.property
4365
+ @pulumi.getter(name="errorCode")
4366
+ def error_code(self) -> _builtins.int:
4367
+ """
4368
+ HTTP status code for which you want to specify a custom error page and/or a caching duration.
4369
+ """
4370
+ return pulumi.get(self, "error_code")
4371
+
4372
+ @_builtins.property
4373
+ @pulumi.getter(name="errorCachingMinTtl")
4374
+ def error_caching_min_ttl(self) -> Optional[_builtins.int]:
4375
+ """
4376
+ Minimum amount of time that you want CloudFront to cache the HTTP status code specified in ErrorCode.
4377
+ """
4378
+ return pulumi.get(self, "error_caching_min_ttl")
4379
+
4380
+ @_builtins.property
4381
+ @pulumi.getter(name="responseCode")
4382
+ def response_code(self) -> Optional[_builtins.str]:
4383
+ """
4384
+ HTTP status code that you want CloudFront to return to the viewer along with the custom error page.
4385
+ """
4386
+ return pulumi.get(self, "response_code")
4387
+
4388
+ @_builtins.property
4389
+ @pulumi.getter(name="responsePagePath")
4390
+ def response_page_path(self) -> Optional[_builtins.str]:
4391
+ """
4392
+ 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.
4393
+ """
4394
+ return pulumi.get(self, "response_page_path")
4395
+
4396
+
4397
+ @pulumi.output_type
4398
+ class MultitenantDistributionDefaultCacheBehavior(dict):
4399
+ @staticmethod
4400
+ def __key_warning(key: str):
4401
+ suggest = None
4402
+ if key == "targetOriginId":
4403
+ suggest = "target_origin_id"
4404
+ elif key == "viewerProtocolPolicy":
4405
+ suggest = "viewer_protocol_policy"
4406
+ elif key == "allowedMethods":
4407
+ suggest = "allowed_methods"
4408
+ elif key == "cachePolicyId":
4409
+ suggest = "cache_policy_id"
4410
+ elif key == "fieldLevelEncryptionId":
4411
+ suggest = "field_level_encryption_id"
4412
+ elif key == "functionAssociations":
4413
+ suggest = "function_associations"
4414
+ elif key == "lambdaFunctionAssociations":
4415
+ suggest = "lambda_function_associations"
4416
+ elif key == "originRequestPolicyId":
4417
+ suggest = "origin_request_policy_id"
4418
+ elif key == "realtimeLogConfigArn":
4419
+ suggest = "realtime_log_config_arn"
4420
+ elif key == "responseHeadersPolicyId":
4421
+ suggest = "response_headers_policy_id"
4422
+ elif key == "trustedKeyGroups":
4423
+ suggest = "trusted_key_groups"
4424
+
4425
+ if suggest:
4426
+ pulumi.log.warn(f"Key '{key}' not found in MultitenantDistributionDefaultCacheBehavior. Access the value via the '{suggest}' property getter instead.")
4427
+
4428
+ def __getitem__(self, key: str) -> Any:
4429
+ MultitenantDistributionDefaultCacheBehavior.__key_warning(key)
4430
+ return super().__getitem__(key)
4431
+
4432
+ def get(self, key: str, default = None) -> Any:
4433
+ MultitenantDistributionDefaultCacheBehavior.__key_warning(key)
4434
+ return super().get(key, default)
4435
+
4436
+ def __init__(__self__, *,
4437
+ target_origin_id: _builtins.str,
4438
+ viewer_protocol_policy: _builtins.str,
4439
+ allowed_methods: Optional['outputs.MultitenantDistributionDefaultCacheBehaviorAllowedMethods'] = None,
4440
+ cache_policy_id: Optional[_builtins.str] = None,
4441
+ compress: Optional[_builtins.bool] = None,
4442
+ field_level_encryption_id: Optional[_builtins.str] = None,
4443
+ function_associations: Optional[Sequence['outputs.MultitenantDistributionDefaultCacheBehaviorFunctionAssociation']] = None,
4444
+ lambda_function_associations: Optional[Sequence['outputs.MultitenantDistributionDefaultCacheBehaviorLambdaFunctionAssociation']] = None,
4445
+ origin_request_policy_id: Optional[_builtins.str] = None,
4446
+ realtime_log_config_arn: Optional[_builtins.str] = None,
4447
+ response_headers_policy_id: Optional[_builtins.str] = None,
4448
+ trusted_key_groups: Optional['outputs.MultitenantDistributionDefaultCacheBehaviorTrustedKeyGroups'] = None):
4449
+ """
4450
+ :param _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.
4451
+ :param _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`.
4452
+ :param 'MultitenantDistributionDefaultCacheBehaviorAllowedMethodsArgs' allowed_methods: Controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin.
4453
+ :param _builtins.str cache_policy_id: Unique identifier of the cache policy that is attached to the cache behavior.
4454
+ :param _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`.
4455
+ :param _builtins.str field_level_encryption_id: Field level encryption configuration ID.
4456
+ :param Sequence['MultitenantDistributionDefaultCacheBehaviorFunctionAssociationArgs'] function_associations: Configuration block for CloudFront Functions associations. See Function Association below.
4457
+ :param Sequence['MultitenantDistributionDefaultCacheBehaviorLambdaFunctionAssociationArgs'] lambda_function_associations: Configuration block for Lambda@Edge associations. See Lambda Function Association below.
4458
+ :param _builtins.str origin_request_policy_id: Unique identifier of the origin request policy that is attached to the behavior.
4459
+ :param _builtins.str realtime_log_config_arn: ARN of the real-time log configuration that is attached to this cache behavior.
4460
+ :param _builtins.str response_headers_policy_id: Identifier for a response headers policy.
4461
+ :param 'MultitenantDistributionDefaultCacheBehaviorTrustedKeyGroupsArgs' trusted_key_groups: List of key group IDs that CloudFront can use to validate signed URLs or signed cookies.
4462
+ """
4463
+ pulumi.set(__self__, "target_origin_id", target_origin_id)
4464
+ pulumi.set(__self__, "viewer_protocol_policy", viewer_protocol_policy)
4465
+ if allowed_methods is not None:
4466
+ pulumi.set(__self__, "allowed_methods", allowed_methods)
4467
+ if cache_policy_id is not None:
4468
+ pulumi.set(__self__, "cache_policy_id", cache_policy_id)
4469
+ if compress is not None:
4470
+ pulumi.set(__self__, "compress", compress)
4471
+ if field_level_encryption_id is not None:
4472
+ pulumi.set(__self__, "field_level_encryption_id", field_level_encryption_id)
4473
+ if function_associations is not None:
4474
+ pulumi.set(__self__, "function_associations", function_associations)
4475
+ if lambda_function_associations is not None:
4476
+ pulumi.set(__self__, "lambda_function_associations", lambda_function_associations)
4477
+ if origin_request_policy_id is not None:
4478
+ pulumi.set(__self__, "origin_request_policy_id", origin_request_policy_id)
4479
+ if realtime_log_config_arn is not None:
4480
+ pulumi.set(__self__, "realtime_log_config_arn", realtime_log_config_arn)
4481
+ if response_headers_policy_id is not None:
4482
+ pulumi.set(__self__, "response_headers_policy_id", response_headers_policy_id)
4483
+ if trusted_key_groups is not None:
4484
+ pulumi.set(__self__, "trusted_key_groups", trusted_key_groups)
4485
+
4486
+ @_builtins.property
4487
+ @pulumi.getter(name="targetOriginId")
4488
+ def target_origin_id(self) -> _builtins.str:
4489
+ """
4490
+ 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.
4491
+ """
4492
+ return pulumi.get(self, "target_origin_id")
4493
+
4494
+ @_builtins.property
4495
+ @pulumi.getter(name="viewerProtocolPolicy")
4496
+ def viewer_protocol_policy(self) -> _builtins.str:
4497
+ """
4498
+ 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`.
4499
+ """
4500
+ return pulumi.get(self, "viewer_protocol_policy")
4501
+
4502
+ @_builtins.property
4503
+ @pulumi.getter(name="allowedMethods")
4504
+ def allowed_methods(self) -> Optional['outputs.MultitenantDistributionDefaultCacheBehaviorAllowedMethods']:
4505
+ """
4506
+ Controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin.
4507
+ """
4508
+ return pulumi.get(self, "allowed_methods")
4509
+
4510
+ @_builtins.property
4511
+ @pulumi.getter(name="cachePolicyId")
4512
+ def cache_policy_id(self) -> Optional[_builtins.str]:
4513
+ """
4514
+ Unique identifier of the cache policy that is attached to the cache behavior.
4515
+ """
4516
+ return pulumi.get(self, "cache_policy_id")
4517
+
4518
+ @_builtins.property
4519
+ @pulumi.getter
4520
+ def compress(self) -> Optional[_builtins.bool]:
4521
+ """
4522
+ Whether you want CloudFront to automatically compress content for web requests that include `Accept-Encoding: gzip` in the request header. Default: `false`.
4523
+ """
4524
+ return pulumi.get(self, "compress")
4525
+
4526
+ @_builtins.property
4527
+ @pulumi.getter(name="fieldLevelEncryptionId")
4528
+ def field_level_encryption_id(self) -> Optional[_builtins.str]:
4529
+ """
4530
+ Field level encryption configuration ID.
4531
+ """
4532
+ return pulumi.get(self, "field_level_encryption_id")
4533
+
4534
+ @_builtins.property
4535
+ @pulumi.getter(name="functionAssociations")
4536
+ def function_associations(self) -> Optional[Sequence['outputs.MultitenantDistributionDefaultCacheBehaviorFunctionAssociation']]:
4537
+ """
4538
+ Configuration block for CloudFront Functions associations. See Function Association below.
4539
+ """
4540
+ return pulumi.get(self, "function_associations")
4541
+
4542
+ @_builtins.property
4543
+ @pulumi.getter(name="lambdaFunctionAssociations")
4544
+ def lambda_function_associations(self) -> Optional[Sequence['outputs.MultitenantDistributionDefaultCacheBehaviorLambdaFunctionAssociation']]:
4545
+ """
4546
+ Configuration block for Lambda@Edge associations. See Lambda Function Association below.
4547
+ """
4548
+ return pulumi.get(self, "lambda_function_associations")
4549
+
4550
+ @_builtins.property
4551
+ @pulumi.getter(name="originRequestPolicyId")
4552
+ def origin_request_policy_id(self) -> Optional[_builtins.str]:
4553
+ """
4554
+ Unique identifier of the origin request policy that is attached to the behavior.
4555
+ """
4556
+ return pulumi.get(self, "origin_request_policy_id")
4557
+
4558
+ @_builtins.property
4559
+ @pulumi.getter(name="realtimeLogConfigArn")
4560
+ def realtime_log_config_arn(self) -> Optional[_builtins.str]:
4561
+ """
4562
+ ARN of the real-time log configuration that is attached to this cache behavior.
4563
+ """
4564
+ return pulumi.get(self, "realtime_log_config_arn")
4565
+
4566
+ @_builtins.property
4567
+ @pulumi.getter(name="responseHeadersPolicyId")
4568
+ def response_headers_policy_id(self) -> Optional[_builtins.str]:
4569
+ """
4570
+ Identifier for a response headers policy.
4571
+ """
4572
+ return pulumi.get(self, "response_headers_policy_id")
4573
+
4574
+ @_builtins.property
4575
+ @pulumi.getter(name="trustedKeyGroups")
4576
+ def trusted_key_groups(self) -> Optional['outputs.MultitenantDistributionDefaultCacheBehaviorTrustedKeyGroups']:
4577
+ """
4578
+ List of key group IDs that CloudFront can use to validate signed URLs or signed cookies.
4579
+ """
4580
+ return pulumi.get(self, "trusted_key_groups")
4581
+
4582
+
4583
+ @pulumi.output_type
4584
+ class MultitenantDistributionDefaultCacheBehaviorAllowedMethods(dict):
4585
+ @staticmethod
4586
+ def __key_warning(key: str):
4587
+ suggest = None
4588
+ if key == "cachedMethods":
4589
+ suggest = "cached_methods"
4590
+
4591
+ if suggest:
4592
+ pulumi.log.warn(f"Key '{key}' not found in MultitenantDistributionDefaultCacheBehaviorAllowedMethods. Access the value via the '{suggest}' property getter instead.")
4593
+
4594
+ def __getitem__(self, key: str) -> Any:
4595
+ MultitenantDistributionDefaultCacheBehaviorAllowedMethods.__key_warning(key)
4596
+ return super().__getitem__(key)
4597
+
4598
+ def get(self, key: str, default = None) -> Any:
4599
+ MultitenantDistributionDefaultCacheBehaviorAllowedMethods.__key_warning(key)
4600
+ return super().get(key, default)
4601
+
4602
+ def __init__(__self__, *,
4603
+ cached_methods: Sequence[_builtins.str],
4604
+ items: Sequence[_builtins.str]):
4605
+ """
4606
+ :param Sequence[_builtins.str] cached_methods: Controls whether CloudFront caches the response to requests using the specified HTTP methods.
4607
+ """
4608
+ pulumi.set(__self__, "cached_methods", cached_methods)
4609
+ pulumi.set(__self__, "items", items)
4610
+
4611
+ @_builtins.property
4612
+ @pulumi.getter(name="cachedMethods")
4613
+ def cached_methods(self) -> Sequence[_builtins.str]:
4614
+ """
4615
+ Controls whether CloudFront caches the response to requests using the specified HTTP methods.
4616
+ """
4617
+ return pulumi.get(self, "cached_methods")
4618
+
4619
+ @_builtins.property
4620
+ @pulumi.getter
4621
+ def items(self) -> Sequence[_builtins.str]:
4622
+ return pulumi.get(self, "items")
4623
+
4624
+
4625
+ @pulumi.output_type
4626
+ class MultitenantDistributionDefaultCacheBehaviorFunctionAssociation(dict):
4627
+ @staticmethod
4628
+ def __key_warning(key: str):
4629
+ suggest = None
4630
+ if key == "eventType":
4631
+ suggest = "event_type"
4632
+ elif key == "functionArn":
4633
+ suggest = "function_arn"
4634
+
4635
+ if suggest:
4636
+ pulumi.log.warn(f"Key '{key}' not found in MultitenantDistributionDefaultCacheBehaviorFunctionAssociation. Access the value via the '{suggest}' property getter instead.")
4637
+
4638
+ def __getitem__(self, key: str) -> Any:
4639
+ MultitenantDistributionDefaultCacheBehaviorFunctionAssociation.__key_warning(key)
4640
+ return super().__getitem__(key)
4641
+
4642
+ def get(self, key: str, default = None) -> Any:
4643
+ MultitenantDistributionDefaultCacheBehaviorFunctionAssociation.__key_warning(key)
4644
+ return super().get(key, default)
4645
+
4646
+ def __init__(__self__, *,
4647
+ event_type: _builtins.str,
4648
+ function_arn: _builtins.str):
4649
+ """
4650
+ :param _builtins.str event_type: Specific event to trigger this function. Valid values: `viewer-request`, `origin-request`, `viewer-response`, `origin-response`.
4651
+ :param _builtins.str function_arn: ARN of the CloudFront function.
4652
+ """
4653
+ pulumi.set(__self__, "event_type", event_type)
4654
+ pulumi.set(__self__, "function_arn", function_arn)
4655
+
4656
+ @_builtins.property
4657
+ @pulumi.getter(name="eventType")
4658
+ def event_type(self) -> _builtins.str:
4659
+ """
4660
+ Specific event to trigger this function. Valid values: `viewer-request`, `origin-request`, `viewer-response`, `origin-response`.
4661
+ """
4662
+ return pulumi.get(self, "event_type")
4663
+
4664
+ @_builtins.property
4665
+ @pulumi.getter(name="functionArn")
4666
+ def function_arn(self) -> _builtins.str:
4667
+ """
4668
+ ARN of the CloudFront function.
4669
+ """
4670
+ return pulumi.get(self, "function_arn")
4671
+
4672
+
4673
+ @pulumi.output_type
4674
+ class MultitenantDistributionDefaultCacheBehaviorLambdaFunctionAssociation(dict):
4675
+ @staticmethod
4676
+ def __key_warning(key: str):
4677
+ suggest = None
4678
+ if key == "eventType":
4679
+ suggest = "event_type"
4680
+ elif key == "lambdaFunctionArn":
4681
+ suggest = "lambda_function_arn"
4682
+ elif key == "includeBody":
4683
+ suggest = "include_body"
4684
+
4685
+ if suggest:
4686
+ pulumi.log.warn(f"Key '{key}' not found in MultitenantDistributionDefaultCacheBehaviorLambdaFunctionAssociation. Access the value via the '{suggest}' property getter instead.")
4687
+
4688
+ def __getitem__(self, key: str) -> Any:
4689
+ MultitenantDistributionDefaultCacheBehaviorLambdaFunctionAssociation.__key_warning(key)
4690
+ return super().__getitem__(key)
4691
+
4692
+ def get(self, key: str, default = None) -> Any:
4693
+ MultitenantDistributionDefaultCacheBehaviorLambdaFunctionAssociation.__key_warning(key)
4694
+ return super().get(key, default)
4695
+
4696
+ def __init__(__self__, *,
4697
+ event_type: _builtins.str,
4698
+ lambda_function_arn: _builtins.str,
4699
+ include_body: Optional[_builtins.bool] = None):
4700
+ """
4701
+ :param _builtins.str event_type: Specific event to trigger this function. Valid values: `viewer-request`, `origin-request`, `viewer-response`, `origin-response`.
4702
+ :param _builtins.str lambda_function_arn: ARN of the Lambda function.
4703
+ :param _builtins.bool include_body: When set to true, the request body is exposed to the Lambda function. Default: `false`.
4704
+ """
4705
+ pulumi.set(__self__, "event_type", event_type)
4706
+ pulumi.set(__self__, "lambda_function_arn", lambda_function_arn)
4707
+ if include_body is not None:
4708
+ pulumi.set(__self__, "include_body", include_body)
4709
+
4710
+ @_builtins.property
4711
+ @pulumi.getter(name="eventType")
4712
+ def event_type(self) -> _builtins.str:
4713
+ """
4714
+ Specific event to trigger this function. Valid values: `viewer-request`, `origin-request`, `viewer-response`, `origin-response`.
4715
+ """
4716
+ return pulumi.get(self, "event_type")
4717
+
4718
+ @_builtins.property
4719
+ @pulumi.getter(name="lambdaFunctionArn")
4720
+ def lambda_function_arn(self) -> _builtins.str:
4721
+ """
4722
+ ARN of the Lambda function.
4723
+ """
4724
+ return pulumi.get(self, "lambda_function_arn")
4725
+
4726
+ @_builtins.property
4727
+ @pulumi.getter(name="includeBody")
4728
+ def include_body(self) -> Optional[_builtins.bool]:
4729
+ """
4730
+ When set to true, the request body is exposed to the Lambda function. Default: `false`.
4731
+ """
4732
+ return pulumi.get(self, "include_body")
4733
+
4734
+
4735
+ @pulumi.output_type
4736
+ class MultitenantDistributionDefaultCacheBehaviorTrustedKeyGroups(dict):
4737
+ def __init__(__self__, *,
4738
+ enabled: Optional[_builtins.bool] = None,
4739
+ items: Optional[Sequence[_builtins.str]] = None):
4740
+ """
4741
+ :param _builtins.bool enabled: Whether the distribution is enabled to accept end user requests for content.
4742
+ """
4743
+ if enabled is not None:
4744
+ pulumi.set(__self__, "enabled", enabled)
4745
+ if items is not None:
4746
+ pulumi.set(__self__, "items", items)
4747
+
4748
+ @_builtins.property
4749
+ @pulumi.getter
4750
+ def enabled(self) -> Optional[_builtins.bool]:
4751
+ """
4752
+ Whether the distribution is enabled to accept end user requests for content.
4753
+ """
4754
+ return pulumi.get(self, "enabled")
4755
+
4756
+ @_builtins.property
4757
+ @pulumi.getter
4758
+ def items(self) -> Optional[Sequence[_builtins.str]]:
4759
+ return pulumi.get(self, "items")
4760
+
4761
+
4762
+ @pulumi.output_type
4763
+ class MultitenantDistributionOrigin(dict):
4764
+ @staticmethod
4765
+ def __key_warning(key: str):
4766
+ suggest = None
4767
+ if key == "domainName":
4768
+ suggest = "domain_name"
4769
+ elif key == "connectionAttempts":
4770
+ suggest = "connection_attempts"
4771
+ elif key == "connectionTimeout":
4772
+ suggest = "connection_timeout"
4773
+ elif key == "customHeaders":
4774
+ suggest = "custom_headers"
4775
+ elif key == "customOriginConfigs":
4776
+ suggest = "custom_origin_configs"
4777
+ elif key == "originAccessControlId":
4778
+ suggest = "origin_access_control_id"
4779
+ elif key == "originPath":
4780
+ suggest = "origin_path"
4781
+ elif key == "originShields":
4782
+ suggest = "origin_shields"
4783
+ elif key == "responseCompletionTimeout":
4784
+ suggest = "response_completion_timeout"
4785
+ elif key == "vpcOriginConfigs":
4786
+ suggest = "vpc_origin_configs"
4787
+
4788
+ if suggest:
4789
+ pulumi.log.warn(f"Key '{key}' not found in MultitenantDistributionOrigin. Access the value via the '{suggest}' property getter instead.")
4790
+
4791
+ def __getitem__(self, key: str) -> Any:
4792
+ MultitenantDistributionOrigin.__key_warning(key)
4793
+ return super().__getitem__(key)
4794
+
4795
+ def get(self, key: str, default = None) -> Any:
4796
+ MultitenantDistributionOrigin.__key_warning(key)
4797
+ return super().get(key, default)
4798
+
4799
+ def __init__(__self__, *,
4800
+ domain_name: _builtins.str,
4801
+ id: _builtins.str,
4802
+ connection_attempts: Optional[_builtins.int] = None,
4803
+ connection_timeout: Optional[_builtins.int] = None,
4804
+ custom_headers: Optional[Sequence['outputs.MultitenantDistributionOriginCustomHeader']] = None,
4805
+ custom_origin_configs: Optional[Sequence['outputs.MultitenantDistributionOriginCustomOriginConfig']] = None,
4806
+ origin_access_control_id: Optional[_builtins.str] = None,
4807
+ origin_path: Optional[_builtins.str] = None,
4808
+ origin_shields: Optional[Sequence['outputs.MultitenantDistributionOriginOriginShield']] = None,
4809
+ response_completion_timeout: Optional[_builtins.int] = None,
4810
+ vpc_origin_configs: Optional[Sequence['outputs.MultitenantDistributionOriginVpcOriginConfig']] = None):
4811
+ """
4812
+ :param _builtins.str domain_name: DNS domain name of either the S3 bucket, or web site of your custom origin.
4813
+ :param _builtins.str id: Identifier for the distribution.
4814
+ :param _builtins.int connection_attempts: Number of times that CloudFront attempts to connect to the origin. Must be between 1-3. Default: 3.
4815
+ :param _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.
4816
+ :param Sequence['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.
4817
+ :param Sequence['MultitenantDistributionOriginCustomOriginConfigArgs'] custom_origin_configs: CloudFront origin access identity to associate with the origin. See Custom Origin Config below.
4818
+ :param _builtins.str origin_access_control_id: CloudFront origin access control identifier to associate with the origin.
4819
+ :param _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.
4820
+ :param Sequence['MultitenantDistributionOriginOriginShieldArgs'] origin_shields: CloudFront Origin Shield configuration information. See Origin Shield below.
4821
+ :param _builtins.int response_completion_timeout: Number of seconds that CloudFront waits for a response after forwarding a request to the origin. Default: 30.
4822
+ :param Sequence['MultitenantDistributionOriginVpcOriginConfigArgs'] vpc_origin_configs: CloudFront VPC origin configuration. See VPC Origin Config below.
4823
+ """
4824
+ pulumi.set(__self__, "domain_name", domain_name)
4825
+ pulumi.set(__self__, "id", id)
4826
+ if connection_attempts is not None:
4827
+ pulumi.set(__self__, "connection_attempts", connection_attempts)
4828
+ if connection_timeout is not None:
4829
+ pulumi.set(__self__, "connection_timeout", connection_timeout)
4830
+ if custom_headers is not None:
4831
+ pulumi.set(__self__, "custom_headers", custom_headers)
4832
+ if custom_origin_configs is not None:
4833
+ pulumi.set(__self__, "custom_origin_configs", custom_origin_configs)
4834
+ if origin_access_control_id is not None:
4835
+ pulumi.set(__self__, "origin_access_control_id", origin_access_control_id)
4836
+ if origin_path is not None:
4837
+ pulumi.set(__self__, "origin_path", origin_path)
4838
+ if origin_shields is not None:
4839
+ pulumi.set(__self__, "origin_shields", origin_shields)
4840
+ if response_completion_timeout is not None:
4841
+ pulumi.set(__self__, "response_completion_timeout", response_completion_timeout)
4842
+ if vpc_origin_configs is not None:
4843
+ pulumi.set(__self__, "vpc_origin_configs", vpc_origin_configs)
4844
+
4845
+ @_builtins.property
4846
+ @pulumi.getter(name="domainName")
4847
+ def domain_name(self) -> _builtins.str:
4848
+ """
4849
+ DNS domain name of either the S3 bucket, or web site of your custom origin.
4850
+ """
4851
+ return pulumi.get(self, "domain_name")
4852
+
4853
+ @_builtins.property
4854
+ @pulumi.getter
4855
+ def id(self) -> _builtins.str:
4856
+ """
4857
+ Identifier for the distribution.
4858
+ """
4859
+ return pulumi.get(self, "id")
4860
+
4861
+ @_builtins.property
4862
+ @pulumi.getter(name="connectionAttempts")
4863
+ def connection_attempts(self) -> Optional[_builtins.int]:
4864
+ """
4865
+ Number of times that CloudFront attempts to connect to the origin. Must be between 1-3. Default: 3.
4866
+ """
4867
+ return pulumi.get(self, "connection_attempts")
4868
+
4869
+ @_builtins.property
4870
+ @pulumi.getter(name="connectionTimeout")
4871
+ def connection_timeout(self) -> Optional[_builtins.int]:
4872
+ """
4873
+ Number of seconds that CloudFront waits when trying to establish a connection to the origin. Must be between 1-10. Default: 10.
4874
+ """
4875
+ return pulumi.get(self, "connection_timeout")
4876
+
4877
+ @_builtins.property
4878
+ @pulumi.getter(name="customHeaders")
4879
+ def custom_headers(self) -> Optional[Sequence['outputs.MultitenantDistributionOriginCustomHeader']]:
4880
+ """
4881
+ 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.
4882
+ """
4883
+ return pulumi.get(self, "custom_headers")
4884
+
4885
+ @_builtins.property
4886
+ @pulumi.getter(name="customOriginConfigs")
4887
+ def custom_origin_configs(self) -> Optional[Sequence['outputs.MultitenantDistributionOriginCustomOriginConfig']]:
4888
+ """
4889
+ CloudFront origin access identity to associate with the origin. See Custom Origin Config below.
4890
+ """
4891
+ return pulumi.get(self, "custom_origin_configs")
4892
+
4893
+ @_builtins.property
4894
+ @pulumi.getter(name="originAccessControlId")
4895
+ def origin_access_control_id(self) -> Optional[_builtins.str]:
2726
4896
  """
2727
- if acm_certificate_arn is not None:
2728
- pulumi.set(__self__, "acm_certificate_arn", acm_certificate_arn)
2729
- if cloudfront_default_certificate is not None:
2730
- pulumi.set(__self__, "cloudfront_default_certificate", cloudfront_default_certificate)
2731
- if iam_certificate_id is not None:
2732
- pulumi.set(__self__, "iam_certificate_id", iam_certificate_id)
2733
- if minimum_protocol_version is not None:
2734
- pulumi.set(__self__, "minimum_protocol_version", minimum_protocol_version)
2735
- if ssl_support_method is not None:
2736
- pulumi.set(__self__, "ssl_support_method", ssl_support_method)
4897
+ CloudFront origin access control identifier to associate with the origin.
4898
+ """
4899
+ return pulumi.get(self, "origin_access_control_id")
2737
4900
 
2738
4901
  @_builtins.property
2739
- @pulumi.getter(name="acmCertificateArn")
2740
- def acm_certificate_arn(self) -> Optional[_builtins.str]:
4902
+ @pulumi.getter(name="originPath")
4903
+ def origin_path(self) -> Optional[_builtins.str]:
2741
4904
  """
2742
- 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.
4905
+ Optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin.
2743
4906
  """
2744
- return pulumi.get(self, "acm_certificate_arn")
4907
+ return pulumi.get(self, "origin_path")
2745
4908
 
2746
4909
  @_builtins.property
2747
- @pulumi.getter(name="cloudfrontDefaultCertificate")
2748
- def cloudfront_default_certificate(self) -> Optional[_builtins.bool]:
4910
+ @pulumi.getter(name="originShields")
4911
+ def origin_shields(self) -> Optional[Sequence['outputs.MultitenantDistributionOriginOriginShield']]:
2749
4912
  """
2750
- `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`.
4913
+ CloudFront Origin Shield configuration information. See Origin Shield below.
2751
4914
  """
2752
- return pulumi.get(self, "cloudfront_default_certificate")
4915
+ return pulumi.get(self, "origin_shields")
4916
+
4917
+ @_builtins.property
4918
+ @pulumi.getter(name="responseCompletionTimeout")
4919
+ def response_completion_timeout(self) -> Optional[_builtins.int]:
4920
+ """
4921
+ Number of seconds that CloudFront waits for a response after forwarding a request to the origin. Default: 30.
4922
+ """
4923
+ return pulumi.get(self, "response_completion_timeout")
4924
+
4925
+ @_builtins.property
4926
+ @pulumi.getter(name="vpcOriginConfigs")
4927
+ def vpc_origin_configs(self) -> Optional[Sequence['outputs.MultitenantDistributionOriginVpcOriginConfig']]:
4928
+ """
4929
+ CloudFront VPC origin configuration. See VPC Origin Config below.
4930
+ """
4931
+ return pulumi.get(self, "vpc_origin_configs")
4932
+
4933
+
4934
+ @pulumi.output_type
4935
+ class MultitenantDistributionOriginCustomHeader(dict):
4936
+ @staticmethod
4937
+ def __key_warning(key: str):
4938
+ suggest = None
4939
+ if key == "headerName":
4940
+ suggest = "header_name"
4941
+ elif key == "headerValue":
4942
+ suggest = "header_value"
4943
+
4944
+ if suggest:
4945
+ pulumi.log.warn(f"Key '{key}' not found in MultitenantDistributionOriginCustomHeader. Access the value via the '{suggest}' property getter instead.")
4946
+
4947
+ def __getitem__(self, key: str) -> Any:
4948
+ MultitenantDistributionOriginCustomHeader.__key_warning(key)
4949
+ return super().__getitem__(key)
4950
+
4951
+ def get(self, key: str, default = None) -> Any:
4952
+ MultitenantDistributionOriginCustomHeader.__key_warning(key)
4953
+ return super().get(key, default)
4954
+
4955
+ def __init__(__self__, *,
4956
+ header_name: _builtins.str,
4957
+ header_value: _builtins.str):
4958
+ """
4959
+ :param _builtins.str header_name: Name of the header.
4960
+ :param _builtins.str header_value: Value for the header.
4961
+ """
4962
+ pulumi.set(__self__, "header_name", header_name)
4963
+ pulumi.set(__self__, "header_value", header_value)
4964
+
4965
+ @_builtins.property
4966
+ @pulumi.getter(name="headerName")
4967
+ def header_name(self) -> _builtins.str:
4968
+ """
4969
+ Name of the header.
4970
+ """
4971
+ return pulumi.get(self, "header_name")
4972
+
4973
+ @_builtins.property
4974
+ @pulumi.getter(name="headerValue")
4975
+ def header_value(self) -> _builtins.str:
4976
+ """
4977
+ Value for the header.
4978
+ """
4979
+ return pulumi.get(self, "header_value")
4980
+
4981
+
4982
+ @pulumi.output_type
4983
+ class MultitenantDistributionOriginCustomOriginConfig(dict):
4984
+ @staticmethod
4985
+ def __key_warning(key: str):
4986
+ suggest = None
4987
+ if key == "httpPort":
4988
+ suggest = "http_port"
4989
+ elif key == "httpsPort":
4990
+ suggest = "https_port"
4991
+ elif key == "originProtocolPolicy":
4992
+ suggest = "origin_protocol_policy"
4993
+ elif key == "originSslProtocols":
4994
+ suggest = "origin_ssl_protocols"
4995
+ elif key == "ipAddressType":
4996
+ suggest = "ip_address_type"
4997
+ elif key == "originKeepaliveTimeout":
4998
+ suggest = "origin_keepalive_timeout"
4999
+ elif key == "originReadTimeout":
5000
+ suggest = "origin_read_timeout"
5001
+
5002
+ if suggest:
5003
+ pulumi.log.warn(f"Key '{key}' not found in MultitenantDistributionOriginCustomOriginConfig. Access the value via the '{suggest}' property getter instead.")
5004
+
5005
+ def __getitem__(self, key: str) -> Any:
5006
+ MultitenantDistributionOriginCustomOriginConfig.__key_warning(key)
5007
+ return super().__getitem__(key)
5008
+
5009
+ def get(self, key: str, default = None) -> Any:
5010
+ MultitenantDistributionOriginCustomOriginConfig.__key_warning(key)
5011
+ return super().get(key, default)
5012
+
5013
+ def __init__(__self__, *,
5014
+ http_port: _builtins.int,
5015
+ https_port: _builtins.int,
5016
+ origin_protocol_policy: _builtins.str,
5017
+ origin_ssl_protocols: Sequence[_builtins.str],
5018
+ ip_address_type: Optional[_builtins.str] = None,
5019
+ origin_keepalive_timeout: Optional[_builtins.int] = None,
5020
+ origin_read_timeout: Optional[_builtins.int] = None):
5021
+ """
5022
+ :param _builtins.int http_port: HTTP port the custom origin listens on.
5023
+ :param _builtins.int https_port: HTTPS port the custom origin listens on.
5024
+ :param _builtins.str origin_protocol_policy: Origin protocol policy to apply to your origin. Valid values are `http-only`, `https-only`, and `match-viewer`.
5025
+ :param Sequence[_builtins.str] origin_ssl_protocols: List of SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS.
5026
+ :param _builtins.str ip_address_type: Type of IP addresses used by your origins. Valid values are `ipv4` and `dualstack`.
5027
+ :param _builtins.int origin_keepalive_timeout: Custom keep-alive timeout, in seconds. Default: 5.
5028
+ :param _builtins.int origin_read_timeout: Custom read timeout, in seconds. Default: 30.
5029
+ """
5030
+ pulumi.set(__self__, "http_port", http_port)
5031
+ pulumi.set(__self__, "https_port", https_port)
5032
+ pulumi.set(__self__, "origin_protocol_policy", origin_protocol_policy)
5033
+ pulumi.set(__self__, "origin_ssl_protocols", origin_ssl_protocols)
5034
+ if ip_address_type is not None:
5035
+ pulumi.set(__self__, "ip_address_type", ip_address_type)
5036
+ if origin_keepalive_timeout is not None:
5037
+ pulumi.set(__self__, "origin_keepalive_timeout", origin_keepalive_timeout)
5038
+ if origin_read_timeout is not None:
5039
+ pulumi.set(__self__, "origin_read_timeout", origin_read_timeout)
5040
+
5041
+ @_builtins.property
5042
+ @pulumi.getter(name="httpPort")
5043
+ def http_port(self) -> _builtins.int:
5044
+ """
5045
+ HTTP port the custom origin listens on.
5046
+ """
5047
+ return pulumi.get(self, "http_port")
5048
+
5049
+ @_builtins.property
5050
+ @pulumi.getter(name="httpsPort")
5051
+ def https_port(self) -> _builtins.int:
5052
+ """
5053
+ HTTPS port the custom origin listens on.
5054
+ """
5055
+ return pulumi.get(self, "https_port")
5056
+
5057
+ @_builtins.property
5058
+ @pulumi.getter(name="originProtocolPolicy")
5059
+ def origin_protocol_policy(self) -> _builtins.str:
5060
+ """
5061
+ Origin protocol policy to apply to your origin. Valid values are `http-only`, `https-only`, and `match-viewer`.
5062
+ """
5063
+ return pulumi.get(self, "origin_protocol_policy")
5064
+
5065
+ @_builtins.property
5066
+ @pulumi.getter(name="originSslProtocols")
5067
+ def origin_ssl_protocols(self) -> Sequence[_builtins.str]:
5068
+ """
5069
+ List of SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS.
5070
+ """
5071
+ return pulumi.get(self, "origin_ssl_protocols")
5072
+
5073
+ @_builtins.property
5074
+ @pulumi.getter(name="ipAddressType")
5075
+ def ip_address_type(self) -> Optional[_builtins.str]:
5076
+ """
5077
+ Type of IP addresses used by your origins. Valid values are `ipv4` and `dualstack`.
5078
+ """
5079
+ return pulumi.get(self, "ip_address_type")
5080
+
5081
+ @_builtins.property
5082
+ @pulumi.getter(name="originKeepaliveTimeout")
5083
+ def origin_keepalive_timeout(self) -> Optional[_builtins.int]:
5084
+ """
5085
+ Custom keep-alive timeout, in seconds. Default: 5.
5086
+ """
5087
+ return pulumi.get(self, "origin_keepalive_timeout")
5088
+
5089
+ @_builtins.property
5090
+ @pulumi.getter(name="originReadTimeout")
5091
+ def origin_read_timeout(self) -> Optional[_builtins.int]:
5092
+ """
5093
+ Custom read timeout, in seconds. Default: 30.
5094
+ """
5095
+ return pulumi.get(self, "origin_read_timeout")
5096
+
5097
+
5098
+ @pulumi.output_type
5099
+ class MultitenantDistributionOriginGroup(dict):
5100
+ @staticmethod
5101
+ def __key_warning(key: str):
5102
+ suggest = None
5103
+ if key == "originId":
5104
+ suggest = "origin_id"
5105
+ elif key == "failoverCriteria":
5106
+ suggest = "failover_criteria"
5107
+
5108
+ if suggest:
5109
+ pulumi.log.warn(f"Key '{key}' not found in MultitenantDistributionOriginGroup. Access the value via the '{suggest}' property getter instead.")
5110
+
5111
+ def __getitem__(self, key: str) -> Any:
5112
+ MultitenantDistributionOriginGroup.__key_warning(key)
5113
+ return super().__getitem__(key)
5114
+
5115
+ def get(self, key: str, default = None) -> Any:
5116
+ MultitenantDistributionOriginGroup.__key_warning(key)
5117
+ return super().get(key, default)
5118
+
5119
+ def __init__(__self__, *,
5120
+ origin_id: _builtins.str,
5121
+ failover_criteria: Optional['outputs.MultitenantDistributionOriginGroupFailoverCriteria'] = None,
5122
+ members: Optional[Sequence['outputs.MultitenantDistributionOriginGroupMember']] = None):
5123
+ """
5124
+ :param _builtins.str origin_id: Unique identifier for the origin group.
5125
+ :param 'MultitenantDistributionOriginGroupFailoverCriteriaArgs' failover_criteria: Failover criteria for when to failover to the secondary origin. See Failover Criteria below.
5126
+ :param Sequence['MultitenantDistributionOriginGroupMemberArgs'] members: List of origins in this origin group. Must contain exactly 2 members. See Origin Group Member below.
5127
+ """
5128
+ pulumi.set(__self__, "origin_id", origin_id)
5129
+ if failover_criteria is not None:
5130
+ pulumi.set(__self__, "failover_criteria", failover_criteria)
5131
+ if members is not None:
5132
+ pulumi.set(__self__, "members", members)
5133
+
5134
+ @_builtins.property
5135
+ @pulumi.getter(name="originId")
5136
+ def origin_id(self) -> _builtins.str:
5137
+ """
5138
+ Unique identifier for the origin group.
5139
+ """
5140
+ return pulumi.get(self, "origin_id")
5141
+
5142
+ @_builtins.property
5143
+ @pulumi.getter(name="failoverCriteria")
5144
+ def failover_criteria(self) -> Optional['outputs.MultitenantDistributionOriginGroupFailoverCriteria']:
5145
+ """
5146
+ Failover criteria for when to failover to the secondary origin. See Failover Criteria below.
5147
+ """
5148
+ return pulumi.get(self, "failover_criteria")
5149
+
5150
+ @_builtins.property
5151
+ @pulumi.getter
5152
+ def members(self) -> Optional[Sequence['outputs.MultitenantDistributionOriginGroupMember']]:
5153
+ """
5154
+ List of origins in this origin group. Must contain exactly 2 members. See Origin Group Member below.
5155
+ """
5156
+ return pulumi.get(self, "members")
5157
+
5158
+
5159
+ @pulumi.output_type
5160
+ class MultitenantDistributionOriginGroupFailoverCriteria(dict):
5161
+ @staticmethod
5162
+ def __key_warning(key: str):
5163
+ suggest = None
5164
+ if key == "statusCodes":
5165
+ suggest = "status_codes"
5166
+
5167
+ if suggest:
5168
+ pulumi.log.warn(f"Key '{key}' not found in MultitenantDistributionOriginGroupFailoverCriteria. Access the value via the '{suggest}' property getter instead.")
5169
+
5170
+ def __getitem__(self, key: str) -> Any:
5171
+ MultitenantDistributionOriginGroupFailoverCriteria.__key_warning(key)
5172
+ return super().__getitem__(key)
5173
+
5174
+ def get(self, key: str, default = None) -> Any:
5175
+ MultitenantDistributionOriginGroupFailoverCriteria.__key_warning(key)
5176
+ return super().get(key, default)
5177
+
5178
+ def __init__(__self__, *,
5179
+ status_codes: Sequence[_builtins.int]):
5180
+ """
5181
+ :param Sequence[_builtins.int] status_codes: List of HTTP status codes that trigger a failover to the secondary origin.
5182
+ """
5183
+ pulumi.set(__self__, "status_codes", status_codes)
5184
+
5185
+ @_builtins.property
5186
+ @pulumi.getter(name="statusCodes")
5187
+ def status_codes(self) -> Sequence[_builtins.int]:
5188
+ """
5189
+ List of HTTP status codes that trigger a failover to the secondary origin.
5190
+ """
5191
+ return pulumi.get(self, "status_codes")
5192
+
5193
+
5194
+ @pulumi.output_type
5195
+ class MultitenantDistributionOriginGroupMember(dict):
5196
+ @staticmethod
5197
+ def __key_warning(key: str):
5198
+ suggest = None
5199
+ if key == "originId":
5200
+ suggest = "origin_id"
5201
+
5202
+ if suggest:
5203
+ pulumi.log.warn(f"Key '{key}' not found in MultitenantDistributionOriginGroupMember. Access the value via the '{suggest}' property getter instead.")
5204
+
5205
+ def __getitem__(self, key: str) -> Any:
5206
+ MultitenantDistributionOriginGroupMember.__key_warning(key)
5207
+ return super().__getitem__(key)
2753
5208
 
2754
- @_builtins.property
2755
- @pulumi.getter(name="iamCertificateId")
2756
- def iam_certificate_id(self) -> Optional[_builtins.str]:
2757
- """
2758
- 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`.
2759
- """
2760
- return pulumi.get(self, "iam_certificate_id")
5209
+ def get(self, key: str, default = None) -> Any:
5210
+ MultitenantDistributionOriginGroupMember.__key_warning(key)
5211
+ return super().get(key, default)
2761
5212
 
2762
- @_builtins.property
2763
- @pulumi.getter(name="minimumProtocolVersion")
2764
- def minimum_protocol_version(self) -> Optional[_builtins.str]:
2765
- """
2766
- 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.
2767
- """
2768
- return pulumi.get(self, "minimum_protocol_version")
5213
+ def __init__(__self__, *,
5214
+ origin_id: _builtins.str):
5215
+ pulumi.set(__self__, "origin_id", origin_id)
2769
5216
 
2770
5217
  @_builtins.property
2771
- @pulumi.getter(name="sslSupportMethod")
2772
- def ssl_support_method(self) -> Optional[_builtins.str]:
2773
- """
2774
- 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.
2775
- """
2776
- return pulumi.get(self, "ssl_support_method")
5218
+ @pulumi.getter(name="originId")
5219
+ def origin_id(self) -> _builtins.str:
5220
+ return pulumi.get(self, "origin_id")
2777
5221
 
2778
5222
 
2779
5223
  @pulumi.output_type
2780
- class FieldLevelEncryptionConfigContentTypeProfileConfig(dict):
5224
+ class MultitenantDistributionOriginOriginShield(dict):
2781
5225
  @staticmethod
2782
5226
  def __key_warning(key: str):
2783
5227
  suggest = None
2784
- if key == "contentTypeProfiles":
2785
- suggest = "content_type_profiles"
2786
- elif key == "forwardWhenContentTypeIsUnknown":
2787
- suggest = "forward_when_content_type_is_unknown"
5228
+ if key == "originShieldRegion":
5229
+ suggest = "origin_shield_region"
2788
5230
 
2789
5231
  if suggest:
2790
- pulumi.log.warn(f"Key '{key}' not found in FieldLevelEncryptionConfigContentTypeProfileConfig. Access the value via the '{suggest}' property getter instead.")
5232
+ pulumi.log.warn(f"Key '{key}' not found in MultitenantDistributionOriginOriginShield. Access the value via the '{suggest}' property getter instead.")
2791
5233
 
2792
5234
  def __getitem__(self, key: str) -> Any:
2793
- FieldLevelEncryptionConfigContentTypeProfileConfig.__key_warning(key)
5235
+ MultitenantDistributionOriginOriginShield.__key_warning(key)
2794
5236
  return super().__getitem__(key)
2795
5237
 
2796
5238
  def get(self, key: str, default = None) -> Any:
2797
- FieldLevelEncryptionConfigContentTypeProfileConfig.__key_warning(key)
5239
+ MultitenantDistributionOriginOriginShield.__key_warning(key)
2798
5240
  return super().get(key, default)
2799
5241
 
2800
5242
  def __init__(__self__, *,
2801
- content_type_profiles: 'outputs.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfiles',
2802
- forward_when_content_type_is_unknown: _builtins.bool):
5243
+ enabled: _builtins.bool,
5244
+ origin_shield_region: Optional[_builtins.str] = None):
2803
5245
  """
2804
- :param '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.
2805
- :param _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.
5246
+ :param _builtins.bool enabled: Whether Origin Shield is enabled.
5247
+ :param _builtins.str origin_shield_region: AWS Region for Origin Shield. Required when `enabled` is `true`.
2806
5248
  """
2807
- pulumi.set(__self__, "content_type_profiles", content_type_profiles)
2808
- pulumi.set(__self__, "forward_when_content_type_is_unknown", forward_when_content_type_is_unknown)
5249
+ pulumi.set(__self__, "enabled", enabled)
5250
+ if origin_shield_region is not None:
5251
+ pulumi.set(__self__, "origin_shield_region", origin_shield_region)
2809
5252
 
2810
5253
  @_builtins.property
2811
- @pulumi.getter(name="contentTypeProfiles")
2812
- def content_type_profiles(self) -> 'outputs.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfiles':
5254
+ @pulumi.getter
5255
+ def enabled(self) -> _builtins.bool:
2813
5256
  """
2814
- Object that contains an attribute `items` that contains the list of configurations for a field-level encryption content type-profile. See Content Type Profile.
5257
+ Whether Origin Shield is enabled.
2815
5258
  """
2816
- return pulumi.get(self, "content_type_profiles")
5259
+ return pulumi.get(self, "enabled")
2817
5260
 
2818
5261
  @_builtins.property
2819
- @pulumi.getter(name="forwardWhenContentTypeIsUnknown")
2820
- def forward_when_content_type_is_unknown(self) -> _builtins.bool:
5262
+ @pulumi.getter(name="originShieldRegion")
5263
+ def origin_shield_region(self) -> Optional[_builtins.str]:
2821
5264
  """
2822
- 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.
5265
+ AWS Region for Origin Shield. Required when `enabled` is `true`.
2823
5266
  """
2824
- return pulumi.get(self, "forward_when_content_type_is_unknown")
2825
-
2826
-
2827
- @pulumi.output_type
2828
- class FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfiles(dict):
2829
- def __init__(__self__, *,
2830
- items: Sequence['outputs.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItem']):
2831
- pulumi.set(__self__, "items", items)
2832
-
2833
- @_builtins.property
2834
- @pulumi.getter
2835
- def items(self) -> Sequence['outputs.FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItem']:
2836
- return pulumi.get(self, "items")
5267
+ return pulumi.get(self, "origin_shield_region")
2837
5268
 
2838
5269
 
2839
5270
  @pulumi.output_type
2840
- class FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItem(dict):
5271
+ class MultitenantDistributionOriginVpcOriginConfig(dict):
2841
5272
  @staticmethod
2842
5273
  def __key_warning(key: str):
2843
5274
  suggest = None
2844
- if key == "contentType":
2845
- suggest = "content_type"
2846
- elif key == "profileId":
2847
- suggest = "profile_id"
5275
+ if key == "vpcOriginId":
5276
+ suggest = "vpc_origin_id"
5277
+ elif key == "originKeepaliveTimeout":
5278
+ suggest = "origin_keepalive_timeout"
5279
+ elif key == "originReadTimeout":
5280
+ suggest = "origin_read_timeout"
2848
5281
 
2849
5282
  if suggest:
2850
- pulumi.log.warn(f"Key '{key}' not found in FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItem. Access the value via the '{suggest}' property getter instead.")
5283
+ pulumi.log.warn(f"Key '{key}' not found in MultitenantDistributionOriginVpcOriginConfig. Access the value via the '{suggest}' property getter instead.")
2851
5284
 
2852
5285
  def __getitem__(self, key: str) -> Any:
2853
- FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItem.__key_warning(key)
5286
+ MultitenantDistributionOriginVpcOriginConfig.__key_warning(key)
2854
5287
  return super().__getitem__(key)
2855
5288
 
2856
5289
  def get(self, key: str, default = None) -> Any:
2857
- FieldLevelEncryptionConfigContentTypeProfileConfigContentTypeProfilesItem.__key_warning(key)
5290
+ MultitenantDistributionOriginVpcOriginConfig.__key_warning(key)
2858
5291
  return super().get(key, default)
2859
5292
 
2860
5293
  def __init__(__self__, *,
2861
- content_type: _builtins.str,
2862
- format: _builtins.str,
2863
- profile_id: Optional[_builtins.str] = None):
5294
+ vpc_origin_id: _builtins.str,
5295
+ origin_keepalive_timeout: Optional[_builtins.int] = None,
5296
+ origin_read_timeout: Optional[_builtins.int] = None):
2864
5297
  """
2865
- :param _builtins.str content_type: he content type for a field-level encryption content type-profile mapping. Valid value is `application/x-www-form-urlencoded`.
2866
- :param _builtins.str format: The format for a field-level encryption content type-profile mapping. Valid value is `URLEncoded`.
5298
+ :param _builtins.str vpc_origin_id: ID of the VPC origin that you want CloudFront to route requests to.
5299
+ :param _builtins.int origin_keepalive_timeout: Custom keep-alive timeout, in seconds. By default, CloudFront uses a default timeout. Default: 5.
5300
+ :param _builtins.int origin_read_timeout: Custom read timeout, in seconds. By default, CloudFront uses a default timeout. Default: 30.
2867
5301
  """
2868
- pulumi.set(__self__, "content_type", content_type)
2869
- pulumi.set(__self__, "format", format)
2870
- if profile_id is not None:
2871
- pulumi.set(__self__, "profile_id", profile_id)
5302
+ pulumi.set(__self__, "vpc_origin_id", vpc_origin_id)
5303
+ if origin_keepalive_timeout is not None:
5304
+ pulumi.set(__self__, "origin_keepalive_timeout", origin_keepalive_timeout)
5305
+ if origin_read_timeout is not None:
5306
+ pulumi.set(__self__, "origin_read_timeout", origin_read_timeout)
2872
5307
 
2873
5308
  @_builtins.property
2874
- @pulumi.getter(name="contentType")
2875
- def content_type(self) -> _builtins.str:
5309
+ @pulumi.getter(name="vpcOriginId")
5310
+ def vpc_origin_id(self) -> _builtins.str:
2876
5311
  """
2877
- he content type for a field-level encryption content type-profile mapping. Valid value is `application/x-www-form-urlencoded`.
5312
+ ID of the VPC origin that you want CloudFront to route requests to.
2878
5313
  """
2879
- return pulumi.get(self, "content_type")
5314
+ return pulumi.get(self, "vpc_origin_id")
2880
5315
 
2881
5316
  @_builtins.property
2882
- @pulumi.getter
2883
- def format(self) -> _builtins.str:
5317
+ @pulumi.getter(name="originKeepaliveTimeout")
5318
+ def origin_keepalive_timeout(self) -> Optional[_builtins.int]:
2884
5319
  """
2885
- The format for a field-level encryption content type-profile mapping. Valid value is `URLEncoded`.
5320
+ Custom keep-alive timeout, in seconds. By default, CloudFront uses a default timeout. Default: 5.
2886
5321
  """
2887
- return pulumi.get(self, "format")
5322
+ return pulumi.get(self, "origin_keepalive_timeout")
2888
5323
 
2889
5324
  @_builtins.property
2890
- @pulumi.getter(name="profileId")
2891
- def profile_id(self) -> Optional[_builtins.str]:
2892
- return pulumi.get(self, "profile_id")
5325
+ @pulumi.getter(name="originReadTimeout")
5326
+ def origin_read_timeout(self) -> Optional[_builtins.int]:
5327
+ """
5328
+ Custom read timeout, in seconds. By default, CloudFront uses a default timeout. Default: 30.
5329
+ """
5330
+ return pulumi.get(self, "origin_read_timeout")
2893
5331
 
2894
5332
 
2895
5333
  @pulumi.output_type
2896
- class FieldLevelEncryptionConfigQueryArgProfileConfig(dict):
5334
+ class MultitenantDistributionRestrictions(dict):
2897
5335
  @staticmethod
2898
5336
  def __key_warning(key: str):
2899
5337
  suggest = None
2900
- if key == "forwardWhenQueryArgProfileIsUnknown":
2901
- suggest = "forward_when_query_arg_profile_is_unknown"
2902
- elif key == "queryArgProfiles":
2903
- suggest = "query_arg_profiles"
5338
+ if key == "geoRestriction":
5339
+ suggest = "geo_restriction"
2904
5340
 
2905
5341
  if suggest:
2906
- pulumi.log.warn(f"Key '{key}' not found in FieldLevelEncryptionConfigQueryArgProfileConfig. Access the value via the '{suggest}' property getter instead.")
5342
+ pulumi.log.warn(f"Key '{key}' not found in MultitenantDistributionRestrictions. Access the value via the '{suggest}' property getter instead.")
2907
5343
 
2908
5344
  def __getitem__(self, key: str) -> Any:
2909
- FieldLevelEncryptionConfigQueryArgProfileConfig.__key_warning(key)
5345
+ MultitenantDistributionRestrictions.__key_warning(key)
2910
5346
  return super().__getitem__(key)
2911
5347
 
2912
5348
  def get(self, key: str, default = None) -> Any:
2913
- FieldLevelEncryptionConfigQueryArgProfileConfig.__key_warning(key)
5349
+ MultitenantDistributionRestrictions.__key_warning(key)
2914
5350
  return super().get(key, default)
2915
5351
 
2916
5352
  def __init__(__self__, *,
2917
- forward_when_query_arg_profile_is_unknown: _builtins.bool,
2918
- query_arg_profiles: Optional['outputs.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfiles'] = None):
2919
- """
2920
- :param _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.
2921
- :param '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.
2922
- """
2923
- pulumi.set(__self__, "forward_when_query_arg_profile_is_unknown", forward_when_query_arg_profile_is_unknown)
2924
- if query_arg_profiles is not None:
2925
- pulumi.set(__self__, "query_arg_profiles", query_arg_profiles)
2926
-
2927
- @_builtins.property
2928
- @pulumi.getter(name="forwardWhenQueryArgProfileIsUnknown")
2929
- def forward_when_query_arg_profile_is_unknown(self) -> _builtins.bool:
5353
+ geo_restriction: Optional['outputs.MultitenantDistributionRestrictionsGeoRestriction'] = None):
2930
5354
  """
2931
- 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.
5355
+ :param 'MultitenantDistributionRestrictionsGeoRestrictionArgs' geo_restriction: Geographic restriction configuration. See Geo Restriction below.
2932
5356
  """
2933
- return pulumi.get(self, "forward_when_query_arg_profile_is_unknown")
5357
+ if geo_restriction is not None:
5358
+ pulumi.set(__self__, "geo_restriction", geo_restriction)
2934
5359
 
2935
5360
  @_builtins.property
2936
- @pulumi.getter(name="queryArgProfiles")
2937
- def query_arg_profiles(self) -> Optional['outputs.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfiles']:
5361
+ @pulumi.getter(name="geoRestriction")
5362
+ def geo_restriction(self) -> Optional['outputs.MultitenantDistributionRestrictionsGeoRestriction']:
2938
5363
  """
2939
- 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.
5364
+ Geographic restriction configuration. See Geo Restriction below.
2940
5365
  """
2941
- return pulumi.get(self, "query_arg_profiles")
5366
+ return pulumi.get(self, "geo_restriction")
2942
5367
 
2943
5368
 
2944
5369
  @pulumi.output_type
2945
- class FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfiles(dict):
5370
+ class MultitenantDistributionRestrictionsGeoRestriction(dict):
5371
+ @staticmethod
5372
+ def __key_warning(key: str):
5373
+ suggest = None
5374
+ if key == "restrictionType":
5375
+ suggest = "restriction_type"
5376
+
5377
+ if suggest:
5378
+ pulumi.log.warn(f"Key '{key}' not found in MultitenantDistributionRestrictionsGeoRestriction. Access the value via the '{suggest}' property getter instead.")
5379
+
5380
+ def __getitem__(self, key: str) -> Any:
5381
+ MultitenantDistributionRestrictionsGeoRestriction.__key_warning(key)
5382
+ return super().__getitem__(key)
5383
+
5384
+ def get(self, key: str, default = None) -> Any:
5385
+ MultitenantDistributionRestrictionsGeoRestriction.__key_warning(key)
5386
+ return super().get(key, default)
5387
+
2946
5388
  def __init__(__self__, *,
2947
- items: Optional[Sequence['outputs.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItem']] = None):
5389
+ restriction_type: _builtins.str,
5390
+ items: Optional[Sequence[_builtins.str]] = None):
5391
+ """
5392
+ :param _builtins.str restriction_type: Method to restrict distribution of your content by country. Valid values are `none`, `whitelist`, and `blacklist`.
5393
+ :param Sequence[_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`.
5394
+ """
5395
+ pulumi.set(__self__, "restriction_type", restriction_type)
2948
5396
  if items is not None:
2949
5397
  pulumi.set(__self__, "items", items)
2950
5398
 
5399
+ @_builtins.property
5400
+ @pulumi.getter(name="restrictionType")
5401
+ def restriction_type(self) -> _builtins.str:
5402
+ """
5403
+ Method to restrict distribution of your content by country. Valid values are `none`, `whitelist`, and `blacklist`.
5404
+ """
5405
+ return pulumi.get(self, "restriction_type")
5406
+
2951
5407
  @_builtins.property
2952
5408
  @pulumi.getter
2953
- def items(self) -> Optional[Sequence['outputs.FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItem']]:
5409
+ def items(self) -> Optional[Sequence[_builtins.str]]:
5410
+ """
5411
+ 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`.
5412
+ """
2954
5413
  return pulumi.get(self, "items")
2955
5414
 
2956
5415
 
2957
5416
  @pulumi.output_type
2958
- class FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItem(dict):
5417
+ class MultitenantDistributionTenantConfig(dict):
2959
5418
  @staticmethod
2960
5419
  def __key_warning(key: str):
2961
5420
  suggest = None
2962
- if key == "profileId":
2963
- suggest = "profile_id"
2964
- elif key == "queryArg":
2965
- suggest = "query_arg"
5421
+ if key == "parameterDefinitions":
5422
+ suggest = "parameter_definitions"
2966
5423
 
2967
5424
  if suggest:
2968
- pulumi.log.warn(f"Key '{key}' not found in FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItem. Access the value via the '{suggest}' property getter instead.")
5425
+ pulumi.log.warn(f"Key '{key}' not found in MultitenantDistributionTenantConfig. Access the value via the '{suggest}' property getter instead.")
2969
5426
 
2970
5427
  def __getitem__(self, key: str) -> Any:
2971
- FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItem.__key_warning(key)
5428
+ MultitenantDistributionTenantConfig.__key_warning(key)
2972
5429
  return super().__getitem__(key)
2973
5430
 
2974
5431
  def get(self, key: str, default = None) -> Any:
2975
- FieldLevelEncryptionConfigQueryArgProfileConfigQueryArgProfilesItem.__key_warning(key)
5432
+ MultitenantDistributionTenantConfig.__key_warning(key)
2976
5433
  return super().get(key, default)
2977
5434
 
2978
5435
  def __init__(__self__, *,
2979
- profile_id: _builtins.str,
2980
- query_arg: _builtins.str):
5436
+ parameter_definitions: Optional[Sequence['outputs.MultitenantDistributionTenantConfigParameterDefinition']] = None):
2981
5437
  """
2982
- :param _builtins.str query_arg: Query argument for field-level encryption query argument-profile mapping.
5438
+ :param Sequence['MultitenantDistributionTenantConfigParameterDefinitionArgs'] parameter_definitions: One or more parameter definitions for the tenant configuration. See Parameter Definition below.
2983
5439
  """
2984
- pulumi.set(__self__, "profile_id", profile_id)
2985
- pulumi.set(__self__, "query_arg", query_arg)
2986
-
2987
- @_builtins.property
2988
- @pulumi.getter(name="profileId")
2989
- def profile_id(self) -> _builtins.str:
2990
- return pulumi.get(self, "profile_id")
5440
+ if parameter_definitions is not None:
5441
+ pulumi.set(__self__, "parameter_definitions", parameter_definitions)
2991
5442
 
2992
5443
  @_builtins.property
2993
- @pulumi.getter(name="queryArg")
2994
- def query_arg(self) -> _builtins.str:
5444
+ @pulumi.getter(name="parameterDefinitions")
5445
+ def parameter_definitions(self) -> Optional[Sequence['outputs.MultitenantDistributionTenantConfigParameterDefinition']]:
2995
5446
  """
2996
- Query argument for field-level encryption query argument-profile mapping.
5447
+ One or more parameter definitions for the tenant configuration. See Parameter Definition below.
2997
5448
  """
2998
- return pulumi.get(self, "query_arg")
5449
+ return pulumi.get(self, "parameter_definitions")
2999
5450
 
3000
5451
 
3001
5452
  @pulumi.output_type
3002
- class FieldLevelEncryptionProfileEncryptionEntities(dict):
5453
+ class MultitenantDistributionTenantConfigParameterDefinition(dict):
3003
5454
  def __init__(__self__, *,
3004
- items: Optional[Sequence['outputs.FieldLevelEncryptionProfileEncryptionEntitiesItem']] = None):
3005
- if items is not None:
3006
- pulumi.set(__self__, "items", items)
5455
+ name: _builtins.str,
5456
+ definitions: Optional[Sequence['outputs.MultitenantDistributionTenantConfigParameterDefinitionDefinition']] = None):
5457
+ """
5458
+ :param _builtins.str name: Name of the parameter.
5459
+ :param Sequence['MultitenantDistributionTenantConfigParameterDefinitionDefinitionArgs'] definitions: Definition of the parameter schema. See Parameter Definition Schema below.
5460
+ """
5461
+ pulumi.set(__self__, "name", name)
5462
+ if definitions is not None:
5463
+ pulumi.set(__self__, "definitions", definitions)
3007
5464
 
3008
5465
  @_builtins.property
3009
5466
  @pulumi.getter
3010
- def items(self) -> Optional[Sequence['outputs.FieldLevelEncryptionProfileEncryptionEntitiesItem']]:
3011
- return pulumi.get(self, "items")
5467
+ def name(self) -> _builtins.str:
5468
+ """
5469
+ Name of the parameter.
5470
+ """
5471
+ return pulumi.get(self, "name")
5472
+
5473
+ @_builtins.property
5474
+ @pulumi.getter
5475
+ def definitions(self) -> Optional[Sequence['outputs.MultitenantDistributionTenantConfigParameterDefinitionDefinition']]:
5476
+ """
5477
+ Definition of the parameter schema. See Parameter Definition Schema below.
5478
+ """
5479
+ return pulumi.get(self, "definitions")
3012
5480
 
3013
5481
 
3014
5482
  @pulumi.output_type
3015
- class FieldLevelEncryptionProfileEncryptionEntitiesItem(dict):
5483
+ class MultitenantDistributionTenantConfigParameterDefinitionDefinition(dict):
3016
5484
  @staticmethod
3017
5485
  def __key_warning(key: str):
3018
5486
  suggest = None
3019
- if key == "fieldPatterns":
3020
- suggest = "field_patterns"
3021
- elif key == "providerId":
3022
- suggest = "provider_id"
3023
- elif key == "publicKeyId":
3024
- suggest = "public_key_id"
5487
+ if key == "stringSchemas":
5488
+ suggest = "string_schemas"
5489
+
5490
+ if suggest:
5491
+ pulumi.log.warn(f"Key '{key}' not found in MultitenantDistributionTenantConfigParameterDefinitionDefinition. Access the value via the '{suggest}' property getter instead.")
5492
+
5493
+ def __getitem__(self, key: str) -> Any:
5494
+ MultitenantDistributionTenantConfigParameterDefinitionDefinition.__key_warning(key)
5495
+ return super().__getitem__(key)
5496
+
5497
+ def get(self, key: str, default = None) -> Any:
5498
+ MultitenantDistributionTenantConfigParameterDefinitionDefinition.__key_warning(key)
5499
+ return super().get(key, default)
5500
+
5501
+ def __init__(__self__, *,
5502
+ string_schemas: Optional[Sequence['outputs.MultitenantDistributionTenantConfigParameterDefinitionDefinitionStringSchema']] = None):
5503
+ """
5504
+ :param Sequence['MultitenantDistributionTenantConfigParameterDefinitionDefinitionStringSchemaArgs'] string_schemas: String schema configuration. See String Schema below.
5505
+ """
5506
+ if string_schemas is not None:
5507
+ pulumi.set(__self__, "string_schemas", string_schemas)
5508
+
5509
+ @_builtins.property
5510
+ @pulumi.getter(name="stringSchemas")
5511
+ def string_schemas(self) -> Optional[Sequence['outputs.MultitenantDistributionTenantConfigParameterDefinitionDefinitionStringSchema']]:
5512
+ """
5513
+ String schema configuration. See String Schema below.
5514
+ """
5515
+ return pulumi.get(self, "string_schemas")
5516
+
5517
+
5518
+ @pulumi.output_type
5519
+ class MultitenantDistributionTenantConfigParameterDefinitionDefinitionStringSchema(dict):
5520
+ @staticmethod
5521
+ def __key_warning(key: str):
5522
+ suggest = None
5523
+ if key == "defaultValue":
5524
+ suggest = "default_value"
3025
5525
 
3026
5526
  if suggest:
3027
- pulumi.log.warn(f"Key '{key}' not found in FieldLevelEncryptionProfileEncryptionEntitiesItem. Access the value via the '{suggest}' property getter instead.")
5527
+ pulumi.log.warn(f"Key '{key}' not found in MultitenantDistributionTenantConfigParameterDefinitionDefinitionStringSchema. Access the value via the '{suggest}' property getter instead.")
3028
5528
 
3029
5529
  def __getitem__(self, key: str) -> Any:
3030
- FieldLevelEncryptionProfileEncryptionEntitiesItem.__key_warning(key)
5530
+ MultitenantDistributionTenantConfigParameterDefinitionDefinitionStringSchema.__key_warning(key)
3031
5531
  return super().__getitem__(key)
3032
5532
 
3033
5533
  def get(self, key: str, default = None) -> Any:
3034
- FieldLevelEncryptionProfileEncryptionEntitiesItem.__key_warning(key)
5534
+ MultitenantDistributionTenantConfigParameterDefinitionDefinitionStringSchema.__key_warning(key)
3035
5535
  return super().get(key, default)
3036
5536
 
3037
5537
  def __init__(__self__, *,
3038
- field_patterns: 'outputs.FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatterns',
3039
- provider_id: _builtins.str,
3040
- public_key_id: _builtins.str):
5538
+ required: _builtins.bool,
5539
+ comment: Optional[_builtins.str] = None,
5540
+ default_value: Optional[_builtins.str] = None):
3041
5541
  """
3042
- :param '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.
3043
- :param _builtins.str provider_id: The provider associated with the public key being used for encryption.
3044
- :param _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.
5542
+ :param _builtins.bool required: Whether the parameter is required.
5543
+ :param _builtins.str comment: Comment describing the parameter.
5544
+ :param _builtins.str default_value: Default value for the parameter.
3045
5545
  """
3046
- pulumi.set(__self__, "field_patterns", field_patterns)
3047
- pulumi.set(__self__, "provider_id", provider_id)
3048
- pulumi.set(__self__, "public_key_id", public_key_id)
5546
+ pulumi.set(__self__, "required", required)
5547
+ if comment is not None:
5548
+ pulumi.set(__self__, "comment", comment)
5549
+ if default_value is not None:
5550
+ pulumi.set(__self__, "default_value", default_value)
3049
5551
 
3050
5552
  @_builtins.property
3051
- @pulumi.getter(name="fieldPatterns")
3052
- def field_patterns(self) -> 'outputs.FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatterns':
5553
+ @pulumi.getter
5554
+ def required(self) -> _builtins.bool:
3053
5555
  """
3054
- 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.
5556
+ Whether the parameter is required.
3055
5557
  """
3056
- return pulumi.get(self, "field_patterns")
5558
+ return pulumi.get(self, "required")
3057
5559
 
3058
5560
  @_builtins.property
3059
- @pulumi.getter(name="providerId")
3060
- def provider_id(self) -> _builtins.str:
5561
+ @pulumi.getter
5562
+ def comment(self) -> Optional[_builtins.str]:
3061
5563
  """
3062
- The provider associated with the public key being used for encryption.
5564
+ Comment describing the parameter.
3063
5565
  """
3064
- return pulumi.get(self, "provider_id")
5566
+ return pulumi.get(self, "comment")
3065
5567
 
3066
5568
  @_builtins.property
3067
- @pulumi.getter(name="publicKeyId")
3068
- def public_key_id(self) -> _builtins.str:
5569
+ @pulumi.getter(name="defaultValue")
5570
+ def default_value(self) -> Optional[_builtins.str]:
3069
5571
  """
3070
- The public key associated with a set of field-level encryption patterns, to be used when encrypting the fields that match the patterns.
5572
+ Default value for the parameter.
3071
5573
  """
3072
- return pulumi.get(self, "public_key_id")
3073
-
3074
-
3075
- @pulumi.output_type
3076
- class FieldLevelEncryptionProfileEncryptionEntitiesItemFieldPatterns(dict):
3077
- def __init__(__self__, *,
3078
- items: Optional[Sequence[_builtins.str]] = None):
3079
- if items is not None:
3080
- pulumi.set(__self__, "items", items)
3081
-
3082
- @_builtins.property
3083
- @pulumi.getter
3084
- def items(self) -> Optional[Sequence[_builtins.str]]:
3085
- return pulumi.get(self, "items")
5574
+ return pulumi.get(self, "default_value")
3086
5575
 
3087
5576
 
3088
5577
  @pulumi.output_type
3089
- class KeyValueStoreTimeouts(dict):
5578
+ class MultitenantDistributionTimeouts(dict):
3090
5579
  def __init__(__self__, *,
3091
- create: Optional[_builtins.str] = None):
5580
+ create: Optional[_builtins.str] = None,
5581
+ delete: Optional[_builtins.str] = None,
5582
+ update: Optional[_builtins.str] = None):
3092
5583
  """
3093
5584
  :param _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).
5585
+ :param _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.
5586
+ :param _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).
3094
5587
  """
3095
5588
  if create is not None:
3096
5589
  pulumi.set(__self__, "create", create)
5590
+ if delete is not None:
5591
+ pulumi.set(__self__, "delete", delete)
5592
+ if update is not None:
5593
+ pulumi.set(__self__, "update", update)
3097
5594
 
3098
5595
  @_builtins.property
3099
5596
  @pulumi.getter
@@ -3103,104 +5600,99 @@ class KeyValueStoreTimeouts(dict):
3103
5600
  """
3104
5601
  return pulumi.get(self, "create")
3105
5602
 
3106
-
3107
- @pulumi.output_type
3108
- class KeyvaluestoreKeysExclusiveResourceKeyValuePair(dict):
3109
- def __init__(__self__, *,
3110
- key: _builtins.str,
3111
- value: _builtins.str):
3112
- """
3113
- :param _builtins.str key: Key to put.
3114
- :param _builtins.str value: Value to put.
3115
- """
3116
- pulumi.set(__self__, "key", key)
3117
- pulumi.set(__self__, "value", value)
3118
-
3119
5603
  @_builtins.property
3120
5604
  @pulumi.getter
3121
- def key(self) -> _builtins.str:
5605
+ def delete(self) -> Optional[_builtins.str]:
3122
5606
  """
3123
- Key to put.
5607
+ 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.
3124
5608
  """
3125
- return pulumi.get(self, "key")
5609
+ return pulumi.get(self, "delete")
3126
5610
 
3127
5611
  @_builtins.property
3128
5612
  @pulumi.getter
3129
- def value(self) -> _builtins.str:
5613
+ def update(self) -> Optional[_builtins.str]:
3130
5614
  """
3131
- Value to put.
5615
+ 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).
3132
5616
  """
3133
- return pulumi.get(self, "value")
5617
+ return pulumi.get(self, "update")
3134
5618
 
3135
5619
 
3136
5620
  @pulumi.output_type
3137
- class MonitoringSubscriptionMonitoringSubscription(dict):
5621
+ class MultitenantDistributionViewerCertificate(dict):
3138
5622
  @staticmethod
3139
5623
  def __key_warning(key: str):
3140
5624
  suggest = None
3141
- if key == "realtimeMetricsSubscriptionConfig":
3142
- suggest = "realtime_metrics_subscription_config"
5625
+ if key == "acmCertificateArn":
5626
+ suggest = "acm_certificate_arn"
5627
+ elif key == "cloudfrontDefaultCertificate":
5628
+ suggest = "cloudfront_default_certificate"
5629
+ elif key == "minimumProtocolVersion":
5630
+ suggest = "minimum_protocol_version"
5631
+ elif key == "sslSupportMethod":
5632
+ suggest = "ssl_support_method"
3143
5633
 
3144
5634
  if suggest:
3145
- pulumi.log.warn(f"Key '{key}' not found in MonitoringSubscriptionMonitoringSubscription. Access the value via the '{suggest}' property getter instead.")
5635
+ pulumi.log.warn(f"Key '{key}' not found in MultitenantDistributionViewerCertificate. Access the value via the '{suggest}' property getter instead.")
3146
5636
 
3147
5637
  def __getitem__(self, key: str) -> Any:
3148
- MonitoringSubscriptionMonitoringSubscription.__key_warning(key)
5638
+ MultitenantDistributionViewerCertificate.__key_warning(key)
3149
5639
  return super().__getitem__(key)
3150
5640
 
3151
5641
  def get(self, key: str, default = None) -> Any:
3152
- MonitoringSubscriptionMonitoringSubscription.__key_warning(key)
5642
+ MultitenantDistributionViewerCertificate.__key_warning(key)
3153
5643
  return super().get(key, default)
3154
5644
 
3155
5645
  def __init__(__self__, *,
3156
- realtime_metrics_subscription_config: 'outputs.MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfig'):
5646
+ acm_certificate_arn: Optional[_builtins.str] = None,
5647
+ cloudfront_default_certificate: Optional[_builtins.bool] = None,
5648
+ minimum_protocol_version: Optional[_builtins.str] = None,
5649
+ ssl_support_method: Optional[_builtins.str] = None):
3157
5650
  """
3158
- :param 'MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs' realtime_metrics_subscription_config: A subscription configuration for additional CloudWatch metrics. See below.
5651
+ :param _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.
5652
+ :param _builtins.bool cloudfront_default_certificate: Whether to use the CloudFront default certificate. Cannot be used with `acm_certificate_arn`.
5653
+ :param _builtins.str minimum_protocol_version: Minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections. Default: `TLSv1`.
5654
+ :param _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.
3159
5655
  """
3160
- pulumi.set(__self__, "realtime_metrics_subscription_config", realtime_metrics_subscription_config)
5656
+ if acm_certificate_arn is not None:
5657
+ pulumi.set(__self__, "acm_certificate_arn", acm_certificate_arn)
5658
+ if cloudfront_default_certificate is not None:
5659
+ pulumi.set(__self__, "cloudfront_default_certificate", cloudfront_default_certificate)
5660
+ if minimum_protocol_version is not None:
5661
+ pulumi.set(__self__, "minimum_protocol_version", minimum_protocol_version)
5662
+ if ssl_support_method is not None:
5663
+ pulumi.set(__self__, "ssl_support_method", ssl_support_method)
3161
5664
 
3162
5665
  @_builtins.property
3163
- @pulumi.getter(name="realtimeMetricsSubscriptionConfig")
3164
- def realtime_metrics_subscription_config(self) -> 'outputs.MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfig':
5666
+ @pulumi.getter(name="acmCertificateArn")
5667
+ def acm_certificate_arn(self) -> Optional[_builtins.str]:
3165
5668
  """
3166
- A subscription configuration for additional CloudWatch metrics. See below.
5669
+ ARN of the AWS Certificate Manager certificate that you wish to use with this distribution. Required when using a custom SSL certificate.
3167
5670
  """
3168
- return pulumi.get(self, "realtime_metrics_subscription_config")
3169
-
3170
-
3171
- @pulumi.output_type
3172
- class MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfig(dict):
3173
- @staticmethod
3174
- def __key_warning(key: str):
3175
- suggest = None
3176
- if key == "realtimeMetricsSubscriptionStatus":
3177
- suggest = "realtime_metrics_subscription_status"
3178
-
3179
- if suggest:
3180
- pulumi.log.warn(f"Key '{key}' not found in MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfig. Access the value via the '{suggest}' property getter instead.")
3181
-
3182
- def __getitem__(self, key: str) -> Any:
3183
- MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfig.__key_warning(key)
3184
- return super().__getitem__(key)
5671
+ return pulumi.get(self, "acm_certificate_arn")
3185
5672
 
3186
- def get(self, key: str, default = None) -> Any:
3187
- MonitoringSubscriptionMonitoringSubscriptionRealtimeMetricsSubscriptionConfig.__key_warning(key)
3188
- return super().get(key, default)
5673
+ @_builtins.property
5674
+ @pulumi.getter(name="cloudfrontDefaultCertificate")
5675
+ def cloudfront_default_certificate(self) -> Optional[_builtins.bool]:
5676
+ """
5677
+ Whether to use the CloudFront default certificate. Cannot be used with `acm_certificate_arn`.
5678
+ """
5679
+ return pulumi.get(self, "cloudfront_default_certificate")
3189
5680
 
3190
- def __init__(__self__, *,
3191
- realtime_metrics_subscription_status: _builtins.str):
5681
+ @_builtins.property
5682
+ @pulumi.getter(name="minimumProtocolVersion")
5683
+ def minimum_protocol_version(self) -> Optional[_builtins.str]:
3192
5684
  """
3193
- :param _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.
5685
+ Minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections. Default: `TLSv1`.
3194
5686
  """
3195
- pulumi.set(__self__, "realtime_metrics_subscription_status", realtime_metrics_subscription_status)
5687
+ return pulumi.get(self, "minimum_protocol_version")
3196
5688
 
3197
5689
  @_builtins.property
3198
- @pulumi.getter(name="realtimeMetricsSubscriptionStatus")
3199
- def realtime_metrics_subscription_status(self) -> _builtins.str:
5690
+ @pulumi.getter(name="sslSupportMethod")
5691
+ def ssl_support_method(self) -> Optional[_builtins.str]:
3200
5692
  """
3201
- A flag that indicates whether additional CloudWatch metrics are enabled for a given CloudFront distribution. Valid values are `Enabled` and `Disabled`. See below.
5693
+ How you want CloudFront to serve HTTPS requests. Valid values are `sni-only` and `vip`. Required when `acm_certificate_arn` is specified.
3202
5694
  """
3203
- return pulumi.get(self, "realtime_metrics_subscription_status")
5695
+ return pulumi.get(self, "ssl_support_method")
3204
5696
 
3205
5697
 
3206
5698
  @pulumi.output_type
@@ -4636,6 +7128,172 @@ class GetCachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfigQu
4636
7128
  return pulumi.get(self, "items")
4637
7129
 
4638
7130
 
7131
+ @pulumi.output_type
7132
+ class GetDistributionTenantCustomizationResult(dict):
7133
+ def __init__(__self__, *,
7134
+ certificates: Sequence['outputs.GetDistributionTenantCustomizationCertificateResult'],
7135
+ geo_restrictions: Sequence['outputs.GetDistributionTenantCustomizationGeoRestrictionResult'],
7136
+ web_acls: Sequence['outputs.GetDistributionTenantCustomizationWebAclResult']):
7137
+ pulumi.set(__self__, "certificates", certificates)
7138
+ pulumi.set(__self__, "geo_restrictions", geo_restrictions)
7139
+ pulumi.set(__self__, "web_acls", web_acls)
7140
+
7141
+ @_builtins.property
7142
+ @pulumi.getter
7143
+ def certificates(self) -> Sequence['outputs.GetDistributionTenantCustomizationCertificateResult']:
7144
+ return pulumi.get(self, "certificates")
7145
+
7146
+ @_builtins.property
7147
+ @pulumi.getter(name="geoRestrictions")
7148
+ def geo_restrictions(self) -> Sequence['outputs.GetDistributionTenantCustomizationGeoRestrictionResult']:
7149
+ return pulumi.get(self, "geo_restrictions")
7150
+
7151
+ @_builtins.property
7152
+ @pulumi.getter(name="webAcls")
7153
+ def web_acls(self) -> Sequence['outputs.GetDistributionTenantCustomizationWebAclResult']:
7154
+ return pulumi.get(self, "web_acls")
7155
+
7156
+
7157
+ @pulumi.output_type
7158
+ class GetDistributionTenantCustomizationCertificateResult(dict):
7159
+ def __init__(__self__, *,
7160
+ arn: _builtins.str):
7161
+ """
7162
+ :param _builtins.str arn: ARN (Amazon Resource Name) for the distribution tenant.
7163
+ """
7164
+ pulumi.set(__self__, "arn", arn)
7165
+
7166
+ @_builtins.property
7167
+ @pulumi.getter
7168
+ def arn(self) -> _builtins.str:
7169
+ """
7170
+ ARN (Amazon Resource Name) for the distribution tenant.
7171
+ """
7172
+ return pulumi.get(self, "arn")
7173
+
7174
+
7175
+ @pulumi.output_type
7176
+ class GetDistributionTenantCustomizationGeoRestrictionResult(dict):
7177
+ def __init__(__self__, *,
7178
+ locations: Sequence[_builtins.str],
7179
+ restriction_type: _builtins.str):
7180
+ pulumi.set(__self__, "locations", locations)
7181
+ pulumi.set(__self__, "restriction_type", restriction_type)
7182
+
7183
+ @_builtins.property
7184
+ @pulumi.getter
7185
+ def locations(self) -> Sequence[_builtins.str]:
7186
+ return pulumi.get(self, "locations")
7187
+
7188
+ @_builtins.property
7189
+ @pulumi.getter(name="restrictionType")
7190
+ def restriction_type(self) -> _builtins.str:
7191
+ return pulumi.get(self, "restriction_type")
7192
+
7193
+
7194
+ @pulumi.output_type
7195
+ class GetDistributionTenantCustomizationWebAclResult(dict):
7196
+ def __init__(__self__, *,
7197
+ action: _builtins.str,
7198
+ arn: _builtins.str):
7199
+ """
7200
+ :param _builtins.str arn: ARN (Amazon Resource Name) for the distribution tenant.
7201
+ """
7202
+ pulumi.set(__self__, "action", action)
7203
+ pulumi.set(__self__, "arn", arn)
7204
+
7205
+ @_builtins.property
7206
+ @pulumi.getter
7207
+ def action(self) -> _builtins.str:
7208
+ return pulumi.get(self, "action")
7209
+
7210
+ @_builtins.property
7211
+ @pulumi.getter
7212
+ def arn(self) -> _builtins.str:
7213
+ """
7214
+ ARN (Amazon Resource Name) for the distribution tenant.
7215
+ """
7216
+ return pulumi.get(self, "arn")
7217
+
7218
+
7219
+ @pulumi.output_type
7220
+ class GetDistributionTenantDomainResult(dict):
7221
+ def __init__(__self__, *,
7222
+ domain: _builtins.str,
7223
+ status: _builtins.str):
7224
+ """
7225
+ :param _builtins.str domain: An associated domain of the distribution tenant. Exactly one of `id` or `domain` must be specified.
7226
+ :param _builtins.str status: Current status of the distribution tenant. `Deployed` if the
7227
+ distribution tenant's information is fully propagated throughout the Amazon
7228
+ CloudFront system.
7229
+ """
7230
+ pulumi.set(__self__, "domain", domain)
7231
+ pulumi.set(__self__, "status", status)
7232
+
7233
+ @_builtins.property
7234
+ @pulumi.getter
7235
+ def domain(self) -> _builtins.str:
7236
+ """
7237
+ An associated domain of the distribution tenant. Exactly one of `id` or `domain` must be specified.
7238
+ """
7239
+ return pulumi.get(self, "domain")
7240
+
7241
+ @_builtins.property
7242
+ @pulumi.getter
7243
+ def status(self) -> _builtins.str:
7244
+ """
7245
+ Current status of the distribution tenant. `Deployed` if the
7246
+ distribution tenant's information is fully propagated throughout the Amazon
7247
+ CloudFront system.
7248
+ """
7249
+ return pulumi.get(self, "status")
7250
+
7251
+
7252
+ @pulumi.output_type
7253
+ class GetDistributionTenantManagedCertificateRequestResult(dict):
7254
+ def __init__(__self__, *,
7255
+ certificate_transparency_logging_preference: _builtins.str,
7256
+ primary_domain_name: _builtins.str,
7257
+ validation_token_host: _builtins.str):
7258
+ pulumi.set(__self__, "certificate_transparency_logging_preference", certificate_transparency_logging_preference)
7259
+ pulumi.set(__self__, "primary_domain_name", primary_domain_name)
7260
+ pulumi.set(__self__, "validation_token_host", validation_token_host)
7261
+
7262
+ @_builtins.property
7263
+ @pulumi.getter(name="certificateTransparencyLoggingPreference")
7264
+ def certificate_transparency_logging_preference(self) -> _builtins.str:
7265
+ return pulumi.get(self, "certificate_transparency_logging_preference")
7266
+
7267
+ @_builtins.property
7268
+ @pulumi.getter(name="primaryDomainName")
7269
+ def primary_domain_name(self) -> _builtins.str:
7270
+ return pulumi.get(self, "primary_domain_name")
7271
+
7272
+ @_builtins.property
7273
+ @pulumi.getter(name="validationTokenHost")
7274
+ def validation_token_host(self) -> _builtins.str:
7275
+ return pulumi.get(self, "validation_token_host")
7276
+
7277
+
7278
+ @pulumi.output_type
7279
+ class GetDistributionTenantParameterResult(dict):
7280
+ def __init__(__self__, *,
7281
+ name: _builtins.str,
7282
+ value: _builtins.str):
7283
+ pulumi.set(__self__, "name", name)
7284
+ pulumi.set(__self__, "value", value)
7285
+
7286
+ @_builtins.property
7287
+ @pulumi.getter
7288
+ def name(self) -> _builtins.str:
7289
+ return pulumi.get(self, "name")
7290
+
7291
+ @_builtins.property
7292
+ @pulumi.getter
7293
+ def value(self) -> _builtins.str:
7294
+ return pulumi.get(self, "value")
7295
+
7296
+
4639
7297
  @pulumi.output_type
4640
7298
  class GetOriginRequestPolicyCookiesConfigResult(dict):
4641
7299
  def __init__(__self__, *,