aws-sdk-cloudwatch 1.105.0 → 1.106.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e2067019b249fd610f65f93bf227571c7789d9cad4e3f6336b02d7b88bddd6cc
4
- data.tar.gz: 00d657ece5aba354e9a4721606fb5e38aa8bce814ea520d3efac6618a7d98cad
3
+ metadata.gz: b8367cd3fce605a046cae966bc653790b7bb83cf851a421fdf065a884da29313
4
+ data.tar.gz: c835b8f01d81813bd9ce0f3124bc84c45b213ec438da31527e33c0fc0dfa0769
5
5
  SHA512:
6
- metadata.gz: 948dee631dcd6e5d6b3eb64b67a0d7c72738c706e13d92c93849bb1e83a3001b5519c82d9fe0bdbfb877f961bb277e49cd4098af3419f985bd28293b7f37573f
7
- data.tar.gz: 341cc2e14743a62ad2fe42437b5dfb0783d6010252baf9de7e7873f37c52b8c83f585737ccd6a4a08c736d02a68902231c8119a989e2222c18b195f51a33c281
6
+ metadata.gz: 03aba18f4403465f8f83adf8a47b3e45b26601ed66c6ba8e76cb104515cac705d0cbc5f4cad01c031d27827fa3392a2d386bfb1415d2870a4b4ea2eb113e3990
7
+ data.tar.gz: dbcc3ee47b2c509bd562e2dedfb66f99530d2dfe26c84e58015baea34014ee39c6d937258626eb30dfd7be07bb77b703d3619b2104d33211884b76cf293f2ac2
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.106.0 (2024-11-15)
5
+ ------------------
6
+
7
+ * Feature - Adds support for adding related Entity information to metrics ingested through PutMetricData.
8
+
4
9
  1.105.0 (2024-11-06)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.105.0
1
+ 1.106.0
@@ -2363,7 +2363,7 @@ module Aws::CloudWatch
2363
2363
  #
2364
2364
  # The results that are returned are an approximation of the value you
2365
2365
  # specify. There is a low probability that the returned results include
2366
- # metrics with last published data as much as 40 minutes more than the
2366
+ # metrics with last published data as much as 50 minutes more than the
2367
2367
  # specified time interval.
2368
2368
  #
2369
2369
  # @option params [Boolean] :include_linked_accounts
@@ -3558,6 +3558,10 @@ module Aws::CloudWatch
3558
3558
  # you specify in this parameter are ignored. To change the tags of an
3559
3559
  # existing alarm, use [TagResource][1] or [UntagResource][2].
3560
3560
  #
3561
+ # To use this field to set tags for an alarm when you create it, you
3562
+ # must be signed on with both the `cloudwatch:PutMetricAlarm` and
3563
+ # `cloudwatch:TagResource` permissions.
3564
+ #
3561
3565
  #
3562
3566
  #
3563
3567
  # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_TagResource.html
@@ -3645,13 +3649,20 @@ module Aws::CloudWatch
3645
3649
  req.send_request(options)
3646
3650
  end
3647
3651
 
3648
- # Publishes metric data points to Amazon CloudWatch. CloudWatch
3649
- # associates the data points with the specified metric. If the specified
3650
- # metric does not exist, CloudWatch creates the metric. When CloudWatch
3651
- # creates a metric, it can take up to fifteen minutes for the metric to
3652
- # appear in calls to [ListMetrics][1].
3653
- #
3654
- # You can publish either individual data points in the `Value` field, or
3652
+ # Publishes metric data to Amazon CloudWatch. CloudWatch associates the
3653
+ # data with the specified metric. If the specified metric does not
3654
+ # exist, CloudWatch creates the metric. When CloudWatch creates a
3655
+ # metric, it can take up to fifteen minutes for the metric to appear in
3656
+ # calls to [ListMetrics][1].
3657
+ #
3658
+ # You can publish metrics with associated entity data (so that related
3659
+ # telemetry can be found and viewed together), or publish metric data by
3660
+ # itself. To send entity data with your metrics, use the
3661
+ # `EntityMetricData` parameter. To send metrics without entity data, use
3662
+ # the `MetricData` parameter. The `EntityMetricData` structure includes
3663
+ # `MetricData` structures for the metric data.
3664
+ #
3665
+ # You can publish either individual values in the `Value` field, or
3655
3666
  # arrays of values and the number of times each value occurred during
3656
3667
  # the period by using the `Values` and `Counts` fields in the
3657
3668
  # `MetricData` structure. Using the `Values` and `Counts` method enables
@@ -3660,7 +3671,8 @@ module Aws::CloudWatch
3660
3671
  #
3661
3672
  # Each `PutMetricData` request is limited to 1 MB in size for HTTP POST
3662
3673
  # requests. You can send a payload compressed by gzip. Each request is
