aws-sdk-rekognition 1.45.0 → 1.50.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.50.0
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -49,6 +49,6 @@ require_relative 'aws-sdk-rekognition/customizations'
49
49
  # @!group service
50
50
  module Aws::Rekognition
51
51
 
52
- GEM_VERSION = '1.45.0'
52
+ GEM_VERSION = '1.50.0'
53
53
 
54
54
  end
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -340,10 +340,20 @@ module Aws::Rekognition
340
340
  # Compares a face in the *source* input image with each of the 100
341
341
  # largest faces detected in the *target* input image.
342
342
  #
343
- # <note markdown="1"> If the source image contains multiple faces, the service detects the
343
+ # If the source image contains multiple faces, the service detects the
344
344
  # largest face and compares it with each face detected in the target
345
345
  # image.
346
346
  #
347
+ # <note markdown="1"> CompareFaces uses machine learning algorithms, which are
348
+ # probabilistic. A false negative is an incorrect prediction that a face
349
+ # in the target image has a low similarity confidence score when
350
+ # compared to the face in the source image. To reduce the probability of
351
+ # false negatives, we recommend that you compare the target image
352
+ # against multiple source images. If you plan to use `CompareFaces` to
353
+ # make a decision that impacts an individual's rights, privacy, or
354
+ # access to services, we recommend that you pass the result to a human
355
+ # for review and further validation before taking action.
356
+ #
347
357
  # </note>
348
358
  #
349
359
  # You pass the input and target images either as base64-encoded image
@@ -378,12 +388,6 @@ module Aws::Rekognition
378
388
  # want to filter detected faces, specify `NONE`. The default value is
379
389
  # `NONE`.
380
390
  #
381
- # <note markdown="1"> To use quality filtering, you need a collection associated with
382
- # version 3 of the face model or higher. To get the version of the face
383
- # model associated with a collection, call DescribeCollection.
384
- #
385
- # </note>
386
- #
387
391
  # If the image doesn't contain Exif metadata, `CompareFaces` returns
388
392
  # orientation information for the source and target images. Use these
389
393
  # values to display the images with the correct image orientation.
@@ -589,6 +593,10 @@ module Aws::Rekognition
589
593
  # @option params [required, String] :collection_id
590
594
  # ID for the collection that you are creating.
591
595
  #
596
+ # @option params [Hash<String,String>] :tags
597
+ # A set of tags (key-value pairs) that you want to attach to the
598
+ # collection.
599
+ #
592
600
  # @return [Types::CreateCollectionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
593
601
  #
594
602
  # * {Types::CreateCollectionResponse#status_code #status_code} => Integer
@@ -614,6 +622,9 @@ module Aws::Rekognition
614
622
  #
615
623
  # resp = client.create_collection({
616
624
  # collection_id: "CollectionId", # required
625
+ # tags: {
626
+ # "TagKey" => "TagValue",
627
+ # },
617
628
  # })
618
629
  #
619
630
  # @example Response structure
@@ -694,6 +705,9 @@ module Aws::Rekognition
694
705
  # @option params [required, Types::TestingData] :testing_data
695
706
  # The dataset to use for testing.
696
707
  #
708
+ # @option params [Hash<String,String>] :tags
709
+ # A set of tags (key-value pairs) that you want to attach to the model.
710
+ #
697
711
  # @return [Types::CreateProjectVersionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
698
712
  #
699
713
  # * {Types::CreateProjectVersionResponse#project_version_arn #project_version_arn} => String
@@ -734,6 +748,9 @@ module Aws::Rekognition
734
748
  # ],
735
749
  # auto_create: false,
736
750
  # },
751
+ # tags: {
752
+ # "TagKey" => "TagValue",
753
+ # },
737
754
  # })
738
755
  #
739
756
  # @example Response structure
@@ -790,6 +807,10 @@ module Aws::Rekognition
790
807
  # @option params [required, String] :role_arn
791
808
  # ARN of the IAM role that allows access to the stream processor.
792
809
  #
810
+ # @option params [Hash<String,String>] :tags
811
+ # A set of tags (key-value pairs) that you want to attach to the stream
812
+ # processor.
813
+ #
793
814
  # @return [Types::CreateStreamProcessorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
794
815
  #
795
816
  # * {Types::CreateStreamProcessorResponse#stream_processor_arn #stream_processor_arn} => String
@@ -815,6 +836,9 @@ module Aws::Rekognition
815
836
  # },
816
837
  # },
817
838
  # role_arn: "RoleArn", # required
839
+ # tags: {
840
+ # "TagKey" => "TagValue",
841
+ # },
818
842
  # })
819
843
  #
820
844
  # @example Response structure
@@ -1124,6 +1148,10 @@ module Aws::Rekognition
1124
1148
  # resp.project_version_descriptions[0].training_data_result.output.assets[0].ground_truth_manifest.s3_object.bucket #=> String
1125
1149
  # resp.project_version_descriptions[0].training_data_result.output.assets[0].ground_truth_manifest.s3_object.name #=> String
1126
1150
  # resp.project_version_descriptions[0].training_data_result.output.assets[0].ground_truth_manifest.s3_object.version #=> String
1151
+ # resp.project_version_descriptions[0].training_data_result.validation.assets #=> Array
1152
+ # resp.project_version_descriptions[0].training_data_result.validation.assets[0].ground_truth_manifest.s3_object.bucket #=> String
1153
+ # resp.project_version_descriptions[0].training_data_result.validation.assets[0].ground_truth_manifest.s3_object.name #=> String
1154
+ # resp.project_version_descriptions[0].training_data_result.validation.assets[0].ground_truth_manifest.s3_object.version #=> String
1127
1155
  # resp.project_version_descriptions[0].testing_data_result.input.assets #=> Array
1128
1156
  # resp.project_version_descriptions[0].testing_data_result.input.assets[0].ground_truth_manifest.s3_object.bucket #=> String
1129
1157
  # resp.project_version_descriptions[0].testing_data_result.input.assets[0].ground_truth_manifest.s3_object.name #=> String
