aws-sdk-iot 1.87.0 → 1.88.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: 2bb9edb1f47f005ceda3bddf53a3909c47e5e324b3a35d5eaf6753bd1f4ce1f7
4
- data.tar.gz: a30b963a97726a8a74e152d8348bc65766f848639c85a9c6a8bd16b9e3e62742
3
+ metadata.gz: 1f5eecdaf0afc42535b10c47d68bb1a50aafe0cb39eb284e1bb1ffbf5e003510
4
+ data.tar.gz: 21f4ebbc5bd2dcc5718395ba2749aaa30ef7e353ac7816a5e6d1a35b436b4d1a
5
5
  SHA512:
6
- metadata.gz: 3800815d737bf85ba1c8d036c1ecc1b1b3fd6315ce8e6c2264e775298ae2317c8eda494e892239195405e485281eb9cc90afce62105943c1b841bd5a2e1bb9d5
7
- data.tar.gz: 91c871c5d9eebf09fb7b80cf55d8cb4d2bb37264595c49594d1da449adb8d6177dabdfa18fbc84ec23a99f9fd67c5b7cc1e144800aed57e7299f34cd4cf4f316
6
+ metadata.gz: 8a999c2c56725a835b0d61a04edb63fa5d08615924f9c99653d0425a5843e17c1b6c7ceb40aeccd998c446346a547d4c292bb0311abee1e0f170b5e257af9d4f
7
+ data.tar.gz: 6ecdcd2cd1ff058c55f99a86d8e27668b92b09c607d4b423fdf30dab4a8ac8292fb4ab8786f32593e6cb23fe2ec5c5b5b511619a8c2ecba43305f7570ff108a2
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.88.0 (2022-04-04)
5
+ ------------------
6
+
7
+ * Feature - AWS IoT - AWS IoT Device Defender adds support to list metric datapoints collected for IoT devices through the ListMetricValues API
8
+
4
9
  1.87.0 (2022-03-30)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.87.0
1
+ 1.88.0
@@ -8879,6 +8879,78 @@ module Aws::IoT
8879
8879
  req.send_request(options)
8880
8880
  end
8881
8881
 
8882
+ # Lists the values reported for an IoT Device Defender metric
8883
+ # (device-side metric, cloud-side metric, or custom metric) by the given
8884
+ # thing during the specified time period.
8885
+ #
8886
+ # @option params [required, String] :thing_name
8887
+ # The name of the thing for which security profile metric values are
8888
+ # returned.
8889
+ #
8890
+ # @option params [required, String] :metric_name
8891
+ # The name of the security profile metric for which values are returned.
8892
+ #
8893
+ # @option params [String] :dimension_name
8894
+ # The dimension name.
8895
+ #
8896
+ # @option params [String] :dimension_value_operator
8897
+ # The dimension value operator.
8898
+ #
8899
+ # @option params [required, Time,DateTime,Date,Integer,String] :start_time
8900
+ # The start of the time period for which metric values are returned.
8901
+ #
8902
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_time
8903
+ # The end of the time period for which metric values are returned.
8904
+ #
8905
+ # @option params [Integer] :max_results
8906
+ # The maximum number of results to return at one time.
8907
+ #
8908
+ # @option params [String] :next_token
8909
+ # The token for the next set of results.
8910
+ #
8911
+ # @return [Types::ListMetricValuesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8912
+ #
8913
+ # * {Types::ListMetricValuesResponse#metric_datum_list #metric_datum_list} => Array<Types::MetricDatum>
8914
+ # * {Types::ListMetricValuesResponse#next_token #next_token} => String
8915
+ #
8916
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
8917
+ #
8918
+ # @example Request syntax with placeholder values
8919
+ #
8920
+ # resp = client.list_metric_values({
8921
+ # thing_name: "DeviceDefenderThingName", # required
8922
+ # metric_name: "BehaviorMetric", # required
8923
+ # dimension_name: "DimensionName",
8924
+ # dimension_value_operator: "IN", # accepts IN, NOT_IN
8925
+ # start_time: Time.now, # required
8926
+ # end_time: Time.now, # required
8927
+ # max_results: 1,
8928
+ # next_token: "NextToken",
8929
+ # })
8930
+ #
8931
+ # @example Response structure
8932
+ #
8933
+ # resp.metric_datum_list #=> Array
8934
+ # resp.metric_datum_list[0].timestamp #=> Time
8935
+ # resp.metric_datum_list[0].value.count #=> Integer
8936
+ # resp.metric_datum_list[0].value.cidrs #=> Array
8937
+ # resp.metric_datum_list[0].value.cidrs[0] #=> String
8938
+ # resp.metric_datum_list[0].value.ports #=> Array
8939
+ # resp.metric_datum_list[0].value.ports[0] #=> Integer
8940
+ # resp.metric_datum_list[0].value.number #=> Float
8941
+ # resp.metric_datum_list[0].value.numbers #=> Array
8942
+ # resp.metric_datum_list[0].value.numbers[0] #=> Float
8943
+ # resp.metric_datum_list[0].value.strings #=> Array
8944
+ # resp.metric_datum_list[0].value.strings[0] #=> String
8945
+ # resp.next_token #=> String
8946
+ #
8947
+ # @overload list_metric_values(params = {})
8948
+ # @param [Hash] params ({})
8949
+ def list_metric_values(params = {}, options = {})
8950
+ req = build_request(:list_metric_values, params)
8951
+ req.send_request(options)
8952
+ end
8953
+
8882
8954
  # Gets a list of all mitigation actions that match the specified filter