3663
- # also limited to no more than 1000 different metrics.
3674
+ # also limited to no more than 1000 different metrics (across both the
3675
+ # `MetricData` and `EntityMetricData` properties).
3664
3676
  #
3665
3677
  # Although the `Value` parameter accepts numbers of type `Double`,
3666
3678
  # CloudWatch rejects values that are either too small or too large.
@@ -3680,7 +3692,7 @@ module Aws::CloudWatch
3680
3692
  # least 48 hours to become available for [GetMetricData][3] or
3681
3693
  # [GetMetricStatistics][4] from the time they are submitted. Data points
3682
3694
  # with time stamps between 3 and 24 hours ago can take as much as 2
3683
- # hours to become available for for [GetMetricData][3] or
3695
+ # hours to become available for [GetMetricData][3] or
3684
3696
  # [GetMetricStatistics][4].
3685
3697
  #
3686
3698
  # CloudWatch needs raw data points to calculate percentile statistics.
@@ -3708,17 +3720,73 @@ module Aws::CloudWatch
3708
3720
  # To avoid conflicts with Amazon Web Services service namespaces, you
3709
3721
  # should not specify a namespace that begins with `AWS/`
3710
3722
  #
3711
- # @option params [required, Array<Types::MetricDatum>] :metric_data
3712
- # The data for the metric. The array can include no more than 1000
3723
+ # @option params [Array<Types::MetricDatum>] :metric_data
3724
+ # The data for the metrics. Use this parameter if your metrics do not
3725
+ # contain associated entities. The array can include no more than 1000
3713
3726
  # metrics per call.
3714
3727
  #
3728
+ # The limit of metrics allowed, 1000, is the sum of both
3729
+ # `EntityMetricData` and `MetricData` metrics.
3730
+ #
3731
+ # @option params [Array<Types::EntityMetricData>] :entity_metric_data
3732
+ # Data for metrics that contain associated entity information. You can
3733
+ # include up to two `EntityMetricData` objects, each of which can
3734
+ # contain a single `Entity` and associated metrics.
3735
+ #
3736
+ # The limit of metrics allowed, 1000, is the sum of both
3737
+ # `EntityMetricData` and `MetricData` metrics.
3738
+ #
3739
+ # @option params [Boolean] :strict_entity_validation
3740
+ # Whether to accept valid metric data when an invalid entity is sent.
3741
+ #
3742
+ # * When set to `true`: Any validation error (for entity or metric data)
3743
+ # will fail the entire request, and no data will be ingested. The
3744
+ # failed operation will return a 400 result with the error.
3745
+ #
3746
+ # * When set to `false`: Validation errors in the entity will not
3747
+ # associate the metric with the entity, but the metric data will still
3748
+ # be accepted and ingested. Validation errors in the metric data will
3749
+ # fail the entire request, and no data will be ingested.
3750
+ #
3751
+ # In the case of an invalid entity, the operation will return a `200`
3752
+ # status, but an additional response header will contain information
3753
+ # about the validation errors. The new header,
3754
+ # `X-Amzn-Failure-Message` is an enumeration of the following values:
3755
+ #
3756
+ # * `InvalidEntity` - The provided entity is invalid.
3757
+ #
3758
+ # * `InvalidKeyAttributes` - The provided `KeyAttributes` of an entity
3759
+ # is invalid.
3760
+ #
3761
+ # * `InvalidAttributes` - The provided `Attributes` of an entity is
3762
+ # invalid.
3763
+ #
3764
+ # * `InvalidTypeValue` - The provided `Type` in the `KeyAttributes` of
3765
+ # an entity is invalid.
3766
+ #
3767
+ # * `EntitySizeTooLarge` - The number of `EntityMetricData` objects
3768
+ # allowed is 2.
3769
+ #
3770
+ # * `MissingRequiredFields` - There are missing required fields in the
3771
+ # `KeyAttributes` for the provided `Type`.
3772
+ #
3773
+ # For details of the requirements for specifying an entity, see [How
3774
+ # to add related information to telemetry][1] in the *CloudWatch User
3775
+ # Guide*.
3776
+ #
3777
+ # This parameter is *required* when `EntityMetricData` is included.
3778
+ #
3779
+ #
3780
+ #
3781
+ # [1]: https://docs.aws.amazon.com/adding-your-own-related-telemetry.html
3782
+ #
3715
3783
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3716
3784
  #
3717
3785
  # @example Request syntax with placeholder values
3718
3786
  #
3719
3787
  # resp = client.put_metric_data({
3720
3788
  # namespace: "Namespace", # required
3721
- # metric_data: [ # required
3789
+ # metric_data: [
3722
3790
  # {
3723
3791
  # metric_name: "MetricName", # required
3724
3792
  # dimensions: [
@@ -3741,6 +3809,42 @@ module Aws::CloudWatch
3741
3809
  # storage_resolution: 1,