@@ -1134,10 +1162,17 @@ module Aws::Rekognition
1134
1162
  # resp.project_version_descriptions[0].testing_data_result.output.assets[0].ground_truth_manifest.s3_object.name #=> String
1135
1163
  # resp.project_version_descriptions[0].testing_data_result.output.assets[0].ground_truth_manifest.s3_object.version #=> String
1136
1164
  # resp.project_version_descriptions[0].testing_data_result.output.auto_create #=> Boolean
1165
+ # resp.project_version_descriptions[0].testing_data_result.validation.assets #=> Array
1166
+ # resp.project_version_descriptions[0].testing_data_result.validation.assets[0].ground_truth_manifest.s3_object.bucket #=> String
1167
+ # resp.project_version_descriptions[0].testing_data_result.validation.assets[0].ground_truth_manifest.s3_object.name #=> String
1168
+ # resp.project_version_descriptions[0].testing_data_result.validation.assets[0].ground_truth_manifest.s3_object.version #=> String
1137
1169
  # resp.project_version_descriptions[0].evaluation_result.f1_score #=> Float
1138
1170
  # resp.project_version_descriptions[0].evaluation_result.summary.s3_object.bucket #=> String
1139
1171
  # resp.project_version_descriptions[0].evaluation_result.summary.s3_object.name #=> String
1140
1172
  # resp.project_version_descriptions[0].evaluation_result.summary.s3_object.version #=> String
1173
+ # resp.project_version_descriptions[0].manifest_summary.s3_object.bucket #=> String
1174
+ # resp.project_version_descriptions[0].manifest_summary.s3_object.name #=> String
1175
+ # resp.project_version_descriptions[0].manifest_summary.s3_object.version #=> String
1141
1176
  # resp.next_token #=> String
1142
1177
  #
1143
1178
  #
@@ -1809,6 +1844,115 @@ module Aws::Rekognition
1809
1844
  req.send_request(options)
1810
1845
  end
1811
1846
 
1847
+ # Detects Personal Protective Equipment (PPE) worn by people detected in
1848
+ # an image. Amazon Rekognition can detect the following types of PPE.
1849
+ #
1850
+ # * Face cover
1851
+ #
1852
+ # * Hand cover
1853
+ #
1854
+ # * Head cover
1855
+ #
1856
+ # You pass the input image as base64-encoded image bytes or as a
1857
+ # reference to an image in an Amazon S3 bucket. The image must be either
1858
+ # a PNG or JPG formatted file.
1859
+ #
1860
+ # `DetectProtectiveEquipment` detects PPE worn by up to 15 persons
1861
+ # detected in an image.
1862
+ #
1863
+ # For each person detected in the image the API returns an array of body
1864
+ # parts (face, head, left-hand, right-hand). For each body part, an
1865
+ # array of detected items of PPE is returned, including an indicator of
1866
+ # whether or not the PPE covers the body part. The API returns the
1867
+ # confidence it has in each detection (person, PPE, body part and body
1868
+ # part coverage). It also returns a bounding box (BoundingBox) for each
1869
+ # detected person and each detected item of PPE.
1870
+ #
1871
+ # You can optionally request a summary of detected PPE items with the
1872
+ # `SummarizationAttributes` input parameter. The summary provides the
1873
+ # following information.
1874
+ #
1875
+ # * The persons detected as wearing all of the types of PPE that you
1876
+ # specify.
1877
+ #
1878
+ # * The persons detected as not wearing all of the types PPE that you
1879
+ # specify.
1880
+ #
1881
+ # * The persons detected where PPE adornment could not be determined.
1882
+ #
1883
+ # This is a stateless API operation. That is, the operation does not
1884
+ # persist any data.
1885
+ #
1886
+ # This operation requires permissions to perform the
1887
+ # `rekognition:DetectProtectiveEquipment` action.
1888
+ #
1889
+ # @option params [required, Types::Image] :image
1890
+ # The image in which you want to detect PPE on detected persons. The
1891
+ # image can be passed as image bytes or you can reference an image
1892
+ # stored in an Amazon S3 bucket.
1893
+ #
1894
+ # @option params [Types::ProtectiveEquipmentSummarizationAttributes] :summarization_attributes
1895
+ # An array of PPE types that you want to summarize.
1896
+ #
1897
+ # @return [Types::DetectProtectiveEquipmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1898
+ #
1899
+ # * {Types::DetectProtectiveEquipmentResponse#protective_equipment_model_version #protective_equipment_model_version} => String
1900
+ # * {Types::DetectProtectiveEquipmentResponse#persons #persons} => Array&lt;Types::ProtectiveEquipmentPerson&gt;
1901
+ # * {Types::DetectProtectiveEquipmentResponse#summary #summary} => Types::ProtectiveEquipmentSummary
1902
+ #
1903
+ # @example Request syntax with placeholder values
1904
+ #
1905
+ # resp = client.detect_protective_equipment({
1906
+ # image: { # required
1907
+ # bytes: "data",
1908
+ # s3_object: {
1909
+ # bucket: "S3Bucket",
1910
+ # name: "S3ObjectName",
1911
+ # version: "S3ObjectVersion",
1912
+ # },
1913
+ # },
1914
+ # summarization_attributes: {
1915
+ # min_confidence: 1.0, # required
1916
+ # required_equipment_types: ["FACE_COVER"], # required, accepts FACE_COVER, HAND_COVER, HEAD_COVER
1917
+ # },
1918
+ # })
1919
+ #
1920
+ # @example Response structure
1921
+ #
1922
+ # resp.protective_equipment_model_version #=> String
1923
+ # resp.persons #=> Array
1924
+ # resp.persons[0].body_parts #=> Array
1925
+ # resp.persons[0].body_parts[0].name #=> String, one of "FACE", "HEAD", "LEFT_HAND", "RIGHT_HAND"
1926
+ # resp.persons[0].body_parts[0].confidence #=> Float
1927
+ # resp.persons[0].body_parts[0].equipment_detections #=> Array
1928
+ # resp.persons[0].body_parts[0].equipment_detections[0].bounding_box.width #=> Float
1929
+ # resp.persons[0].body_parts[0].equipment_detections[0].bounding_box.height #=> Float
1930
+ # resp.persons[0].body_parts[0].equipment_detections[0].bounding_box.left #=> Float
1931
+ # resp.persons[0].body_parts[0].equipment_detections[0].bounding_box.top #=> Float
1932
+ # resp.persons[0].body_parts[0].equipment_detections[0].confidence #=> Float
1933
+ # resp.persons[0].body_parts[0].equipment_detections[0].type #=> String, one of "FACE_COVER", "HAND_COVER", "HEAD_COVER"
1934
+ # resp.persons[0].body_parts[0].equipment_detections[0].covers_body_part.confidence #=> Float
1935
+ # resp.persons[0].body_parts[0].equipment_detections[0].covers_body_part.value #=> Boolean
1936
+ # resp.persons[0].bounding_box.width #=> Float
1937
+ # resp.persons[0].bounding_box.height #=> Float
1938
+ # resp.persons[0].bounding_box.left #=> Float
1939
+ # resp.persons[0].bounding_box.top #=> Float
1940
+ # resp.persons[0].confidence #=> Float
1941
+ # resp.persons[0].id #=> Integer
1942
+ # resp.summary.persons_with_required_equipment #=> Array
1943
+ # resp.summary.persons_with_required_equipment[0] #=> Integer
1944
+ # resp.summary.persons_without_required_equipment #=> Array
1945
+ # resp.summary.persons_without_required_equipment[0] #=> Integer
1946
+ # resp.summary.persons_indeterminate #=> Array
1947
+ # resp.summary.persons_indeterminate[0] #=> Integer
1948
+ #
1949
+ # @overload detect_protective_equipment(params = {})
1950
+ # @param [Hash] params ({})
1951
+ def detect_protective_equipment(params = {}, options = {})
1952
+ req = build_request(:detect_protective_equipment, params)
1953
+ req.send_request(options)
1954
+ end
1955
+
1812
1956
  # Detects text in the input image and converts it into machine-readable
