aws-cdk-lib 2.145.0__py3-none-any.whl → 2.147.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 (71) hide show
  1. aws_cdk/__init__.py +12 -11
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.145.0.jsii.tgz → aws-cdk-lib@2.147.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigateway/__init__.py +32 -12
  5. aws_cdk/aws_apigatewayv2/__init__.py +48 -2
  6. aws_cdk/aws_apigatewayv2_integrations/__init__.py +142 -4
  7. aws_cdk/aws_appconfig/__init__.py +8 -4
  8. aws_cdk/aws_applicationsignals/__init__.py +1766 -0
  9. aws_cdk/aws_appsync/__init__.py +62 -0
  10. aws_cdk/aws_auditmanager/__init__.py +5 -1
  11. aws_cdk/aws_autoscaling/__init__.py +457 -56
  12. aws_cdk/aws_batch/__init__.py +215 -0
  13. aws_cdk/aws_bedrock/__init__.py +272 -103
  14. aws_cdk/aws_cloudformation/__init__.py +5 -11
  15. aws_cdk/aws_cloudfront/__init__.py +10 -3
  16. aws_cdk/aws_cloudtrail/__init__.py +56 -2
  17. aws_cdk/aws_codebuild/__init__.py +85 -32
  18. aws_cdk/aws_codepipeline/__init__.py +10 -5
  19. aws_cdk/aws_connect/__init__.py +86 -0
  20. aws_cdk/aws_datazone/__init__.py +80 -68
  21. aws_cdk/aws_deadline/__init__.py +603 -17
  22. aws_cdk/aws_ec2/__init__.py +237 -112
  23. aws_cdk/aws_ecs/__init__.py +123 -12
  24. aws_cdk/aws_eks/__init__.py +1335 -50
  25. aws_cdk/aws_elasticloadbalancingv2/__init__.py +11 -5
  26. aws_cdk/aws_emrserverless/__init__.py +5 -5
  27. aws_cdk/aws_events/__init__.py +36 -16
  28. aws_cdk/aws_fsx/__init__.py +126 -21
  29. aws_cdk/aws_globalaccelerator/__init__.py +2 -1
  30. aws_cdk/aws_globalaccelerator_endpoints/__init__.py +35 -4
  31. aws_cdk/aws_glue/__init__.py +26 -0
  32. aws_cdk/aws_grafana/__init__.py +4 -4
  33. aws_cdk/aws_groundstation/__init__.py +55 -35
  34. aws_cdk/aws_guardduty/__init__.py +826 -0
  35. aws_cdk/aws_iam/__init__.py +13 -8
  36. aws_cdk/aws_iot/__init__.py +3 -3
  37. aws_cdk/aws_lambda/__init__.py +7 -5
  38. aws_cdk/aws_lightsail/__init__.py +1 -1
  39. aws_cdk/aws_location/__init__.py +10 -11
  40. aws_cdk/aws_mediapackagev2/__init__.py +38 -20
  41. aws_cdk/aws_mediatailor/__init__.py +2 -2
  42. aws_cdk/aws_msk/__init__.py +4 -4
  43. aws_cdk/aws_mwaa/__init__.py +16 -8
  44. aws_cdk/aws_nimblestudio/__init__.py +9 -9
  45. aws_cdk/aws_opensearchservice/__init__.py +11 -4
  46. aws_cdk/aws_opsworks/__init__.py +3 -3
  47. aws_cdk/aws_osis/__init__.py +33 -4
  48. aws_cdk/aws_pipes/__init__.py +691 -0
  49. aws_cdk/aws_quicksight/__init__.py +23 -21
  50. aws_cdk/aws_rds/__init__.py +55 -11
  51. aws_cdk/aws_refactorspaces/__init__.py +3 -3
  52. aws_cdk/aws_rolesanywhere/__init__.py +206 -3
  53. aws_cdk/aws_sagemaker/__init__.py +5 -2
  54. aws_cdk/aws_securityhub/__init__.py +163 -78
  55. aws_cdk/aws_securitylake/__init__.py +7 -5
  56. aws_cdk/aws_ses/__init__.py +117 -0
  57. aws_cdk/aws_simspaceweaver/__init__.py +2 -2
  58. aws_cdk/aws_sns/__init__.py +67 -13
  59. aws_cdk/aws_sqs/__init__.py +3 -3
  60. aws_cdk/aws_stepfunctions/__init__.py +51 -28
  61. aws_cdk/aws_stepfunctions_tasks/__init__.py +59 -5
  62. aws_cdk/aws_transfer/__init__.py +8 -2
  63. aws_cdk/aws_wafv2/__init__.py +10 -10
  64. aws_cdk/aws_workspacesweb/__init__.py +8 -8
  65. aws_cdk/region_info/__init__.py +6 -0
  66. {aws_cdk_lib-2.145.0.dist-info → aws_cdk_lib-2.147.0.dist-info}/METADATA +2 -2
  67. {aws_cdk_lib-2.145.0.dist-info → aws_cdk_lib-2.147.0.dist-info}/NOTICE +0 -35
  68. {aws_cdk_lib-2.145.0.dist-info → aws_cdk_lib-2.147.0.dist-info}/RECORD +71 -70
  69. {aws_cdk_lib-2.145.0.dist-info → aws_cdk_lib-2.147.0.dist-info}/LICENSE +0 -0
  70. {aws_cdk_lib-2.145.0.dist-info → aws_cdk_lib-2.147.0.dist-info}/WHEEL +0 -0
  71. {aws_cdk_lib-2.145.0.dist-info → aws_cdk_lib-2.147.0.dist-info}/top_level.txt +0 -0