3742
3810
  # },
3743
3811
  # ],
3812
+ # entity_metric_data: [
3813
+ # {
3814
+ # entity: {
3815
+ # key_attributes: {
3816
+ # "EntityKeyAttributesMapKeyString" => "EntityKeyAttributesMapValueString",
3817
+ # },
3818
+ # attributes: {
3819
+ # "EntityAttributesMapKeyString" => "EntityAttributesMapValueString",
3820
+ # },
3821
+ # },
3822
+ # metric_data: [
3823
+ # {
3824
+ # metric_name: "MetricName", # required
3825
+ # dimensions: [
3826
+ # {
3827
+ # name: "DimensionName", # required
3828
+ # value: "DimensionValue", # required
3829
+ # },
3830
+ # ],
3831
+ # timestamp: Time.now,
3832
+ # value: 1.0,
3833
+ # statistic_values: {
3834
+ # sample_count: 1.0, # required
3835
+ # sum: 1.0, # required
3836
+ # minimum: 1.0, # required
3837
+ # maximum: 1.0, # required
3838
+ # },
3839
+ # values: [1.0],
3840
+ # counts: [1.0],
3841
+ # unit: "Seconds", # accepts Seconds, Microseconds, Milliseconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, None
3842
+ # storage_resolution: 1,
3843
+ # },
3844
+ # ],
3845
+ # },
3846
+ # ],
3847
+ # strict_entity_validation: false,
3744
3848
  # })
3745
3849
  #
3746
3850
  # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricData AWS API Documentation
@@ -4178,7 +4282,7 @@ module Aws::CloudWatch
4178
4282
  tracer: tracer
4179
4283
  )
4180
4284
  context[:gem_name] = 'aws-sdk-cloudwatch'
4181
- context[:gem_version] = '1.105.0'
4285
+ context[:gem_version] = '1.106.0'
4182
4286
  Seahorse::Client::Request.new(handlers, context)
4183
4287
  end
4184
4288
 
@@ -96,6 +96,15 @@ module Aws::CloudWatch
96
96
  EnableAlarmActionsInput = Shapes::StructureShape.new(name: 'EnableAlarmActionsInput')
97
97
  EnableInsightRulesInput = Shapes::StructureShape.new(name: 'EnableInsightRulesInput')
98
98
  EnableInsightRulesOutput = Shapes::StructureShape.new(name: 'EnableInsightRulesOutput')
99
+ Entity = Shapes::StructureShape.new(name: 'Entity')
100
+ EntityAttributesMap = Shapes::MapShape.new(name: 'EntityAttributesMap')
101
+ EntityAttributesMapKeyString = Shapes::StringShape.new(name: 'EntityAttributesMapKeyString')
102
+ EntityAttributesMapValueString = Shapes::StringShape.new(name: 'EntityAttributesMapValueString')
103
+ EntityKeyAttributesMap = Shapes::MapShape.new(name: 'EntityKeyAttributesMap')
104
+ EntityKeyAttributesMapKeyString = Shapes::StringShape.new(name: 'EntityKeyAttributesMapKeyString')
105
+ EntityKeyAttributesMapValueString = Shapes::StringShape.new(name: 'EntityKeyAttributesMapValueString')
106
+ EntityMetricData = Shapes::StructureShape.new(name: 'EntityMetricData')
107
+ EntityMetricDataList = Shapes::ListShape.new(name: 'EntityMetricDataList')
99
108
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
100
109
  EvaluateLowSampleCountPercentile = Shapes::StringShape.new(name: 'EvaluateLowSampleCountPercentile')
101
110
  EvaluationPeriods = Shapes::IntegerShape.new(name: 'EvaluationPeriods')
@@ -266,6 +275,7 @@ module Aws::CloudWatch
266
275
  StopMetricStreamsInput = Shapes::StructureShape.new(name: 'StopMetricStreamsInput')
267
276
  StopMetricStreamsOutput = Shapes::StructureShape.new(name: 'StopMetricStreamsOutput')
268
277
  StorageResolution = Shapes::IntegerShape.new(name: 'StorageResolution')
278
+ StrictEntityValidation = Shapes::BooleanShape.new(name: 'StrictEntityValidation')
269
279
  SuppressorPeriod = Shapes::IntegerShape.new(name: 'SuppressorPeriod')
270
280
  Tag = Shapes::StructureShape.new(name: 'Tag')
271
281
  TagKey = Shapes::StringShape.new(name: 'TagKey')
@@ -508,6 +518,22 @@ module Aws::CloudWatch
508
518
  EnableInsightRulesOutput.add_member(:failures, Shapes::ShapeRef.new(shape: BatchFailures, location_name: "Failures"))
509
519
  EnableInsightRulesOutput.struct_class = Types::EnableInsightRulesOutput
510
520
 