1813
1957
  # text.
1814
1958
  #
@@ -3668,15 +3812,44 @@ module Aws::Rekognition
3668
3812
  req.send_request(options)
3669
3813
  end
3670
3814
 
3815
+ # Returns a list of tags in an Amazon Rekognition collection, stream
3816
+ # processor, or Custom Labels model.
3817
+ #
3818
+ # @option params [required, String] :resource_arn
3819
+ # Amazon Resource Name (ARN) of the model, collection, or stream
3820
+ # processor that contains the tags that you want a list of.
3821
+ #
3822
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3823
+ #
3824
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
3825
+ #
3826
+ # @example Request syntax with placeholder values
3827
+ #
3828
+ # resp = client.list_tags_for_resource({
3829
+ # resource_arn: "ResourceArn", # required
3830
+ # })
3831
+ #
3832
+ # @example Response structure
3833
+ #
3834
+ # resp.tags #=> Hash
3835
+ # resp.tags["TagKey"] #=> String
3836
+ #
3837
+ # @overload list_tags_for_resource(params = {})
3838
+ # @param [Hash] params ({})
3839
+ def list_tags_for_resource(params = {}, options = {})
3840
+ req = build_request(:list_tags_for_resource, params)
3841
+ req.send_request(options)
3842
+ end
3843
+
3671
3844
  # Returns an array of celebrities recognized in the input image. For
3672
3845
  # more information, see Recognizing Celebrities in the Amazon
3673
3846
  # Rekognition Developer Guide.
3674
3847
  #
3675
- # `RecognizeCelebrities` returns the 100 largest faces in the image. It
3848
+ # `RecognizeCelebrities` returns the 64 largest faces in the image. It
3676
3849
  # lists recognized celebrities in the `CelebrityFaces` array and
3677
3850
  # unrecognized faces in the `UnrecognizedFaces` array.
3678
3851
  # `RecognizeCelebrities` doesn't return celebrities whose faces aren't
3679
- # among the largest 100 faces in the image.
3852
+ # among the largest 64 faces in the image.
3680
3853
  #
3681
3854
  # For each celebrity recognized, `RecognizeCelebrities` returns a
3682
3855
  # `Celebrity` object. The `Celebrity` object contains the celebrity
@@ -4872,6 +5045,65 @@ module Aws::Rekognition
4872
5045
  req.send_request(options)
4873
5046
  end
4874
5047
 
5048
+ # Adds one or more key-value tags to an Amazon Rekognition collection,
5049
+ # stream processor, or Custom Labels model. For more information, see
5050
+ # [Tagging AWS Resources][1].
5051
+ #
5052
+ #
5053
+ #
5054
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
5055
+ #
5056
+ # @option params [required, String] :resource_arn
5057
+ # Amazon Resource Name (ARN) of the model, collection, or stream
5058
+ # processor that you want to assign the tags to.
5059
+ #
5060
+ # @option params [required, Hash<String,String>] :tags
5061
+ # The key-value tags to assign to the resource.
5062
+ #
5063
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
5064
+ #
5065
+ # @example Request syntax with placeholder values
5066
+ #
5067
+ # resp = client.tag_resource({
5068
+ # resource_arn: "ResourceArn", # required
5069
+ # tags: { # required
5070
+ # "TagKey" => "TagValue",
5071
+ # },
5072
+ # })
5073
+ #
5074
+ # @overload tag_resource(params = {})
5075
+ # @param [Hash] params ({})
5076
+ def tag_resource(params = {}, options = {})
5077
+ req = build_request(:tag_resource, params)
5078
+ req.send_request(options)
5079
+ end
5080
+
5081
+ # Removes one or more tags from an Amazon Rekognition collection, stream
5082
+ # processor, or Custom Labels model.
5083
+ #
5084
+ # @option params [required, String] :resource_arn
5085
+ # Amazon Resource Name (ARN) of the model, collection, or stream
5086
+ # processor that you want to remove the tags from.
5087
+ #
5088
+ # @option params [required, Array<String>] :tag_keys
5089
+ # A list of the tags that you want to remove.
5090
+ #
5091
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
5092
+ #
5093
+ # @example Request syntax with placeholder values
5094
+ #
5095
+ # resp = client.untag_resource({
5096
+ # resource_arn: "ResourceArn", # required
5097
+ # tag_keys: ["TagKey"], # required
5098
+ # })
5099
+ #
5100
+ # @overload untag_resource(params = {})
5101
+ # @param [Hash] params ({})
5102
+ def untag_resource(params = {}, options = {})
5103
+ req = build_request(:untag_resource, params)
5104
+ req.send_request(options)
5105
+ end
5106
+
4875
5107
  # @!endgroup