8883
8955
  # criteria.
8884
8956
  #
@@ -13600,7 +13672,7 @@ module Aws::IoT
13600
13672
  params: params,
13601
13673
  config: config)
13602
13674
  context[:gem_name] = 'aws-sdk-iot'
13603
- context[:gem_version] = '1.87.0'
13675
+ context[:gem_version] = '1.88.0'
13604
13676
  Seahorse::Client::Request.new(handlers, context)
13605
13677
  end
13606
13678
 
@@ -700,6 +700,8 @@ module Aws::IoT
700
700
  ListJobsResponse = Shapes::StructureShape.new(name: 'ListJobsResponse')
701
701
  ListManagedJobTemplatesRequest = Shapes::StructureShape.new(name: 'ListManagedJobTemplatesRequest')
702
702
  ListManagedJobTemplatesResponse = Shapes::StructureShape.new(name: 'ListManagedJobTemplatesResponse')
703
+ ListMetricValuesRequest = Shapes::StructureShape.new(name: 'ListMetricValuesRequest')
704
+ ListMetricValuesResponse = Shapes::StructureShape.new(name: 'ListMetricValuesResponse')
703
705
  ListMitigationActionsRequest = Shapes::StructureShape.new(name: 'ListMitigationActionsRequest')
704
706
  ListMitigationActionsResponse = Shapes::StructureShape.new(name: 'ListMitigationActionsResponse')
705
707
  ListOTAUpdatesRequest = Shapes::StructureShape.new(name: 'ListOTAUpdatesRequest')
@@ -787,6 +789,8 @@ module Aws::IoT
787
789
  Message = Shapes::StringShape.new(name: 'Message')
788
790
  MessageFormat = Shapes::StringShape.new(name: 'MessageFormat')
789
791
  MessageId = Shapes::StringShape.new(name: 'MessageId')
792
+ MetricDatum = Shapes::StructureShape.new(name: 'MetricDatum')
793
+ MetricDatumList = Shapes::ListShape.new(name: 'MetricDatumList')
790
794
  MetricDimension = Shapes::StructureShape.new(name: 'MetricDimension')
791
795
  MetricName = Shapes::StringShape.new(name: 'MetricName')
792
796
  MetricNames = Shapes::ListShape.new(name: 'MetricNames')
@@ -1332,7 +1336,7 @@ module Aws::IoT
1332
1336
  AddThingToThingGroupResponse.struct_class = Types::AddThingToThingGroupResponse
1333
1337
 
1334
1338
  AddThingsToThingGroupParams.add_member(:thing_group_names, Shapes::ShapeRef.new(shape: ThingGroupNames, required: true, location_name: "thingGroupNames"))
1335
- AddThingsToThingGroupParams.add_member(:override_dynamic_groups, Shapes::ShapeRef.new(shape: OverrideDynamicGroups, location_name: "overrideDynamicGroups"))
1339
+ AddThingsToThingGroupParams.add_member(:override_dynamic_groups, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "overrideDynamicGroups"))
1336
1340
  AddThingsToThingGroupParams.struct_class = Types::AddThingsToThingGroupParams
1337
1341
 
1338
1342
  AdditionalMetricsToRetainList.member = Shapes::ShapeRef.new(shape: BehaviorMetric)
@@ -3365,6 +3369,20 @@ module Aws::IoT
3365
3369
  ListManagedJobTemplatesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
3366
3370
  ListManagedJobTemplatesResponse.struct_class = Types::ListManagedJobTemplatesResponse
3367
3371
 