521
+ Entity.add_member(:key_attributes, Shapes::ShapeRef.new(shape: EntityKeyAttributesMap, location_name: "KeyAttributes"))
522
+ Entity.add_member(:attributes, Shapes::ShapeRef.new(shape: EntityAttributesMap, location_name: "Attributes"))
523
+ Entity.struct_class = Types::Entity
524
+
525
+ EntityAttributesMap.key = Shapes::ShapeRef.new(shape: EntityAttributesMapKeyString)
526
+ EntityAttributesMap.value = Shapes::ShapeRef.new(shape: EntityAttributesMapValueString)
527
+
528
+ EntityKeyAttributesMap.key = Shapes::ShapeRef.new(shape: EntityKeyAttributesMapKeyString)
529
+ EntityKeyAttributesMap.value = Shapes::ShapeRef.new(shape: EntityKeyAttributesMapValueString)
530
+
531
+ EntityMetricData.add_member(:entity, Shapes::ShapeRef.new(shape: Entity, location_name: "Entity"))
532
+ EntityMetricData.add_member(:metric_data, Shapes::ShapeRef.new(shape: MetricData, location_name: "MetricData"))
533
+ EntityMetricData.struct_class = Types::EntityMetricData
534
+
535
+ EntityMetricDataList.member = Shapes::ShapeRef.new(shape: EntityMetricData)
536
+
511
537
  ExtendedStatistics.member = Shapes::ShapeRef.new(shape: ExtendedStatistic)
512
538
 
513
539
  GetDashboardInput.add_member(:dashboard_name, Shapes::ShapeRef.new(shape: DashboardName, required: true, location_name: "DashboardName"))
@@ -925,7 +951,9 @@ module Aws::CloudWatch
925
951
  PutMetricAlarmInput.struct_class = Types::PutMetricAlarmInput
926
952
 
927
953
  PutMetricDataInput.add_member(:namespace, Shapes::ShapeRef.new(shape: Namespace, required: true, location_name: "Namespace"))
928
- PutMetricDataInput.add_member(:metric_data, Shapes::ShapeRef.new(shape: MetricData, required: true, location_name: "MetricData"))
954
+ PutMetricDataInput.add_member(:metric_data, Shapes::ShapeRef.new(shape: MetricData, location_name: "MetricData"))
955
+ PutMetricDataInput.add_member(:entity_metric_data, Shapes::ShapeRef.new(shape: EntityMetricDataList, location_name: "EntityMetricData"))
956
+ PutMetricDataInput.add_member(:strict_entity_validation, Shapes::ShapeRef.new(shape: StrictEntityValidation, location_name: "StrictEntityValidation", metadata: {"box"=>true}))
929
957
  PutMetricDataInput.struct_class = Types::PutMetricDataInput
930
958
 
931
959
  PutMetricStreamInput.add_member(:name, Shapes::ShapeRef.new(shape: MetricStreamName, required: true, location_name: "Name"))
@@ -737,6 +737,10 @@ module Aws::CloudWatch
737
737
  # you specify in this parameter are ignored. To change the tags of an
738
738
  # existing alarm, use [TagResource][1] or [UntagResource][2].
739
739
  #
740
+ # To use this field to set tags for an alarm when you create it, you
741
+ # must be signed on with both the `cloudwatch:PutMetricAlarm` and
742
+ # `cloudwatch:TagResource` permissions.
743
+ #
740
744
  #
741
745
  #
742
746
  # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_TagResource.html
@@ -768,7 +772,7 @@ module Aws::CloudWatch
768
772
  # @example Request syntax with placeholder values
769
773
  #
770
774
  # metric.put_data({
771
- # metric_data: [ # required
775
+ # metric_data: [
772
776
  # {
773
777
  # metric_name: "MetricName", # required
774
778
  # dimensions: [
@@ -791,11 +795,101 @@ module Aws::CloudWatch
791
795
  # storage_resolution: 1,
792
796
  # },
793
797
  # ],
798
+ # entity_metric_data: [
799
+ # {
800
+ # entity: {
801
+ # key_attributes: {
802
+ # "EntityKeyAttributesMapKeyString" => "EntityKeyAttributesMapValueString",
803
+ # },
804
+ # attributes: {
805
+ # "EntityAttributesMapKeyString" => "EntityAttributesMapValueString",
806
+ # },
807
+ # },
808
+ # metric_data: [
809
+ # {
810
+ # metric_name: "MetricName", # required
811
+ # dimensions: [
812
+ # {
813
+ # name: "DimensionName", # required
814
+ # value: "DimensionValue", # required
815
+ # },
816
+ # ],
817
+ # timestamp: Time.now,
818
+ # value: 1.0,
819
+ # statistic_values: {
820
+ # sample_count: 1.0, # required
821
+ # sum: 1.0, # required
822
+ # minimum: 1.0, # required
823
+ # maximum: 1.0, # required
824
+ # },
825
+ # values: [1.0],
826
+ # counts: [1.0],
827
+ # unit: "Seconds", # accepts Seconds, Microseconds, Milliseconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, None
828
+ # storage_resolution: 1,
829
+ # },
830
+ # ],
831
+ # },
832
+ # ],
833
+ # strict_entity_validation: false,
794
834
  # })
