aws-sdk-cloudwatch 1.97.0 → 1.108.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: 02bdb33d58b2641848fd2e2efe5f3840e46245636f47be31032bf695351c6039
4
- data.tar.gz: c2c37667e5e85d410ea0a9388e83ae17b3d7883223954a181d36eeffee5e0b8e
3
+ metadata.gz: da69895cafa5853dce8dd80c67e33e00cf847a6050bd981817ba0507b43abdbe
4
+ data.tar.gz: b421ad4631fe5fd88d01f26482344b6a4b5c06e61fbc7206bf0d18806e4d041d
5
5
  SHA512:
6
- metadata.gz: a23decca69bd1ffd64b4efb0cafae27ac50f15546cb8053ef4aa0fd3bd57fc54da44aba3da1ecc003f3bb629c27c0efac8b5ccdb6dd636359580aa78e0f0c95a
7
- data.tar.gz: 119becd22b0432d896ba01ccaf9f942ee55d1c7bc332997e11b0cf87e96180c2dc63656ce07b64c160ef728321c9a2afb66c5c8b86422b768167f17d5dbfa35a
6
+ metadata.gz: f7a5d3b9a2f0bb0e546d3cbe0f119e2184509b4a20b3ecb37f230372f87fe8ad8573d1c80cdc9fcad1e0b7095cd88195426a8867cbda7c6c0c80b2a9946f63cd
7
+ data.tar.gz: e63428eed8d0ccfa617ff1be130e83a2eeae67c73757d6408b6570c07c036919911c8f2ccfbc5bcbec918ad51ea4b011198cd5d7cbcebd30fd59eab389ee647a
data/CHANGELOG.md CHANGED
@@ -1,6 +1,61 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.108.0 (2024-12-03)
5
+ ------------------
6
+
7
+ * Feature - Support for configuring AiOps investigation as alarm action
8
+
9
+ 1.107.0 (2024-11-18)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
14
+ 1.106.0 (2024-11-15)
15
+ ------------------
16
+
17
+ * Feature - Adds support for adding related Entity information to metrics ingested through PutMetricData.
18
+
19
+ 1.105.0 (2024-11-06)
20
+ ------------------
21
+
22
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
23
+
24
+ 1.104.0 (2024-10-18)
25
+ ------------------
26
+
27
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
28
+
29
+ 1.103.0 (2024-09-24)
30
+ ------------------
31
+
32
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
33
+
34
+ 1.102.0 (2024-09-23)
35
+ ------------------
36
+
37
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
38
+
39
+ 1.101.0 (2024-09-20)
40
+ ------------------
41
+
42
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
43
+
44
+ 1.100.0 (2024-09-11)
45
+ ------------------
46
+
47
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
48
+
49
+ 1.99.0 (2024-09-10)
50
+ ------------------
51
+
52
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
53
+
54
+ 1.98.0 (2024-09-03)
55
+ ------------------
56
+
57
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
58
+
4
59
  1.97.0 (2024-08-02)
5
60
  ------------------
6
61
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.97.0
1
+ 1.108.0
@@ -32,11 +32,10 @@ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
32
32
  require 'aws-sdk-core/plugins/request_compression.rb'
33
33
  require 'aws-sdk-core/plugins/defaults_mode.rb'
34
34
  require 'aws-sdk-core/plugins/recursion_detection.rb'
35
+ require 'aws-sdk-core/plugins/telemetry.rb'
35
36
  require 'aws-sdk-core/plugins/sign.rb'
36
37
  require 'aws-sdk-core/plugins/protocols/query.rb'
37
38
 
38
- Aws::Plugins::GlobalConfiguration.add_identifier(:cloudwatch)
39
-
40
39
  module Aws::CloudWatch
41
40
  # An API client for CloudWatch. To construct a client, you need to configure a `:region` and `:credentials`.
42
41
  #
@@ -83,6 +82,7 @@ module Aws::CloudWatch
83
82
  add_plugin(Aws::Plugins::RequestCompression)
84
83
  add_plugin(Aws::Plugins::DefaultsMode)
85
84
  add_plugin(Aws::Plugins::RecursionDetection)
85
+ add_plugin(Aws::Plugins::Telemetry)
86
86
  add_plugin(Aws::Plugins::Sign)
87
87
  add_plugin(Aws::Plugins::Protocols::Query)
88
88
  add_plugin(Aws::CloudWatch::Plugins::Endpoints)
@@ -128,13 +128,15 @@ module Aws::CloudWatch
128
128
  # locations will be searched for credentials:
