aws-cdk-lib 2.173.4__py3-none-any.whl → 2.174.1__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.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (91) hide show
  1. aws_cdk/__init__.py +210 -181
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.173.4.jsii.tgz → aws-cdk-lib@2.174.1.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +18 -0
  5. aws_cdk/aws_apigateway/__init__.py +127 -168
  6. aws_cdk/aws_appconfig/__init__.py +498 -1
  7. aws_cdk/aws_applicationautoscaling/__init__.py +4 -1
  8. aws_cdk/aws_appsync/__init__.py +4 -0
  9. aws_cdk/aws_autoscaling/__init__.py +96 -0
  10. aws_cdk/aws_batch/__init__.py +662 -237
  11. aws_cdk/aws_bedrock/__init__.py +2122 -181
  12. aws_cdk/aws_cassandra/__init__.py +476 -4
  13. aws_cdk/aws_cleanrooms/__init__.py +1227 -20
  14. aws_cdk/aws_cloudformation/__init__.py +172 -169
  15. aws_cdk/aws_cloudfront/__init__.py +773 -26
  16. aws_cdk/aws_cloudtrail/__init__.py +8 -2
  17. aws_cdk/aws_codebuild/__init__.py +83 -0
  18. aws_cdk/aws_codepipeline/__init__.py +2 -1
  19. aws_cdk/aws_cognito/__init__.py +232 -200
  20. aws_cdk/aws_connect/__init__.py +187 -36
  21. aws_cdk/aws_connectcampaignsv2/__init__.py +106 -12
  22. aws_cdk/aws_databrew/__init__.py +69 -1
  23. aws_cdk/aws_datasync/__init__.py +33 -28
  24. aws_cdk/aws_datazone/__init__.py +141 -41
  25. aws_cdk/aws_dlm/__init__.py +20 -10
  26. aws_cdk/aws_dms/__init__.py +736 -22
  27. aws_cdk/aws_docdb/__init__.py +134 -0
  28. aws_cdk/aws_dynamodb/__init__.py +76 -4
  29. aws_cdk/aws_ec2/__init__.py +1233 -65
  30. aws_cdk/aws_ecr/__init__.py +31 -0
  31. aws_cdk/aws_ecr_assets/__init__.py +5 -0
  32. aws_cdk/aws_ecs/__init__.py +88 -11
  33. aws_cdk/aws_efs/__init__.py +15 -8
  34. aws_cdk/aws_eks/__init__.py +114 -45
  35. aws_cdk/aws_elasticloadbalancingv2/__init__.py +2 -2
  36. aws_cdk/aws_emrserverless/__init__.py +143 -0
  37. aws_cdk/aws_events/__init__.py +50 -30
  38. aws_cdk/aws_fis/__init__.py +33 -33
  39. aws_cdk/aws_fsx/__init__.py +20 -10
  40. aws_cdk/aws_glue/__init__.py +34 -11
  41. aws_cdk/aws_greengrass/__init__.py +8 -8
  42. aws_cdk/aws_guardduty/__init__.py +1 -1
  43. aws_cdk/aws_imagebuilder/__init__.py +45 -47
  44. aws_cdk/aws_internetmonitor/__init__.py +3 -3
  45. aws_cdk/aws_invoicing/__init__.py +55 -30
  46. aws_cdk/aws_iot/__init__.py +1117 -4
  47. aws_cdk/aws_iot1click/__init__.py +17 -7
  48. aws_cdk/aws_kendra/__init__.py +4 -6
  49. aws_cdk/aws_lambda/__init__.py +15 -1
  50. aws_cdk/aws_logs/__init__.py +4011 -86
  51. aws_cdk/aws_m2/__init__.py +41 -0
  52. aws_cdk/aws_mediaconnect/__init__.py +202 -7
  53. aws_cdk/aws_mediaconvert/__init__.py +39 -0
  54. aws_cdk/aws_memorydb/__init__.py +22 -22
  55. aws_cdk/aws_networkmanager/__init__.py +758 -0
  56. aws_cdk/aws_opensearchservice/__init__.py +222 -0
  57. aws_cdk/aws_organizations/__init__.py +5 -3
  58. aws_cdk/aws_pcs/__init__.py +3038 -0
  59. aws_cdk/aws_pipes/__init__.py +10 -10
  60. aws_cdk/aws_qbusiness/__init__.py +415 -140
  61. aws_cdk/aws_quicksight/__init__.py +59795 -49748
  62. aws_cdk/aws_ram/__init__.py +5 -11
  63. aws_cdk/aws_rbin/__init__.py +28 -16
  64. aws_cdk/aws_rds/__init__.py +186 -31
  65. aws_cdk/aws_redshiftserverless/__init__.py +156 -0
  66. aws_cdk/aws_resiliencehub/__init__.py +2 -1
  67. aws_cdk/aws_route53_targets/__init__.py +5 -5
  68. aws_cdk/aws_s3/__init__.py +25 -15
  69. aws_cdk/aws_s3express/__init__.py +7 -7
  70. aws_cdk/aws_s3tables/__init__.py +683 -0
  71. aws_cdk/aws_sagemaker/__init__.py +580 -195
  72. aws_cdk/aws_secretsmanager/__init__.py +2 -0
  73. aws_cdk/aws_securityhub/__init__.py +41 -165
  74. aws_cdk/aws_servicediscovery/__init__.py +10 -3
  75. aws_cdk/aws_ses/__init__.py +190 -5
  76. aws_cdk/aws_sns/__init__.py +7 -3
  77. aws_cdk/aws_synthetics/__init__.py +29 -4
  78. aws_cdk/aws_transfer/__init__.py +8 -0
  79. aws_cdk/aws_vpclattice/__init__.py +147 -77
  80. aws_cdk/aws_wafv2/__init__.py +20 -8
  81. aws_cdk/aws_wisdom/__init__.py +162 -111
  82. aws_cdk/aws_workspaces/__init__.py +10 -4
  83. aws_cdk/cloud_assembly_schema/__init__.py +22 -0
  84. aws_cdk/custom_resources/__init__.py +31 -0
  85. aws_cdk/cx_api/__init__.py +19 -0
  86. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/LICENSE +1 -1
  87. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/METADATA +2 -2
  88. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/NOTICE +1 -1
  89. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/RECORD +91 -89
  90. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/WHEEL +0 -0
  91. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/top_level.txt +0 -0