795
835
  # @param [Hash] options ({})
796
- # @option options [required, Array<Types::MetricDatum>] :metric_data
797
- # The data for the metric. The array can include no more than 1000
836
+ # @option options [Array<Types::MetricDatum>] :metric_data
837
+ # The data for the metrics. Use this parameter if your metrics do not
838
+ # contain associated entities. The array can include no more than 1000
798
839
  # metrics per call.
840
+ #
841
+ # The limit of metrics allowed, 1000, is the sum of both
842
+ # `EntityMetricData` and `MetricData` metrics.
843
+ # @option options [Array<Types::EntityMetricData>] :entity_metric_data
844
+ # Data for metrics that contain associated entity information. You can
845
+ # include up to two `EntityMetricData` objects, each of which can
846
+ # contain a single `Entity` and associated metrics.
847
+ #
848
+ # The limit of metrics allowed, 1000, is the sum of both
849
+ # `EntityMetricData` and `MetricData` metrics.
850
+ # @option options [Boolean] :strict_entity_validation
851
+ # Whether to accept valid metric data when an invalid entity is sent.
852
+ #
853
+ # * When set to `true`: Any validation error (for entity or metric data)
854
+ # will fail the entire request, and no data will be ingested. The
855
+ # failed operation will return a 400 result with the error.
856
+ #
857
+ # * When set to `false`: Validation errors in the entity will not
858
+ # associate the metric with the entity, but the metric data will still
859
+ # be accepted and ingested. Validation errors in the metric data will
860
+ # fail the entire request, and no data will be ingested.
861
+ #
862
+ # In the case of an invalid entity, the operation will return a `200`
863
+ # status, but an additional response header will contain information
864
+ # about the validation errors. The new header,
865
+ # `X-Amzn-Failure-Message` is an enumeration of the following values:
866
+ #
867
+ # * `InvalidEntity` - The provided entity is invalid.
868
+ #
869
+ # * `InvalidKeyAttributes` - The provided `KeyAttributes` of an entity
870
+ # is invalid.
871
+ #
872
+ # * `InvalidAttributes` - The provided `Attributes` of an entity is
873
+ # invalid.
874
+ #
875
+ # * `InvalidTypeValue` - The provided `Type` in the `KeyAttributes` of
876
+ # an entity is invalid.
877
+ #
878
+ # * `EntitySizeTooLarge` - The number of `EntityMetricData` objects
879
+ # allowed is 2.
880
+ #
881
+ # * `MissingRequiredFields` - There are missing required fields in the
882
+ # `KeyAttributes` for the provided `Type`.
883
+ #
884
+ # For details of the requirements for specifying an entity, see [How
885
+ # to add related information to telemetry][1] in the *CloudWatch User
886
+ # Guide*.
887
+ #
888
+ # This parameter is *required* when `EntityMetricData` is included.
889
+ #
890
+ #
891
+ #
892
+ # [1]: https://docs.aws.amazon.com/adding-your-own-related-telemetry.html
799
893
  # @return [EmptyStructure]
800
894
  def put_data(options = {})
