aws-sdk-iot 1.87.0 → 1.88.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: 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