@@ -1305,6 +1305,7 @@ from .. import (
1305
1305
  IResolvable as _IResolvable_da3f097b,
1306
1306
  IResource as _IResource_c80c4260,
1307
1307
  ITaggable as _ITaggable_36806126,
1308
+ ITaggableV2 as _ITaggableV2_4e6798f8,
1308
1309
  IgnoreMode as _IgnoreMode_655a98e8,
1309
1310
  Resource as _Resource_45bc6135,
1310
1311
  SymlinkFollowMode as _SymlinkFollowMode_047ec1f6,
@@ -2690,6 +2691,481 @@ class CachedMethods(
2690
2691
  return typing.cast(typing.List[builtins.str], jsii.get(self, "methods"))
2691
2692
 
2692
2693
 
2694
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
2695
+ class CfnAnycastIpList(
2696
+ _CfnResource_9df397a6,
2697
+ metaclass=jsii.JSIIMeta,
2698
+ jsii_type="aws-cdk-lib.aws_cloudfront.CfnAnycastIpList",
2699
+ ):
2700
+ '''An Anycast static IP list.
2701
+
2702
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-anycastiplist.html
2703
+ :cloudformationResource: AWS::CloudFront::AnycastIpList
2704
+ :exampleMetadata: fixture=_generated
2705
+
2706
+ Example::
2707
+
2708
+ # The code below shows an example of how to instantiate this type.
2709
+ # The values are placeholders you should change.
2710
+ from aws_cdk import aws_cloudfront as cloudfront
2711
+
2712
+ cfn_anycast_ip_list = cloudfront.CfnAnycastIpList(self, "MyCfnAnycastIpList",
2713
+ ip_count=123,
2714
+ name="name",
2715
+
2716
+ # the properties below are optional
2717
+ tags=cloudfront.CfnAnycastIpList.TagsProperty(
2718
+ items=[CfnTag(
2719
+ key="key",
2720
+ value="value"
2721
+ )]
2722
+ )
2723
+ )
2724
+ '''
2725
+
2726
+ def __init__(
2727
+ self,
2728
+ scope: _constructs_77d1e7e8.Construct,
2729
+ id: builtins.str,
2730
+ *,
2731
+ ip_count: jsii.Number,
2732
+ name: builtins.str,
2733
+ tags: typing.Optional[typing.Union["CfnAnycastIpList.TagsProperty", typing.Dict[builtins.str, typing.Any]]] = None,
2734
+ ) -> None:
2735
+ '''
2736
+ :param scope: Scope in which this resource is defined.
2737
+ :param id: Construct identifier for this resource (unique in its scope).
2738
+ :param ip_count: The number of IP addresses in the Anycast static IP list.
2739
+ :param name: The name of the Anycast static IP list.
2740
+ :param tags: A complex type that contains zero or more ``Tag`` elements.
2741
+ '''
2742
+ if __debug__:
2743
+ type_hints = typing.get_type_hints(_typecheckingstub__2b13827b228b7c298a17121364286edab0de8f14fd459f83803e07a1c878948b)
2744
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2745
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2746
+ props = CfnAnycastIpListProps(ip_count=ip_count, name=name, tags=tags)
2747
+
2748
+ jsii.create(self.__class__, self, [scope, id, props])
2749
+
2750
+ @jsii.member(jsii_name="inspect")
2751
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
2752
+ '''Examines the CloudFormation resource and discloses attributes.
2753
+
2754
+ :param inspector: tree inspector to collect and process attributes.
2755
+ '''
2756
+ if __debug__:
2757
+ type_hints = typing.get_type_hints(_typecheckingstub__aa4751ceff9fa4c468103f7488b7f0652f09aa7eba8687281685471bc5d09584)
2758
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
2759
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
2760
+
2761
+ @jsii.member(jsii_name="renderProperties")
2762
+ def _render_properties(
2763
+ self,
2764
+ props: typing.Mapping[builtins.str, typing.Any],
2765
+ ) -> typing.Mapping[builtins.str, typing.Any]:
2766
+ '''
2767
+ :param props: -
2768
+ '''
2769
+ if __debug__:
2770
+ type_hints = typing.get_type_hints(_typecheckingstub__1dfea48793fdcd21981ddcf07562959f142afc727d7d7d49c5d176bcdd82f2db)
2771
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
2772
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
2773
+
2774
+ @jsii.python.classproperty
2775
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
2776
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
2777
+ '''The CloudFormation resource type name for this resource class.'''
2778
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
2779
+
2780
+ @builtins.property
2781
+ @jsii.member(jsii_name="attrAnycastIpList")
2782
+ def attr_anycast_ip_list(self) -> _IResolvable_da3f097b:
2783
+ '''
2784
+ :cloudformationAttribute: AnycastIpList
2785
+ '''
2786
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrAnycastIpList"))
2787
+
2788
+ @builtins.property
2789
+ @jsii.member(jsii_name="attrETag")
2790
+ def attr_e_tag(self) -> builtins.str:
2791
+ '''A complex type that contains ``Tag`` key and ``Tag`` value.
2792
+
2793
+ :cloudformationAttribute: ETag
2794
+ '''
2795
+ return typing.cast(builtins.str, jsii.get(self, "attrETag"))
2796
+
2797
+ @builtins.property
2798
+ @jsii.member(jsii_name="attrId")
2799
+ def attr_id(self) -> builtins.str:
2800
+ '''The ID of the Anycast static IP list.
2801
+
2802
+ :cloudformationAttribute: Id
2803
+ '''
2804
+ return typing.cast(builtins.str, jsii.get(self, "attrId"))
2805
+
2806
+ @builtins.property
2807
+ @jsii.member(jsii_name="cdkTagManager")
2808
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
2809
+ '''Tag Manager which manages the tags for this resource.'''
2810
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
2811
+
2812
+ @builtins.property
2813
+ @jsii.member(jsii_name="cfnProperties")
2814
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2815
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2816
+
2817
+ @builtins.property
2818
+ @jsii.member(jsii_name="ipCount")
2819
+ def ip_count(self) -> jsii.Number:
2820
+ '''The number of IP addresses in the Anycast static IP list.'''
2821
+ return typing.cast(jsii.Number, jsii.get(self, "ipCount"))
2822
+
2823
+ @ip_count.setter
2824
+ def ip_count(self, value: jsii.Number) -> None:
2825
+ if __debug__:
2826
+ type_hints = typing.get_type_hints(_typecheckingstub__a4b11521f2249d686f7716f70cecd2cba09492081133c8221ca460031dc8ec09)
2827
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2828
+ jsii.set(self, "ipCount", value) # pyright: ignore[reportArgumentType]
2829
+
2830
+ @builtins.property
2831
+ @jsii.member(jsii_name="name")
2832
+ def name(self) -> builtins.str:
2833
+ '''The name of the Anycast static IP list.'''
2834
+ return typing.cast(builtins.str, jsii.get(self, "name"))
2835
+
2836
+ @name.setter
2837
+ def name(self, value: builtins.str) -> None:
2838
+ if __debug__:
2839
+ type_hints = typing.get_type_hints(_typecheckingstub__ac37e78a6ea86b3ef0227ef8ab78147385ce1b63a99049def4d84be02aff3daa)
2840
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2841
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
2842
+
2843
+ @builtins.property
2844
+ @jsii.member(jsii_name="tags")
2845
+ def tags(self) -> typing.Optional["CfnAnycastIpList.TagsProperty"]:
2846
+ '''A complex type that contains zero or more ``Tag`` elements.'''
2847
+ return typing.cast(typing.Optional["CfnAnycastIpList.TagsProperty"], jsii.get(self, "tags"))
2848
+
2849
+ @tags.setter
2850
+ def tags(self, value: typing.Optional["CfnAnycastIpList.TagsProperty"]) -> None:
2851
+ if __debug__:
2852
+ type_hints = typing.get_type_hints(_typecheckingstub__b1d1dfdc7936ba000dfdec659315150c3bf594d4b2b99b2d3b37e510f78d7e57)
2853
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2854
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
2855
+
2856
+ @jsii.data_type(
2857
+ jsii_type="aws-cdk-lib.aws_cloudfront.CfnAnycastIpList.AnycastIpListProperty",
2858
+ jsii_struct_bases=[],
2859
+ name_mapping={
2860
+ "anycast_ips": "anycastIps",
2861
+ "arn": "arn",
2862
+ "id": "id",
2863
+ "ip_count": "ipCount",
2864
+ "last_modified_time": "lastModifiedTime",
2865
+ "name": "name",
2866
+ "status": "status",
2867
+ },
2868
+ )
2869
+ class AnycastIpListProperty:
2870
+ def __init__(
2871
+ self,
2872
+ *,
2873
+ anycast_ips: typing.Sequence[builtins.str],
2874
+ arn: builtins.str,
2875
+ id: builtins.str,
2876
+ ip_count: jsii.Number,
2877
+ last_modified_time: builtins.str,
2878
+ name: builtins.str,
2879
+ status: builtins.str,
2880
+ ) -> None:
2881
+ '''An Anycast static IP list.
2882
+
2883
+ :param anycast_ips: The static IP addresses that are allocated to the Anycast static IP list.
2884
+ :param arn: The Amazon Resource Name (ARN) of the Anycast static IP list.
2885
+ :param id: The ID of the Anycast static IP list.
2886
+ :param ip_count: The number of IP addresses in the Anycast static IP list.
2887
+ :param last_modified_time: The last time the Anycast static IP list was modified.
2888
+ :param name: The name of the Anycast static IP list.
2889
+ :param status: The status of the Anycast static IP list. Valid values: ``Deployed`` , ``Deploying`` , or ``Failed`` .
2890
+
2891
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-anycastiplist-anycastiplist.html
2892
+ :exampleMetadata: fixture=_generated
2893
+
2894
+ Example::
2895
+
2896
+ # The code below shows an example of how to instantiate this type.
2897
+ # The values are placeholders you should change.
2898
+ from aws_cdk import aws_cloudfront as cloudfront
2899
+
2900
+ anycast_ip_list_property = cloudfront.CfnAnycastIpList.AnycastIpListProperty(
2901
+ anycast_ips=["anycastIps"],
2902
+ arn="arn",
2903
+ id="id",
2904
+ ip_count=123,
2905
+ last_modified_time="lastModifiedTime",
2906
+ name="name",
2907
+ status="status"
2908
+ )
2909
+ '''
2910
+ if __debug__:
2911
+ type_hints = typing.get_type_hints(_typecheckingstub__52438d74e9c64ccb0851ad4bbbcc3d1dab9c3fa5daeefa73f0df7ada781b9ceb)
2912
+ check_type(argname="argument anycast_ips", value=anycast_ips, expected_type=type_hints["anycast_ips"])
2913
+ check_type(argname="argument arn", value=arn, expected_type=type_hints["arn"])
2914
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2915
+ check_type(argname="argument ip_count", value=ip_count, expected_type=type_hints["ip_count"])
2916
+ check_type(argname="argument last_modified_time", value=last_modified_time, expected_type=type_hints["last_modified_time"])
2917
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
2918
+ check_type(argname="argument status", value=status, expected_type=type_hints["status"])
2919
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2920
+ "anycast_ips": anycast_ips,
2921
+ "arn": arn,
2922
+ "id": id,
2923
+ "ip_count": ip_count,
2924
+ "last_modified_time": last_modified_time,
2925
+ "name": name,
2926
+ "status": status,
2927
+ }
2928
+
2929
+ @builtins.property
2930
+ def anycast_ips(self) -> typing.List[builtins.str]:
2931
+ '''The static IP addresses that are allocated to the Anycast static IP list.
2932
+
2933
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-anycastiplist-anycastiplist.html#cfn-cloudfront-anycastiplist-anycastiplist-anycastips
2934
+ '''
2935
+ result = self._values.get("anycast_ips")
2936
+ assert result is not None, "Required property 'anycast_ips' is missing"
2937
+ return typing.cast(typing.List[builtins.str], result)
2938
+
2939
+ @builtins.property
2940
+ def arn(self) -> builtins.str:
2941
+ '''The Amazon Resource Name (ARN) of the Anycast static IP list.
2942
+
2943
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-anycastiplist-anycastiplist.html#cfn-cloudfront-anycastiplist-anycastiplist-arn
2944
+ '''
2945
+ result = self._values.get("arn")
2946
+ assert result is not None, "Required property 'arn' is missing"
2947
+ return typing.cast(builtins.str, result)
2948
+
2949
+ @builtins.property
2950
+ def id(self) -> builtins.str:
2951
+ '''The ID of the Anycast static IP list.
2952
+
2953
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-anycastiplist-anycastiplist.html#cfn-cloudfront-anycastiplist-anycastiplist-id
2954
+ '''
2955
+ result = self._values.get("id")
2956
+ assert result is not None, "Required property 'id' is missing"
2957
+ return typing.cast(builtins.str, result)
2958
+
2959
+ @builtins.property
2960
+ def ip_count(self) -> jsii.Number:
2961
+ '''The number of IP addresses in the Anycast static IP list.
2962
+
2963
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-anycastiplist-anycastiplist.html#cfn-cloudfront-anycastiplist-anycastiplist-ipcount
2964
+ '''
2965
+ result = self._values.get("ip_count")
2966
+ assert result is not None, "Required property 'ip_count' is missing"
2967
+ return typing.cast(jsii.Number, result)
2968
+
2969
+ @builtins.property
2970
+ def last_modified_time(self) -> builtins.str:
2971
+ '''The last time the Anycast static IP list was modified.
2972
+
2973
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-anycastiplist-anycastiplist.html#cfn-cloudfront-anycastiplist-anycastiplist-lastmodifiedtime
2974
+ '''
2975
+ result = self._values.get("last_modified_time")
2976
+ assert result is not None, "Required property 'last_modified_time' is missing"
2977
+ return typing.cast(builtins.str, result)
2978
+
2979
+ @builtins.property
2980
+ def name(self) -> builtins.str:
2981
+ '''The name of the Anycast static IP list.
2982
+
2983
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-anycastiplist-anycastiplist.html#cfn-cloudfront-anycastiplist-anycastiplist-name
2984
+ '''
2985
+ result = self._values.get("name")
2986
+ assert result is not None, "Required property 'name' is missing"
2987
+ return typing.cast(builtins.str, result)
2988
+
2989
+ @builtins.property
2990
+ def status(self) -> builtins.str:
2991
+ '''The status of the Anycast static IP list.
2992
+
2993
+ Valid values: ``Deployed`` , ``Deploying`` , or ``Failed`` .
2994
+
2995
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-anycastiplist-anycastiplist.html#cfn-cloudfront-anycastiplist-anycastiplist-status
2996
+ '''
2997
+ result = self._values.get("status")
2998
+ assert result is not None, "Required property 'status' is missing"
2999
+ return typing.cast(builtins.str, result)
3000
+
3001
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3002
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3003
+
3004
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3005
+ return not (rhs == self)
3006
+
3007
+ def __repr__(self) -> str:
3008
+ return "AnycastIpListProperty(%s)" % ", ".join(
3009
+ k + "=" + repr(v) for k, v in self._values.items()
3010
+ )
3011
+
3012
+ @jsii.data_type(
3013
+ jsii_type="aws-cdk-lib.aws_cloudfront.CfnAnycastIpList.TagsProperty",
3014
+ jsii_struct_bases=[],
3015
+ name_mapping={"items": "items"},
3016
+ )
3017
+ class TagsProperty:
3018
+ def __init__(
3019
+ self,
3020
+ *,
3021
+ items: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3022
+ ) -> None:
3023
+ '''A complex type that contains zero or more ``Tag`` elements.
3024
+
3025
+ :param items: A complex type that contains ``Tag`` elements.
3026
+
3027
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-anycastiplist-tags.html
3028
+ :exampleMetadata: fixture=_generated
3029
+
3030
+ Example::
3031
+
3032
+ # The code below shows an example of how to instantiate this type.
3033
+ # The values are placeholders you should change.
3034
+ from aws_cdk import aws_cloudfront as cloudfront
3035
+
3036
+ tags_property = cloudfront.CfnAnycastIpList.TagsProperty(
3037
+ items=[CfnTag(
3038
+ key="key",
3039
+ value="value"
3040
+ )]
3041
+ )
3042
+ '''
3043
+ if __debug__:
3044
+ type_hints = typing.get_type_hints(_typecheckingstub__3579e8810a293e61104d2dca5637c518c6536d4ea7d66deb517355d2d6f14647)
3045
+ check_type(argname="argument items", value=items, expected_type=type_hints["items"])
3046
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3047
+ if items is not None:
3048
+ self._values["items"] = items
3049
+
3050
+ @builtins.property
3051
+ def items(
3052
+ self,
3053
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, _CfnTag_f6864754]]]]:
3054
+ '''A complex type that contains ``Tag`` elements.
3055
+
3056
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-anycastiplist-tags.html#cfn-cloudfront-anycastiplist-tags-items
3057
+ '''
3058
+ result = self._values.get("items")
3059
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, _CfnTag_f6864754]]]], result)
3060
+
3061
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3062
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3063
+
3064
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3065
+ return not (rhs == self)
3066
+
3067
+ def __repr__(self) -> str:
3068
+ return "TagsProperty(%s)" % ", ".join(
3069
+ k + "=" + repr(v) for k, v in self._values.items()
3070
+ )
3071
+
3072
+
3073
+ @jsii.data_type(
3074
+ jsii_type="aws-cdk-lib.aws_cloudfront.CfnAnycastIpListProps",
3075
+ jsii_struct_bases=[],
3076
+ name_mapping={"ip_count": "ipCount", "name": "name", "tags": "tags"},
3077
+ )
3078
+ class CfnAnycastIpListProps:
3079
+ def __init__(
3080
+ self,
3081
+ *,
3082
+ ip_count: jsii.Number,
3083
+ name: builtins.str,
3084
+ tags: typing.Optional[typing.Union[CfnAnycastIpList.TagsProperty, typing.Dict[builtins.str, typing.Any]]] = None,
3085
+ ) -> None:
3086
+ '''Properties for defining a ``CfnAnycastIpList``.
3087
+
3088
+ :param ip_count: The number of IP addresses in the Anycast static IP list.
3089
+ :param name: The name of the Anycast static IP list.
3090
+ :param tags: A complex type that contains zero or more ``Tag`` elements.
3091
+
3092
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-anycastiplist.html
3093
+ :exampleMetadata: fixture=_generated
3094
+
3095
+ Example::
3096
+
3097
+ # The code below shows an example of how to instantiate this type.
3098
+ # The values are placeholders you should change.
3099
+ from aws_cdk import aws_cloudfront as cloudfront
3100
+
3101
+ cfn_anycast_ip_list_props = cloudfront.CfnAnycastIpListProps(
3102
+ ip_count=123,
3103
+ name="name",
3104
+
3105
+ # the properties below are optional
3106
+ tags=cloudfront.CfnAnycastIpList.TagsProperty(
3107
+ items=[CfnTag(
3108
+ key="key",
3109
+ value="value"
3110
+ )]
3111
+ )
3112
+ )
3113
+ '''
3114
+ if isinstance(tags, dict):
3115
+ tags = CfnAnycastIpList.TagsProperty(**tags)
3116
+ if __debug__:
3117
+ type_hints = typing.get_type_hints(_typecheckingstub__0531888e60306e7fdb982a8f30e2606d9c2f13802b9db82d7dcaa3a2728264ee)
3118
+ check_type(argname="argument ip_count", value=ip_count, expected_type=type_hints["ip_count"])
3119
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
3120
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
3121
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3122
+ "ip_count": ip_count,
3123
+ "name": name,
3124
+ }
3125
+ if tags is not None:
3126
+ self._values["tags"] = tags
3127
+
3128
+ @builtins.property
3129
+ def ip_count(self) -> jsii.Number:
3130
+ '''The number of IP addresses in the Anycast static IP list.
3131
+
3132
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-anycastiplist.html#cfn-cloudfront-anycastiplist-ipcount
3133
+ '''
3134
+ result = self._values.get("ip_count")
3135
+ assert result is not None, "Required property 'ip_count' is missing"
3136
+ return typing.cast(jsii.Number, result)
3137
+
3138
+ @builtins.property
3139
+ def name(self) -> builtins.str:
3140
+ '''The name of the Anycast static IP list.
3141
+
3142
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-anycastiplist.html#cfn-cloudfront-anycastiplist-name
3143
+ '''
3144
+ result = self._values.get("name")
3145
+ assert result is not None, "Required property 'name' is missing"
3146
+ return typing.cast(builtins.str, result)
3147
+
3148
+ @builtins.property
3149
+ def tags(self) -> typing.Optional[CfnAnycastIpList.TagsProperty]:
3150
+ '''A complex type that contains zero or more ``Tag`` elements.
3151
+
3152
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-anycastiplist.html#cfn-cloudfront-anycastiplist-tags
3153
+ '''
3154
+ result = self._values.get("tags")
3155
+ return typing.cast(typing.Optional[CfnAnycastIpList.TagsProperty], result)
3156
+
3157
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3158
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3159
+
3160
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3161
+ return not (rhs == self)
3162
+
3163
+ def __repr__(self) -> str:
3164
+ return "CfnAnycastIpListProps(%s)" % ", ".join(
3165
+ k + "=" + repr(v) for k, v in self._values.items()
3166
+ )
3167
+
3168
+
2693
3169
  @jsii.implements(_IInspectable_c2943556)