801
895
  options = Aws::Util.deep_merge(options,
@@ -294,7 +294,7 @@ module Aws::CloudWatch
294
294
  #
295
295
  # The results that are returned are an approximation of the value you
296
296
  # specify. There is a low probability that the returned results include
297
- # metrics with last published data as much as 40 minutes more than the
297
+ # metrics with last published data as much as 50 minutes more than the
298
298
  # specified time interval.
299
299
  # @option options [Boolean] :include_linked_accounts
300
300
  # If you are using this operation in a monitoring account, specify
@@ -1073,6 +1073,73 @@ module Aws::CloudWatch
1073
1073
  include Aws::Structure
1074
1074
  end
1075
1075
 
1076
+ # An entity associated with metrics, to allow for finding related
1077
+ # telemetry. An entity is typically a resource or service within your
1078
+ # system. For example, metrics from an Amazon EC2 instance could be
1079
+ # associated with that instance as the entity. Similarly, metrics from a
1080
+ # service that you own could be associated with that service as the
1081
+ # entity.
1082
+ #
1083
+ # @!attribute [rw] key_attributes
1084
+ # The attributes of the entity which identify the specific entity, as
1085
+ # a list of key-value pairs. Entities with the same `KeyAttributes`
1086
+ # are considered to be the same entity. For an entity to be valid, the
1087
+ # `KeyAttributes` must exist and be formatted correctly.
1088
+ #
1089
+ # There are five allowed attributes (key names): `Type`,
1090
+ # `ResourceType`, `Identifier`, `Name`, and `Environment`.
1091
+ #
1092
+ # For details about how to use the key attributes to specify an
1093
+ # entity, see [How to add related information to telemetry][1] in the
1094
+ # *CloudWatch User Guide*.
1095
+ #
1096
+ #
1097
+ #
1098
+ # [1]: https://docs.aws.amazon.com/adding-your-own-related-telemetry.html
1099
+ # @return [Hash<String,String>]
1100
+ #
1101
+ # @!attribute [rw] attributes
1102
+ # Additional attributes of the entity that are not used to specify the
1103
+ # identity of the entity. A list of key-value pairs.
1104
+ #
1105
+ # For details about how to use the attributes, see [How to add related
1106
+ # information to telemetry][1] in the *CloudWatch User Guide*.
1107
+ #
1108
+ #
1109
+ #
1110
+ # [1]: https://docs.aws.amazon.com/adding-your-own-related-telemetry.html
1111
+ # @return [Hash<String,String>]
1112
+ #
1113
+ # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/Entity AWS API Documentation
1114
+ #
1115
+ class Entity < Struct.new(
1116
+ :key_attributes,
1117
+ :attributes)
1118
+ SENSITIVE = []
1119
+ include Aws::Structure
1120
+ end
1121
+
1122
+ # A set of metrics that are associated with an entity, such as a
1123
+ # specific service or resource. Contains the entity and the list of
1124
+ # metric data associated with it.
1125
+ #
1126
+ # @!attribute [rw] entity
1127
+ # The entity associated with the metrics.
1128
+ # @return [Types::Entity]
1129
+ #
1130
+ # @!attribute [rw] metric_data
1131
+ # The metric data.
1132
+ # @return [Array<Types::MetricDatum>]
1133
+ #
1134
+ # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/EntityMetricData AWS API Documentation
1135
+ #
1136
+ class EntityMetricData < Struct.new(
1137
+ :entity,
1138
+ :metric_data)
1139
+ SENSITIVE = []
1140
+ include Aws::Structure
1141
+ end
1142
+
1076
1143
  # @!attribute [rw] dashboard_name
1077
1144
  # The name of the dashboard to be described.
1078
1145
  # @return [String]
@@ -2157,7 +2224,7 @@ module Aws::CloudWatch
2157
2224
  #
2158
2225
  # The results that are returned are an approximation of the value you
2159
2226
  # specify. There is a low probability that the returned results
2160
- # include metrics with last published data as much as 40 minutes more
2227
+ # include metrics with last published data as much as 50 minutes more
2161
2228
  # than the specified time interval.
2162
2229
  # @return [String]
2163
2230
  #
@@ -4045,6 +4112,10 @@ module Aws::CloudWatch
4045
4112
  # tags you specify in this parameter are ignored. To change the tags
4046
4113
  # of an existing alarm, use [TagResource][1] or [UntagResource][2].
4047
4114
  #
4115
+ # To use this field to set tags for an alarm when you create it, you
4116
+ # must be signed on with both the `cloudwatch:PutMetricAlarm` and
4117
+ # `cloudwatch:TagResource` permissions.
4118
+ #
4048
4119
  #
4049
4120
  #
4050
4121
  # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_TagResource.html
@@ -4101,15 +4172,76 @@ module Aws::CloudWatch
4101
4172
  # @return [String]
4102
4173
  #
4103
4174
  # @!attribute [rw] metric_data
4104
- # The data for the metric. The array can include no more than 1000
4175
+ # The data for the metrics. Use this parameter if your metrics do not
4176
+ # contain associated entities. The array can include no more than 1000
4105
4177
  # metrics per call.
4178
+ #
4179
+ # The limit of metrics allowed, 1000, is the sum of both
4180
+ # `EntityMetricData` and `MetricData` metrics.
4106
4181
  # @return [Array<Types::MetricDatum>]
4107
4182
  #
4183
+ # @!attribute [rw] entity_metric_data
4184
+ # Data for metrics that contain associated entity information. You can
4185
+ # include up to two `EntityMetricData` objects, each of which can
4186
+ # contain a single `Entity` and associated metrics.
4187
+ #
4188
+ # The limit of metrics allowed, 1000, is the sum of both
4189
+ # `EntityMetricData` and `MetricData` metrics.
4190
+ # @return [Array<Types::EntityMetricData>]
4191
+ #
4192
+ # @!attribute [rw] strict_entity_validation
4193
+ # Whether to accept valid metric data when an invalid entity is sent.
4194
+ #
4195
+ # * When set to `true`: Any validation error (for entity or metric
4196
+ # data) will fail the entire request, and no data will be ingested.
4197
+ # The failed operation will return a 400 result with the error.
4198
+ #
4199
+ # * When set to `false`: Validation errors in the entity will not
4200
+ # associate the metric with the entity, but the metric data will
4201
+ # still be accepted and ingested. Validation errors in the metric
4202
+ # data will fail the entire request, and no data will be ingested.
4203
+ #
4204
+ # In the case of an invalid entity, the operation will return a
4205
+ # `200` status, but an additional response header will contain
4206
+ # information about the validation errors. The new header,
4207
+ # `X-Amzn-Failure-Message` is an enumeration of the following
4208
+ # values:
4209
+ #
4210
+ # * `InvalidEntity` - The provided entity is invalid.
4211
+ #
4212
+ # * `InvalidKeyAttributes` - The provided `KeyAttributes` of an
4213
+ # entity is invalid.
4214
+ #
4215
+ # * `InvalidAttributes` - The provided `Attributes` of an entity is
4216
+ # invalid.
4217
+ #
4218
+ # * `InvalidTypeValue` - The provided `Type` in the `KeyAttributes`
4219
+ # of an entity is invalid.
4220
+ #
4221
+ # * `EntitySizeTooLarge` - The number of `EntityMetricData` objects
4222
+ # allowed is 2.
4223
+ #
4224
+ # * `MissingRequiredFields` - There are missing required fields in
4225
+ # the `KeyAttributes` for the provided `Type`.
4226
+ #
4227
+ # For details of the requirements for specifying an entity, see [How
4228
+ # to add related information to telemetry][1] in the *CloudWatch
4229
+ # User Guide*.
4230
+ #
4231
+ # This parameter is *required* when `EntityMetricData` is included.
4232
+ #
4233
+ #
4234
+ #
4235
+ # [1]: https://docs.aws.amazon.com/adding-your-own-related-telemetry.html
4236
+ # @return [Boolean]
4237
+ #
4108
4238
  # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricDataInput AWS API Documentation
4109
4239
  #
4110
4240
  class PutMetricDataInput < Struct.new(
4111
4241
  :namespace,
4112
- :metric_data)
4242
+ :metric_data,
4243
+ :entity_metric_data,
4244
+ :strict_entity_validation)
4113
4245
  SENSITIVE = []