4876
5108
 
4877
5109
  # @param params ({})
@@ -4885,7 +5117,7 @@ module Aws::Rekognition
4885
5117
  params: params,
4886
5118
  config: config)
4887
5119
  context[:gem_name] = 'aws-sdk-rekognition'
4888
- context[:gem_version] = '1.45.0'
5120
+ context[:gem_version] = '1.50.0'
4889
5121
  Seahorse::Client::Request.new(handlers, context)
4890
5122
  end
4891
5123
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -22,6 +22,8 @@ module Aws::Rekognition
22
22
  AudioMetadata = Shapes::StructureShape.new(name: 'AudioMetadata')
23
23
  AudioMetadataList = Shapes::ListShape.new(name: 'AudioMetadataList')
24
24
  Beard = Shapes::StructureShape.new(name: 'Beard')
25
+ BodyPart = Shapes::StringShape.new(name: 'BodyPart')
26
+ BodyParts = Shapes::ListShape.new(name: 'BodyParts')
25
27
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
26
28
  BoundingBox = Shapes::StructureShape.new(name: 'BoundingBox')
27
29
  BoundingBoxHeight = Shapes::FloatShape.new(name: 'BoundingBoxHeight')
@@ -48,6 +50,7 @@ module Aws::Rekognition
48
50
  ContentModerationDetection = Shapes::StructureShape.new(name: 'ContentModerationDetection')
49
51
  ContentModerationDetections = Shapes::ListShape.new(name: 'ContentModerationDetections')
50
52
  ContentModerationSortBy = Shapes::StringShape.new(name: 'ContentModerationSortBy')
53
+ CoversBodyPart = Shapes::StructureShape.new(name: 'CoversBodyPart')
51
54
  CreateCollectionRequest = Shapes::StructureShape.new(name: 'CreateCollectionRequest')
52
55
  CreateCollectionResponse = Shapes::StructureShape.new(name: 'CreateCollectionResponse')
53
56
  CreateProjectRequest = Shapes::StructureShape.new(name: 'CreateProjectRequest')
@@ -86,6 +89,8 @@ module Aws::Rekognition
86
89
  DetectLabelsResponse = Shapes::StructureShape.new(name: 'DetectLabelsResponse')
87
90
  DetectModerationLabelsRequest = Shapes::StructureShape.new(name: 'DetectModerationLabelsRequest')
88
91
  DetectModerationLabelsResponse = Shapes::StructureShape.new(name: 'DetectModerationLabelsResponse')
92
+ DetectProtectiveEquipmentRequest = Shapes::StructureShape.new(name: 'DetectProtectiveEquipmentRequest')
93
+ DetectProtectiveEquipmentResponse = Shapes::StructureShape.new(name: 'DetectProtectiveEquipmentResponse')
89
94
  DetectTextFilters = Shapes::StructureShape.new(name: 'DetectTextFilters')
90
95
  DetectTextRequest = Shapes::StructureShape.new(name: 'DetectTextRequest')
91
96
  DetectTextResponse = Shapes::StructureShape.new(name: 'DetectTextResponse')
@@ -93,6 +98,8 @@ module Aws::Rekognition
93
98
  Emotion = Shapes::StructureShape.new(name: 'Emotion')
94
99
  EmotionName = Shapes::StringShape.new(name: 'EmotionName')
95
100
  Emotions = Shapes::ListShape.new(name: 'Emotions')
101
+ EquipmentDetection = Shapes::StructureShape.new(name: 'EquipmentDetection')
102
+ EquipmentDetections = Shapes::ListShape.new(name: 'EquipmentDetections')
96
103
  EvaluationResult = Shapes::StructureShape.new(name: 'EvaluationResult')
97
104
  ExtendedPaginationToken = Shapes::StringShape.new(name: 'ExtendedPaginationToken')
98
105
  ExternalImageId = Shapes::StringShape.new(name: 'ExternalImageId')
@@ -184,6 +191,8 @@ module Aws::Rekognition
184
191
  ListFacesResponse = Shapes::StructureShape.new(name: 'ListFacesResponse')
185
192
  ListStreamProcessorsRequest = Shapes::StructureShape.new(name: 'ListStreamProcessorsRequest')
186
193
  ListStreamProcessorsResponse = Shapes::StructureShape.new(name: 'ListStreamProcessorsResponse')
194
+ ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
195
+ ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
187
196
  MaxFaces = Shapes::IntegerShape.new(name: 'MaxFaces')
188
197
  MaxFacesToIndex = Shapes::IntegerShape.new(name: 'MaxFacesToIndex')
189
198
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
@@ -220,6 +229,14 @@ module Aws::Rekognition
220
229
  ProjectVersionStatus = Shapes::StringShape.new(name: 'ProjectVersionStatus')
221
230
  ProjectVersionsPageSize = Shapes::IntegerShape.new(name: 'ProjectVersionsPageSize')
222
231
  ProjectsPageSize = Shapes::IntegerShape.new(name: 'ProjectsPageSize')