129
129
  #
130
130
  # * `Aws.config[:credentials]`
131
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
132
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
131
+ # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
132
+ # `:account_id` options.
133
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
134
+ # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
133
135
  # * `~/.aws/credentials`
134
136
  # * `~/.aws/config`
135
137
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
136
138
  # are very aggressive. Construct and pass an instance of
137
- # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
139
+ # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
138
140
  # enable retries and extended timeouts. Instance profile credential
139
141
  # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
140
142
  # to true.
@@ -153,6 +155,8 @@ module Aws::CloudWatch
153
155
  #
154
156
  # @option options [String] :access_key_id
155
157
  #
158
+ # @option options [String] :account_id
159
+ #
156
160
  # @option options [Boolean] :active_endpoint_cache (false)
157
161
  # When set to `true`, a thread polling for endpoints will be running in
158
162
  # the background every 60 secs (default). Defaults to `false`.
@@ -330,6 +334,16 @@ module Aws::CloudWatch
330
334
  # ** Please note ** When response stubbing is enabled, no HTTP
331
335
  # requests are made, and retries are disabled.
332
336
  #
337
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
338
+ # Allows you to provide a telemetry provider, which is used to
339
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
340
+ # will not record or emit any telemetry data. The SDK supports the
341
+ # following telemetry providers:
342
+ #
343
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
344
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
345
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
346
+ #
333
347
  # @option options [Aws::TokenProvider] :token_provider
334
348
  # A Bearer Token Provider. This can be an instance of any one of the
335
349
  # following classes:
@@ -357,7 +371,9 @@ module Aws::CloudWatch
357
371
  # sending the request.
358
372
  #
359
373
  # @option options [Aws::CloudWatch::EndpointProvider] :endpoint_provider
360
- # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::CloudWatch::EndpointParameters`
374
+ # The endpoint provider used to resolve endpoints. Any object that responds to
375
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
376
+ # `Aws::CloudWatch::EndpointParameters`.
361
377
  #
362
378
  # @option options [Float] :http_continue_timeout (1)
363
379
  # The number of seconds to wait for a 100-continue response before sending the
@@ -413,6 +429,12 @@ module Aws::CloudWatch
413
429
  # @option options [String] :ssl_ca_store
414
430
  # Sets the X509::Store to verify peer certificate.
415
431
  #
432
+ # @option options [OpenSSL::X509::Certificate] :ssl_cert
433
+ # Sets a client certificate when creating http connections.
434
+ #
435
+ # @option options [OpenSSL::PKey] :ssl_key
436
+ # Sets a client key when creating http connections.
437
+ #
416
438
  # @option options [Float] :ssl_timeout
417
439
  # Sets the SSL timeout in seconds
418
440
  #
@@ -2341,7 +2363,7 @@ module Aws::CloudWatch
2341
2363
  #
2342
2364
  # The results that are returned are an approximation of the value you
2343
2365
  # specify. There is a low probability that the returned results include
2344
- # 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
2345
2367
  # specified time interval.
2346
2368
  #
2347
2369
  # @option params [Boolean] :include_linked_accounts
@@ -2699,6 +2721,11 @@ module Aws::CloudWatch
2699
2721
  #
2700
2722
  # `arn:aws:ssm:region:account-id:opsitem:severity `
2701
2723
  #
2724
+ # **Start a Amazon Q Developer operational investigation**
2725
+ #
2726
+ # `arn:aws:aiops:region:account-id:investigation-group:ingestigation-group-id
2727
+ # `
2728
+ #
2702
2729
  # @option params [String] :alarm_description
2703
2730
  # The description for the composite alarm.
2704
2731
  #
@@ -3262,6 +3289,11 @@ module Aws::CloudWatch
3262
3289
  #
3263
3290
  # * `arn:aws:ssm-incidents::account-id:responseplan/response-plan-name `
3264
3291
  #
3292
+ # **Start a Amazon Q Developer operational investigation**
3293
+ #
3294
+ # `arn:aws:aiops:region:account-id:investigation-group:ingestigation-group-id
3295
+ # `
3296
+ #
3265
3297
  # @option params [Array<String>] :insufficient_data_actions
3266
3298
  # The actions to execute when this alarm transitions to the
3267
3299
  # `INSUFFICIENT_DATA` state from any other state. Each action is
@@ -3536,6 +3568,10 @@ module Aws::CloudWatch
3536
3568
  # you specify in this parameter are ignored. To change the tags of an