2694
3170
  class CfnCachePolicy(
2695
3171
  _CfnResource_9df397a6,
@@ -4861,6 +5337,7 @@ class CfnDistribution(
4861
5337
  "field_level_encryption_id": "fieldLevelEncryptionId",
4862
5338
  "forwarded_values": "forwardedValues",
4863
5339
  "function_associations": "functionAssociations",
5340
+ "grpc_config": "grpcConfig",
4864
5341
  "lambda_function_associations": "lambdaFunctionAssociations",
4865
5342
  "max_ttl": "maxTtl",
4866
5343
  "min_ttl": "minTtl",
@@ -4887,6 +5364,7 @@ class CfnDistribution(
4887
5364
  field_level_encryption_id: typing.Optional[builtins.str] = None,
4888
5365
  forwarded_values: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.ForwardedValuesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4889
5366
  function_associations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.FunctionAssociationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
5367
+ grpc_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.GrpcConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4890
5368
  lambda_function_associations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.LambdaFunctionAssociationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
4891
5369
  max_ttl: typing.Optional[jsii.Number] = None,
4892
5370
  min_ttl: typing.Optional[jsii.Number] = None,
@@ -4922,6 +5400,7 @@ class CfnDistribution(
4922
5400
  :param field_level_encryption_id: The value of ``ID`` for the field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data for this cache behavior. Default: - ""
4923
5401
  :param forwarded_values: This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. For more information, see `Working with policies <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/working-with-policies.html>`_ in the *Amazon CloudFront Developer Guide* . If you want to include values in the cache key, use a cache policy. For more information, see `Creating cache policies <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy>`_ or `Using the managed cache policies <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html>`_ in the *Amazon CloudFront Developer Guide* . If you want to send values to the origin but not include them in the cache key, use an origin request policy. For more information, see `Creating origin request policies <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy>`_ or `Using the managed origin request policies <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html>`_ in the *Amazon CloudFront Developer Guide* . A ``CacheBehavior`` must include either a ``CachePolicyId`` or ``ForwardedValues`` . We recommend that you use a ``CachePolicyId`` . A complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.
4924
5402
  :param function_associations: A list of CloudFront functions that are associated with this cache behavior. CloudFront functions must be published to the ``LIVE`` stage to associate them with a cache behavior.
5403
+ :param grpc_config: The gRPC configuration for your cache behavior.
4925
5404
  :param lambda_function_associations: A complex type that contains zero or more Lambda@Edge function associations for a cache behavior.
4926
5405
  :param max_ttl: This field is deprecated. We recommend that you use the ``MaxTTL`` field in a cache policy instead of this field. For more information, see `Creating cache policies <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy>`_ or `Using the managed cache policies <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html>`_ in the *Amazon CloudFront Developer Guide* . The maximum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin adds HTTP headers such as ``Cache-Control max-age`` , ``Cache-Control s-maxage`` , and ``Expires`` to objects. For more information, see `Managing How Long Content Stays in an Edge Cache (Expiration) <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html>`_ in the *Amazon CloudFront Developer Guide* . Default: - 31536000
4927
5406
  :param min_ttl: This field is deprecated. We recommend that you use the ``MinTTL`` field in a cache policy instead of this field. For more information, see `Creating cache policies <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy>`_ or `Using the managed cache policies <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html>`_ in the *Amazon CloudFront Developer Guide* . The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see `Managing How Long Content Stays in an Edge Cache (Expiration) <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html>`_ in the *Amazon CloudFront Developer Guide* . You must specify ``0`` for ``MinTTL`` if you configure CloudFront to forward all headers to your origin (under ``Headers`` , if you specify ``1`` for ``Quantity`` and ``*`` for ``Name`` ). Default: - 0
@@ -4970,6 +5449,9 @@ class CfnDistribution(
4970
5449
  event_type="eventType",
4971
5450
  function_arn="functionArn"
4972
5451
  )],
5452
+ grpc_config=cloudfront.CfnDistribution.GrpcConfigProperty(
5453
+ enabled=False
5454
+ ),
4973
5455
  lambda_function_associations=[cloudfront.CfnDistribution.LambdaFunctionAssociationProperty(
4974
5456
  event_type="eventType",
4975
5457
  include_body=False,
@@ -4998,6 +5480,7 @@ class CfnDistribution(
4998
5480
  check_type(argname="argument field_level_encryption_id", value=field_level_encryption_id, expected_type=type_hints["field_level_encryption_id"])
4999
5481
  check_type(argname="argument forwarded_values", value=forwarded_values, expected_type=type_hints["forwarded_values"])
5000
5482
  check_type(argname="argument function_associations", value=function_associations, expected_type=type_hints["function_associations"])
5483
+ check_type(argname="argument grpc_config", value=grpc_config, expected_type=type_hints["grpc_config"])
5001
5484
  check_type(argname="argument lambda_function_associations", value=lambda_function_associations, expected_type=type_hints["lambda_function_associations"])
5002
5485
  check_type(argname="argument max_ttl", value=max_ttl, expected_type=type_hints["max_ttl"])
5003
5486
  check_type(argname="argument min_ttl", value=min_ttl, expected_type=type_hints["min_ttl"])
@@ -5028,6 +5511,8 @@ class CfnDistribution(
5028
5511
  self._values["forwarded_values"] = forwarded_values
5029
5512
  if function_associations is not None:
5030
5513
  self._values["function_associations"] = function_associations
5514
+ if grpc_config is not None:
5515
+ self._values["grpc_config"] = grpc_config
5031
5516
  if lambda_function_associations is not None:
5032
5517
  self._values["lambda_function_associations"] = lambda_function_associations
5033
5518
  if max_ttl is not None:
@@ -5217,6 +5702,17 @@ class CfnDistribution(
5217
5702
  result = self._values.get("function_associations")
5218
5703
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDistribution.FunctionAssociationProperty"]]]], result)
5219
5704
 
5705
+ @builtins.property
5706
+ def grpc_config(
5707
+ self,
5708
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.GrpcConfigProperty"]]:
5709
+ '''The gRPC configuration for your cache behavior.
5710
+
5711
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-grpcconfig
5712
+ '''
5713
+ result = self._values.get("grpc_config")
5714
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.GrpcConfigProperty"]], result)
5715
+
5220
5716
  @builtins.property
5221
5717
  def lambda_function_associations(
5222
5718
  self,
@@ -5610,8 +6106,8 @@ class CfnDistribution(
5610
6106
  :param origin_protocol_policy: Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin. Valid values are:. - ``http-only`` – CloudFront always uses HTTP to connect to the origin. - ``match-viewer`` – CloudFront connects to the origin using the same protocol that the viewer used to connect to CloudFront. - ``https-only`` – CloudFront always uses HTTPS to connect to the origin.
5611
6107
  :param http_port: The HTTP port that CloudFront uses to connect to the origin. Specify the HTTP port that the origin listens on. Default: - 80
5612
6108
  :param https_port: The HTTPS port that CloudFront uses to connect to the origin. Specify the HTTPS port that the origin listens on. Default: - 443
5613
- :param origin_keepalive_timeout: Specifies how long, in seconds, CloudFront persists its connection to the origin. The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 5 seconds. For more information, see `Origin Keep-alive Timeout <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginKeepaliveTimeout>`_ in the *Amazon CloudFront Developer Guide* . Default: - 5
5614
- :param origin_read_timeout: Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout* . The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 30 seconds. For more information, see `Origin Response Timeout <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout>`_ in the *Amazon CloudFront Developer Guide* . Default: - 30
6109
+ :param origin_keepalive_timeout: Specifies how long, in seconds, CloudFront persists its connection to the origin. The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 5 seconds. For more information, see `Keep-alive timeout (custom origins only) <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginKeepaliveTimeout>`_ in the *Amazon CloudFront Developer Guide* . Default: - 5
6110
+ :param origin_read_timeout: Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout* . The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 30 seconds. For more information, see `Response timeout (custom origins only) <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout>`_ in the *Amazon CloudFront Developer Guide* . Default: - 30
5615
6111
  :param origin_ssl_protocols: Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting to your origin over HTTPS. Valid values include ``SSLv3`` , ``TLSv1`` , ``TLSv1.1`` , and ``TLSv1.2`` . For more information, see `Minimum Origin SSL Protocol <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols>`_ in the *Amazon CloudFront Developer Guide* .
5616
6112
 
5617
6113
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html
@@ -5702,7 +6198,7 @@ class CfnDistribution(
5702
6198
 
5703
6199
  The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 5 seconds.
5704
6200
 
5705
- For more information, see `Origin Keep-alive Timeout <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginKeepaliveTimeout>`_ in the *Amazon CloudFront Developer Guide* .
6201
+ For more information, see `Keep-alive timeout (custom origins only) <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginKeepaliveTimeout>`_ in the *Amazon CloudFront Developer Guide* .
5706
6202
 
5707
6203
  :default: - 5
5708
6204
 
@@ -5717,7 +6213,7 @@ class CfnDistribution(
5717
6213
 
5718
6214
  This is also known as the *origin response timeout* . The minimum timeout is 1 second, the maximum is 60 seconds, and the default (if you don't specify otherwise) is 30 seconds.
5719
6215
 
5720
- For more information, see `Origin Response Timeout <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout>`_ in the *Amazon CloudFront Developer Guide* .
6216
+ For more information, see `Response timeout (custom origins only) <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout>`_ in the *Amazon CloudFront Developer Guide* .
5721
6217
 
5722
6218
  :default: - 30
5723
6219
 
@@ -5764,6 +6260,7 @@ class CfnDistribution(
5764
6260
  "field_level_encryption_id": "fieldLevelEncryptionId",
5765
6261
  "forwarded_values": "forwardedValues",
5766
6262
  "function_associations": "functionAssociations",
6263
+ "grpc_config": "grpcConfig",
5767
6264
  "lambda_function_associations": "lambdaFunctionAssociations",
5768
6265
  "max_ttl": "maxTtl",
5769
6266
  "min_ttl": "minTtl",
@@ -5789,6 +6286,7 @@ class CfnDistribution(
5789
6286
  field_level_encryption_id: typing.Optional[builtins.str] = None,
5790
6287
  forwarded_values: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.ForwardedValuesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5791
6288
  function_associations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.FunctionAssociationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
6289
+ grpc_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.GrpcConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5792
6290
  lambda_function_associations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.LambdaFunctionAssociationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
5793
6291
  max_ttl: typing.Optional[jsii.Number] = None,
5794
6292
  min_ttl: typing.Optional[jsii.Number] = None,
@@ -5813,6 +6311,7 @@ class CfnDistribution(
5813
6311
  :param field_level_encryption_id: The value of ``ID`` for the field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data for the default cache behavior. Default: - ""
5814
6312
  :param forwarded_values: This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. For more information, see `Working with policies <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/working-with-policies.html>`_ in the *Amazon CloudFront Developer Guide* . If you want to include values in the cache key, use a cache policy. For more information, see `Creating cache policies <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy>`_ or `Using the managed cache policies <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html>`_ in the *Amazon CloudFront Developer Guide* . If you want to send values to the origin but not include them in the cache key, use an origin request policy. For more information, see `Creating origin request policies <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy>`_ or `Using the managed origin request policies <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html>`_ in the *Amazon CloudFront Developer Guide* . A ``DefaultCacheBehavior`` must include either a ``CachePolicyId`` or ``ForwardedValues`` . We recommend that you use a ``CachePolicyId`` . A complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.
5815
6313
  :param function_associations: A list of CloudFront functions that are associated with this cache behavior. Your functions must be published to the ``LIVE`` stage to associate them with a cache behavior.
6314
+ :param grpc_config: The gRPC configuration for your cache behavior.
5816
6315
  :param lambda_function_associations: A complex type that contains zero or more Lambda@Edge function associations for a cache behavior.
5817
6316
  :param max_ttl: This field is deprecated. We recommend that you use the ``MaxTTL`` field in a cache policy instead of this field. For more information, see `Creating cache policies <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy>`_ or `Using the managed cache policies <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html>`_ in the *Amazon CloudFront Developer Guide* . The maximum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin adds HTTP headers such as ``Cache-Control max-age`` , ``Cache-Control s-maxage`` , and ``Expires`` to objects. For more information, see `Managing How Long Content Stays in an Edge Cache (Expiration) <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html>`_ in the *Amazon CloudFront Developer Guide* . Default: - 31536000
5818
6317
  :param min_ttl: This field is deprecated. We recommend that you use the ``MinTTL`` field in a cache policy instead of this field. For more information, see `Creating cache policies <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy>`_ or `Using the managed cache policies <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html>`_ in the *Amazon CloudFront Developer Guide* . The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see `Managing How Long Content Stays in an Edge Cache (Expiration) <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html>`_ in the *Amazon CloudFront Developer Guide* . You must specify ``0`` for ``MinTTL`` if you configure CloudFront to forward all headers to your origin (under ``Headers`` , if you specify ``1`` for ``Quantity`` and ``*`` for ``Name`` ). Default: - 0
@@ -5860,6 +6359,9 @@ class CfnDistribution(
5860
6359
  event_type="eventType",
5861
6360
  function_arn="functionArn"
5862
6361
  )],
6362
+ grpc_config=cloudfront.CfnDistribution.GrpcConfigProperty(
6363
+ enabled=False
6364
+ ),
5863
6365
  lambda_function_associations=[cloudfront.CfnDistribution.LambdaFunctionAssociationProperty(
5864
6366
  event_type="eventType",
5865
6367
  include_body=False,
@@ -5887,6 +6389,7 @@ class CfnDistribution(
5887
6389
  check_type(argname="argument field_level_encryption_id", value=field_level_encryption_id, expected_type=type_hints["field_level_encryption_id"])
5888
6390
  check_type(argname="argument forwarded_values", value=forwarded_values, expected_type=type_hints["forwarded_values"])
5889
6391
  check_type(argname="argument function_associations", value=function_associations, expected_type=type_hints["function_associations"])
6392
+ check_type(argname="argument grpc_config", value=grpc_config, expected_type=type_hints["grpc_config"])
5890
6393
  check_type(argname="argument lambda_function_associations", value=lambda_function_associations, expected_type=type_hints["lambda_function_associations"])
5891
6394
  check_type(argname="argument max_ttl", value=max_ttl, expected_type=type_hints["max_ttl"])
5892
6395
  check_type(argname="argument min_ttl", value=min_ttl, expected_type=type_hints["min_ttl"])
@@ -5916,6 +6419,8 @@ class CfnDistribution(
5916
6419
  self._values["forwarded_values"] = forwarded_values
5917
6420
  if function_associations is not None:
5918
6421
  self._values["function_associations"] = function_associations
6422
+ if grpc_config is not None:
6423
+ self._values["grpc_config"] = grpc_config
5919
6424
  if lambda_function_associations is not None:
5920
6425
  self._values["lambda_function_associations"] = lambda_function_associations
5921
6426
  if max_ttl is not None:
@@ -6089,6 +6594,17 @@ class CfnDistribution(
6089
6594
  result = self._values.get("function_associations")
6090
6595
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDistribution.FunctionAssociationProperty"]]]], result)
6091
6596
 
6597
+ @builtins.property
6598
+ def grpc_config(
6599
+ self,
6600
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.GrpcConfigProperty"]]:
6601
+ '''The gRPC configuration for your cache behavior.
6602
+
6603
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-grpcconfig
6604
+ '''
6605
+ result = self._values.get("grpc_config")
6606
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.GrpcConfigProperty"]], result)
6607
+
6092
6608
  @builtins.property
6093
6609
  def lambda_function_associations(
6094
6610
  self,
@@ -6228,6 +6744,7 @@ class CfnDistribution(
6228
6744
  "default_cache_behavior": "defaultCacheBehavior",
6229
6745
  "enabled": "enabled",
6230
6746
  "aliases": "aliases",
6747
+ "anycast_ip_list_id": "anycastIpListId",
6231
6748
  "cache_behaviors": "cacheBehaviors",
6232
6749
  "cnam_es": "cnamEs",
6233
6750
  "comment": "comment",
@@ -6255,6 +6772,7 @@ class CfnDistribution(
6255
6772
  default_cache_behavior: typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.DefaultCacheBehaviorProperty", typing.Dict[builtins.str, typing.Any]]],
6256
6773
  enabled: typing.Union[builtins.bool, _IResolvable_da3f097b],
6257
6774
  aliases: typing.Optional[typing.Sequence[builtins.str]] = None,
6775
+ anycast_ip_list_id: typing.Optional[builtins.str] = None,
6258
6776
  cache_behaviors: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.CacheBehaviorProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
6259
6777
  cnam_es: typing.Optional[typing.Sequence[builtins.str]] = None,
6260
6778
  comment: typing.Optional[builtins.str] = None,
@@ -6279,13 +6797,14 @@ class CfnDistribution(
6279
6797
  :param default_cache_behavior: A complex type that describes the default cache behavior if you don't specify a ``CacheBehavior`` element or if files don't match any of the values of ``PathPattern`` in ``CacheBehavior`` elements. You must create exactly one default cache behavior.
6280
6798
  :param enabled: From this field, you can enable or disable the selected distribution.
6281
6799
  :param aliases: A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.
6800
+ :param anycast_ip_list_id: ID of the Anycast static IP list that is associated with the distribution.
6282
6801
  :param cache_behaviors: A complex type that contains zero or more ``CacheBehavior`` elements.
6283
6802
  :param cnam_es: An alias for the CloudFront distribution's domain name. .. epigraph:: This property is legacy. We recommend that you use `Aliases <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-aliases>`_ instead.
6284
6803
  :param comment: A comment to describe the distribution. The comment cannot be longer than 128 characters. Default: - ""
6285
6804
  :param continuous_deployment_policy_id: The identifier of a continuous deployment policy. For more information, see ``CreateContinuousDeploymentPolicy`` .
6286
6805
  :param custom_error_responses: A complex type that controls the following:. - Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer. - How long CloudFront caches HTTP status codes in the 4xx and 5xx range. For more information about custom error pages, see `Customizing Error Responses <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html>`_ in the *Amazon CloudFront Developer Guide* .
6287
6806
  :param custom_origin: The user-defined HTTP server that serves as the origin for content that CloudFront distributes. .. epigraph:: This property is legacy. We recommend that you use `Origin <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html>`_ instead.
6288
- :param default_root_object: The object that you want CloudFront to request from your origin (for example, ``index.html`` ) when a viewer requests the root URL for your distribution ( ``https://www.example.com`` ) instead of an object in your distribution ( ``https://www.example.com/product-description.html`` ). Specifying a default root object avoids exposing the contents of your distribution. Specify only the object name, for example, ``index.html`` . Don't add a ``/`` before the object name. If you don't want to specify a default root object when you create a distribution, include an empty ``DefaultRootObject`` element. To delete the default root object from an existing distribution, update the distribution configuration and include an empty ``DefaultRootObject`` element. To replace the default root object, update the distribution configuration and specify the new object. For more information about the default root object, see `Creating a Default Root Object <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DefaultRootObject.html>`_ in the *Amazon CloudFront Developer Guide* . Default: - ""
6807
+ :param default_root_object: When a viewer requests the root URL for your distribution, the default root object is the object that you want CloudFront to request from your origin. For example, if your root URL is ``https://www.example.com`` , you can specify CloudFront to return the ``index.html`` file as the default root object. You can specify a default root object so that viewers see a specific file or object, instead of another object in your distribution (for example, ``https://www.example.com/product-description.html`` ). A default root object avoids exposing the contents of your distribution. You can specify the object name or a path to the object name (for example, ``index.html`` or ``exampleFolderName/index.html`` ). Your string can't begin with a forward slash ( ``/`` ). Only specify the object name or the path to the object. If you don't want to specify a default root object when you create a distribution, include an empty ``DefaultRootObject`` element. To delete the default root object from an existing distribution, update the distribution configuration and include an empty ``DefaultRootObject`` element. To replace the default root object, update the distribution configuration and specify the new object. For more information about the default root object, see `Specify a default root object <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DefaultRootObject.html>`_ in the *Amazon CloudFront Developer Guide* . Default: - ""
6289
6808
  :param http_version: (Optional) Specify the HTTP version(s) that you want viewers to use to communicate with CloudFront . The default value for new distributions is ``http1.1`` . For viewers and CloudFront to use HTTP/2, viewers must support TLSv1.2 or later, and must support Server Name Indication (SNI). For viewers and CloudFront to use HTTP/3, viewers must support TLSv1.3 and Server Name Indication (SNI). CloudFront supports HTTP/3 connection migration to allow the viewer to switch networks without losing connection. For more information about connection migration, see `Connection Migration <https://docs.aws.amazon.com/https://www.rfc-editor.org/rfc/rfc9000.html#name-connection-migration>`_ at RFC 9000. For more information about supported TLSv1.3 ciphers, see `Supported protocols and ciphers between viewers and CloudFront <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html>`_ . Default: - "http1.1"
6290
6809
  :param ipv6_enabled: If you want CloudFront to respond to IPv6 DNS requests with an IPv6 address for your distribution, specify ``true`` . If you specify ``false`` , CloudFront responds to IPv6 DNS requests with the DNS response code ``NOERROR`` and with no IP addresses. This allows viewers to submit a second request, for an IPv4 address for your distribution. In general, you should enable IPv6 if you have users on IPv6 networks who want to access your content. However, if you're using signed URLs or signed cookies to restrict access to your content, and if you're using a custom policy that includes the ``IpAddress`` parameter to restrict the IP addresses that can access your content, don't enable IPv6. If you want to restrict access to some content by IP address and not restrict access to other content (or restrict access but not by IP address), you can create two distributions. For more information, see `Creating a Signed URL Using a Custom Policy <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-creating-signed-url-custom-policy.html>`_ in the *Amazon CloudFront Developer Guide* . If you're using an Amazon Route 53 AWS Integration alias resource record set to route traffic to your CloudFront distribution, you need to create a second alias resource record set when both of the following are true: - You enable IPv6 for the distribution - You're using alternate domain names in the URLs for your objects For more information, see `Routing Traffic to an Amazon CloudFront Web Distribution by Using Your Domain Name <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-cloudfront-distribution.html>`_ in the *Amazon Route 53 AWS Integration Developer Guide* . If you created a CNAME resource record set, either with Amazon Route 53 AWS Integration or with another DNS service, you don't need to make any changes. A CNAME record will route traffic to your distribution regardless of the IP address format of the viewer request.
6291
6810
  :param logging: A complex type that controls whether access logs are written for the distribution. For more information about logging, see `Access Logs <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html>`_ in the *Amazon CloudFront Developer Guide* .
@@ -6336,6 +6855,9 @@ class CfnDistribution(
6336
6855
  event_type="eventType",
6337
6856
  function_arn="functionArn"
6338
6857
  )],
6858
+ grpc_config=cloudfront.CfnDistribution.GrpcConfigProperty(
6859
+ enabled=False
6860
+ ),
6339
6861
  lambda_function_associations=[cloudfront.CfnDistribution.LambdaFunctionAssociationProperty(
6340
6862
  event_type="eventType",
6341
6863
  include_body=False,
@@ -6354,6 +6876,7 @@ class CfnDistribution(
6354
6876
 
6355
6877
  # the properties below are optional
6356
6878
  aliases=["aliases"],
6879
+ anycast_ip_list_id="anycastIpListId",
6357
6880
  cache_behaviors=[cloudfront.CfnDistribution.CacheBehaviorProperty(
6358
6881
  path_pattern="pathPattern",
6359
6882
  target_origin_id="targetOriginId",
@@ -6383,6 +6906,9 @@ class CfnDistribution(
6383
6906
  event_type="eventType",
6384
6907
  function_arn="functionArn"
6385
6908
  )],
6909
+ grpc_config=cloudfront.CfnDistribution.GrpcConfigProperty(
6910
+ enabled=False
6911
+ ),
6386
6912
  lambda_function_associations=[cloudfront.CfnDistribution.LambdaFunctionAssociationProperty(
6387
6913
  event_type="eventType",
6388
6914
  include_body=False,
@@ -6422,8 +6948,6 @@ class CfnDistribution(
6422
6948
  ipv6_enabled=False,
6423
6949
  logging=cloudfront.CfnDistribution.LoggingProperty(
6424
6950
  bucket="bucket",
6425
-
6426
- # the properties below are optional
6427
6951
  include_cookies=False,
6428
6952
  prefix="prefix"
6429
6953
  ),
@@ -6444,7 +6968,10 @@ class CfnDistribution(
6444
6968
  origin_id="originId"
6445
6969
  )],
6446
6970
  quantity=123
6447
- )
6971
+ ),
6972
+
6973
+ # the properties below are optional
6974
+ selection_criteria="selectionCriteria"
6448
6975
  )]
6449
6976
  ),
6450
6977
  origins=[cloudfront.CfnDistribution.OriginProperty(
@@ -6509,6 +7036,7 @@ class CfnDistribution(
6509
7036
  check_type(argname="argument default_cache_behavior", value=default_cache_behavior, expected_type=type_hints["default_cache_behavior"])
6510
7037
  check_type(argname="argument enabled", value=enabled, expected_type=type_hints["enabled"])
6511
7038
  check_type(argname="argument aliases", value=aliases, expected_type=type_hints["aliases"])
7039
+ check_type(argname="argument anycast_ip_list_id", value=anycast_ip_list_id, expected_type=type_hints["anycast_ip_list_id"])
6512
7040
  check_type(argname="argument cache_behaviors", value=cache_behaviors, expected_type=type_hints["cache_behaviors"])
6513
7041
  check_type(argname="argument cnam_es", value=cnam_es, expected_type=type_hints["cnam_es"])
6514
7042
  check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
@@ -6533,6 +7061,8 @@ class CfnDistribution(
6533
7061
  }
6534
7062
  if aliases is not None:
6535
7063
  self._values["aliases"] = aliases
7064
+ if anycast_ip_list_id is not None:
7065
+ self._values["anycast_ip_list_id"] = anycast_ip_list_id
6536
7066
  if cache_behaviors is not None:
6537
7067
  self._values["cache_behaviors"] = cache_behaviors
6538
7068
  if cnam_es is not None:
@@ -6603,6 +7133,15 @@ class CfnDistribution(
6603
7133
  result = self._values.get("aliases")
6604
7134
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
6605
7135
 
7136
+ @builtins.property
7137
+ def anycast_ip_list_id(self) -> typing.Optional[builtins.str]:
7138
+ '''ID of the Anycast static IP list that is associated with the distribution.
7139
+
7140
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-anycastiplistid
7141
+ '''
7142
+ result = self._values.get("anycast_ip_list_id")
7143
+ return typing.cast(typing.Optional[builtins.str], result)
7144
+
6606
7145
  @builtins.property
6607
7146
  def cache_behaviors(
6608
7147
  self,
@@ -6684,9 +7223,11 @@ class CfnDistribution(
6684
7223
 
6685
7224
  @builtins.property
6686
7225
  def default_root_object(self) -> typing.Optional[builtins.str]:
6687
- '''The object that you want CloudFront to request from your origin (for example, ``index.html`` ) when a viewer requests the root URL for your distribution ( ``https://www.example.com`` ) instead of an object in your distribution ( ``https://www.example.com/product-description.html`` ). Specifying a default root object avoids exposing the contents of your distribution.
7226
+ '''When a viewer requests the root URL for your distribution, the default root object is the object that you want CloudFront to request from your origin.
7227
+
7228
+ For example, if your root URL is ``https://www.example.com`` , you can specify CloudFront to return the ``index.html`` file as the default root object. You can specify a default root object so that viewers see a specific file or object, instead of another object in your distribution (for example, ``https://www.example.com/product-description.html`` ). A default root object avoids exposing the contents of your distribution.
6688
7229
 
6689
- Specify only the object name, for example, ``index.html`` . Don't add a ``/`` before the object name.
7230
+ You can specify the object name or a path to the object name (for example, ``index.html`` or ``exampleFolderName/index.html`` ). Your string can't begin with a forward slash ( ``/`` ). Only specify the object name or the path to the object.
6690
7231
 
6691
7232
  If you don't want to specify a default root object when you create a distribution, include an empty ``DefaultRootObject`` element.
6692
7233
 
@@ -6694,7 +7235,7 @@ class CfnDistribution(
6694
7235
 
6695
7236
  To replace the default root object, update the distribution configuration and specify the new object.
6696
7237
 
6697
- For more information about the default root object, see `Creating a Default Root Object <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DefaultRootObject.html>`_ in the *Amazon CloudFront Developer Guide* .
7238
+ For more information about the default root object, see `Specify a default root object <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DefaultRootObject.html>`_ in the *Amazon CloudFront Developer Guide* .
6698
7239
 
6699
7240
  :default: - ""
6700
7241
 
@@ -7196,6 +7737,68 @@ class CfnDistribution(
7196
7737
  k + "=" + repr(v) for k, v in self._values.items()
7197
7738
  )
7198
7739
 
7740
+ @jsii.data_type(
7741
+ jsii_type="aws-cdk-lib.aws_cloudfront.CfnDistribution.GrpcConfigProperty",
7742
+ jsii_struct_bases=[],
7743
+ name_mapping={"enabled": "enabled"},
7744
+ )
7745
+ class GrpcConfigProperty:
7746
+ def __init__(
7747
+ self,
7748
+ *,
7749
+ enabled: typing.Union[builtins.bool, _IResolvable_da3f097b],
7750
+ ) -> None:
7751
+ '''Amazon CloudFront supports gRPC, an open-source remote procedure call (RPC) framework built on HTTP/2.
7752
+
7753
+ gRPC offers bi-directional streaming and binary protocol that buffers payloads, making it suitable for applications that require low latency communications.
7754
+
7755
+ To enable your distribution to handle gRPC requests, you must include HTTP/2 as one of the supported ``HTTP`` versions and allow ``HTTP`` methods, including ``POST`` .
7756
+
7757
+ For more information, see `Using gRPC with CloudFront distributions <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-using-grpc.html>`_ in the *Amazon CloudFront Developer Guide* .
7758
+
7759
+ :param enabled: Enables your CloudFront distribution to receive gRPC requests and to proxy them directly to your origins.
7760
+
7761
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-grpcconfig.html
7762
+ :exampleMetadata: fixture=_generated
7763
+
7764
+ Example::
7765
+
7766
+ # The code below shows an example of how to instantiate this type.
7767
+ # The values are placeholders you should change.
7768
+ from aws_cdk import aws_cloudfront as cloudfront
7769
+
7770
+ grpc_config_property = cloudfront.CfnDistribution.GrpcConfigProperty(
7771
+ enabled=False
7772
+ )
7773
+ '''
7774
+ if __debug__:
7775
+ type_hints = typing.get_type_hints(_typecheckingstub__557a6f608b1e8bb5ba9c2ed84c1b5a6c57483c20f62e59b85d34ac08fbd35348)
7776
+ check_type(argname="argument enabled", value=enabled, expected_type=type_hints["enabled"])
7777
+ self._values: typing.Dict[builtins.str, typing.Any] = {
7778
+ "enabled": enabled,
7779
+ }
7780
+
7781
+ @builtins.property
7782
+ def enabled(self) -> typing.Union[builtins.bool, _IResolvable_da3f097b]:
7783
+ '''Enables your CloudFront distribution to receive gRPC requests and to proxy them directly to your origins.
7784
+
7785
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-grpcconfig.html#cfn-cloudfront-distribution-grpcconfig-enabled
7786
+ '''
7787
+ result = self._values.get("enabled")
7788
+ assert result is not None, "Required property 'enabled' is missing"
7789
+ return typing.cast(typing.Union[builtins.bool, _IResolvable_da3f097b], result)
7790
+
7791
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
7792
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
7793
+
7794
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
7795
+ return not (rhs == self)
7796
+
7797
+ def __repr__(self) -> str:
7798
+ return "GrpcConfigProperty(%s)" % ", ".join(
7799
+ k + "=" + repr(v) for k, v in self._values.items()
7800
+ )
7801
+
7199
7802
  @jsii.data_type(
7200
7803
  jsii_type="aws-cdk-lib.aws_cloudfront.CfnDistribution.LambdaFunctionAssociationProperty",
7201
7804
  jsii_struct_bases=[],
@@ -7537,7 +8140,7 @@ class CfnDistribution(
7537
8140
  def __init__(
7538
8141
  self,
7539
8142
  *,
7540
- bucket: builtins.str,
8143
+ bucket: typing.Optional[builtins.str] = None,
7541
8144
  include_cookies: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
7542
8145
  prefix: typing.Optional[builtins.str] = None,
7543
8146
  ) -> None:
@@ -7562,8 +8165,6 @@ class CfnDistribution(
7562
8165
 
7563
8166
  logging_property = cloudfront.CfnDistribution.LoggingProperty(
7564
8167
  bucket="bucket",
7565
-
7566
- # the properties below are optional
7567
8168
  include_cookies=False,
7568
8169
  prefix="prefix"
7569
8170
  )
@@ -7573,23 +8174,22 @@ class CfnDistribution(
7573
8174
  check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
7574
8175
  check_type(argname="argument include_cookies", value=include_cookies, expected_type=type_hints["include_cookies"])
7575
8176
  check_type(argname="argument prefix", value=prefix, expected_type=type_hints["prefix"])
7576
- self._values: typing.Dict[builtins.str, typing.Any] = {
7577
- "bucket": bucket,
7578
- }
8177
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
8178
+ if bucket is not None:
8179
+ self._values["bucket"] = bucket
7579
8180
  if include_cookies is not None:
7580
8181
  self._values["include_cookies"] = include_cookies
7581
8182
  if prefix is not None:
7582
8183
  self._values["prefix"] = prefix
7583
8184
 
7584
8185
  @builtins.property
7585
- def bucket(self) -> builtins.str:
8186
+ def bucket(self) -> typing.Optional[builtins.str]:
7586
8187
  '''The Amazon S3 bucket to store the access logs in, for example, ``amzn-s3-demo-bucket.s3.amazonaws.com`` .
7587
8188
 
7588
8189
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-logging.html#cfn-cloudfront-distribution-logging-bucket
7589
8190
  '''
7590
8191
  result = self._values.get("bucket")
7591
- assert result is not None, "Required property 'bucket' is missing"
7592
- return typing.cast(builtins.str, result)
8192
+ return typing.cast(typing.Optional[builtins.str], result)
7593
8193
 
7594
8194
  @builtins.property
7595
8195
  def include_cookies(
@@ -7898,6 +8498,7 @@ class CfnDistribution(
7898
8498
  "failover_criteria": "failoverCriteria",
7899
8499
  "id": "id",
7900
8500
  "members": "members",
8501
+ "selection_criteria": "selectionCriteria",
7901
8502
  },
7902
8503
  )
7903
8504
  class OriginGroupProperty:
@@ -7907,6 +8508,7 @@ class CfnDistribution(
7907
8508
  failover_criteria: typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.OriginGroupFailoverCriteriaProperty", typing.Dict[builtins.str, typing.Any]]],
7908
8509
  id: builtins.str,
7909
8510
  members: typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.OriginGroupMembersProperty", typing.Dict[builtins.str, typing.Any]]],
8511
+ selection_criteria: typing.Optional[builtins.str] = None,
7910
8512
  ) -> None:
7911
8513
  '''An origin group includes two origins (a primary origin and a secondary origin to failover to) and a failover criteria that you specify.
7912
8514
 
@@ -7917,6 +8519,7 @@ class CfnDistribution(
7917
8519
  :param failover_criteria: A complex type that contains information about the failover criteria for an origin group.
7918
8520
  :param id: The origin group's ID.
7919
8521
  :param members: A complex type that contains information about the origins in an origin group.
8522
+ :param selection_criteria: The selection criteria for the origin group. For more information, see `Create an origin group <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html#concept_origin_groups.creating>`_ in the *Amazon CloudFront Developer Guide* .
7920
8523
 
7921
8524
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroup.html
7922
8525
  :exampleMetadata: fixture=_generated
@@ -7940,7 +8543,10 @@ class CfnDistribution(
7940
8543
  origin_id="originId"
7941
8544
  )],
7942
8545
  quantity=123
7943
- )
8546
+ ),
8547
+
8548
+ # the properties below are optional
8549
+ selection_criteria="selectionCriteria"
7944
8550
  )
7945
8551
  '''
7946
8552
  if __debug__:
@@ -7948,11 +8554,14 @@ class CfnDistribution(
7948
8554
  check_type(argname="argument failover_criteria", value=failover_criteria, expected_type=type_hints["failover_criteria"])
7949
8555
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
7950
8556
  check_type(argname="argument members", value=members, expected_type=type_hints["members"])
8557
+ check_type(argname="argument selection_criteria", value=selection_criteria, expected_type=type_hints["selection_criteria"])
7951
8558
  self._values: typing.Dict[builtins.str, typing.Any] = {
7952
8559
  "failover_criteria": failover_criteria,
7953
8560
  "id": id,
7954
8561
  "members": members,
7955
8562
  }
8563
+ if selection_criteria is not None:
8564
+ self._values["selection_criteria"] = selection_criteria
7956
8565
 
7957
8566
  @builtins.property
7958
8567
  def failover_criteria(
@@ -7988,6 +8597,17 @@ class CfnDistribution(
7988
8597
  assert result is not None, "Required property 'members' is missing"
7989
8598
  return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnDistribution.OriginGroupMembersProperty"], result)
7990
8599
 
8600
+ @builtins.property
8601
+ def selection_criteria(self) -> typing.Optional[builtins.str]:
8602
+ '''The selection criteria for the origin group.
8603
+
8604
+ For more information, see `Create an origin group <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html#concept_origin_groups.creating>`_ in the *Amazon CloudFront Developer Guide* .
8605
+
8606
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroup.html#cfn-cloudfront-distribution-origingroup-selectioncriteria
8607
+ '''
8608
+ result = self._values.get("selection_criteria")
8609
+ return typing.cast(typing.Optional[builtins.str], result)
8610
+
7991
8611
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
7992
8612
  return isinstance(rhs, self.__class__) and rhs._values == self._values
7993
8613
 
@@ -8042,7 +8662,10 @@ class CfnDistribution(
8042
8662
  origin_id="originId"
8043
8663
  )],
8044
8664
  quantity=123
8045
- )
8665
+ ),
8666
+
8667
+ # the properties below are optional
8668
+ selection_criteria="selectionCriteria"
8046
8669
  )]
8047
8670
  )
8048
8671
  '''
@@ -8893,6 +9516,9 @@ class CfnDistributionProps:
8893
9516
  event_type="eventType",
8894
9517
  function_arn="functionArn"
8895
9518
  )],
9519
+ grpc_config=cloudfront.CfnDistribution.GrpcConfigProperty(
9520
+ enabled=False
9521
+ ),
8896
9522
  lambda_function_associations=[cloudfront.CfnDistribution.LambdaFunctionAssociationProperty(
8897
9523
  event_type="eventType",
8898
9524
  include_body=False,
@@ -8911,6 +9537,7 @@ class CfnDistributionProps:
8911
9537
 
8912
9538
  # the properties below are optional
8913
9539
  aliases=["aliases"],
9540
+ anycast_ip_list_id="anycastIpListId",
8914
9541
  cache_behaviors=[cloudfront.CfnDistribution.CacheBehaviorProperty(
8915
9542
  path_pattern="pathPattern",
8916
9543
  target_origin_id="targetOriginId",
@@ -8940,6 +9567,9 @@ class CfnDistributionProps:
8940
9567
  event_type="eventType",
8941
9568
  function_arn="functionArn"
8942
9569
  )],
9570
+ grpc_config=cloudfront.CfnDistribution.GrpcConfigProperty(
9571
+ enabled=False
9572
+ ),
8943
9573
  lambda_function_associations=[cloudfront.CfnDistribution.LambdaFunctionAssociationProperty(
8944
9574
  event_type="eventType",
8945
9575
  include_body=False,
@@ -8979,8 +9609,6 @@ class CfnDistributionProps:
8979
9609
  ipv6_enabled=False,
8980
9610
  logging=cloudfront.CfnDistribution.LoggingProperty(
8981
9611
  bucket="bucket",
8982
-
8983
- # the properties below are optional
8984
9612
  include_cookies=False,
8985
9613
  prefix="prefix"
8986
9614
  ),
@@ -9001,7 +9629,10 @@ class CfnDistributionProps:
9001
9629
  origin_id="originId"
9002
9630
  )],
9003
9631
  quantity=123
9004
- )
9632
+ ),
9633
+
9634
+ # the properties below are optional
9635
+ selection_criteria="selectionCriteria"
9005
9636
  )]
9006
9637
  ),
9007
9638
  origins=[cloudfront.CfnDistribution.OriginProperty(
@@ -17166,6 +17797,15 @@ typing.cast(typing.Any, ICachePolicy).__jsii_proxy_class__ = lambda : _ICachePol
17166
17797
  class IDistribution(_IResource_c80c4260, typing_extensions.Protocol):
17167
17798
  '''Interface for CloudFront distributions.'''
17168
17799
 
17800
+ @builtins.property
17801
+ @jsii.member(jsii_name="distributionArn")
17802
+ def distribution_arn(self) -> builtins.str:
17803
+ '''The distribution ARN for this distribution.
17804
+
17805
+ :attribute: true
17806
+ '''
17807
+ ...
17808
+
17169
17809
  @builtins.property
17170
17810
  @jsii.member(jsii_name="distributionDomainName")
17171
17811
  def distribution_domain_name(self) -> builtins.str:
@@ -17216,6 +17856,15 @@ class _IDistributionProxy(
17216
17856
 
17217
17857
  __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_cloudfront.IDistribution"
17218
17858
 
17859
+ @builtins.property
17860
+ @jsii.member(jsii_name="distributionArn")
17861
+ def distribution_arn(self) -> builtins.str:
17862
+ '''The distribution ARN for this distribution.
17863
+
17864
+ :attribute: true
17865
+ '''
17866
+ return typing.cast(builtins.str, jsii.get(self, "distributionArn"))
17867
+
17219
17868
  @builtins.property
17220
17869
  @jsii.member(jsii_name="distributionDomainName")
17221
17870
  def distribution_domain_name(self) -> builtins.str:
@@ -23566,6 +24215,15 @@ class CloudFrontWebDistribution(
23566
24215
  check_type(argname="argument identity", value=identity, expected_type=type_hints["identity"])
23567
24216
  return typing.cast(_Grant_a7ae64f8, jsii.invoke(self, "grantCreateInvalidation", [identity]))
23568
24217
 
24218
+ @builtins.property
24219
+ @jsii.member(jsii_name="distributionArn")
24220
+ def distribution_arn(self) -> builtins.str:
24221
+ '''(deprecated) The distribution ARN for this distribution.
24222
+
24223
+ :stability: deprecated
24224
+ '''
24225
+ return typing.cast(builtins.str, jsii.get(self, "distributionArn"))
24226
+
23569
24227
  @builtins.property
23570
24228
  @jsii.member(jsii_name="distributionDomainName")
23571
24229
  def distribution_domain_name(self) -> builtins.str:
@@ -24444,6 +25102,12 @@ class Distribution(
24444
25102
 
24445
25103
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metricTotalErrorRate", [props]))
24446
25104
 
25105
+ @builtins.property
25106
+ @jsii.member(jsii_name="distributionArn")
25107
+ def distribution_arn(self) -> builtins.str:
25108
+ '''The distribution ARN for this distribution.'''
25109
+ return typing.cast(builtins.str, jsii.get(self, "distributionArn"))
25110
+
24447
25111
  @builtins.property
24448
25112
  @jsii.member(jsii_name="distributionDomainName")
24449
25113
  def distribution_domain_name(self) -> builtins.str:
@@ -24804,6 +25468,8 @@ __all__ = [
24804
25468
  "CachePolicyProps",
24805
25469
  "CacheQueryStringBehavior",
24806
25470
  "CachedMethods",
25471
+ "CfnAnycastIpList",
25472
+ "CfnAnycastIpListProps",
24807
25473
  "CfnCachePolicy",
24808
25474
  "CfnCachePolicyProps",
24809
25475
  "CfnCloudFrontOriginAccessIdentity",
@@ -25038,6 +25704,76 @@ def _typecheckingstub__a222c5119a62123645775df745b141b876338875bf9ef6e0b116ff55a
25038
25704
  """Type checking stubs"""
25039
25705
  pass
25040
25706
 
25707
+ def _typecheckingstub__2b13827b228b7c298a17121364286edab0de8f14fd459f83803e07a1c878948b(
25708
+ scope: _constructs_77d1e7e8.Construct,
25709
+ id: builtins.str,
25710
+ *,
25711
+ ip_count: jsii.Number,
25712
+ name: builtins.str,
25713
+ tags: typing.Optional[typing.Union[CfnAnycastIpList.TagsProperty, typing.Dict[builtins.str, typing.Any]]] = None,
25714
+ ) -> None:
25715
+ """Type checking stubs"""
25716
+ pass
25717
+
25718
+ def _typecheckingstub__aa4751ceff9fa4c468103f7488b7f0652f09aa7eba8687281685471bc5d09584(
25719
+ inspector: _TreeInspector_488e0dd5,
25720
+ ) -> None:
25721
+ """Type checking stubs"""
25722
+ pass
25723
+
25724
+ def _typecheckingstub__1dfea48793fdcd21981ddcf07562959f142afc727d7d7d49c5d176bcdd82f2db(
25725
+ props: typing.Mapping[builtins.str, typing.Any],
25726
+ ) -> None:
25727
+ """Type checking stubs"""
25728
+ pass
25729
+
25730
+ def _typecheckingstub__a4b11521f2249d686f7716f70cecd2cba09492081133c8221ca460031dc8ec09(
25731
+ value: jsii.Number,
25732
+ ) -> None:
25733
+ """Type checking stubs"""
25734
+ pass
25735
+
25736
+ def _typecheckingstub__ac37e78a6ea86b3ef0227ef8ab78147385ce1b63a99049def4d84be02aff3daa(
25737
+ value: builtins.str,
25738
+ ) -> None:
25739
+ """Type checking stubs"""
25740
+ pass
25741
+
25742
+ def _typecheckingstub__b1d1dfdc7936ba000dfdec659315150c3bf594d4b2b99b2d3b37e510f78d7e57(
25743
+ value: typing.Optional[CfnAnycastIpList.TagsProperty],
25744
+ ) -> None:
25745
+ """Type checking stubs"""
25746
+ pass
25747
+
25748
+ def _typecheckingstub__52438d74e9c64ccb0851ad4bbbcc3d1dab9c3fa5daeefa73f0df7ada781b9ceb(
25749
+ *,
25750
+ anycast_ips: typing.Sequence[builtins.str],
25751
+ arn: builtins.str,
25752
+ id: builtins.str,
25753
+ ip_count: jsii.Number,
25754
+ last_modified_time: builtins.str,
25755
+ name: builtins.str,
25756
+ status: builtins.str,
25757
+ ) -> None:
25758
+ """Type checking stubs"""
25759
+ pass
25760
+
25761
+ def _typecheckingstub__3579e8810a293e61104d2dca5637c518c6536d4ea7d66deb517355d2d6f14647(
25762
+ *,
25763
+ items: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]]]] = None,
25764
+ ) -> None:
25765
+ """Type checking stubs"""
25766
+ pass
25767
+
25768
+ def _typecheckingstub__0531888e60306e7fdb982a8f30e2606d9c2f13802b9db82d7dcaa3a2728264ee(
25769
+ *,
25770
+ ip_count: jsii.Number,
25771
+ name: builtins.str,
25772
+ tags: typing.Optional[typing.Union[CfnAnycastIpList.TagsProperty, typing.Dict[builtins.str, typing.Any]]] = None,
25773
+ ) -> None:
25774
+ """Type checking stubs"""
25775
+ pass
25776
+
25041
25777
  def _typecheckingstub__1ecaedd7f16610a74896b909af6b8327237ba10f429c68ee400588f2df9ef521(
25042
25778
  scope: _constructs_77d1e7e8.Construct,
25043
25779
  id: builtins.str,
@@ -25302,6 +26038,7 @@ def _typecheckingstub__40fab044003cdf2432d623590b2a89d0545d13047f180f029d22adc95
25302
26038
  field_level_encryption_id: typing.Optional[builtins.str] = None,
25303
26039
  forwarded_values: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDistribution.ForwardedValuesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
25304
26040
  function_associations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDistribution.FunctionAssociationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
26041
+ grpc_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDistribution.GrpcConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
25305
26042
  lambda_function_associations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDistribution.LambdaFunctionAssociationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
25306
26043
  max_ttl: typing.Optional[jsii.Number] = None,
25307
26044
  min_ttl: typing.Optional[jsii.Number] = None,
@@ -25357,6 +26094,7 @@ def _typecheckingstub__acf9839d8791146628088e2f7ab6072f3232af301427572733ecdb1c5
25357
26094
  field_level_encryption_id: typing.Optional[builtins.str] = None,
25358
26095
  forwarded_values: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDistribution.ForwardedValuesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
25359
26096
  function_associations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDistribution.FunctionAssociationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
26097
+ grpc_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDistribution.GrpcConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
25360
26098
  lambda_function_associations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDistribution.LambdaFunctionAssociationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
25361
26099
  max_ttl: typing.Optional[jsii.Number] = None,
25362
26100
  min_ttl: typing.Optional[jsii.Number] = None,
@@ -25375,6 +26113,7 @@ def _typecheckingstub__924aa31797d5562075c15043a82632c8afbc217d476fdf805d7efea10
25375
26113
  default_cache_behavior: typing.Union[_IResolvable_da3f097b, typing.Union[CfnDistribution.DefaultCacheBehaviorProperty, typing.Dict[builtins.str, typing.Any]]],
25376
26114
  enabled: typing.Union[builtins.bool, _IResolvable_da3f097b],
25377
26115
  aliases: typing.Optional[typing.Sequence[builtins.str]] = None,
26116
+ anycast_ip_list_id: typing.Optional[builtins.str] = None,
25378
26117
  cache_behaviors: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDistribution.CacheBehaviorProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
25379
26118
  cnam_es: typing.Optional[typing.Sequence[builtins.str]] = None,
25380
26119
  comment: typing.Optional[builtins.str] = None,
@@ -25423,6 +26162,13 @@ def _typecheckingstub__95bd46ae407889173be5aed0249979fa29060c3f563d398aac3696196
25423
26162
  """Type checking stubs"""
25424
26163
  pass
25425
26164
 
26165
+ def _typecheckingstub__557a6f608b1e8bb5ba9c2ed84c1b5a6c57483c20f62e59b85d34ac08fbd35348(
26166
+ *,
26167
+ enabled: typing.Union[builtins.bool, _IResolvable_da3f097b],
26168
+ ) -> None:
26169
+ """Type checking stubs"""
26170
+ pass
26171
+
25426
26172
  def _typecheckingstub__e6f5cc34036eacd4d5965f3264d177a65ea02e95ec0abf14ad79fd49e7743885(
25427
26173
  *,
25428
26174
  event_type: typing.Optional[builtins.str] = None,
@@ -25453,7 +26199,7 @@ def _typecheckingstub__e695ac5bc48e85bf9919e26bdb45e3de2d237ba2e8d90acd19414f765
25453
26199
 
25454
26200
  def _typecheckingstub__7a0c3d5ebfffb13f35ce0b0ca8f717738914598e4bca9e7b40ad11010a9c3b2c(
25455
26201
  *,
25456
- bucket: builtins.str,
26202
+ bucket: typing.Optional[builtins.str] = None,
25457
26203
  include_cookies: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
25458
26204
  prefix: typing.Optional[builtins.str] = None,
25459
26205
  ) -> None:
@@ -25495,6 +26241,7 @@ def _typecheckingstub__bd08423916d03eaf406b848a8b7d04e6dad1de842d0f03928145ff201
25495
26241
  failover_criteria: typing.Union[_IResolvable_da3f097b, typing.Union[CfnDistribution.OriginGroupFailoverCriteriaProperty, typing.Dict[builtins.str, typing.Any]]],
25496
26242
  id: builtins.str,
25497
26243
  members: typing.Union[_IResolvable_da3f097b, typing.Union[CfnDistribution.OriginGroupMembersProperty, typing.Dict[builtins.str, typing.Any]]],
26244
+ selection_criteria: typing.Optional[builtins.str] = None,
25498
26245
  ) -> None:
25499
26246
  """Type checking stubs"""
25500
26247
  pass