232
+ ProtectiveEquipmentBodyPart = Shapes::StructureShape.new(name: 'ProtectiveEquipmentBodyPart')
233
+ ProtectiveEquipmentPerson = Shapes::StructureShape.new(name: 'ProtectiveEquipmentPerson')
234
+ ProtectiveEquipmentPersonIds = Shapes::ListShape.new(name: 'ProtectiveEquipmentPersonIds')
235
+ ProtectiveEquipmentPersons = Shapes::ListShape.new(name: 'ProtectiveEquipmentPersons')
236
+ ProtectiveEquipmentSummarizationAttributes = Shapes::StructureShape.new(name: 'ProtectiveEquipmentSummarizationAttributes')
237
+ ProtectiveEquipmentSummary = Shapes::StructureShape.new(name: 'ProtectiveEquipmentSummary')
238
+ ProtectiveEquipmentType = Shapes::StringShape.new(name: 'ProtectiveEquipmentType')
239
+ ProtectiveEquipmentTypes = Shapes::ListShape.new(name: 'ProtectiveEquipmentTypes')
223
240
  ProvisionedThroughputExceededException = Shapes::StructureShape.new(name: 'ProvisionedThroughputExceededException')
224
241
  QualityFilter = Shapes::StringShape.new(name: 'QualityFilter')
225
242
  Reason = Shapes::StringShape.new(name: 'Reason')
@@ -230,6 +247,7 @@ module Aws::Rekognition
230
247
  RegionsOfInterest = Shapes::ListShape.new(name: 'RegionsOfInterest')
231
248
  RekognitionUniqueId = Shapes::StringShape.new(name: 'RekognitionUniqueId')
232
249
  ResourceAlreadyExistsException = Shapes::StructureShape.new(name: 'ResourceAlreadyExistsException')
250
+ ResourceArn = Shapes::StringShape.new(name: 'ResourceArn')
233
251
  ResourceInUseException = Shapes::StructureShape.new(name: 'ResourceInUseException')
234
252
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
235
253
  ResourceNotReadyException = Shapes::StructureShape.new(name: 'ResourceNotReadyException')
@@ -251,6 +269,7 @@ module Aws::Rekognition
251
269
  SegmentTypeInfo = Shapes::StructureShape.new(name: 'SegmentTypeInfo')
252
270
  SegmentTypes = Shapes::ListShape.new(name: 'SegmentTypes')
253
271
  SegmentTypesInfo = Shapes::ListShape.new(name: 'SegmentTypesInfo')
272
+ ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
254
273
  ShotSegment = Shapes::StructureShape.new(name: 'ShotSegment')
255
274
  Smile = Shapes::StructureShape.new(name: 'Smile')
256
275
  StartCelebrityRecognitionRequest = Shapes::StructureShape.new(name: 'StartCelebrityRecognitionRequest')
@@ -293,6 +312,12 @@ module Aws::Rekognition
293
312
  String = Shapes::StringShape.new(name: 'String')
294
313
  Summary = Shapes::StructureShape.new(name: 'Summary')
295
314
  Sunglasses = Shapes::StructureShape.new(name: 'Sunglasses')
315
+ TagKey = Shapes::StringShape.new(name: 'TagKey')
316
+ TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
317
+ TagMap = Shapes::MapShape.new(name: 'TagMap')
318
+ TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
319
+ TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
320
+ TagValue = Shapes::StringShape.new(name: 'TagValue')
296
321
  TechnicalCueSegment = Shapes::StructureShape.new(name: 'TechnicalCueSegment')
297
322
  TechnicalCueType = Shapes::StringShape.new(name: 'TechnicalCueType')
298
323
  TestingData = Shapes::StructureShape.new(name: 'TestingData')
@@ -311,8 +336,11 @@ module Aws::Rekognition
311
336
  ULong = Shapes::IntegerShape.new(name: 'ULong')
312
337
  UnindexedFace = Shapes::StructureShape.new(name: 'UnindexedFace')
313
338
  UnindexedFaces = Shapes::ListShape.new(name: 'UnindexedFaces')
339
+ UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
340
+ UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
314
341
  Url = Shapes::StringShape.new(name: 'Url')
315
342
  Urls = Shapes::ListShape.new(name: 'Urls')
343
+ ValidationData = Shapes::StructureShape.new(name: 'ValidationData')
316
344
  VersionName = Shapes::StringShape.new(name: 'VersionName')
317
345
  VersionNames = Shapes::ListShape.new(name: 'VersionNames')
318
346
  Video = Shapes::StructureShape.new(name: 'Video')
@@ -346,6 +374,8 @@ module Aws::Rekognition
346
374
  Beard.add_member(:confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "Confidence"))
347
375
  Beard.struct_class = Types::Beard
348
376
 
377
+ BodyParts.member = Shapes::ShapeRef.new(shape: ProtectiveEquipmentBodyPart)
378
+
349
379
  BoundingBox.add_member(:width, Shapes::ShapeRef.new(shape: Float, location_name: "Width"))
350
380
  BoundingBox.add_member(:height, Shapes::ShapeRef.new(shape: Float, location_name: "Height"))
351
381
  BoundingBox.add_member(:left, Shapes::ShapeRef.new(shape: Float, location_name: "Left"))
@@ -419,7 +449,12 @@ module Aws::Rekognition
419
449
 
420
450
  ContentModerationDetections.member = Shapes::ShapeRef.new(shape: ContentModerationDetection)
421
451
 
452
+ CoversBodyPart.add_member(:confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "Confidence"))
453
+ CoversBodyPart.add_member(:value, Shapes::ShapeRef.new(shape: Boolean, location_name: "Value"))
454
+ CoversBodyPart.struct_class = Types::CoversBodyPart
455
+
422
456
  CreateCollectionRequest.add_member(:collection_id, Shapes::ShapeRef.new(shape: CollectionId, required: true, location_name: "CollectionId"))
457
+ CreateCollectionRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
423
458
  CreateCollectionRequest.struct_class = Types::CreateCollectionRequest
424
459
 
425
460
  CreateCollectionResponse.add_member(:status_code, Shapes::ShapeRef.new(shape: UInteger, location_name: "StatusCode"))
@@ -438,6 +473,7 @@ module Aws::Rekognition
438
473
  CreateProjectVersionRequest.add_member(:output_config, Shapes::ShapeRef.new(shape: OutputConfig, required: true, location_name: "OutputConfig"))
439
474
  CreateProjectVersionRequest.add_member(:training_data, Shapes::ShapeRef.new(shape: TrainingData, required: true, location_name: "TrainingData"))