3537
3569
  # existing alarm, use [TagResource][1] or [UntagResource][2].
3538
3570
  #
3571
+ # To use this field to set tags for an alarm when you create it, you
3572
+ # must be signed on with both the `cloudwatch:PutMetricAlarm` and
3573
+ # `cloudwatch:TagResource` permissions.
3574
+ #
3539
3575
  #
3540
3576
  #
3541
3577
  # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_TagResource.html
@@ -3623,13 +3659,20 @@ module Aws::CloudWatch
3623
3659
  req.send_request(options)
3624
3660
  end
3625
3661
 
3626
- # Publishes metric data points to Amazon CloudWatch. CloudWatch
3627
- # associates the data points with the specified metric. If the specified
3628
- # metric does not exist, CloudWatch creates the metric. When CloudWatch
3629
- # creates a metric, it can take up to fifteen minutes for the metric to
3630
- # appear in calls to [ListMetrics][1].
3631
- #
3632
- # You can publish either individual data points in the `Value` field, or
3662
+ # Publishes metric data to Amazon CloudWatch. CloudWatch associates the
3663
+ # data with the specified metric. If the specified metric does not
3664
+ # exist, CloudWatch creates the metric. When CloudWatch creates a
3665
+ # metric, it can take up to fifteen minutes for the metric to appear in
3666
+ # calls to [ListMetrics][1].
3667
+ #
3668
+ # You can publish metrics with associated entity data (so that related
3669
+ # telemetry can be found and viewed together), or publish metric data by
3670
+ # itself. To send entity data with your metrics, use the
3671
+ # `EntityMetricData` parameter. To send metrics without entity data, use
3672
+ # the `MetricData` parameter. The `EntityMetricData` structure includes
3673
+ # `MetricData` structures for the metric data.
3674
+ #
3675
+ # You can publish either individual values in the `Value` field, or
3633
3676
  # arrays of values and the number of times each value occurred during
3634
3677
  # the period by using the `Values` and `Counts` fields in the
3635
3678
  # `MetricData` structure. Using the `Values` and `Counts` method enables
@@ -3638,7 +3681,8 @@ module Aws::CloudWatch
3638
3681
  #
3639
3682
  # Each `PutMetricData` request is limited to 1 MB in size for HTTP POST
3640
3683
  # requests. You can send a payload compressed by gzip. Each request is
3641
- # also limited to no more than 1000 different metrics.
3684
+ # also limited to no more than 1000 different metrics (across both the
3685
+ # `MetricData` and `EntityMetricData` properties).
3642
3686
  #
3643
3687
  # Although the `Value` parameter accepts numbers of type `Double`,
3644
3688
  # CloudWatch rejects values that are either too small or too large.
@@ -3658,7 +3702,7 @@ module Aws::CloudWatch
3658
3702
  # least 48 hours to become available for [GetMetricData][3] or
3659
3703
  # [GetMetricStatistics][4] from the time they are submitted. Data points
3660
3704
  # with time stamps between 3 and 24 hours ago can take as much as 2
3661
- # hours to become available for for [GetMetricData][3] or
3705
+ # hours to become available for [GetMetricData][3] or
3662
3706
  # [GetMetricStatistics][4].
3663
3707
  #
3664
3708
  # CloudWatch needs raw data points to calculate percentile statistics.
@@ -3686,17 +3730,72 @@ module Aws::CloudWatch
3686
3730
  # To avoid conflicts with Amazon Web Services service namespaces, you
3687
3731
  # should not specify a namespace that begins with `AWS/`
3688
3732
  #
3689
- # @option params [required, Array<Types::MetricDatum>] :metric_data
3690
- # The data for the metric. The array can include no more than 1000
3733
+ # @option params [Array<Types::MetricDatum>] :metric_data
3734
+ # The data for the metrics. Use this parameter if your metrics do not
3735
+ # contain associated entities. The array can include no more than 1000
3691
3736
  # metrics per call.
3692
3737
  #