3372
+ ListMetricValuesRequest.add_member(:thing_name, Shapes::ShapeRef.new(shape: DeviceDefenderThingName, required: true, location: "querystring", location_name: "thingName"))
3373
+ ListMetricValuesRequest.add_member(:metric_name, Shapes::ShapeRef.new(shape: BehaviorMetric, required: true, location: "querystring", location_name: "metricName"))
3374
+ ListMetricValuesRequest.add_member(:dimension_name, Shapes::ShapeRef.new(shape: DimensionName, location: "querystring", location_name: "dimensionName"))
3375
+ ListMetricValuesRequest.add_member(:dimension_value_operator, Shapes::ShapeRef.new(shape: DimensionValueOperator, location: "querystring", location_name: "dimensionValueOperator"))
3376
+ ListMetricValuesRequest.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location: "querystring", location_name: "startTime"))
3377
+ ListMetricValuesRequest.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location: "querystring", location_name: "endTime"))
3378
+ ListMetricValuesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
3379
+ ListMetricValuesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
3380
+ ListMetricValuesRequest.struct_class = Types::ListMetricValuesRequest
3381
+
3382
+ ListMetricValuesResponse.add_member(:metric_datum_list, Shapes::ShapeRef.new(shape: MetricDatumList, location_name: "metricDatumList"))
3383
+ ListMetricValuesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
3384
+ ListMetricValuesResponse.struct_class = Types::ListMetricValuesResponse
3385
+
3368
3386
  ListMitigationActionsRequest.add_member(:action_type, Shapes::ShapeRef.new(shape: MitigationActionType, location: "querystring", location_name: "actionType"))
3369
3387
  ListMitigationActionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
3370
3388
  ListMitigationActionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
@@ -3685,6 +3703,12 @@ module Aws::IoT
3685
3703
 
3686
3704
  ManagedJobTemplatesSummaryList.member = Shapes::ShapeRef.new(shape: ManagedJobTemplateSummary)
3687
3705
 
3706
+ MetricDatum.add_member(:timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "timestamp"))
3707
+ MetricDatum.add_member(:value, Shapes::ShapeRef.new(shape: MetricValue, location_name: "value"))
3708
+ MetricDatum.struct_class = Types::MetricDatum
3709
+
3710
+ MetricDatumList.member = Shapes::ShapeRef.new(shape: MetricDatum)
3711
+
3688
3712
  MetricDimension.add_member(:dimension_name, Shapes::ShapeRef.new(shape: DimensionName, required: true, location_name: "dimensionName"))
3689
3713
  MetricDimension.add_member(:operator, Shapes::ShapeRef.new(shape: DimensionValueOperator, location_name: "operator"))
3690
3714
  MetricDimension.struct_class = Types::MetricDimension
@@ -7011,6 +7035,24 @@ module Aws::IoT
7011
7035
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
7012
7036
  end)
7013
7037
 