440
475
  CreateProjectVersionRequest.add_member(:testing_data, Shapes::ShapeRef.new(shape: TestingData, required: true, location_name: "TestingData"))
476
+ CreateProjectVersionRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
441
477
  CreateProjectVersionRequest.struct_class = Types::CreateProjectVersionRequest
442
478
 
443
479
  CreateProjectVersionResponse.add_member(:project_version_arn, Shapes::ShapeRef.new(shape: ProjectVersionArn, location_name: "ProjectVersionArn"))
@@ -448,6 +484,7 @@ module Aws::Rekognition
448
484
  CreateStreamProcessorRequest.add_member(:name, Shapes::ShapeRef.new(shape: StreamProcessorName, required: true, location_name: "Name"))
449
485
  CreateStreamProcessorRequest.add_member(:settings, Shapes::ShapeRef.new(shape: StreamProcessorSettings, required: true, location_name: "Settings"))
450
486
  CreateStreamProcessorRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleArn, required: true, location_name: "RoleArn"))
487
+ CreateStreamProcessorRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
451
488
  CreateStreamProcessorRequest.struct_class = Types::CreateStreamProcessorRequest
452
489
 
453
490
  CreateStreamProcessorResponse.add_member(:stream_processor_arn, Shapes::ShapeRef.new(shape: StreamProcessorArn, location_name: "StreamProcessorArn"))
@@ -569,6 +606,15 @@ module Aws::Rekognition
569
606
  DetectModerationLabelsResponse.add_member(:human_loop_activation_output, Shapes::ShapeRef.new(shape: HumanLoopActivationOutput, location_name: "HumanLoopActivationOutput"))
570
607
  DetectModerationLabelsResponse.struct_class = Types::DetectModerationLabelsResponse
571
608
 
609
+ DetectProtectiveEquipmentRequest.add_member(:image, Shapes::ShapeRef.new(shape: Image, required: true, location_name: "Image"))
610
+ DetectProtectiveEquipmentRequest.add_member(:summarization_attributes, Shapes::ShapeRef.new(shape: ProtectiveEquipmentSummarizationAttributes, location_name: "SummarizationAttributes"))
611
+ DetectProtectiveEquipmentRequest.struct_class = Types::DetectProtectiveEquipmentRequest
612
+
613
+ DetectProtectiveEquipmentResponse.add_member(:protective_equipment_model_version, Shapes::ShapeRef.new(shape: String, location_name: "ProtectiveEquipmentModelVersion"))
614
+ DetectProtectiveEquipmentResponse.add_member(:persons, Shapes::ShapeRef.new(shape: ProtectiveEquipmentPersons, location_name: "Persons"))
615
+ DetectProtectiveEquipmentResponse.add_member(:summary, Shapes::ShapeRef.new(shape: ProtectiveEquipmentSummary, location_name: "Summary"))
616
+ DetectProtectiveEquipmentResponse.struct_class = Types::DetectProtectiveEquipmentResponse
617
+
572
618
  DetectTextFilters.add_member(:word_filter, Shapes::ShapeRef.new(shape: DetectionFilter, location_name: "WordFilter"))
573
619
  DetectTextFilters.add_member(:regions_of_interest, Shapes::ShapeRef.new(shape: RegionsOfInterest, location_name: "RegionsOfInterest"))
574
620
  DetectTextFilters.struct_class = Types::DetectTextFilters
@@ -592,6 +638,14 @@ module Aws::Rekognition
592
638
 
593
639
  Emotions.member = Shapes::ShapeRef.new(shape: Emotion)
594
640
 
641
+ EquipmentDetection.add_member(:bounding_box, Shapes::ShapeRef.new(shape: BoundingBox, location_name: "BoundingBox"))
642
+ EquipmentDetection.add_member(:confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "Confidence"))
643
+ EquipmentDetection.add_member(:type, Shapes::ShapeRef.new(shape: ProtectiveEquipmentType, location_name: "Type"))
644
+ EquipmentDetection.add_member(:covers_body_part, Shapes::ShapeRef.new(shape: CoversBodyPart, location_name: "CoversBodyPart"))
645
+ EquipmentDetection.struct_class = Types::EquipmentDetection
646
+
647
+ EquipmentDetections.member = Shapes::ShapeRef.new(shape: EquipmentDetection)
648
+
595
649
  EvaluationResult.add_member(:f1_score, Shapes::ShapeRef.new(shape: Float, location_name: "F1Score"))
596
650
  EvaluationResult.add_member(:summary, Shapes::ShapeRef.new(shape: Summary, location_name: "Summary"))
597
651
  EvaluationResult.struct_class = Types::EvaluationResult
@@ -900,6 +954,12 @@ module Aws::Rekognition
900
954
  ListStreamProcessorsResponse.add_member(:stream_processors, Shapes::ShapeRef.new(shape: StreamProcessorList, location_name: "StreamProcessors"))
901
955
  ListStreamProcessorsResponse.struct_class = Types::ListStreamProcessorsResponse
902
956
 
957
+ ListTagsForResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceArn"))
958
+ ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest
959
+
960
+ ListTagsForResourceResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
961
+ ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse
962
+
903
963
  ModerationLabel.add_member(:confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "Confidence"))
904
964
  ModerationLabel.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "Name"))
905
965
  ModerationLabel.add_member(:parent_name, Shapes::ShapeRef.new(shape: String, location_name: "ParentName"))
@@ -975,10 +1035,37 @@ module Aws::Rekognition
975
1035
  ProjectVersionDescription.add_member(:training_data_result, Shapes::ShapeRef.new(shape: TrainingDataResult, location_name: "TrainingDataResult"))
976
1036
  ProjectVersionDescription.add_member(:testing_data_result, Shapes::ShapeRef.new(shape: TestingDataResult, location_name: "TestingDataResult"))
977
1037
  ProjectVersionDescription.add_member(:evaluation_result, Shapes::ShapeRef.new(shape: EvaluationResult, location_name: "EvaluationResult"))
1038
+ ProjectVersionDescription.add_member(:manifest_summary, Shapes::ShapeRef.new(shape: GroundTruthManifest, location_name: "ManifestSummary"))
978
1039
  ProjectVersionDescription.struct_class = Types::ProjectVersionDescription