@@ -8375,15 +8375,37 @@ class CfnScalingPolicy(
8375
8375
 
8376
8376
  # the properties below are optional
8377
8377
  customized_metric_specification=autoscaling.CfnScalingPolicy.CustomizedMetricSpecificationProperty(
8378
- metric_name="metricName",
8379
- namespace="namespace",
8380
- statistic="statistic",
8381
-
8382
- # the properties below are optional
8383
8378
  dimensions=[autoscaling.CfnScalingPolicy.MetricDimensionProperty(
8384
8379
  name="name",
8385
8380
  value="value"
8386
8381
  )],
8382
+ metric_name="metricName",
8383
+ metrics=[autoscaling.CfnScalingPolicy.TargetTrackingMetricDataQueryProperty(
8384
+ id="id",
8385
+
8386
+ # the properties below are optional
8387
+ expression="expression",
8388
+ label="label",
8389
+ metric_stat=autoscaling.CfnScalingPolicy.TargetTrackingMetricStatProperty(
8390
+ metric=autoscaling.CfnScalingPolicy.MetricProperty(
8391
+ metric_name="metricName",
8392
+ namespace="namespace",
8393
+
8394
+ # the properties below are optional
8395
+ dimensions=[autoscaling.CfnScalingPolicy.MetricDimensionProperty(
8396
+ name="name",
8397
+ value="value"
8398
+ )]
8399
+ ),
8400
+ stat="stat",
8401
+
8402
+ # the properties below are optional
8403
+ unit="unit"
8404
+ ),
8405
+ return_data=False
8406
+ )],
8407
+ namespace="namespace",
8408
+ statistic="statistic",
8387
8409
  unit="unit"
8388
8410
  ),
8389
8411
  disable_scale_in=False,
@@ -8670,10 +8692,11 @@ class CfnScalingPolicy(
8670
8692
  jsii_type="aws-cdk-lib.aws_autoscaling.CfnScalingPolicy.CustomizedMetricSpecificationProperty",
8671
8693
  jsii_struct_bases=[],
8672
8694
  name_mapping={
8695
+ "dimensions": "dimensions",
8673
8696
  "metric_name": "metricName",
8697
+ "metrics": "metrics",
8674
8698
  "namespace": "namespace",
8675
8699
  "statistic": "statistic",
8676
- "dimensions": "dimensions",
8677
8700
  "unit": "unit",
8678
8701
  },
8679
8702
  )
@@ -8681,10 +8704,11 @@ class CfnScalingPolicy(
8681
8704
  def __init__(
8682
8705
  self,
8683
8706
  *,
8684
- metric_name: builtins.str,
8685
- namespace: builtins.str,
8686
- statistic: builtins.str,
8687
8707
  dimensions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnScalingPolicy.MetricDimensionProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
8708
+ metric_name: typing.Optional[builtins.str] = None,
8709
+ metrics: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnScalingPolicy.TargetTrackingMetricDataQueryProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
8710
+ namespace: typing.Optional[builtins.str] = None,
8711
+ statistic: typing.Optional[builtins.str] = None,
8688
8712
  unit: typing.Optional[builtins.str] = None,
8689
8713
  ) -> None:
8690
8714
  '''Contains customized metric specification information for a target tracking scaling policy for Amazon EC2 Auto Scaling.
@@ -8698,10 +8722,11 @@ class CfnScalingPolicy(
8698
8722
 
8699
8723
  ``CustomizedMetricSpecification`` is a property of the `AWS::AutoScaling::ScalingPolicy TargetTrackingConfiguration <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingconfiguration.html>`_ property type.
8700
8724
 
8725
+ :param dimensions: The dimensions of the metric. Conditional: If you published your metric with dimensions, you must specify the same dimensions in your scaling policy.
8701
8726
  :param metric_name: The name of the metric. To get the exact metric name, namespace, and dimensions, inspect the `Metric <https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_Metric.html>`_ object that is returned by a call to `ListMetrics <https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_ListMetrics.html>`_ .
8727
+ :param metrics: The metrics to include in the target tracking scaling policy, as a metric data query. This can include both raw metric and metric math expressions.
8702
8728
  :param namespace: The namespace of the metric.
8703
8729
  :param statistic: The statistic of the metric.
8704
- :param dimensions: The dimensions of the metric. Conditional: If you published your metric with dimensions, you must specify the same dimensions in your scaling policy.
8705
8730
  :param unit: The unit of the metric. For a complete list of the units that CloudWatch supports, see the `MetricDatum <https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html>`_ data type in the *Amazon CloudWatch API Reference* .
8706
8731
 
8707
8732
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html
@@ -8714,37 +8739,77 @@ class CfnScalingPolicy(
8714
8739
  from aws_cdk import aws_autoscaling as autoscaling
8715
8740
 
8716
8741
  customized_metric_specification_property = autoscaling.CfnScalingPolicy.CustomizedMetricSpecificationProperty(
8717
- metric_name="metricName",
8718
- namespace="namespace",
8719
- statistic="statistic",
8720
-
8721
- # the properties below are optional
8722
8742
  dimensions=[autoscaling.CfnScalingPolicy.MetricDimensionProperty(
8723
8743
  name="name",
8724
8744
  value="value"
8725
8745
  )],
8746
+ metric_name="metricName",
8747
+ metrics=[autoscaling.CfnScalingPolicy.TargetTrackingMetricDataQueryProperty(
8748
+ id="id",
8749
+
8750
+ # the properties below are optional
8751
+ expression="expression",
8752
+ label="label",
8753
+ metric_stat=autoscaling.CfnScalingPolicy.TargetTrackingMetricStatProperty(
8754
+ metric=autoscaling.CfnScalingPolicy.MetricProperty(
8755
+ metric_name="metricName",
8756
+ namespace="namespace",
8757
+
8758
+ # the properties below are optional
8759
+ dimensions=[autoscaling.CfnScalingPolicy.MetricDimensionProperty(
8760
+ name="name",
8761
+ value="value"
8762
+ )]
8763
+ ),
8764
+ stat="stat",
8765
+
8766
+ # the properties below are optional
8767
+ unit="unit"
8768
+ ),
8769
+ return_data=False
8770
+ )],
8771
+ namespace="namespace",
8772
+ statistic="statistic",
8726
8773
  unit="unit"
8727
8774
  )
8728
8775
  '''
8729
8776
  if __debug__:
8730
8777
  type_hints = typing.get_type_hints(_typecheckingstub__8e7031340719d237d3182678de0dc2931e386340d37c2dd60e36be75ada41bb3)
8778
+ check_type(argname="argument dimensions", value=dimensions, expected_type=type_hints["dimensions"])
8731
8779
  check_type(argname="argument metric_name", value=metric_name, expected_type=type_hints["metric_name"])
8780
+ check_type(argname="argument metrics", value=metrics, expected_type=type_hints["metrics"])
8732
8781
  check_type(argname="argument namespace", value=namespace, expected_type=type_hints["namespace"])
8733
8782
  check_type(argname="argument statistic", value=statistic, expected_type=type_hints["statistic"])
8734
- check_type(argname="argument dimensions", value=dimensions, expected_type=type_hints["dimensions"])
8735
8783
  check_type(argname="argument unit", value=unit, expected_type=type_hints["unit"])
8736
- self._values: typing.Dict[builtins.str, typing.Any] = {
8737
- "metric_name": metric_name,
8738
- "namespace": namespace,
8739
- "statistic": statistic,
8740
- }
8784
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
8741
8785
  if dimensions is not None:
8742
8786
  self._values["dimensions"] = dimensions
8787
+ if metric_name is not None:
8788
+ self._values["metric_name"] = metric_name
8789
+ if metrics is not None:
8790
+ self._values["metrics"] = metrics
8791
+ if namespace is not None:
8792
+ self._values["namespace"] = namespace
8793
+ if statistic is not None:
8794
+ self._values["statistic"] = statistic
8743
8795
  if unit is not None:
8744
8796
  self._values["unit"] = unit
8745
8797
 
8746
8798
  @builtins.property
8747
- def metric_name(self) -> builtins.str:
8799
+ def dimensions(
8800
+ self,
8801
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnScalingPolicy.MetricDimensionProperty"]]]]:
8802
+ '''The dimensions of the metric.
8803
+
8804
+ Conditional: If you published your metric with dimensions, you must specify the same dimensions in your scaling policy.
8805
+
8806
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html#cfn-autoscaling-scalingpolicy-customizedmetricspecification-dimensions
8807
+ '''
8808
+ result = self._values.get("dimensions")
8809
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnScalingPolicy.MetricDimensionProperty"]]]], result)
8810
+
8811
+ @builtins.property
8812
+ def metric_name(self) -> typing.Optional[builtins.str]:
8748
8813
  '''The name of the metric.
8749
8814
 
8750
8815
  To get the exact metric name, namespace, and dimensions, inspect the `Metric <https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_Metric.html>`_ object that is returned by a call to `ListMetrics <https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_ListMetrics.html>`_ .
@@ -8752,41 +8817,38 @@ class CfnScalingPolicy(
8752
8817
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html#cfn-autoscaling-scalingpolicy-customizedmetricspecification-metricname
8753
8818
  '''
8754
8819
  result = self._values.get("metric_name")
8755
- assert result is not None, "Required property 'metric_name' is missing"
8756
- return typing.cast(builtins.str, result)
8820
+ return typing.cast(typing.Optional[builtins.str], result)
8757
8821
 
8758
8822
  @builtins.property
8759
- def namespace(self) -> builtins.str:
8823
+ def metrics(
8824
+ self,
8825
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnScalingPolicy.TargetTrackingMetricDataQueryProperty"]]]]:
8826
+ '''The metrics to include in the target tracking scaling policy, as a metric data query.
8827
+
8828
+ This can include both raw metric and metric math expressions.
8829
+
8830
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html#cfn-autoscaling-scalingpolicy-customizedmetricspecification-metrics
8831
+ '''
8832
+ result = self._values.get("metrics")
8833
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnScalingPolicy.TargetTrackingMetricDataQueryProperty"]]]], result)
8834
+
8835
+ @builtins.property
8836
+ def namespace(self) -> typing.Optional[builtins.str]:
8760
8837
  '''The namespace of the metric.
8761
8838
 
8762
8839
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html#cfn-autoscaling-scalingpolicy-customizedmetricspecification-namespace
8763
8840
  '''
8764
8841
  result = self._values.get("namespace")
8765
- assert result is not None, "Required property 'namespace' is missing"
8766
- return typing.cast(builtins.str, result)
8842
+ return typing.cast(typing.Optional[builtins.str], result)
8767
8843
 
8768
8844
  @builtins.property
8769
- def statistic(self) -> builtins.str:
8845
+ def statistic(self) -> typing.Optional[builtins.str]:
8770
8846
  '''The statistic of the metric.
8771
8847
 
8772
8848
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html#cfn-autoscaling-scalingpolicy-customizedmetricspecification-statistic
8773
8849
  '''
8774
8850
  result = self._values.get("statistic")
8775
- assert result is not None, "Required property 'statistic' is missing"
8776
- return typing.cast(builtins.str, result)
8777
-
8778
- @builtins.property
8779
- def dimensions(
8780
- self,
8781
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnScalingPolicy.MetricDimensionProperty"]]]]:
8782
- '''The dimensions of the metric.
8783
-
8784
- Conditional: If you published your metric with dimensions, you must specify the same dimensions in your scaling policy.
8785
-
8786
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html#cfn-autoscaling-scalingpolicy-customizedmetricspecification-dimensions
8787
- '''
8788
- result = self._values.get("dimensions")
8789
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnScalingPolicy.MetricDimensionProperty"]]]], result)
8851
+ return typing.cast(typing.Optional[builtins.str], result)
8790
8852
 
8791
8853
  @builtins.property
8792
8854
  def unit(self) -> typing.Optional[builtins.str]:
@@ -10572,15 +10634,37 @@ class CfnScalingPolicy(
10572
10634
 
10573
10635
  # the properties below are optional
10574
10636
  customized_metric_specification=autoscaling.CfnScalingPolicy.CustomizedMetricSpecificationProperty(
10575
- metric_name="metricName",
10576
- namespace="namespace",
10577
- statistic="statistic",
10578
-
10579
- # the properties below are optional
10580
10637
  dimensions=[autoscaling.CfnScalingPolicy.MetricDimensionProperty(
10581
10638
  name="name",
10582
10639
  value="value"
10583
10640
  )],
10641
+ metric_name="metricName",
10642
+ metrics=[autoscaling.CfnScalingPolicy.TargetTrackingMetricDataQueryProperty(
10643
+ id="id",
10644
+
10645
+ # the properties below are optional
10646
+ expression="expression",
10647
+ label="label",
10648
+ metric_stat=autoscaling.CfnScalingPolicy.TargetTrackingMetricStatProperty(
10649
+ metric=autoscaling.CfnScalingPolicy.MetricProperty(
10650
+ metric_name="metricName",
10651
+ namespace="namespace",
10652
+
10653
+ # the properties below are optional
10654
+ dimensions=[autoscaling.CfnScalingPolicy.MetricDimensionProperty(
10655
+ name="name",
10656
+ value="value"
10657
+ )]
10658
+ ),
10659
+ stat="stat",
10660
+
10661
+ # the properties below are optional
10662
+ unit="unit"
10663
+ ),
10664
+ return_data=False
10665
+ )],
10666
+ namespace="namespace",
10667
+ statistic="statistic",
10584
10668
  unit="unit"
10585
10669
  ),
10586
10670
  disable_scale_in=False,
@@ -10672,6 +10756,280 @@ class CfnScalingPolicy(
10672
10756
  k + "=" + repr(v) for k, v in self._values.items()
10673
10757
  )
10674
10758
 
10759
+ @jsii.data_type(
10760
+ jsii_type="aws-cdk-lib.aws_autoscaling.CfnScalingPolicy.TargetTrackingMetricDataQueryProperty",
10761
+ jsii_struct_bases=[],
10762
+ name_mapping={
10763
+ "id": "id",
10764
+ "expression": "expression",
10765
+ "label": "label",
10766
+ "metric_stat": "metricStat",
10767
+ "return_data": "returnData",
10768
+ },
10769
+ )
10770
+ class TargetTrackingMetricDataQueryProperty:
10771
+ def __init__(
10772
+ self,
10773
+ *,
10774
+ id: builtins.str,
10775
+ expression: typing.Optional[builtins.str] = None,
10776
+ label: typing.Optional[builtins.str] = None,
10777
+ metric_stat: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnScalingPolicy.TargetTrackingMetricStatProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
10778
+ return_data: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
10779
+ ) -> None:
10780
+ '''The metric data to return.
10781
+
10782
+ Also defines whether this call is returning data for one metric only, or whether it is performing a math expression on the values of returned metric statistics to create a new time series. A time series is a series of data points, each of which is associated with a timestamp.
10783
+
10784
+ ``TargetTrackingMetricDataQuery`` is used with the `AWS::AutoScaling::ScalingPolicy CustomizedMetricSpecification <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html>`_ property type.
10785
+
10786
+ You can call for a single metric or perform math expressions on multiple metrics. Any expressions used in a metric specification must eventually return a single time series.
10787
+
10788
+ For more information, see the `Create a target tracking scaling policy for Amazon EC2 Auto Scaling using metric math <https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-target-tracking-metric-math.html>`_ in the *Amazon EC2 Auto Scaling User Guide* .
10789
+
10790
+ :param id: A short name that identifies the object's results in the response. This name must be unique among all ``TargetTrackingMetricDataQuery`` objects specified for a single scaling policy. If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscores. The first character must be a lowercase letter.
10791
+ :param expression: The math expression to perform on the returned data, if this object is performing a math expression. This expression can use the ``Id`` of the other metrics to refer to those metrics, and can also use the ``Id`` of other expressions to use the result of those expressions. Conditional: Within each ``TargetTrackingMetricDataQuery`` object, you must specify either ``Expression`` or ``MetricStat`` , but not both.
10792
+ :param label: A human-readable label for this metric or expression. This is especially useful if this is a math expression, so that you know what the value represents.
10793
+ :param metric_stat: Information about the metric data to return. Conditional: Within each ``TargetTrackingMetricDataQuery`` object, you must specify either ``Expression`` or ``MetricStat`` , but not both.
10794
+ :param return_data: Indicates whether to return the timestamps and raw data values of this metric. If you use any math expressions, specify ``true`` for this value for only the final math expression that the metric specification is based on. You must specify ``false`` for ``ReturnData`` for all the other metrics and expressions used in the metric specification. If you are only retrieving metrics and not performing any math expressions, do not specify anything for ``ReturnData`` . This sets it to its default ( ``true`` ).
10795
+
10796
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricdataquery.html
10797
+ :exampleMetadata: fixture=_generated
10798
+
10799
+ Example::
10800
+
10801
+ # The code below shows an example of how to instantiate this type.
10802
+ # The values are placeholders you should change.
10803
+ from aws_cdk import aws_autoscaling as autoscaling
10804
+
10805
+ target_tracking_metric_data_query_property = autoscaling.CfnScalingPolicy.TargetTrackingMetricDataQueryProperty(
10806
+ id="id",
10807
+
10808
+ # the properties below are optional
10809
+ expression="expression",
10810
+ label="label",
10811
+ metric_stat=autoscaling.CfnScalingPolicy.TargetTrackingMetricStatProperty(
10812
+ metric=autoscaling.CfnScalingPolicy.MetricProperty(
10813
+ metric_name="metricName",
10814
+ namespace="namespace",
10815
+
10816
+ # the properties below are optional
10817
+ dimensions=[autoscaling.CfnScalingPolicy.MetricDimensionProperty(
10818
+ name="name",
10819
+ value="value"
10820
+ )]
10821
+ ),
10822
+ stat="stat",
10823
+
10824
+ # the properties below are optional
10825
+ unit="unit"
10826
+ ),
10827
+ return_data=False
10828
+ )
10829
+ '''
10830
+ if __debug__:
10831
+ type_hints = typing.get_type_hints(_typecheckingstub__db2b2d9653863b1d1b8f67347857edde6d9dc3f6f755a593d8da143f90fe6fe7)
10832
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
10833
+ check_type(argname="argument expression", value=expression, expected_type=type_hints["expression"])
10834
+ check_type(argname="argument label", value=label, expected_type=type_hints["label"])
10835
+ check_type(argname="argument metric_stat", value=metric_stat, expected_type=type_hints["metric_stat"])
10836
+ check_type(argname="argument return_data", value=return_data, expected_type=type_hints["return_data"])
10837
+ self._values: typing.Dict[builtins.str, typing.Any] = {
10838
+ "id": id,
10839
+ }
10840
+ if expression is not None:
10841
+ self._values["expression"] = expression
10842
+ if label is not None:
10843
+ self._values["label"] = label
10844
+ if metric_stat is not None:
10845
+ self._values["metric_stat"] = metric_stat
10846
+ if return_data is not None:
10847
+ self._values["return_data"] = return_data
10848
+
10849
+ @builtins.property
10850
+ def id(self) -> builtins.str:
10851
+ '''A short name that identifies the object's results in the response.
10852
+
10853
+ This name must be unique among all ``TargetTrackingMetricDataQuery`` objects specified for a single scaling policy. If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscores. The first character must be a lowercase letter.
10854
+
10855
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricdataquery.html#cfn-autoscaling-scalingpolicy-targettrackingmetricdataquery-id
10856
+ '''
10857
+ result = self._values.get("id")
10858
+ assert result is not None, "Required property 'id' is missing"
10859
+ return typing.cast(builtins.str, result)
10860
+
10861
+ @builtins.property
10862
+ def expression(self) -> typing.Optional[builtins.str]:
10863
+ '''The math expression to perform on the returned data, if this object is performing a math expression.
10864
+
10865
+ This expression can use the ``Id`` of the other metrics to refer to those metrics, and can also use the ``Id`` of other expressions to use the result of those expressions.
10866
+
10867
+ Conditional: Within each ``TargetTrackingMetricDataQuery`` object, you must specify either ``Expression`` or ``MetricStat`` , but not both.
10868
+
10869
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricdataquery.html#cfn-autoscaling-scalingpolicy-targettrackingmetricdataquery-expression
10870
+ '''
10871
+ result = self._values.get("expression")
10872
+ return typing.cast(typing.Optional[builtins.str], result)
10873
+
10874
+ @builtins.property
10875
+ def label(self) -> typing.Optional[builtins.str]:
10876
+ '''A human-readable label for this metric or expression.
10877
+
10878
+ This is especially useful if this is a math expression, so that you know what the value represents.
10879
+
10880
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricdataquery.html#cfn-autoscaling-scalingpolicy-targettrackingmetricdataquery-label
10881
+ '''
10882
+ result = self._values.get("label")
10883
+ return typing.cast(typing.Optional[builtins.str], result)
10884
+
10885
+ @builtins.property
10886
+ def metric_stat(
10887
+ self,
10888
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnScalingPolicy.TargetTrackingMetricStatProperty"]]:
10889
+ '''Information about the metric data to return.
10890
+
10891
+ Conditional: Within each ``TargetTrackingMetricDataQuery`` object, you must specify either ``Expression`` or ``MetricStat`` , but not both.
10892
+
10893
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricdataquery.html#cfn-autoscaling-scalingpolicy-targettrackingmetricdataquery-metricstat
10894
+ '''
10895
+ result = self._values.get("metric_stat")
10896
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnScalingPolicy.TargetTrackingMetricStatProperty"]], result)
10897
+
10898
+ @builtins.property
10899
+ def return_data(
10900
+ self,
10901
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
10902
+ '''Indicates whether to return the timestamps and raw data values of this metric.
10903
+
10904
+ If you use any math expressions, specify ``true`` for this value for only the final math expression that the metric specification is based on. You must specify ``false`` for ``ReturnData`` for all the other metrics and expressions used in the metric specification.
10905
+
10906
+ If you are only retrieving metrics and not performing any math expressions, do not specify anything for ``ReturnData`` . This sets it to its default ( ``true`` ).
10907
+
10908
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricdataquery.html#cfn-autoscaling-scalingpolicy-targettrackingmetricdataquery-returndata
10909
+ '''
10910
+ result = self._values.get("return_data")
10911
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
10912
+
10913
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
10914
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
10915
+
10916
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
10917
+ return not (rhs == self)
10918
+
10919
+ def __repr__(self) -> str:
10920
+ return "TargetTrackingMetricDataQueryProperty(%s)" % ", ".join(
10921
+ k + "=" + repr(v) for k, v in self._values.items()
10922
+ )
10923
+
10924
+ @jsii.data_type(
10925
+ jsii_type="aws-cdk-lib.aws_autoscaling.CfnScalingPolicy.TargetTrackingMetricStatProperty",
10926
+ jsii_struct_bases=[],
10927
+ name_mapping={"metric": "metric", "stat": "stat", "unit": "unit"},
10928
+ )
10929
+ class TargetTrackingMetricStatProperty:
10930
+ def __init__(
10931
+ self,
10932
+ *,
10933
+ metric: typing.Union[_IResolvable_da3f097b, typing.Union["CfnScalingPolicy.MetricProperty", typing.Dict[builtins.str, typing.Any]]],
10934
+ stat: builtins.str,
10935
+ unit: typing.Optional[builtins.str] = None,
10936
+ ) -> None:
10937
+ '''``TargetTrackingMetricStat`` is a property of the `AWS::AutoScaling::ScalingPolicy TargetTrackingMetricDataQuery <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricdataquery.html>`_ property type.
10938
+
10939
+ This structure defines the CloudWatch metric to return, along with the statistic and unit.
10940
+
10941
+ For more information about the CloudWatch terminology below, see `Amazon CloudWatch concepts <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html>`_ in the *Amazon CloudWatch User Guide* .
10942
+
10943
+ :param metric: The metric to use.
10944
+ :param stat: The statistic to return. It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in `Statistics <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic>`_ in the *Amazon CloudWatch User Guide* . The most commonly used metric for scaling is ``Average`` .
10945
+ :param unit: The unit to use for the returned data points. For a complete list of the units that CloudWatch supports, see the `MetricDatum <https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html>`_ data type in the *Amazon CloudWatch API Reference* .
10946
+
10947
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricstat.html
10948
+ :exampleMetadata: fixture=_generated
10949
+
10950
+ Example::
10951
+
10952
+ # The code below shows an example of how to instantiate this type.
10953
+ # The values are placeholders you should change.
10954
+ from aws_cdk import aws_autoscaling as autoscaling
10955
+
10956
+ target_tracking_metric_stat_property = autoscaling.CfnScalingPolicy.TargetTrackingMetricStatProperty(
10957
+ metric=autoscaling.CfnScalingPolicy.MetricProperty(
10958
+ metric_name="metricName",
10959
+ namespace="namespace",
10960
+
10961
+ # the properties below are optional
10962
+ dimensions=[autoscaling.CfnScalingPolicy.MetricDimensionProperty(
10963
+ name="name",
10964
+ value="value"
10965
+ )]
10966
+ ),
10967
+ stat="stat",
10968
+
10969
+ # the properties below are optional
10970
+ unit="unit"
10971
+ )
10972
+ '''
10973
+ if __debug__:
10974
+ type_hints = typing.get_type_hints(_typecheckingstub__75bb120fe0d7723abf802e828deb5b42b75d441e35d1a2974ff03b0a094adfb2)
10975
+ check_type(argname="argument metric", value=metric, expected_type=type_hints["metric"])
10976
+ check_type(argname="argument stat", value=stat, expected_type=type_hints["stat"])
10977
+ check_type(argname="argument unit", value=unit, expected_type=type_hints["unit"])
10978
+ self._values: typing.Dict[builtins.str, typing.Any] = {
10979
+ "metric": metric,
10980
+ "stat": stat,
10981
+ }
10982
+ if unit is not None:
10983
+ self._values["unit"] = unit
10984
+
10985
+ @builtins.property
10986
+ def metric(
10987
+ self,
10988
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnScalingPolicy.MetricProperty"]:
10989
+ '''The metric to use.
10990
+
10991
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricstat.html#cfn-autoscaling-scalingpolicy-targettrackingmetricstat-metric
10992
+ '''
10993
+ result = self._values.get("metric")
10994
+ assert result is not None, "Required property 'metric' is missing"
10995
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnScalingPolicy.MetricProperty"], result)
10996
+
10997
+ @builtins.property
10998
+ def stat(self) -> builtins.str:
10999
+ '''The statistic to return.
11000
+
11001
+ It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in `Statistics <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic>`_ in the *Amazon CloudWatch User Guide* .
11002
+
11003
+ The most commonly used metric for scaling is ``Average`` .
11004
+
11005
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricstat.html#cfn-autoscaling-scalingpolicy-targettrackingmetricstat-stat
11006
+ '''
11007
+ result = self._values.get("stat")
11008
+ assert result is not None, "Required property 'stat' is missing"
11009
+ return typing.cast(builtins.str, result)
11010
+
11011
+ @builtins.property
11012
+ def unit(self) -> typing.Optional[builtins.str]:
11013
+ '''The unit to use for the returned data points.
11014
+
11015
+ For a complete list of the units that CloudWatch supports, see the `MetricDatum <https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html>`_ data type in the *Amazon CloudWatch API Reference* .
11016
+
11017
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingmetricstat.html#cfn-autoscaling-scalingpolicy-targettrackingmetricstat-unit
11018
+ '''
11019
+ result = self._values.get("unit")
11020
+ return typing.cast(typing.Optional[builtins.str], result)
11021
+
11022
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
11023
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
11024
+
11025
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
11026
+ return not (rhs == self)
11027
+
11028
+ def __repr__(self) -> str:
11029
+ return "TargetTrackingMetricStatProperty(%s)" % ", ".join(
11030
+ k + "=" + repr(v) for k, v in self._values.items()
11031
+ )
11032
+
10675
11033
 
10676
11034
  @jsii.data_type(
10677
11035
  jsii_type="aws-cdk-lib.aws_autoscaling.CfnScalingPolicyProps",
@@ -10861,15 +11219,37 @@ class CfnScalingPolicyProps:
10861
11219
 
10862
11220
  # the properties below are optional
10863
11221
  customized_metric_specification=autoscaling.CfnScalingPolicy.CustomizedMetricSpecificationProperty(
10864
- metric_name="metricName",
10865
- namespace="namespace",
10866
- statistic="statistic",
10867
-
10868
- # the properties below are optional
10869
11222
  dimensions=[autoscaling.CfnScalingPolicy.MetricDimensionProperty(
10870
11223
  name="name",
10871
11224
  value="value"
10872
11225
  )],
11226
+ metric_name="metricName",
11227
+ metrics=[autoscaling.CfnScalingPolicy.TargetTrackingMetricDataQueryProperty(
11228
+ id="id",
11229
+
11230
+ # the properties below are optional
11231
+ expression="expression",
11232
+ label="label",
11233
+ metric_stat=autoscaling.CfnScalingPolicy.TargetTrackingMetricStatProperty(
11234
+ metric=autoscaling.CfnScalingPolicy.MetricProperty(
11235
+ metric_name="metricName",
11236
+ namespace="namespace",
11237
+
11238
+ # the properties below are optional
11239
+ dimensions=[autoscaling.CfnScalingPolicy.MetricDimensionProperty(
11240
+ name="name",
11241
+ value="value"
11242
+ )]
11243
+ ),
11244
+ stat="stat",
11245
+
11246
+ # the properties below are optional
11247
+ unit="unit"
11248
+ ),
11249
+ return_data=False
11250
+ )],
11251
+ namespace="namespace",
11252
+ statistic="statistic",
10873
11253
  unit="unit"
10874
11254
  ),
10875
11255
  disable_scale_in=False,
@@ -20617,10 +20997,11 @@ def _typecheckingstub__c7edad0553749ec58702ad72a2bc68104268b76221c11cb19d8dd477a
20617
20997
 
20618
20998
  def _typecheckingstub__8e7031340719d237d3182678de0dc2931e386340d37c2dd60e36be75ada41bb3(
20619
20999
  *,
20620
- metric_name: builtins.str,
20621
- namespace: builtins.str,
20622
- statistic: builtins.str,
20623
21000
  dimensions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnScalingPolicy.MetricDimensionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
21001
+ metric_name: typing.Optional[builtins.str] = None,
21002
+ metrics: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnScalingPolicy.TargetTrackingMetricDataQueryProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
21003
+ namespace: typing.Optional[builtins.str] = None,
21004
+ statistic: typing.Optional[builtins.str] = None,
20624
21005
  unit: typing.Optional[builtins.str] = None,
20625
21006
  ) -> None:
20626
21007
  """Type checking stubs"""
@@ -20759,6 +21140,26 @@ def _typecheckingstub__406f504322f9bf5761a5c07083390725c370252fcf12bd54230e1f028
20759
21140
  """Type checking stubs"""
20760
21141
  pass
20761
21142
 
21143
+ def _typecheckingstub__db2b2d9653863b1d1b8f67347857edde6d9dc3f6f755a593d8da143f90fe6fe7(
21144
+ *,
21145
+ id: builtins.str,
21146
+ expression: typing.Optional[builtins.str] = None,
21147
+ label: typing.Optional[builtins.str] = None,
21148
+ metric_stat: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnScalingPolicy.TargetTrackingMetricStatProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21149
+ return_data: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
21150
+ ) -> None:
21151
+ """Type checking stubs"""
21152
+ pass
21153
+
21154
+ def _typecheckingstub__75bb120fe0d7723abf802e828deb5b42b75d441e35d1a2974ff03b0a094adfb2(
21155
+ *,
21156
+ metric: typing.Union[_IResolvable_da3f097b, typing.Union[CfnScalingPolicy.MetricProperty, typing.Dict[builtins.str, typing.Any]]],
21157
+ stat: builtins.str,
21158
+ unit: typing.Optional[builtins.str] = None,
21159
+ ) -> None:
21160
+ """Type checking stubs"""
21161
+ pass
21162
+
20762
21163
  def _typecheckingstub__fa1549144f025fb75ca19967d6520b5eaada79209726c0ec131f1146e087fc7d(
20763
21164
  *,
20764
21165
  auto_scaling_group_name: builtins.str,