3738
+ # The limit of metrics allowed, 1000, is the sum of both
3739
+ # `EntityMetricData` and `MetricData` metrics.
3740
+ #
3741
+ # @option params [Array<Types::EntityMetricData>] :entity_metric_data
3742
+ # Data for metrics that contain associated entity information. You can
3743
+ # include up to two `EntityMetricData` objects, each of which can
3744
+ # contain a single `Entity` and associated metrics.
3745
+ #
3746
+ # The limit of metrics allowed, 1000, is the sum of both
3747
+ # `EntityMetricData` and `MetricData` metrics.
3748
+ #
3749
+ # @option params [Boolean] :strict_entity_validation
3750
+ # Whether to accept valid metric data when an invalid entity is sent.
3751
+ #
3752
+ # * When set to `true`: Any validation error (for entity or metric data)
3753
+ # will fail the entire request, and no data will be ingested. The
3754
+ # failed operation will return a 400 result with the error.
3755
+ #
3756
+ # * When set to `false`: Validation errors in the entity will not
3757
+ # associate the metric with the entity, but the metric data will still
3758
+ # be accepted and ingested. Validation errors in the metric data will
3759
+ # fail the entire request, and no data will be ingested.
3760
+ #
3761
+ # In the case of an invalid entity, the operation will return a `200`
3762
+ # status, but an additional response header will contain information
3763
+ # about the validation errors. The new header,
3764
+ # `X-Amzn-Failure-Message` is an enumeration of the following values:
3765
+ #
3766
+ # * `InvalidEntity` - The provided entity is invalid.
3767
+ #
3768
+ # * `InvalidKeyAttributes` - The provided `KeyAttributes` of an entity
3769
+ # is invalid.
3770
+ #
3771
+ # * `InvalidAttributes` - The provided `Attributes` of an entity is
3772
+ # invalid.
3773
+ #
3774
+ # * `InvalidTypeValue` - The provided `Type` in the `KeyAttributes` of
3775
+ # an entity is invalid.
3776
+ #
3777
+ # * `EntitySizeTooLarge` - The number of `EntityMetricData` objects
3778
+ # allowed is 2.
3779
+ #
3780
+ # * `MissingRequiredFields` - There are missing required fields in the
3781
+ # `KeyAttributes` for the provided `Type`.
3782
+ # For details of the requirements for specifying an entity, see [How
3783
+ # to add related information to telemetry][1] in the *CloudWatch User
3784
+ # Guide*.
3785
+ #
3786
+ # This parameter is *required* when `EntityMetricData` is included.
3787
+ #
3788
+ #
3789
+ #
3790
+ # [1]: https://docs.aws.amazon.com/adding-your-own-related-telemetry.html
3791
+ #
3693
3792
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3694
3793
  #
3695
3794
  # @example Request syntax with placeholder values
3696
3795
  #
3697
3796
  # resp = client.put_metric_data({
3698
3797
  # namespace: "Namespace", # required
3699
- # metric_data: [ # required
3798
+ # metric_data: [
3700
3799
  # {
3701
3800
  # metric_name: "MetricName", # required
3702
3801
  # dimensions: [
@@ -3719,6 +3818,42 @@ module Aws::CloudWatch
3719
3818
  # storage_resolution: 1,
3720
3819
  # },
3721
3820
  # ],
3821
+ # entity_metric_data: [
3822
+ # {
3823
+ # entity: {
3824
+ # key_attributes: {
3825
+ # "EntityKeyAttributesMapKeyString" => "EntityKeyAttributesMapValueString",
3826
+ # },
3827
+ # attributes: {
3828
+ # "EntityAttributesMapKeyString" => "EntityAttributesMapValueString",
3829
+ # },
3830
+ # },
3831
+ # metric_data: [
3832
+ # {
3833
+ # metric_name: "MetricName", # required
3834
+ # dimensions: [
3835
+ # {
3836
+ # name: "DimensionName", # required
3837
+ # value: "DimensionValue", # required
3838
+ # },
3839
+ # ],
3840
+ # timestamp: Time.now,
3841
+ # value: 1.0,
3842
+ # statistic_values: {
3843
+ # sample_count: 1.0, # required
3844
+ # sum: 1.0, # required
3845
+ # minimum: 1.0, # required
3846
+ # maximum: 1.0, # required
3847
+ # },
3848
+ # values: [1.0],
3849
+ # counts: [1.0],
3850
+ # 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
3851
+ # storage_resolution: 1,
3852
+ # },
3853
+ # ],
3854
+ # },
3855
+ # ],
3856
+ # strict_entity_validation: false,
3722
3857
  # })
3723
3858
  #
3724
3859
  # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutMetricData AWS API Documentation
@@ -4144,14 +4279,19 @@ module Aws::CloudWatch
4144
4279
  # @api private
4145
4280
  def build_request(operation_name, params = {})
4146
4281
  handlers = @handlers.for(operation_name)
