aws-sdk-cloudwatch 1.105.0 → 1.106.0

Sign up to get free protection for your applications and to get access to all the features.
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