979
1040
 
980
1041
  ProjectVersionDescriptions.member = Shapes::ShapeRef.new(shape: ProjectVersionDescription)
981
1042
 
1043
+ ProtectiveEquipmentBodyPart.add_member(:name, Shapes::ShapeRef.new(shape: BodyPart, location_name: "Name"))
1044
+ ProtectiveEquipmentBodyPart.add_member(:confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "Confidence"))
1045
+ ProtectiveEquipmentBodyPart.add_member(:equipment_detections, Shapes::ShapeRef.new(shape: EquipmentDetections, location_name: "EquipmentDetections"))
1046
+ ProtectiveEquipmentBodyPart.struct_class = Types::ProtectiveEquipmentBodyPart
1047
+
1048
+ ProtectiveEquipmentPerson.add_member(:body_parts, Shapes::ShapeRef.new(shape: BodyParts, location_name: "BodyParts"))
1049
+ ProtectiveEquipmentPerson.add_member(:bounding_box, Shapes::ShapeRef.new(shape: BoundingBox, location_name: "BoundingBox"))
1050
+ ProtectiveEquipmentPerson.add_member(:confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "Confidence"))
1051
+ ProtectiveEquipmentPerson.add_member(:id, Shapes::ShapeRef.new(shape: UInteger, location_name: "Id"))
1052
+ ProtectiveEquipmentPerson.struct_class = Types::ProtectiveEquipmentPerson
1053
+
1054
+ ProtectiveEquipmentPersonIds.member = Shapes::ShapeRef.new(shape: UInteger)
1055
+
1056
+ ProtectiveEquipmentPersons.member = Shapes::ShapeRef.new(shape: ProtectiveEquipmentPerson)
1057
+
1058
+ ProtectiveEquipmentSummarizationAttributes.add_member(:min_confidence, Shapes::ShapeRef.new(shape: Percent, required: true, location_name: "MinConfidence"))
1059
+ ProtectiveEquipmentSummarizationAttributes.add_member(:required_equipment_types, Shapes::ShapeRef.new(shape: ProtectiveEquipmentTypes, required: true, location_name: "RequiredEquipmentTypes"))
1060
+ ProtectiveEquipmentSummarizationAttributes.struct_class = Types::ProtectiveEquipmentSummarizationAttributes
1061
+
1062
+ ProtectiveEquipmentSummary.add_member(:persons_with_required_equipment, Shapes::ShapeRef.new(shape: ProtectiveEquipmentPersonIds, location_name: "PersonsWithRequiredEquipment"))
1063
+ ProtectiveEquipmentSummary.add_member(:persons_without_required_equipment, Shapes::ShapeRef.new(shape: ProtectiveEquipmentPersonIds, location_name: "PersonsWithoutRequiredEquipment"))
1064
+ ProtectiveEquipmentSummary.add_member(:persons_indeterminate, Shapes::ShapeRef.new(shape: ProtectiveEquipmentPersonIds, location_name: "PersonsIndeterminate"))
1065
+ ProtectiveEquipmentSummary.struct_class = Types::ProtectiveEquipmentSummary
1066
+
1067
+ ProtectiveEquipmentTypes.member = Shapes::ShapeRef.new(shape: ProtectiveEquipmentType)
1068
+
982
1069
  ProvisionedThroughputExceededException.struct_class = Types::ProvisionedThroughputExceededException
983
1070
 
984
1071
  Reasons.member = Shapes::ShapeRef.new(shape: Reason)
@@ -1054,6 +1141,8 @@ module Aws::Rekognition
1054
1141
 
1055
1142
  SegmentTypesInfo.member = Shapes::ShapeRef.new(shape: SegmentTypeInfo)
1056
1143
 
1144
+ ServiceQuotaExceededException.struct_class = Types::ServiceQuotaExceededException
1145
+
1057
1146
  ShotSegment.add_member(:index, Shapes::ShapeRef.new(shape: ULong, location_name: "Index"))
1058
1147
  ShotSegment.add_member(:confidence, Shapes::ShapeRef.new(shape: SegmentConfidence, location_name: "Confidence"))
1059
1148
  ShotSegment.struct_class = Types::ShotSegment
@@ -1201,6 +1290,17 @@ module Aws::Rekognition
1201
1290
  Sunglasses.add_member(:confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "Confidence"))
1202
1291
  Sunglasses.struct_class = Types::Sunglasses
1203
1292
 
1293
+ TagKeyList.member = Shapes::ShapeRef.new(shape: TagKey)
1294
+
1295
+ TagMap.key = Shapes::ShapeRef.new(shape: TagKey)
1296
+ TagMap.value = Shapes::ShapeRef.new(shape: TagValue)
1297
+
1298
+ TagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceArn"))
1299
+ TagResourceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, required: true, location_name: "Tags"))
1300
+ TagResourceRequest.struct_class = Types::TagResourceRequest
1301
+
1302
+ TagResourceResponse.struct_class = Types::TagResourceResponse
1303
+
1204
1304
  TechnicalCueSegment.add_member(:type, Shapes::ShapeRef.new(shape: TechnicalCueType, location_name: "Type"))
1205
1305
  TechnicalCueSegment.add_member(:confidence, Shapes::ShapeRef.new(shape: SegmentConfidence, location_name: "Confidence"))
1206
1306
  TechnicalCueSegment.struct_class = Types::TechnicalCueSegment
@@ -1211,6 +1311,7 @@ module Aws::Rekognition
1211
1311
 
1212
1312
  TestingDataResult.add_member(:input, Shapes::ShapeRef.new(shape: TestingData, location_name: "Input"))
1213
1313
  TestingDataResult.add_member(:output, Shapes::ShapeRef.new(shape: TestingData, location_name: "Output"))
1314
+ TestingDataResult.add_member(:validation, Shapes::ShapeRef.new(shape: ValidationData, location_name: "Validation"))
1214
1315
  TestingDataResult.struct_class = Types::TestingDataResult
1215
1316
 