4114
4246
  include Aws::Structure
4115
4247
  end
@@ -58,7 +58,7 @@ module Aws::CloudWatch
58
58
  autoload :CompositeAlarm, 'aws-sdk-cloudwatch/composite_alarm'
59
59
  autoload :Metric, 'aws-sdk-cloudwatch/metric'
60
60
 
61
- GEM_VERSION = '1.105.0'
61
+ GEM_VERSION = '1.106.0'
62
62
 
63
63
  end
64
64
 
data/sig/client.rbs CHANGED
@@ -694,7 +694,7 @@ module Aws
694
694
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudWatch/Client.html#put_metric_data-instance_method
695
695
  def put_metric_data: (
696
696
  namespace: ::String,
697
- metric_data: Array[
697
+ ?metric_data: Array[
698
698
  {
699
699
  metric_name: ::String,
700
700
  dimensions: Array[
@@ -716,7 +716,39 @@ module Aws
716
716
  unit: ("Seconds" | "Microseconds" | "Milliseconds" | "Bytes" | "Kilobytes" | "Megabytes" | "Gigabytes" | "Terabytes" | "Bits" | "Kilobits" | "Megabits" | "Gigabits" | "Terabits" | "Percent" | "Count" | "Bytes/Second" | "Kilobytes/Second" | "Megabytes/Second" | "Gigabytes/Second" | "Terabytes/Second" | "Bits/Second" | "Kilobits/Second" | "Megabits/Second" | "Gigabits/Second" | "Terabits/Second" | "Count/Second" | "None")?,
717
717
  storage_resolution: ::Integer?
718
718
  },
719
- ]
719
+ ],
720
+ ?entity_metric_data: Array[
721
+ {
722
+ entity: {
723
+ key_attributes: Hash[::String, ::String]?,
724
+ attributes: Hash[::String, ::String]?
725
+ }?,
726
+ metric_data: Array[
727
+ {
728
+ metric_name: ::String,
729
+ dimensions: Array[
730
+ {
731
+ name: ::String,
732
+ value: ::String
733
+ },
734
+ ]?,
735
+ timestamp: ::Time?,
736
+ value: ::Float?,
737
+ statistic_values: {
738
+ sample_count: ::Float,
739
+ sum: ::Float,
740
+ minimum: ::Float,
741
+ maximum: ::Float
742
+ }?,
743
+ values: Array[::Float]?,
744
+ counts: Array[::Float]?,
745
+ unit: ("Seconds" | "Microseconds" | "Milliseconds" | "Bytes" | "Kilobytes" | "Megabytes" | "Gigabytes" | "Terabytes" | "Bits" | "Kilobits" | "Megabits" | "Gigabits" | "Terabits" | "Percent" | "Count" | "Bytes/Second" | "Kilobytes/Second" | "Megabytes/Second" | "Gigabytes/Second" | "Terabytes/Second" | "Bits/Second" | "Kilobits/Second" | "Megabits/Second" | "Gigabits/Second" | "Terabits/Second" | "Count/Second" | "None")?,
746
+ storage_resolution: ::Integer?
747
+ },
748
+ ]?
749
+ },
750
+ ],
751
+ ?strict_entity_validation: bool
720
752
  ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
721
753
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
722
754
 
data/sig/metric.rbs CHANGED
@@ -115,7 +115,7 @@ module Aws
115
115
 
116
116
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CloudWatch/Metric.html#put_data-instance_method
117
117
  def put_data: (
118
- metric_data: Array[
118
+ ?metric_data: Array[
119
119
  {
120
120
  metric_name: ::String,
121
121
  dimensions: Array[
@@ -137,7 +137,39 @@ module Aws
137
137
  unit: ("Seconds" | "Microseconds" | "Milliseconds" | "Bytes" | "Kilobytes" | "Megabytes" | "Gigabytes" | "Terabytes" | "Bits" | "Kilobits" | "Megabits" | "Gigabits" | "Terabits" | "Percent" | "Count" | "Bytes/Second" | "Kilobytes/Second" | "Megabytes/Second" | "Gigabytes/Second" | "Terabytes/Second" | "Bits/Second" | "Kilobits/Second" | "Megabits/Second" | "Gigabits/Second" | "Terabits/Second" | "Count/Second" | "None")?,
138
138
  storage_resolution: ::Integer?
139
139
  },
140
- ]
140
+ ],
141
+ ?entity_metric_data: Array[
142
+ {
143
+ entity: {
144
+ key_attributes: Hash[::String, ::String]?,
145
+ attributes: Hash[::String, ::String]?
146
+ }?,
147
+ metric_data: Array[
148
+ {
149
+ metric_name: ::String,
150
+ dimensions: Array[
151
+ {
152
+ name: ::String,
153
+ value: ::String
154
+ },
155
+ ]?,
156
+ timestamp: ::Time?,
157
+ value: ::Float?,
158
+ statistic_values: {
159
+ sample_count: ::Float,
160
+ sum: ::Float,
161
+ minimum: ::Float,
162
+ maximum: ::Float
163
+ }?,
164
+ values: Array[::Float]?,
165
+ counts: Array[::Float]?,
166
+ unit: ("Seconds" | "Microseconds" | "Milliseconds" | "Bytes" | "Kilobytes" | "Megabytes" | "Gigabytes" | "Terabytes" | "Bits" | "Kilobits" | "Megabits" | "Gigabits" | "Terabits" | "Percent" | "Count" | "Bytes/Second" | "Kilobytes/Second" | "Megabytes/Second" | "Gigabytes/Second" | "Terabytes/Second" | "Bits/Second" | "Kilobits/Second" | "Megabits/Second" | "Gigabits/Second" | "Terabits/Second" | "Count/Second" | "None")?,
167
+ storage_resolution: ::Integer?
168
+ },
169
+ ]?
170
+ },
171
+ ],
172
+ ?strict_entity_validation: bool
141
173
  ) -> ::Aws::EmptyStructure
142
174
  | (?Hash[Symbol, untyped]) -> ::Aws::EmptyStructure
143
175
 
data/sig/types.rbs CHANGED
@@ -268,6 +268,18 @@ module Aws::CloudWatch
268
268
  SENSITIVE: []
269
269
  end
270
270
 
271
+ class Entity
272
+ attr_accessor key_attributes: ::Hash[::String, ::String]
273
+ attr_accessor attributes: ::Hash[::String, ::String]
274
+ SENSITIVE: []
275
+ end
276
+
277
+ class EntityMetricData
278
+ attr_accessor entity: Types::Entity
279
+ attr_accessor metric_data: ::Array[Types::MetricDatum]
280
+ SENSITIVE: []
281
+ end
282
+
271
283
  class GetDashboardInput
272
284
  attr_accessor dashboard_name: ::String
273
285
  SENSITIVE: []
@@ -758,6 +770,8 @@ module Aws::CloudWatch
758
770
  class PutMetricDataInput
759
771
  attr_accessor namespace: ::String
760
772
  attr_accessor metric_data: ::Array[Types::MetricDatum]
773
+ attr_accessor entity_metric_data: ::Array[Types::EntityMetricData]
774
+ attr_accessor strict_entity_validation: bool
761
775
  SENSITIVE: []
762
776
  end
763
777
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-cloudwatch
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.105.0
4
+ version: 1.106.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-11-06 00:00:00.000000000 Z
11
+ date: 2024-11-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core