4282
+ tracer = config.telemetry_provider.tracer_provider.tracer(
4283
+ Aws::Telemetry.module_to_tracer_name('Aws::CloudWatch')
4284
+ )
4147
4285
  context = Seahorse::Client::RequestContext.new(
4148
4286
  operation_name: operation_name,
4149
4287
  operation: config.api.operation(operation_name),
4150
4288
  client: self,
4151
4289
  params: params,
4152
- config: config)
4290
+ config: config,
4291
+ tracer: tracer
4292
+ )
4153
4293
  context[:gem_name] = 'aws-sdk-cloudwatch'
4154
- context[:gem_version] = '1.97.0'
4294
+ context[:gem_version] = '1.108.0'
4155
4295
  Seahorse::Client::Request.new(handlers, context)
4156
4296
  end
4157
4297
 
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  module Aws::CloudWatch
11
12
  # @api private
12
13
  module ClientApi
@@ -95,6 +96,15 @@ module Aws::CloudWatch
95
96
  EnableAlarmActionsInput = Shapes::StructureShape.new(name: 'EnableAlarmActionsInput')
96
97
  EnableInsightRulesInput = Shapes::StructureShape.new(name: 'EnableInsightRulesInput')
97
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')
98
108
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
99
109
  EvaluateLowSampleCountPercentile = Shapes::StringShape.new(name: 'EvaluateLowSampleCountPercentile')
100
110
  EvaluationPeriods = Shapes::IntegerShape.new(name: 'EvaluationPeriods')
@@ -265,6 +275,7 @@ module Aws::CloudWatch
265
275
  StopMetricStreamsInput = Shapes::StructureShape.new(name: 'StopMetricStreamsInput')
266
276
  StopMetricStreamsOutput = Shapes::StructureShape.new(name: 'StopMetricStreamsOutput')
267
277
  StorageResolution = Shapes::IntegerShape.new(name: 'StorageResolution')
278
+ StrictEntityValidation = Shapes::BooleanShape.new(name: 'StrictEntityValidation')
268
279
  SuppressorPeriod = Shapes::IntegerShape.new(name: 'SuppressorPeriod')
269
280
  Tag = Shapes::StructureShape.new(name: 'Tag')
270
281
  TagKey = Shapes::StringShape.new(name: 'TagKey')
@@ -507,6 +518,22 @@ module Aws::CloudWatch
507
518
  EnableInsightRulesOutput.add_member(:failures, Shapes::ShapeRef.new(shape: BatchFailures, location_name: "Failures"))
508
519
  EnableInsightRulesOutput.struct_class = Types::EnableInsightRulesOutput
509
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
+
510
537
  ExtendedStatistics.member = Shapes::ShapeRef.new(shape: ExtendedStatistic)
511
538
 
512
539
  GetDashboardInput.add_member(:dashboard_name, Shapes::ShapeRef.new(shape: DashboardName, required: true, location_name: "DashboardName"))
@@ -924,7 +951,9 @@ module Aws::CloudWatch
924
951
  PutMetricAlarmInput.struct_class = Types::PutMetricAlarmInput
925
952
 
926
953
  PutMetricDataInput.add_member(:namespace, Shapes::ShapeRef.new(shape: Namespace, required: true, location_name: "Namespace"))
927
- 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}))
928
957
  PutMetricDataInput.struct_class = Types::PutMetricDataInput
929
958
 
930
959
  PutMetricStreamInput.add_member(:name, Shapes::ShapeRef.new(shape: MetricStreamName, required: true, location_name: "Name"))
@@ -52,15 +52,18 @@ module Aws::CloudWatch
52
52
  self[:region] = options[:region]
53
53
  self[:use_dual_stack] = options[:use_dual_stack]
54
54
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
- if self[:use_dual_stack].nil?
56
- raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
57
- end
58
55
  self[:use_fips] = options[:use_fips]
59
56
  self[:use_fips] = false if self[:use_fips].nil?
60
- if self[:use_fips].nil?
61
- raise ArgumentError, "Missing required EndpointParameter: :use_fips"
62
- end
63
57
  self[:endpoint] = options[:endpoint]
64
58
  end
59
+
60
+ def self.create(config, options={})
61
+ new({
62
+ region: config.region,
63
+ use_dual_stack: config.use_dualstack_endpoint,
64
+ use_fips: config.use_fips_endpoint,
65
+ endpoint: (config.endpoint.to_s unless config.regional_endpoint),
66
+ }.merge(options))
67
+ end
65
68
  end
66
69
  end