1216
1317
  TextDetection.add_member(:detected_text, Shapes::ShapeRef.new(shape: String, location_name: "DetectedText"))
@@ -1236,6 +1337,7 @@ module Aws::Rekognition
1236
1337
 
1237
1338
  TrainingDataResult.add_member(:input, Shapes::ShapeRef.new(shape: TrainingData, location_name: "Input"))
1238
1339
  TrainingDataResult.add_member(:output, Shapes::ShapeRef.new(shape: TrainingData, location_name: "Output"))
1340
+ TrainingDataResult.add_member(:validation, Shapes::ShapeRef.new(shape: ValidationData, location_name: "Validation"))
1239
1341
  TrainingDataResult.struct_class = Types::TrainingDataResult
1240
1342
 
1241
1343
  UnindexedFace.add_member(:reasons, Shapes::ShapeRef.new(shape: Reasons, location_name: "Reasons"))
@@ -1244,8 +1346,17 @@ module Aws::Rekognition
1244
1346
 
1245
1347
  UnindexedFaces.member = Shapes::ShapeRef.new(shape: UnindexedFace)
1246
1348
 
1349
+ UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceArn"))
1350
+ UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, required: true, location_name: "TagKeys"))
1351
+ UntagResourceRequest.struct_class = Types::UntagResourceRequest
1352
+
1353
+ UntagResourceResponse.struct_class = Types::UntagResourceResponse
1354
+
1247
1355
  Urls.member = Shapes::ShapeRef.new(shape: Url)
1248
1356
 
1357
+ ValidationData.add_member(:assets, Shapes::ShapeRef.new(shape: Assets, location_name: "Assets"))
1358
+ ValidationData.struct_class = Types::ValidationData
1359
+
1249
1360
  VersionNames.member = Shapes::ShapeRef.new(shape: VersionName)
1250
1361
 
1251
1362
  Video.add_member(:s3_object, Shapes::ShapeRef.new(shape: S3Object, location_name: "S3Object"))
@@ -1309,6 +1420,7 @@ module Aws::Rekognition
1309
1420
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1310
1421
  o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
1311
1422
  o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
1423
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
1312
1424
  end)
1313
1425
 
1314
1426
  api.add_operation(:create_project, Seahorse::Model::Operation.new.tap do |o|
@@ -1340,6 +1452,7 @@ module Aws::Rekognition
1340
1452
  o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1341
1453
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1342
1454
  o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
1455
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
1343
1456
  end)
1344
1457
 
1345
1458
  api.add_operation(:create_stream_processor, Seahorse::Model::Operation.new.tap do |o|
@@ -1355,6 +1468,7 @@ module Aws::Rekognition
1355
1468
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1356
1469
  o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
1357
1470
  o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
1471
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
1358
1472
  end)
1359
1473
 
1360
1474
  api.add_operation(:delete_collection, Seahorse::Model::Operation.new.tap do |o|
@@ -1567,6 +1681,22 @@ module Aws::Rekognition
1567
1681
  o.errors << Shapes::ShapeRef.new(shape: HumanLoopQuotaExceededException)
1568
1682
  end)
1569
1683
 
1684
+ api.add_operation(:detect_protective_equipment, Seahorse::Model::Operation.new.tap do |o|
1685
+ o.name = "DetectProtectiveEquipment"
1686
+ o.http_method = "POST"
1687
+ o.http_request_uri = "/"
1688
+ o.input = Shapes::ShapeRef.new(shape: DetectProtectiveEquipmentRequest)
1689
+ o.output = Shapes::ShapeRef.new(shape: DetectProtectiveEquipmentResponse)
1690
+ o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
1691
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1692
+ o.errors << Shapes::ShapeRef.new(shape: ImageTooLargeException)
1693
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1694
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1695
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1696
+ o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
1697
+ o.errors << Shapes::ShapeRef.new(shape: InvalidImageFormatException)
1698
+ end)
1699
+
1570
1700
  api.add_operation(:detect_text, Seahorse::Model::Operation.new.tap do |o|
1571
1701
  o.name = "DetectText"
1572
1702
  o.http_method = "POST"
@@ -1780,6 +1910,7 @@ module Aws::Rekognition
1780
1910
  o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
1781
1911
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1782
1912
  o.errors << Shapes::ShapeRef.new(shape: InvalidImageFormatException)
1913
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
1783
1914
  end)
1784
1915
 
1785
1916
  api.add_operation(:list_collections, Seahorse::Model::Operation.new.tap do |o|
@@ -1844,6 +1975,20 @@ module Aws::Rekognition
1844
1975
  )
1845
1976
  end)
1846
1977
 
1978
+ api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
1979
+ o.name = "ListTagsForResource"
1980
+ o.http_method = "POST"
1981
+ o.http_request_uri = "/"
1982
+ o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
1983
+ o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
1984
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1985
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1986
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1987
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1988
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1989
+ o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
1990
+ end)
1991
+
1847
1992
  api.add_operation(:recognize_celebrities, Seahorse::Model::Operation.new.tap do |o|
1848
1993
  o.name = "RecognizeCelebrities"
1849
1994
  o.http_method = "POST"
@@ -2089,6 +2234,35 @@ module Aws::Rekognition
2089
2234
  o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
2090
2235
  o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
2091
2236
  end)
2237
+
2238
+ api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
2239
+ o.name = "TagResource"
2240
+ o.http_method = "POST"
2241
+ o.http_request_uri = "/"
2242
+ o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
2243
+ o.output = Shapes::ShapeRef.new(shape: TagResourceResponse)
2244
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2245
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2246
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
2247
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
2248
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
2249
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
2250
+ o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
2251
+ end)
2252
+
2253
+ api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
2254
+ o.name = "UntagResource"
2255
+ o.http_method = "POST"
2256
+ o.http_request_uri = "/"
2257
+ o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
2258
+ o.output = Shapes::ShapeRef.new(shape: UntagResourceResponse)
2259
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2260
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2261
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
2262
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
2263
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
2264
+ o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
2265
+ end)
2092
2266
  end
2093
2267
 
2094
2268
  end