7038
+ api.add_operation(:list_metric_values, Seahorse::Model::Operation.new.tap do |o|
7039
+ o.name = "ListMetricValues"
7040
+ o.http_method = "GET"
7041
+ o.http_request_uri = "/metric-values"
7042
+ o.input = Shapes::ShapeRef.new(shape: ListMetricValuesRequest)
7043
+ o.output = Shapes::ShapeRef.new(shape: ListMetricValuesResponse)
7044
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
7045
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
7046
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
7047
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
7048
+ o[:pager] = Aws::Pager.new(
7049
+ limit_key: "max_results",
7050
+ tokens: {
7051
+ "next_token" => "next_token"
7052
+ }
7053
+ )
7054
+ end)
7055
+
7014
7056
  api.add_operation(:list_mitigation_actions, Seahorse::Model::Operation.new.tap do |o|
7015
7057
  o.name = "ListMitigationActions"
7016
7058
  o.http_method = "GET"
@@ -5517,21 +5517,11 @@ module Aws::IoT
5517
5517
  # @return [Types::CodeSigningCertificateChain]
5518
5518
  #
5519
5519
  # @!attribute [rw] hash_algorithm
5520
- # The hash algorithm used to code sign the file. You can use a string
5521
- # as the algorithm name if the target over-the-air (OTA) update
5522
- # devices are able to verify the signature that was generated using
5523
- # the same signature algorithm. For example, FreeRTOS uses `SHA256` or
5524
- # `SHA1`, so you can pass either of them based on which was used for
5525
- # generating the signature.
5520
+ # The hash algorithm used to code sign the file.
5526
5521
  # @return [String]
5527
5522
  #
5528
5523
  # @!attribute [rw] signature_algorithm
5529
- # The signature algorithm used to code sign the file. You can use a
5530
- # string as the algorithm name if the target over-the-air (OTA) update
5531
- # devices are able to verify the signature that was generated using
5532
- # the same signature algorithm. For example, FreeRTOS uses `ECDSA` or
5533
- # `RSA`, so you can pass either of them based on which was used for
5534
- # generating the signature.
5524
+ # The signature algorithm used to code sign the file.
5535
5525
  # @return [String]
5536
5526
  #
5537
5527
  class CustomCodeSigning < Struct.new(
@@ -12108,6 +12098,84 @@ module Aws::IoT
12108
12098
  include Aws::Structure
12109
12099
  end
12110
12100
 
12101
+ # @note When making an API call, you may pass ListMetricValuesRequest
12102
+ # data as a hash:
12103
+ #
12104
+ # {
12105
+ # thing_name: "DeviceDefenderThingName", # required
12106
+ # metric_name: "BehaviorMetric", # required
12107
+ # dimension_name: "DimensionName",
12108
+ # dimension_value_operator: "IN", # accepts IN, NOT_IN
12109
+ # start_time: Time.now, # required
12110
+ # end_time: Time.now, # required
12111
+ # max_results: 1,
12112
+ # next_token: "NextToken",
12113
+ # }
12114
+ #
12115
+ # @!attribute [rw] thing_name
12116
+ # The name of the thing for which security profile metric values are
12117
+ # returned.
12118
+ # @return [String]
12119
+ #
12120
+ # @!attribute [rw] metric_name
12121
+ # The name of the security profile metric for which values are
12122
+ # returned.
12123
+ # @return [String]
12124
+ #
12125
+ # @!attribute [rw] dimension_name
12126
+ # The dimension name.
12127
+ # @return [String]
12128
+ #
12129
+ # @!attribute [rw] dimension_value_operator
12130
+ # The dimension value operator.
12131
+ # @return [String]
12132
+ #
12133
+ # @!attribute [rw] start_time
12134
+ # The start of the time period for which metric values are returned.
12135
+ # @return [Time]
12136
+ #
12137
+ # @!attribute [rw] end_time
12138
+ # The end of the time period for which metric values are returned.
12139
+ # @return [Time]
12140
+ #
12141
+ # @!attribute [rw] max_results
12142
+ # The maximum number of results to return at one time.
12143
+ # @return [Integer]
12144
+ #
12145
+ # @!attribute [rw] next_token
12146
+ # The token for the next set of results.
12147
+ # @return [String]
12148
+ #
12149
+ class ListMetricValuesRequest < Struct.new(
12150
+ :thing_name,
12151
+ :metric_name,
12152
+ :dimension_name,
12153
+ :dimension_value_operator,
12154
+ :start_time,
12155
+ :end_time,
12156
+ :max_results,
12157
+ :next_token)
12158
+ SENSITIVE = []
12159
+ include Aws::Structure
12160
+ end
12161
+
12162
+ # @!attribute [rw] metric_datum_list
12163
+ # The data the thing reports for the metric during the specified time
12164
+ # period.
12165
+ # @return [Array<Types::MetricDatum>]
12166
+ #
12167
+ # @!attribute [rw] next_token
12168
+ # A token that can be used to retrieve the next set of results, or
12169
+ # `null` if there are no additional results.
12170
+ # @return [String]
12171
+ #
12172
+ class ListMetricValuesResponse < Struct.new(
12173
+ :metric_datum_list,
12174
+ :next_token)
12175
+ SENSITIVE = []
12176
+ include Aws::Structure
12177
+ end
12178
+
12111
12179
  # @note When making an API call, you may pass ListMitigationActionsRequest
12112
12180
  # data as a hash:
12113
12181
  #
@@ -13792,6 +13860,23 @@ module Aws::IoT
13792
13860
  include Aws::Structure
13793
13861
  end
13794
13862
 
13863
+ # A metric.
13864
+ #
13865
+ # @!attribute [rw] timestamp
13866
+ # The time the metric value was reported.
13867
+ # @return [Time]
13868
+ #
13869
+ # @!attribute [rw] value
13870
+ # The value reported for the metric.
13871
+ # @return [Types::MetricValue]
13872
+ #
13873
+ class MetricDatum < Struct.new(
13874
+ :timestamp,
13875
+ :value)
13876
+ SENSITIVE = []
13877
+ include Aws::Structure
13878
+ end
13879
+
13795
13880
  # The dimension of a metric.
13796
13881
  #
13797
13882
  # @note When making an API call, you may pass MetricDimension
data/lib/aws-sdk-iot.rb CHANGED
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-iot/customizations'
48
48
  # @!group service
49
49
  module Aws::IoT
50
50
 
51
- GEM_VERSION = '1.87.0'
51
+ GEM_VERSION = '1.88.0'
52
52
 
53
53
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-iot
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.87.0
4
+ version: 1.88.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: 2022-03-30 00:00:00.000000000 Z
11
+ date: 2022-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core