aws-cdk-lib 2.194.0__py3-none-any.whl → 2.196.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.

Potentially problematic release.


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

Files changed (108) hide show
  1. aws_cdk/__init__.py +435 -20
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.194.0.jsii.tgz → aws-cdk-lib@2.196.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_acmpca/__init__.py +1 -1
  5. aws_cdk/aws_amazonmq/__init__.py +2 -2
  6. aws_cdk/aws_apigateway/__init__.py +208 -70
  7. aws_cdk/aws_apigatewayv2/__init__.py +155 -24
  8. aws_cdk/aws_appconfig/__init__.py +24 -0
  9. aws_cdk/aws_applicationautoscaling/__init__.py +6 -0
  10. aws_cdk/aws_appmesh/__init__.py +42 -0
  11. aws_cdk/aws_appsync/__init__.py +92 -20
  12. aws_cdk/aws_autoscaling/__init__.py +24 -0
  13. aws_cdk/aws_backup/__init__.py +53 -14
  14. aws_cdk/aws_batch/__init__.py +72 -0
  15. aws_cdk/aws_bedrock/__init__.py +1201 -18
  16. aws_cdk/aws_budgets/__init__.py +569 -0
  17. aws_cdk/aws_certificatemanager/__init__.py +21 -0
  18. aws_cdk/aws_chatbot/__init__.py +6 -0
  19. aws_cdk/aws_cloudfront/__init__.py +277 -120
  20. aws_cdk/aws_cloudfront/experimental/__init__.py +6 -0
  21. aws_cdk/aws_cloudtrail/__init__.py +6 -0
  22. aws_cdk/aws_cloudwatch/__init__.py +18 -0
  23. aws_cdk/aws_cloudwatch_actions/__init__.py +75 -1
  24. aws_cdk/aws_codebuild/__init__.py +48 -0
  25. aws_cdk/aws_codecommit/__init__.py +6 -0
  26. aws_cdk/aws_codedeploy/__init__.py +63 -0
  27. aws_cdk/aws_codeguruprofiler/__init__.py +6 -0
  28. aws_cdk/aws_codepipeline/__init__.py +114 -0
  29. aws_cdk/aws_codepipeline_actions/__init__.py +4 -4
  30. aws_cdk/aws_codestarnotifications/__init__.py +6 -0
  31. aws_cdk/aws_cognito/__init__.py +215 -10
  32. aws_cdk/aws_cognito_identitypool/__init__.py +6 -0
  33. aws_cdk/aws_config/__init__.py +36 -0
  34. aws_cdk/aws_datazone/__init__.py +1013 -100
  35. aws_cdk/aws_docdb/__init__.py +27 -3
  36. aws_cdk/aws_dsql/__init__.py +29 -12
  37. aws_cdk/aws_dynamodb/__init__.py +25 -11
  38. aws_cdk/aws_ec2/__init__.py +408 -23
  39. aws_cdk/aws_ecr/__init__.py +22 -14
  40. aws_cdk/aws_ecr_assets/__init__.py +6 -0
  41. aws_cdk/aws_ecs/__init__.py +116 -34
  42. aws_cdk/aws_ecs_patterns/__init__.py +58 -0
  43. aws_cdk/aws_efs/__init__.py +12 -0
  44. aws_cdk/aws_eks/__init__.py +42 -0
  45. aws_cdk/aws_elasticloadbalancing/__init__.py +6 -0
  46. aws_cdk/aws_elasticloadbalancingv2/__init__.py +112 -9
  47. aws_cdk/aws_elasticsearch/__init__.py +9 -0
  48. aws_cdk/aws_events/__init__.py +36 -0
  49. aws_cdk/aws_events_targets/__init__.py +10 -10
  50. aws_cdk/aws_fsx/__init__.py +8 -3
  51. aws_cdk/aws_globalaccelerator/__init__.py +18 -0
  52. aws_cdk/aws_iam/__init__.py +66 -0
  53. aws_cdk/aws_imagebuilder/__init__.py +181 -26
  54. aws_cdk/aws_inspector/__init__.py +6 -0
  55. aws_cdk/aws_kinesis/__init__.py +19 -1
  56. aws_cdk/aws_kinesisanalytics/__init__.py +7 -7
  57. aws_cdk/aws_kinesisanalyticsv2/__init__.py +7 -7
  58. aws_cdk/aws_kinesisfirehose/__init__.py +6 -0
  59. aws_cdk/aws_kms/__init__.py +16 -4
  60. aws_cdk/aws_lambda/__init__.py +76 -6
  61. aws_cdk/aws_lambda_nodejs/__init__.py +6 -0
  62. aws_cdk/aws_logs/__init__.py +155 -12
  63. aws_cdk/aws_medialive/__init__.py +4 -6
  64. aws_cdk/aws_mediatailor/__init__.py +115 -0
  65. aws_cdk/aws_oam/__init__.py +43 -10
  66. aws_cdk/aws_opensearchservice/__init__.py +12 -0
  67. aws_cdk/aws_qbusiness/__init__.py +2 -2
  68. aws_cdk/aws_quicksight/__init__.py +22 -22
  69. aws_cdk/aws_rds/__init__.py +347 -36
  70. aws_cdk/aws_redshiftserverless/__init__.py +7 -7
  71. aws_cdk/aws_route53/__init__.py +735 -33
  72. aws_cdk/aws_route53_targets/__init__.py +62 -1
  73. aws_cdk/aws_route53profiles/__init__.py +1 -1
  74. aws_cdk/aws_s3/__init__.py +37 -10
  75. aws_cdk/aws_s3_deployment/__init__.py +6 -0
  76. aws_cdk/aws_s3_notifications/__init__.py +5 -5
  77. aws_cdk/aws_sagemaker/__init__.py +452 -8
  78. aws_cdk/aws_scheduler/__init__.py +12 -0
  79. aws_cdk/aws_secretsmanager/__init__.py +24 -0
  80. aws_cdk/aws_servicecatalog/__init__.py +24 -0
  81. aws_cdk/aws_servicediscovery/__init__.py +48 -0
  82. aws_cdk/aws_ses/__init__.py +133 -33
  83. aws_cdk/aws_signer/__init__.py +6 -0
  84. aws_cdk/aws_sns/__init__.py +18 -0
  85. aws_cdk/aws_sns_subscriptions/__init__.py +6 -0
  86. aws_cdk/aws_sqs/__init__.py +12 -0
  87. aws_cdk/aws_ssm/__init__.py +12 -0
  88. aws_cdk/aws_ssmcontacts/__init__.py +53 -2
  89. aws_cdk/aws_ssmguiconnect/__init__.py +544 -0
  90. aws_cdk/aws_stepfunctions/__init__.py +153 -7
  91. aws_cdk/aws_stepfunctions_tasks/__init__.py +46 -10
  92. aws_cdk/aws_synthetics/__init__.py +32 -0
  93. aws_cdk/aws_verifiedpermissions/__init__.py +168 -3
  94. aws_cdk/aws_vpclattice/__init__.py +3 -1
  95. aws_cdk/aws_wisdom/__init__.py +6 -4
  96. aws_cdk/cloud_assembly_schema/__init__.py +7 -1
  97. aws_cdk/custom_resources/__init__.py +18 -0
  98. aws_cdk/cx_api/__init__.py +33 -0
  99. aws_cdk/lambda_layer_awscli/__init__.py +6 -0
  100. aws_cdk/lambda_layer_node_proxy_agent/__init__.py +6 -0
  101. aws_cdk/pipelines/__init__.py +10 -10
  102. aws_cdk/triggers/__init__.py +6 -0
  103. {aws_cdk_lib-2.194.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/METADATA +84 -6
  104. {aws_cdk_lib-2.194.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/RECORD +108 -107
  105. {aws_cdk_lib-2.194.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/LICENSE +0 -0
  106. {aws_cdk_lib-2.194.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/NOTICE +0 -0
  107. {aws_cdk_lib-2.194.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/WHEEL +0 -0
  108. {aws_cdk_lib-2.194.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/top_level.txt +0 -0
@@ -89,6 +89,7 @@ class CfnBudget(
89
89
  from aws_cdk import aws_budgets as budgets
90
90
 
91
91
  # cost_filters: Any
92
+ # expression_property_: budgets.CfnBudget.ExpressionProperty
92
93
  # planned_budget_limits: Any
93
94
 
94
95
  cfn_budget = budgets.CfnBudget(self, "MyCfnBudget",
@@ -124,6 +125,27 @@ class CfnBudget(
124
125
  use_amortized=False,
125
126
  use_blended=False
126
127
  ),
128
+ filter_expression=budgets.CfnBudget.ExpressionProperty(
129
+ and=[expression_property_],
130
+ cost_categories=budgets.CfnBudget.CostCategoryValuesProperty(
131
+ key="key",
132
+ match_options=["matchOptions"],
133
+ values=["values"]
134
+ ),
135
+ dimensions=budgets.CfnBudget.ExpressionDimensionValuesProperty(
136
+ key="key",
137
+ match_options=["matchOptions"],
138
+ values=["values"]
139
+ ),
140
+ not=expression_property_,
141
+ or=[expression_property_],
142
+ tags=budgets.CfnBudget.TagValuesProperty(
143
+ key="key",
144
+ match_options=["matchOptions"],
145
+ values=["values"]
146
+ )
147
+ ),
148
+ metrics=["metrics"],
127
149
  planned_budget_limits=planned_budget_limits,
128
150
  time_period=budgets.CfnBudget.TimePeriodProperty(
129
151
  end="end",
@@ -371,6 +393,8 @@ class CfnBudget(
371
393
  "budget_name": "budgetName",
372
394
  "cost_filters": "costFilters",
373
395
  "cost_types": "costTypes",
396
+ "filter_expression": "filterExpression",
397
+ "metrics": "metrics",
374
398
  "planned_budget_limits": "plannedBudgetLimits",
375
399
  "time_period": "timePeriod",
376
400
  },
@@ -386,6 +410,8 @@ class CfnBudget(
386
410
  budget_name: typing.Optional[builtins.str] = None,
387
411
  cost_filters: typing.Any = None,
388
412
  cost_types: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBudget.CostTypesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
413
+ filter_expression: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBudget.ExpressionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
414
+ metrics: typing.Optional[typing.Sequence[builtins.str]] = None,
389
415
  planned_budget_limits: typing.Any = None,
390
416
  time_period: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBudget.TimePeriodProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
391
417
  ) -> None:
@@ -404,6 +430,8 @@ class CfnBudget(
404
430
  :param budget_name: The name of a budget. The value must be unique within an account. ``BudgetName`` can't include ``:`` and ``\\`` characters. If you don't include value for ``BudgetName`` in the template, Billing and Cost Management assigns your budget a randomly generated name.
405
431
  :param cost_filters: The cost filters, such as ``Region`` , ``Service`` , ``LinkedAccount`` , ``Tag`` , or ``CostCategory`` , that are applied to a budget. AWS Budgets supports the following services as a ``Service`` filter for RI budgets: - Amazon EC2 - Amazon Redshift - Amazon Relational Database Service - Amazon ElastiCache - Amazon OpenSearch Service
406
432
  :param cost_types: The types of costs that are included in this ``COST`` budget. ``USAGE`` , ``RI_UTILIZATION`` , ``RI_COVERAGE`` , ``SAVINGS_PLANS_UTILIZATION`` , and ``SAVINGS_PLANS_COVERAGE`` budgets do not have ``CostTypes`` .
433
+ :param filter_expression:
434
+ :param metrics:
407
435
  :param planned_budget_limits: A map containing multiple ``BudgetLimit`` , including current or future limits. ``PlannedBudgetLimits`` is available for cost or usage budget and supports both monthly and quarterly ``TimeUnit`` . For monthly budgets, provide 12 months of ``PlannedBudgetLimits`` values. This must start from the current month and include the next 11 months. The ``key`` is the start of the month, ``UTC`` in epoch seconds. For quarterly budgets, provide four quarters of ``PlannedBudgetLimits`` value entries in standard calendar quarter increments. This must start from the current quarter and include the next three quarters. The ``key`` is the start of the quarter, ``UTC`` in epoch seconds. If the planned budget expires before 12 months for monthly or four quarters for quarterly, provide the ``PlannedBudgetLimits`` values only for the remaining periods. If the budget begins at a date in the future, provide ``PlannedBudgetLimits`` values from the start date of the budget. After all of the ``BudgetLimit`` values in ``PlannedBudgetLimits`` are used, the budget continues to use the last limit as the ``BudgetLimit`` . At that point, the planned budget provides the same experience as a fixed budget. ``DescribeBudget`` and ``DescribeBudgets`` response along with ``PlannedBudgetLimits`` also contain ``BudgetLimit`` representing the current month or quarter limit present in ``PlannedBudgetLimits`` . This only applies to budgets that are created with ``PlannedBudgetLimits`` . Budgets that are created without ``PlannedBudgetLimits`` only contain ``BudgetLimit`` . They don't contain ``PlannedBudgetLimits`` .
408
436
  :param time_period: The period of time that is covered by a budget. The period has a start date and an end date. The start date must come before the end date. There are no restrictions on the end date. The start date for a budget. If you created your budget and didn't specify a start date, the start date defaults to the start of the chosen time period (MONTHLY, QUARTERLY, or ANNUALLY). For example, if you create your budget on January 24, 2019, choose ``MONTHLY`` , and don't set a start date, the start date defaults to ``01/01/19 00:00 UTC`` . The defaults are the same for the Billing and Cost Management console and the API. You can change your start date with the ``UpdateBudget`` operation. After the end date, AWS deletes the budget and all associated notifications and subscribers.
409
437
 
@@ -417,6 +445,7 @@ class CfnBudget(
417
445
  from aws_cdk import aws_budgets as budgets
418
446
 
419
447
  # cost_filters: Any
448
+ # expression_property_: budgets.CfnBudget.ExpressionProperty
420
449
  # planned_budget_limits: Any
421
450
 
422
451
  budget_data_property = budgets.CfnBudget.BudgetDataProperty(
@@ -451,6 +480,27 @@ class CfnBudget(
451
480
  use_amortized=False,
452
481
  use_blended=False
453
482
  ),
483
+ filter_expression=budgets.CfnBudget.ExpressionProperty(
484
+ and=[expression_property_],
485
+ cost_categories=budgets.CfnBudget.CostCategoryValuesProperty(
486
+ key="key",
487
+ match_options=["matchOptions"],
488
+ values=["values"]
489
+ ),
490
+ dimensions=budgets.CfnBudget.ExpressionDimensionValuesProperty(
491
+ key="key",
492
+ match_options=["matchOptions"],
493
+ values=["values"]
494
+ ),
495
+ not=expression_property_,
496
+ or=[expression_property_],
497
+ tags=budgets.CfnBudget.TagValuesProperty(
498
+ key="key",
499
+ match_options=["matchOptions"],
500
+ values=["values"]
501
+ )
502
+ ),
503
+ metrics=["metrics"],
454
504
  planned_budget_limits=planned_budget_limits,
455
505
  time_period=budgets.CfnBudget.TimePeriodProperty(
456
506
  end="end",
@@ -467,6 +517,8 @@ class CfnBudget(
467
517
  check_type(argname="argument budget_name", value=budget_name, expected_type=type_hints["budget_name"])
468
518
  check_type(argname="argument cost_filters", value=cost_filters, expected_type=type_hints["cost_filters"])
469
519
  check_type(argname="argument cost_types", value=cost_types, expected_type=type_hints["cost_types"])
520
+ check_type(argname="argument filter_expression", value=filter_expression, expected_type=type_hints["filter_expression"])
521
+ check_type(argname="argument metrics", value=metrics, expected_type=type_hints["metrics"])
470
522
  check_type(argname="argument planned_budget_limits", value=planned_budget_limits, expected_type=type_hints["planned_budget_limits"])
471
523
  check_type(argname="argument time_period", value=time_period, expected_type=type_hints["time_period"])
472
524
  self._values: typing.Dict[builtins.str, typing.Any] = {
@@ -483,6 +535,10 @@ class CfnBudget(
483
535
  self._values["cost_filters"] = cost_filters
484
536
  if cost_types is not None:
485
537
  self._values["cost_types"] = cost_types
538
+ if filter_expression is not None:
539
+ self._values["filter_expression"] = filter_expression
540
+ if metrics is not None:
541
+ self._values["metrics"] = metrics
486
542
  if planned_budget_limits is not None:
487
543
  self._values["planned_budget_limits"] = planned_budget_limits
488
544
  if time_period is not None:
@@ -575,6 +631,24 @@ class CfnBudget(
575
631
  result = self._values.get("cost_types")
576
632
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBudget.CostTypesProperty"]], result)
577
633
 
634
+ @builtins.property
635
+ def filter_expression(
636
+ self,
637
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBudget.ExpressionProperty"]]:
638
+ '''
639
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-filterexpression
640
+ '''
641
+ result = self._values.get("filter_expression")
642
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBudget.ExpressionProperty"]], result)
643
+
644
+ @builtins.property
645
+ def metrics(self) -> typing.Optional[typing.List[builtins.str]]:
646
+ '''
647
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-metrics
648
+ '''
649
+ result = self._values.get("metrics")
650
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
651
+
578
652
  @builtins.property
579
653
  def planned_budget_limits(self) -> typing.Any:
580
654
  '''A map containing multiple ``BudgetLimit`` , including current or future limits.
@@ -628,6 +702,95 @@ class CfnBudget(
628
702
  k + "=" + repr(v) for k, v in self._values.items()
629
703
  )
630
704
 
705
+ @jsii.data_type(
706
+ jsii_type="aws-cdk-lib.aws_budgets.CfnBudget.CostCategoryValuesProperty",
707
+ jsii_struct_bases=[],
708
+ name_mapping={
709
+ "key": "key",
710
+ "match_options": "matchOptions",
711
+ "values": "values",
712
+ },
713
+ )
714
+ class CostCategoryValuesProperty:
715
+ def __init__(
716
+ self,
717
+ *,
718
+ key: typing.Optional[builtins.str] = None,
719
+ match_options: typing.Optional[typing.Sequence[builtins.str]] = None,
720
+ values: typing.Optional[typing.Sequence[builtins.str]] = None,
721
+ ) -> None:
722
+ '''The cost category values used for filtering the costs.
723
+
724
+ :param key: The unique name of the cost category.
725
+ :param match_options: The match options that you can use to filter your results.
726
+ :param values: The specific value of the cost category.
727
+
728
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costcategoryvalues.html
729
+ :exampleMetadata: fixture=_generated
730
+
731
+ Example::
732
+
733
+ # The code below shows an example of how to instantiate this type.
734
+ # The values are placeholders you should change.
735
+ from aws_cdk import aws_budgets as budgets
736
+
737
+ cost_category_values_property = budgets.CfnBudget.CostCategoryValuesProperty(
738
+ key="key",
739
+ match_options=["matchOptions"],
740
+ values=["values"]
741
+ )
742
+ '''
743
+ if __debug__:
744
+ type_hints = typing.get_type_hints(_typecheckingstub__6fec62209c71ad186d3dce49e5d480b003e62ed76aa01d5734d80cbfd5b050cb)
745
+ check_type(argname="argument key", value=key, expected_type=type_hints["key"])
746
+ check_type(argname="argument match_options", value=match_options, expected_type=type_hints["match_options"])
747
+ check_type(argname="argument values", value=values, expected_type=type_hints["values"])
748
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
749
+ if key is not None:
750
+ self._values["key"] = key
751
+ if match_options is not None:
752
+ self._values["match_options"] = match_options
753
+ if values is not None:
754
+ self._values["values"] = values
755
+
756
+ @builtins.property
757
+ def key(self) -> typing.Optional[builtins.str]:
758
+ '''The unique name of the cost category.
759
+
760
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costcategoryvalues.html#cfn-budgets-budget-costcategoryvalues-key
761
+ '''
762
+ result = self._values.get("key")
763
+ return typing.cast(typing.Optional[builtins.str], result)
764
+
765
+ @builtins.property
766
+ def match_options(self) -> typing.Optional[typing.List[builtins.str]]:
767
+ '''The match options that you can use to filter your results.
768
+
769
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costcategoryvalues.html#cfn-budgets-budget-costcategoryvalues-matchoptions
770
+ '''
771
+ result = self._values.get("match_options")
772
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
773
+
774
+ @builtins.property
775
+ def values(self) -> typing.Optional[typing.List[builtins.str]]:
776
+ '''The specific value of the cost category.
777
+
778
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costcategoryvalues.html#cfn-budgets-budget-costcategoryvalues-values
779
+ '''
780
+ result = self._values.get("values")
781
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
782
+
783
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
784
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
785
+
786
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
787
+ return not (rhs == self)
788
+
789
+ def __repr__(self) -> str:
790
+ return "CostCategoryValuesProperty(%s)" % ", ".join(
791
+ k + "=" + repr(v) for k, v in self._values.items()
792
+ )
793
+
631
794
  @jsii.data_type(
632
795
  jsii_type="aws-cdk-lib.aws_budgets.CfnBudget.CostTypesProperty",
633
796
  jsii_struct_bases=[],
@@ -891,6 +1054,260 @@ class CfnBudget(
891
1054
  k + "=" + repr(v) for k, v in self._values.items()
892
1055
  )
893
1056
 
1057
+ @jsii.data_type(
1058
+ jsii_type="aws-cdk-lib.aws_budgets.CfnBudget.ExpressionDimensionValuesProperty",
1059
+ jsii_struct_bases=[],
1060
+ name_mapping={
1061
+ "key": "key",
1062
+ "match_options": "matchOptions",
1063
+ "values": "values",
1064
+ },
1065
+ )
1066
+ class ExpressionDimensionValuesProperty:
1067
+ def __init__(
1068
+ self,
1069
+ *,
1070
+ key: typing.Optional[builtins.str] = None,
1071
+ match_options: typing.Optional[typing.Sequence[builtins.str]] = None,
1072
+ values: typing.Optional[typing.Sequence[builtins.str]] = None,
1073
+ ) -> None:
1074
+ '''Contains the specifications for the filters to use for your request.
1075
+
1076
+ :param key: The name of the dimension that you want to filter on.
1077
+ :param match_options: The match options that you can use to filter your results. You can specify only one of these values in the array.
1078
+ :param values: The metadata values you can specify to filter upon, so that the results all match at least one of the specified values.
1079
+
1080
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expressiondimensionvalues.html
1081
+ :exampleMetadata: fixture=_generated
1082
+
1083
+ Example::
1084
+
1085
+ # The code below shows an example of how to instantiate this type.
1086
+ # The values are placeholders you should change.
1087
+ from aws_cdk import aws_budgets as budgets
1088
+
1089
+ expression_dimension_values_property = budgets.CfnBudget.ExpressionDimensionValuesProperty(
1090
+ key="key",
1091
+ match_options=["matchOptions"],
1092
+ values=["values"]
1093
+ )
1094
+ '''
1095
+ if __debug__:
1096
+ type_hints = typing.get_type_hints(_typecheckingstub__46271189f69022d8735b1bf112d5cddaac665cdc9fd75885c426b8af000590bb)
1097
+ check_type(argname="argument key", value=key, expected_type=type_hints["key"])
1098
+ check_type(argname="argument match_options", value=match_options, expected_type=type_hints["match_options"])
1099
+ check_type(argname="argument values", value=values, expected_type=type_hints["values"])
1100
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1101
+ if key is not None:
1102
+ self._values["key"] = key
1103
+ if match_options is not None:
1104
+ self._values["match_options"] = match_options
1105
+ if values is not None:
1106
+ self._values["values"] = values
1107
+
1108
+ @builtins.property
1109
+ def key(self) -> typing.Optional[builtins.str]:
1110
+ '''The name of the dimension that you want to filter on.
1111
+
1112
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expressiondimensionvalues.html#cfn-budgets-budget-expressiondimensionvalues-key
1113
+ '''
1114
+ result = self._values.get("key")
1115
+ return typing.cast(typing.Optional[builtins.str], result)
1116
+
1117
+ @builtins.property
1118
+ def match_options(self) -> typing.Optional[typing.List[builtins.str]]:
1119
+ '''The match options that you can use to filter your results.
1120
+
1121
+ You can specify only one of these values in the array.
1122
+
1123
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expressiondimensionvalues.html#cfn-budgets-budget-expressiondimensionvalues-matchoptions
1124
+ '''
1125
+ result = self._values.get("match_options")
1126
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1127
+
1128
+ @builtins.property
1129
+ def values(self) -> typing.Optional[typing.List[builtins.str]]:
1130
+ '''The metadata values you can specify to filter upon, so that the results all match at least one of the specified values.
1131
+
1132
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expressiondimensionvalues.html#cfn-budgets-budget-expressiondimensionvalues-values
1133
+ '''
1134
+ result = self._values.get("values")
1135
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1136
+
1137
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1138
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1139
+
1140
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1141
+ return not (rhs == self)
1142
+
1143
+ def __repr__(self) -> str:
1144
+ return "ExpressionDimensionValuesProperty(%s)" % ", ".join(
1145
+ k + "=" + repr(v) for k, v in self._values.items()
1146
+ )
1147
+
1148
+ @jsii.data_type(
1149
+ jsii_type="aws-cdk-lib.aws_budgets.CfnBudget.ExpressionProperty",
1150
+ jsii_struct_bases=[],
1151
+ name_mapping={
1152
+ "and_": "and",
1153
+ "cost_categories": "costCategories",
1154
+ "dimensions": "dimensions",
1155
+ "not_": "not",
1156
+ "or_": "or",
1157
+ "tags": "tags",
1158
+ },
1159
+ )
1160
+ class ExpressionProperty:
1161
+ def __init__(
1162
+ self,
1163
+ *,
1164
+ and_: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBudget.ExpressionProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
1165
+ cost_categories: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBudget.CostCategoryValuesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1166
+ dimensions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBudget.ExpressionDimensionValuesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1167
+ not_: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBudget.ExpressionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1168
+ or_: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBudget.ExpressionProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
1169
+ tags: typing.Optional[typing.Union["CfnBudget.TagValuesProperty", typing.Dict[builtins.str, typing.Any]]] = None,
1170
+ ) -> None:
1171
+ '''Use Expression to filter in various Budgets APIs.
1172
+
1173
+ :param and_: Return results that match both Dimension objects.
1174
+ :param cost_categories: The filter that's based on CostCategoryValues.
1175
+ :param dimensions: The specific Dimension to use for Expression.
1176
+ :param not_: Return results that don't match a Dimension object.
1177
+ :param or_: Return results that match either Dimension object.
1178
+ :param tags: The specific Tag to use for Expression.
1179
+
1180
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html
1181
+ :exampleMetadata: fixture=_generated
1182
+
1183
+ Example::
1184
+
1185
+ # The code below shows an example of how to instantiate this type.
1186
+ # The values are placeholders you should change.
1187
+ from aws_cdk import aws_budgets as budgets
1188
+
1189
+ # expression_property_: budgets.CfnBudget.ExpressionProperty
1190
+
1191
+ expression_property = budgets.CfnBudget.ExpressionProperty(
1192
+ and=[expression_property_],
1193
+ cost_categories=budgets.CfnBudget.CostCategoryValuesProperty(
1194
+ key="key",
1195
+ match_options=["matchOptions"],
1196
+ values=["values"]
1197
+ ),
1198
+ dimensions=budgets.CfnBudget.ExpressionDimensionValuesProperty(
1199
+ key="key",
1200
+ match_options=["matchOptions"],
1201
+ values=["values"]
1202
+ ),
1203
+ not=expression_property_,
1204
+ or=[expression_property_],
1205
+ tags=budgets.CfnBudget.TagValuesProperty(
1206
+ key="key",
1207
+ match_options=["matchOptions"],
1208
+ values=["values"]
1209
+ )
1210
+ )
1211
+ '''
1212
+ if isinstance(tags, dict):
1213
+ tags = CfnBudget.TagValuesProperty(**tags)
1214
+ if __debug__:
1215
+ type_hints = typing.get_type_hints(_typecheckingstub__eb71e1eb3b48926947e35d102ec777f08901def25ae4961947e1ab68d1692ace)
1216
+ check_type(argname="argument and_", value=and_, expected_type=type_hints["and_"])
1217
+ check_type(argname="argument cost_categories", value=cost_categories, expected_type=type_hints["cost_categories"])
1218
+ check_type(argname="argument dimensions", value=dimensions, expected_type=type_hints["dimensions"])
1219
+ check_type(argname="argument not_", value=not_, expected_type=type_hints["not_"])
1220
+ check_type(argname="argument or_", value=or_, expected_type=type_hints["or_"])
1221
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
1222
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1223
+ if and_ is not None:
1224
+ self._values["and_"] = and_
1225
+ if cost_categories is not None:
1226
+ self._values["cost_categories"] = cost_categories
1227
+ if dimensions is not None:
1228
+ self._values["dimensions"] = dimensions
1229
+ if not_ is not None:
1230
+ self._values["not_"] = not_
1231
+ if or_ is not None:
1232
+ self._values["or_"] = or_
1233
+ if tags is not None:
1234
+ self._values["tags"] = tags
1235
+
1236
+ @builtins.property
1237
+ def and_(
1238
+ self,
1239
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnBudget.ExpressionProperty"]]]]:
1240
+ '''Return results that match both Dimension objects.
1241
+
1242
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html#cfn-budgets-budget-expression-and
1243
+ '''
1244
+ result = self._values.get("and_")
1245
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnBudget.ExpressionProperty"]]]], result)
1246
+
1247
+ @builtins.property
1248
+ def cost_categories(
1249
+ self,
1250
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBudget.CostCategoryValuesProperty"]]:
1251
+ '''The filter that's based on CostCategoryValues.
1252
+
1253
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html#cfn-budgets-budget-expression-costcategories
1254
+ '''
1255
+ result = self._values.get("cost_categories")
1256
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBudget.CostCategoryValuesProperty"]], result)
1257
+
1258
+ @builtins.property
1259
+ def dimensions(
1260
+ self,
1261
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBudget.ExpressionDimensionValuesProperty"]]:
1262
+ '''The specific Dimension to use for Expression.
1263
+
1264
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html#cfn-budgets-budget-expression-dimensions
1265
+ '''
1266
+ result = self._values.get("dimensions")
1267
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBudget.ExpressionDimensionValuesProperty"]], result)
1268
+
1269
+ @builtins.property
1270
+ def not_(
1271
+ self,
1272
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBudget.ExpressionProperty"]]:
1273
+ '''Return results that don't match a Dimension object.
1274
+
1275
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html#cfn-budgets-budget-expression-not
1276
+ '''
1277
+ result = self._values.get("not_")
1278
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBudget.ExpressionProperty"]], result)
1279
+
1280
+ @builtins.property
1281
+ def or_(
1282
+ self,
1283
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnBudget.ExpressionProperty"]]]]:
1284
+ '''Return results that match either Dimension object.
1285
+
1286
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html#cfn-budgets-budget-expression-or
1287
+ '''
1288
+ result = self._values.get("or_")
1289
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnBudget.ExpressionProperty"]]]], result)
1290
+
1291
+ @builtins.property
1292
+ def tags(self) -> typing.Optional["CfnBudget.TagValuesProperty"]:
1293
+ '''The specific Tag to use for Expression.
1294
+
1295
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html#cfn-budgets-budget-expression-tags
1296
+ '''
1297
+ result = self._values.get("tags")
1298
+ return typing.cast(typing.Optional["CfnBudget.TagValuesProperty"], result)
1299
+
1300
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1301
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1302
+
1303
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1304
+ return not (rhs == self)
1305
+
1306
+ def __repr__(self) -> str:
1307
+ return "ExpressionProperty(%s)" % ", ".join(
1308
+ k + "=" + repr(v) for k, v in self._values.items()
1309
+ )
1310
+
894
1311
  @jsii.data_type(
895
1312
  jsii_type="aws-cdk-lib.aws_budgets.CfnBudget.HistoricalOptionsProperty",
896
1313
  jsii_struct_bases=[],
@@ -1387,6 +1804,95 @@ class CfnBudget(
1387
1804
  k + "=" + repr(v) for k, v in self._values.items()
1388
1805
  )
1389
1806
 
1807
+ @jsii.data_type(
1808
+ jsii_type="aws-cdk-lib.aws_budgets.CfnBudget.TagValuesProperty",
1809
+ jsii_struct_bases=[],
1810
+ name_mapping={
1811
+ "key": "key",
1812
+ "match_options": "matchOptions",
1813
+ "values": "values",
1814
+ },
1815
+ )
1816
+ class TagValuesProperty:
1817
+ def __init__(
1818
+ self,
1819
+ *,
1820
+ key: typing.Optional[builtins.str] = None,
1821
+ match_options: typing.Optional[typing.Sequence[builtins.str]] = None,
1822
+ values: typing.Optional[typing.Sequence[builtins.str]] = None,
1823
+ ) -> None:
1824
+ '''The values that are available for a tag.
1825
+
1826
+ :param key: The key for the tag.
1827
+ :param match_options: The match options that you can use to filter your results.
1828
+ :param values: The specific value of the tag.
1829
+
1830
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-tagvalues.html
1831
+ :exampleMetadata: fixture=_generated
1832
+
1833
+ Example::
1834
+
1835
+ # The code below shows an example of how to instantiate this type.
1836
+ # The values are placeholders you should change.
1837
+ from aws_cdk import aws_budgets as budgets
1838
+
1839
+ tag_values_property = budgets.CfnBudget.TagValuesProperty(
1840
+ key="key",
1841
+ match_options=["matchOptions"],
1842
+ values=["values"]
1843
+ )
1844
+ '''
1845
+ if __debug__:
1846
+ type_hints = typing.get_type_hints(_typecheckingstub__ffd9b3bd7b99090fed06a8003a3319bf7bba070cdd4b3ec936c178caac26d0de)
1847
+ check_type(argname="argument key", value=key, expected_type=type_hints["key"])
1848
+ check_type(argname="argument match_options", value=match_options, expected_type=type_hints["match_options"])
1849
+ check_type(argname="argument values", value=values, expected_type=type_hints["values"])
1850
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1851
+ if key is not None:
1852
+ self._values["key"] = key
1853
+ if match_options is not None:
1854
+ self._values["match_options"] = match_options
1855
+ if values is not None:
1856
+ self._values["values"] = values
1857
+
1858
+ @builtins.property
1859
+ def key(self) -> typing.Optional[builtins.str]:
1860
+ '''The key for the tag.
1861
+
1862
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-tagvalues.html#cfn-budgets-budget-tagvalues-key
1863
+ '''
1864
+ result = self._values.get("key")
1865
+ return typing.cast(typing.Optional[builtins.str], result)
1866
+
1867
+ @builtins.property
1868
+ def match_options(self) -> typing.Optional[typing.List[builtins.str]]:
1869
+ '''The match options that you can use to filter your results.
1870
+
1871
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-tagvalues.html#cfn-budgets-budget-tagvalues-matchoptions
1872
+ '''
1873
+ result = self._values.get("match_options")
1874
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1875
+
1876
+ @builtins.property
1877
+ def values(self) -> typing.Optional[typing.List[builtins.str]]:
1878
+ '''The specific value of the tag.
1879
+
1880
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-tagvalues.html#cfn-budgets-budget-tagvalues-values
1881
+ '''
1882
+ result = self._values.get("values")
1883
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1884
+
1885
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1886
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1887
+
1888
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1889
+ return not (rhs == self)
1890
+
1891
+ def __repr__(self) -> str:
1892
+ return "TagValuesProperty(%s)" % ", ".join(
1893
+ k + "=" + repr(v) for k, v in self._values.items()
1894
+ )
1895
+
1390
1896
  @jsii.data_type(
1391
1897
  jsii_type="aws-cdk-lib.aws_budgets.CfnBudget.TimePeriodProperty",
1392
1898
  jsii_struct_bases=[],
@@ -1506,6 +2012,7 @@ class CfnBudgetProps:
1506
2012
  from aws_cdk import aws_budgets as budgets
1507
2013
 
1508
2014
  # cost_filters: Any
2015
+ # expression_property_: budgets.CfnBudget.ExpressionProperty
1509
2016
  # planned_budget_limits: Any
1510
2017
 
1511
2018
  cfn_budget_props = budgets.CfnBudgetProps(
@@ -1541,6 +2048,27 @@ class CfnBudgetProps:
1541
2048
  use_amortized=False,
1542
2049
  use_blended=False
1543
2050
  ),
2051
+ filter_expression=budgets.CfnBudget.ExpressionProperty(
2052
+ and=[expression_property_],
2053
+ cost_categories=budgets.CfnBudget.CostCategoryValuesProperty(
2054
+ key="key",
2055
+ match_options=["matchOptions"],
2056
+ values=["values"]
2057
+ ),
2058
+ dimensions=budgets.CfnBudget.ExpressionDimensionValuesProperty(
2059
+ key="key",
2060
+ match_options=["matchOptions"],
2061
+ values=["values"]
2062
+ ),
2063
+ not=expression_property_,
2064
+ or=[expression_property_],
2065
+ tags=budgets.CfnBudget.TagValuesProperty(
2066
+ key="key",
2067
+ match_options=["matchOptions"],
2068
+ values=["values"]
2069
+ )
2070
+ ),
2071
+ metrics=["metrics"],
1544
2072
  planned_budget_limits=planned_budget_limits,
1545
2073
  time_period=budgets.CfnBudget.TimePeriodProperty(
1546
2074
  end="end",
@@ -2820,12 +3348,23 @@ def _typecheckingstub__b2c7f5c59209a2623bf116ca3a20b23835ececd0df52736e4f148622f
2820
3348
  budget_name: typing.Optional[builtins.str] = None,
2821
3349
  cost_filters: typing.Any = None,
2822
3350
  cost_types: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBudget.CostTypesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3351
+ filter_expression: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBudget.ExpressionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3352
+ metrics: typing.Optional[typing.Sequence[builtins.str]] = None,
2823
3353
  planned_budget_limits: typing.Any = None,
2824
3354
  time_period: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBudget.TimePeriodProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2825
3355
  ) -> None:
2826
3356
  """Type checking stubs"""
2827
3357
  pass
2828
3358
 
3359
+ def _typecheckingstub__6fec62209c71ad186d3dce49e5d480b003e62ed76aa01d5734d80cbfd5b050cb(
3360
+ *,
3361
+ key: typing.Optional[builtins.str] = None,
3362
+ match_options: typing.Optional[typing.Sequence[builtins.str]] = None,
3363
+ values: typing.Optional[typing.Sequence[builtins.str]] = None,
3364
+ ) -> None:
3365
+ """Type checking stubs"""
3366
+ pass
3367
+
2829
3368
  def _typecheckingstub__ca892e141a9adeb986265203927fc16b8a26091edacd45cbc9ebe6689e4857bb(
2830
3369
  *,
2831
3370
  include_credit: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
@@ -2843,6 +3382,27 @@ def _typecheckingstub__ca892e141a9adeb986265203927fc16b8a26091edacd45cbc9ebe6689
2843
3382
  """Type checking stubs"""
2844
3383
  pass
2845
3384
 
3385
+ def _typecheckingstub__46271189f69022d8735b1bf112d5cddaac665cdc9fd75885c426b8af000590bb(
3386
+ *,
3387
+ key: typing.Optional[builtins.str] = None,
3388
+ match_options: typing.Optional[typing.Sequence[builtins.str]] = None,
3389
+ values: typing.Optional[typing.Sequence[builtins.str]] = None,
3390
+ ) -> None:
3391
+ """Type checking stubs"""
3392
+ pass
3393
+
3394
+ def _typecheckingstub__eb71e1eb3b48926947e35d102ec777f08901def25ae4961947e1ab68d1692ace(
3395
+ *,
3396
+ and_: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBudget.ExpressionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3397
+ cost_categories: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBudget.CostCategoryValuesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3398
+ dimensions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBudget.ExpressionDimensionValuesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3399
+ not_: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBudget.ExpressionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3400
+ or_: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBudget.ExpressionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3401
+ tags: typing.Optional[typing.Union[CfnBudget.TagValuesProperty, typing.Dict[builtins.str, typing.Any]]] = None,
3402
+ ) -> None:
3403
+ """Type checking stubs"""
3404
+ pass
3405
+
2846
3406
  def _typecheckingstub__ba7bd7cc2be23305dffbf6031c061df699ccd87872fbd4ec418a99be7cf81185(
2847
3407
  *,
2848
3408
  budget_adjustment_period: jsii.Number,
@@ -2892,6 +3452,15 @@ def _typecheckingstub__e5d0b208f458ade09c3843fe83aba0d6db3ddb09a594e82cdd14537ff
2892
3452
  """Type checking stubs"""
2893
3453
  pass
2894
3454
 
3455
+ def _typecheckingstub__ffd9b3bd7b99090fed06a8003a3319bf7bba070cdd4b3ec936c178caac26d0de(
3456
+ *,
3457
+ key: typing.Optional[builtins.str] = None,
3458
+ match_options: typing.Optional[typing.Sequence[builtins.str]] = None,
3459
+ values: typing.Optional[typing.Sequence[builtins.str]] = None,
3460
+ ) -> None:
3461
+ """Type checking stubs"""
3462
+ pass
3463
+
2895
3464
  def _typecheckingstub__77f51cb94a1e5a0ae65deee87b45596400f57823b1add7660a12635b0a091886(
2896
3465
  *,
2897
3466
  end: typing.Optional[builtins.str] = None,