aws-sdk-rekognition 1.73.0 → 1.75.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: 92251b0f044672d1160f7436ab44d156c043c2a438af9b8b150887d9a013fa7d
4
- data.tar.gz: f105900aa5b99126639d60d0dd2b08959f5133f2dd1180037143f63a4b9ca63b
3
+ metadata.gz: 03a15d9fdade83f88daa912b214a1cb18cb45f4a4012ce00fe78caada7e5c66f
4
+ data.tar.gz: c5eb74c1bf776d04f714f9ca36aff31fc7df143ac430c2da3ea9392c019fc97a
5
5
  SHA512:
6
- metadata.gz: d2800231e49700ed3309794aee9f209641b25ef95a30d09edf89edd203c364298b7315ae6a1f7736f1264fb4589ad8d96dce5ada003fc2c899def6edcd3d6673
7
- data.tar.gz: 7f8267247b5d8cdbc34730ce8d87f1f5c327e791fffe64c7fad5ec0cb43c38bfdb5a4f151ac14c9eb219f76137cdb0f74ebf5726eaf6265f06cddc2d7c993274
6
+ metadata.gz: e3502bb38c997473f2703bbd0e028a4f2501b624b8bf29ca4307ef1d94d4f7533e015b48e77ba3f1457d5359db03521359974a41a82b3f131f02cc56118da0ad
7
+ data.tar.gz: 8316c45137c2fdaf4dbf90d0ac785dcf9da5fdd285efed07708755b2e364912754014631ff2fbc03714fb2bebc7a97c7f6e8174600b718ec5161204720d46e49
data/CHANGELOG.md CHANGED
@@ -1,6 +1,18 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.75.0 (2023-04-10)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for Face Liveness APIs in Amazon Rekognition. Updates UpdateStreamProcessor to return ResourceInUseException Exception. Minor updates to API documentation.
8
+
9
+ 1.74.0 (2023-01-18)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
14
+ * Issue - Replace runtime endpoint resolution approach with generated ruby code.
15
+
4
16
  1.73.0 (2022-12-12)
5
17
  ------------------
6
18
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.73.0
1
+ 1.75.0
@@ -651,6 +651,9 @@ module Aws::Rekognition
651
651
  # in the ProjectVersionDescription object. The copy operation has
652
652
  # finished when the value of `Status` is `COPYING_COMPLETED`.
653
653
  #
654
+ # This operation requires permissions to perform the
655
+ # `rekognition:CopyProjectVersion` action.
656
+ #
654
657
  # @option params [required, String] :source_project_arn
655
658
  # The ARN of the source project in the trusting AWS account.
656
659
  #
@@ -897,6 +900,60 @@ module Aws::Rekognition
897
900
  req.send_request(options)
898
901
  end
899
902
 
903
+ # This API operation initiates a Face Liveness session. It returns a
904
+ # `SessionId`, which you can use to start streaming Face Liveness video
905
+ # and get the results for a Face Liveness session. You can use the
906
+ # `OutputConfig` option in the Settings parameter to provide an Amazon
907
+ # S3 bucket location. The Amazon S3 bucket stores reference images and
908
+ # audit images. You can use `AuditImagesLimit` to limit of audit images
909
+ # returned. This number is between 0 and 4. By default, it is set to 0.
910
+ # The limit is best effort and based on the duration of the
911
+ # selfie-video.
912
+ #
913
+ # @option params [String] :kms_key_id
914
+ # The identifier for your AWS Key Management Service key (AWS KMS key).
915
+ # Used to encrypt audit images and reference images.
916
+ #
917
+ # @option params [Types::CreateFaceLivenessSessionRequestSettings] :settings
918
+ # A session settings object. It contains settings for the operation to
919
+ # be performed. For Face Liveness, it accepts `OutputConfig` and
920
+ # `AuditImagesLimit`.
921
+ #
922
+ # @option params [String] :client_request_token
923
+ # Idempotent token is used to recognize the Face Liveness request. If
924
+ # the same token is used with multiple `CreateFaceLivenessSession`
925
+ # requests, the same session is returned. This token is employed to
926
+ # avoid unintentionally creating the same session multiple times.
927
+ #
928
+ # @return [Types::CreateFaceLivenessSessionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
929
+ #
930
+ # * {Types::CreateFaceLivenessSessionResponse#session_id #session_id} => String
931
+ #
932
+ # @example Request syntax with placeholder values
933
+ #
934
+ # resp = client.create_face_liveness_session({
935
+ # kms_key_id: "KmsKeyId",
936
+ # settings: {
937
+ # output_config: {
938
+ # s3_bucket: "S3Bucket", # required
939
+ # s3_key_prefix: "LivenessS3KeyPrefix",
940
+ # },
941
+ # audit_images_limit: 1,
942
+ # },
943
+ # client_request_token: "ClientRequestToken",
944
+ # })
945
+ #
946
+ # @example Response structure
947
+ #
948
+ # resp.session_id #=> String
949
+ #
950
+ # @overload create_face_liveness_session(params = {})
951
+ # @param [Hash] params ({})
952
+ def create_face_liveness_session(params = {}, options = {})
953
+ req = build_request(:create_face_liveness_session, params)
954
+ req.send_request(options)
955
+ end
956
+
900
957
  # Creates a new Amazon Rekognition Custom Labels project. A project is a
901
958
  # group of resources (datasets, model versions) that you use to create
902
959
  # and manage Amazon Rekognition Custom Labels models.
@@ -1085,22 +1142,24 @@ module Aws::Rekognition
1085
1142
  #
1086
1143
  # * If you are creating a stream processor for detecting faces, you
1087
1144
  # provide as input a Kinesis video stream (`Input`) and a Kinesis data
1088
- # stream (`Output`) stream. You also specify the face recognition
1089
- # criteria in `Settings`. For example, the collection containing faces
1090
- # that you want to recognize. After you have finished analyzing a
1091
- # streaming video, use StopStreamProcessor to stop processing.
1145
+ # stream (`Output`) stream for receiving the output. You must use the
1146
+ # `FaceSearch` option in `Settings`, specifying the collection that
1147
+ # contains the faces you want to recognize. After you have finished
1148
+ # analyzing a streaming video, use StopStreamProcessor to stop
1149
+ # processing.
1092
1150
  #
1093
1151
  # * If you are creating a stream processor to detect labels, you provide
1094
1152
  # as input a Kinesis video stream (`Input`), Amazon S3 bucket
1095
1153
  # information (`Output`), and an Amazon SNS topic ARN
1096
1154
  # (`NotificationChannel`). You can also provide a KMS key ID to
1097
1155
  # encrypt the data sent to your Amazon S3 bucket. You specify what you
1098
- # want to detect in `ConnectedHomeSettings`, such as people, packages
1099
- # and people, or pets, people, and packages. You can also specify
1100
- # where in the frame you want Amazon Rekognition to monitor with
1101
- # `RegionsOfInterest`. When you run the StartStreamProcessor operation
1102
- # on a label detection stream processor, you input start and stop
1103
- # information to determine the length of the processing time.
1156
+ # want to detect by using the `ConnectedHome` option in settings, and
1157
+ # selecting one of the following: `PERSON`, `PET`, `PACKAGE`, `ALL`
1158
+ # You can also specify where in the frame you want Amazon Rekognition
1159
+ # to monitor with `RegionsOfInterest`. When you run the
1160
+ # StartStreamProcessor operation on a label detection stream
1161
+ # processor, you input start and stop information to determine the
1162
+ # length of the processing time.
1104
1163
  #
1105
1164
  # Use `Name` to assign an identifier for the stream processor. You use
1106
1165
  # `Name` to manage the stream processor. For example, you can start
@@ -1438,6 +1497,9 @@ module Aws::Rekognition
1438
1497
  # ListProjectPolicies. To attach a project policy to a project, call
1439
1498
  # PutProjectPolicy.
1440
1499
  #
1500
+ # This operation requires permissions to perform the
1501
+ # `rekognition:DeleteProjectPolicy` action.
1502
+ #
1441
1503
  # @option params [required, String] :project_arn
1442
1504
  # The Amazon Resource Name (ARN) of the project that the project policy
1443
1505
  # you want to delete is attached to.
@@ -2206,7 +2268,7 @@ module Aws::Rekognition
2206
2268
  # **Response Elements**
2207
2269
  #
2208
2270
  # For each object, scene, and concept the API returns one or more
2209
- # labels. The API returns the following types of information regarding
2271
+ # labels. The API returns the following types of information about
2210
2272
  # labels:
2211
2273
  #
2212
2274
  # * Name - The name of the detected label.
@@ -2281,8 +2343,7 @@ module Aws::Rekognition
2281
2343
  #
2282
2344
  # </note>
2283
2345
  #
2284
- # This is a stateless API operation. That is, the operation does not
2285
- # persist any data.
2346
+ # This is a stateless API operation that doesn't return any data.
2286
2347
  #
2287
2348
  # This operation requires permissions to perform the
2288
2349
  # `rekognition:DetectLabels` action.
@@ -2326,8 +2387,12 @@ module Aws::Rekognition
2326
2387
  # image properties. Specified filters can be inclusive, exclusive, or a
2327
2388
  # combination of both. Filters can be used for individual labels or
2328
2389
  # label categories. The exact label names or label categories must be
2329
- # supplied. For a full list of labels and label categories, see LINK
2330
- # HERE.
2390
+ # supplied. For a full list of labels and label categories, see
2391
+ # [Detecting labels][1].
2392
+ #
2393
+ #
2394
+ #
2395
+ # [1]: https://docs.aws.amazon.com/rekognition/latest/dg/labels.html
2331
2396
  #
2332
2397
  # @return [Types::DetectLabelsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2333
2398
  #
@@ -3247,6 +3312,63 @@ module Aws::Rekognition
3247
3312
  req.send_request(options)
3248
3313
  end
3249
3314
 
3315
+ # Retrieves the results of a specific Face Liveness session. It requires
3316
+ # the `sessionId` as input, which was created using
3317
+ # `CreateFaceLivenessSession`. Returns the corresponding Face Liveness
3318
+ # confidence score, a reference image that includes a face bounding box,
3319
+ # and audit images that also contain face bounding boxes. The Face
3320
+ # Liveness confidence score ranges from 0 to 100. The reference image
3321
+ # can optionally be returned.
3322
+ #
3323
+ # @option params [required, String] :session_id
3324
+ # A unique 128-bit UUID. This is used to uniquely identify the session
3325
+ # and also acts as an idempotency token for all operations associated
3326
+ # with the session.
3327
+ #
3328
+ # @return [Types::GetFaceLivenessSessionResultsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3329
+ #
3330
+ # * {Types::GetFaceLivenessSessionResultsResponse#session_id #session_id} => String
3331
+ # * {Types::GetFaceLivenessSessionResultsResponse#status #status} => String
3332
+ # * {Types::GetFaceLivenessSessionResultsResponse#confidence #confidence} => Float
3333
+ # * {Types::GetFaceLivenessSessionResultsResponse#reference_image #reference_image} => Types::AuditImage
3334
+ # * {Types::GetFaceLivenessSessionResultsResponse#audit_images #audit_images} => Array&lt;Types::AuditImage&gt;
3335
+ #
3336
+ # @example Request syntax with placeholder values
3337
+ #
3338
+ # resp = client.get_face_liveness_session_results({
3339
+ # session_id: "LivenessSessionId", # required
3340
+ # })
3341
+ #
3342
+ # @example Response structure
3343
+ #
3344
+ # resp.session_id #=> String
3345
+ # resp.status #=> String, one of "CREATED", "IN_PROGRESS", "SUCCEEDED", "FAILED"
3346
+ # resp.confidence #=> Float
3347
+ # resp.reference_image.bytes #=> String
3348
+ # resp.reference_image.s3_object.bucket #=> String
3349
+ # resp.reference_image.s3_object.name #=> String
3350
+ # resp.reference_image.s3_object.version #=> String
3351
+ # resp.reference_image.bounding_box.width #=> Float
3352
+ # resp.reference_image.bounding_box.height #=> Float
3353
+ # resp.reference_image.bounding_box.left #=> Float
3354
+ # resp.reference_image.bounding_box.top #=> Float
3355
+ # resp.audit_images #=> Array
3356
+ # resp.audit_images[0].bytes #=> String
3357
+ # resp.audit_images[0].s3_object.bucket #=> String
3358
+ # resp.audit_images[0].s3_object.name #=> String
3359
+ # resp.audit_images[0].s3_object.version #=> String
3360
+ # resp.audit_images[0].bounding_box.width #=> Float
3361
+ # resp.audit_images[0].bounding_box.height #=> Float
3362
+ # resp.audit_images[0].bounding_box.left #=> Float
3363
+ # resp.audit_images[0].bounding_box.top #=> Float
3364
+ #
3365
+ # @overload get_face_liveness_session_results(params = {})
3366
+ # @param [Hash] params ({})
3367
+ def get_face_liveness_session_results(params = {}, options = {})
3368
+ req = build_request(:get_face_liveness_session_results, params)
3369
+ req.send_request(options)
3370
+ end
3371
+
3250
3372
  # Gets the face search results for Amazon Rekognition Video face search
3251
3373
  # started by StartFaceSearch. The search returns faces in a collection
3252
3374
  # that match the faces of persons detected in a video. It also includes
@@ -4769,6 +4891,9 @@ module Aws::Rekognition
4769
4891
  # To attach a project policy to a project, call PutProjectPolicy. To
4770
4892
  # remove a project policy from a project, call DeleteProjectPolicy.
4771
4893
  #
4894
+ # This operation requires permissions to perform the
4895
+ # `rekognition:ListProjectPolicies` action.
4896
+ #
4772
4897
  # @option params [required, String] :project_arn
4773
4898
  # The ARN of the project for which you want to list the project
4774
4899
  # policies.
@@ -4937,6 +5062,9 @@ module Aws::Rekognition
4937
5062
  #
4938
5063
  # You copy a model version by calling CopyProjectVersion.
4939
5064
  #
5065
+ # This operation requires permissions to perform the
5066
+ # `rekognition:PutProjectPolicy` action.
5067
+ #
4940
5068
  # @option params [required, String] :project_arn
4941
5069
  # The Amazon Resource Name (ARN) of the project that the project policy
4942
5070
  # is attached to.
@@ -6308,6 +6436,9 @@ module Aws::Rekognition
6308
6436
  # Stops a running model. The operation might take a while to complete.
6309
6437
  # To check the current status, call DescribeProjectVersions.
6310
6438
  #
6439
+ # This operation requires permissions to perform the
6440
+ # `rekognition:StopProjectVersion` action.
6441
+ #
6311
6442
  # @option params [required, String] :project_version_arn
6312
6443
  # The Amazon Resource Name (ARN) of the model version that you want to
6313
6444
  # delete.
@@ -6556,7 +6687,7 @@ module Aws::Rekognition
6556
6687
  params: params,
6557
6688
  config: config)
6558
6689
  context[:gem_name] = 'aws-sdk-rekognition'
6559
- context[:gem_version] = '1.73.0'
6690
+ context[:gem_version] = '1.75.0'
6560
6691
  Seahorse::Client::Request.new(handlers, context)
6561
6692
  end
6562
6693
 
@@ -21,6 +21,9 @@ module Aws::Rekognition
21
21
  Attributes = Shapes::ListShape.new(name: 'Attributes')
22
22
  AudioMetadata = Shapes::StructureShape.new(name: 'AudioMetadata')
23
23
  AudioMetadataList = Shapes::ListShape.new(name: 'AudioMetadataList')
24
+ AuditImage = Shapes::StructureShape.new(name: 'AuditImage')
25
+ AuditImages = Shapes::ListShape.new(name: 'AuditImages')
26
+ AuditImagesLimit = Shapes::IntegerShape.new(name: 'AuditImagesLimit')
24
27
  Beard = Shapes::StructureShape.new(name: 'Beard')
25
28
  BlackFrame = Shapes::StructureShape.new(name: 'BlackFrame')
26
29
  BodyPart = Shapes::StringShape.new(name: 'BodyPart')
@@ -62,6 +65,9 @@ module Aws::Rekognition
62
65
  CreateCollectionResponse = Shapes::StructureShape.new(name: 'CreateCollectionResponse')
63
66
  CreateDatasetRequest = Shapes::StructureShape.new(name: 'CreateDatasetRequest')
64
67
  CreateDatasetResponse = Shapes::StructureShape.new(name: 'CreateDatasetResponse')
68
+ CreateFaceLivenessSessionRequest = Shapes::StructureShape.new(name: 'CreateFaceLivenessSessionRequest')
69
+ CreateFaceLivenessSessionRequestSettings = Shapes::StructureShape.new(name: 'CreateFaceLivenessSessionRequestSettings')
70
+ CreateFaceLivenessSessionResponse = Shapes::StructureShape.new(name: 'CreateFaceLivenessSessionResponse')
65
71
  CreateProjectRequest = Shapes::StructureShape.new(name: 'CreateProjectRequest')
66
72
  CreateProjectResponse = Shapes::StructureShape.new(name: 'CreateProjectResponse')
67
73
  CreateProjectVersionRequest = Shapes::StructureShape.new(name: 'CreateProjectVersionRequest')
@@ -184,6 +190,8 @@ module Aws::Rekognition
184
190
  GetContentModerationResponse = Shapes::StructureShape.new(name: 'GetContentModerationResponse')
185
191
  GetFaceDetectionRequest = Shapes::StructureShape.new(name: 'GetFaceDetectionRequest')
186
192
  GetFaceDetectionResponse = Shapes::StructureShape.new(name: 'GetFaceDetectionResponse')
193
+ GetFaceLivenessSessionResultsRequest = Shapes::StructureShape.new(name: 'GetFaceLivenessSessionResultsRequest')
194
+ GetFaceLivenessSessionResultsResponse = Shapes::StructureShape.new(name: 'GetFaceLivenessSessionResultsResponse')
187
195
  GetFaceSearchRequest = Shapes::StructureShape.new(name: 'GetFaceSearchRequest')
188
196
  GetFaceSearchResponse = Shapes::StructureShape.new(name: 'GetFaceSearchResponse')
189
197
  GetLabelDetectionRequest = Shapes::StructureShape.new(name: 'GetLabelDetectionRequest')
@@ -270,6 +278,11 @@ module Aws::Rekognition
270
278
  ListStreamProcessorsResponse = Shapes::StructureShape.new(name: 'ListStreamProcessorsResponse')
271
279
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
272
280
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
281
+ LivenessImageBlob = Shapes::BlobShape.new(name: 'LivenessImageBlob')
282
+ LivenessOutputConfig = Shapes::StructureShape.new(name: 'LivenessOutputConfig')
283
+ LivenessS3KeyPrefix = Shapes::StringShape.new(name: 'LivenessS3KeyPrefix')
284
+ LivenessSessionId = Shapes::StringShape.new(name: 'LivenessSessionId')
285
+ LivenessSessionStatus = Shapes::StringShape.new(name: 'LivenessSessionStatus')
273
286
  MalformedPolicyDocumentException = Shapes::StructureShape.new(name: 'MalformedPolicyDocumentException')
274
287
  MaxDurationInSecondsULong = Shapes::IntegerShape.new(name: 'MaxDurationInSecondsULong')
275
288
  MaxFaces = Shapes::IntegerShape.new(name: 'MaxFaces')
@@ -361,6 +374,7 @@ module Aws::Rekognition
361
374
  SegmentTypes = Shapes::ListShape.new(name: 'SegmentTypes')
362
375
  SegmentTypesInfo = Shapes::ListShape.new(name: 'SegmentTypesInfo')
363
376
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
377
+ SessionNotFoundException = Shapes::StructureShape.new(name: 'SessionNotFoundException')
364
378
  ShotSegment = Shapes::StructureShape.new(name: 'ShotSegment')
365
379
  Smile = Shapes::StructureShape.new(name: 'Smile')
366
380
  StartCelebrityRecognitionRequest = Shapes::StructureShape.new(name: 'StartCelebrityRecognitionRequest')
@@ -474,6 +488,13 @@ module Aws::Rekognition
474
488
 
475
489
  AudioMetadataList.member = Shapes::ShapeRef.new(shape: AudioMetadata)
476
490
 
491
+ AuditImage.add_member(:bytes, Shapes::ShapeRef.new(shape: LivenessImageBlob, location_name: "Bytes"))
492
+ AuditImage.add_member(:s3_object, Shapes::ShapeRef.new(shape: S3Object, location_name: "S3Object"))
493
+ AuditImage.add_member(:bounding_box, Shapes::ShapeRef.new(shape: BoundingBox, location_name: "BoundingBox"))
494
+ AuditImage.struct_class = Types::AuditImage
495
+
496
+ AuditImages.member = Shapes::ShapeRef.new(shape: AuditImage)
497
+
477
498
  Beard.add_member(:value, Shapes::ShapeRef.new(shape: Boolean, location_name: "Value"))
478
499
  Beard.add_member(:confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "Confidence"))
479
500
  Beard.struct_class = Types::Beard
@@ -604,6 +625,18 @@ module Aws::Rekognition
604
625
  CreateDatasetResponse.add_member(:dataset_arn, Shapes::ShapeRef.new(shape: DatasetArn, location_name: "DatasetArn"))
605
626
  CreateDatasetResponse.struct_class = Types::CreateDatasetResponse
606
627
 
628
+ CreateFaceLivenessSessionRequest.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: KmsKeyId, location_name: "KmsKeyId"))
629
+ CreateFaceLivenessSessionRequest.add_member(:settings, Shapes::ShapeRef.new(shape: CreateFaceLivenessSessionRequestSettings, location_name: "Settings"))
630
+ CreateFaceLivenessSessionRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: ClientRequestToken, location_name: "ClientRequestToken"))
631
+ CreateFaceLivenessSessionRequest.struct_class = Types::CreateFaceLivenessSessionRequest
632
+
633
+ CreateFaceLivenessSessionRequestSettings.add_member(:output_config, Shapes::ShapeRef.new(shape: LivenessOutputConfig, location_name: "OutputConfig"))
634
+ CreateFaceLivenessSessionRequestSettings.add_member(:audit_images_limit, Shapes::ShapeRef.new(shape: AuditImagesLimit, location_name: "AuditImagesLimit"))
635
+ CreateFaceLivenessSessionRequestSettings.struct_class = Types::CreateFaceLivenessSessionRequestSettings
636
+
637
+ CreateFaceLivenessSessionResponse.add_member(:session_id, Shapes::ShapeRef.new(shape: LivenessSessionId, required: true, location_name: "SessionId"))
638
+ CreateFaceLivenessSessionResponse.struct_class = Types::CreateFaceLivenessSessionResponse
639
+
607
640
  CreateProjectRequest.add_member(:project_name, Shapes::ShapeRef.new(shape: ProjectName, required: true, location_name: "ProjectName"))
608
641
  CreateProjectRequest.struct_class = Types::CreateProjectRequest
609
642
 
@@ -1043,6 +1076,16 @@ module Aws::Rekognition
1043
1076
  GetFaceDetectionResponse.add_member(:faces, Shapes::ShapeRef.new(shape: FaceDetections, location_name: "Faces"))
1044
1077
  GetFaceDetectionResponse.struct_class = Types::GetFaceDetectionResponse
1045
1078
 
1079
+ GetFaceLivenessSessionResultsRequest.add_member(:session_id, Shapes::ShapeRef.new(shape: LivenessSessionId, required: true, location_name: "SessionId"))
1080
+ GetFaceLivenessSessionResultsRequest.struct_class = Types::GetFaceLivenessSessionResultsRequest
1081
+
1082
+ GetFaceLivenessSessionResultsResponse.add_member(:session_id, Shapes::ShapeRef.new(shape: LivenessSessionId, required: true, location_name: "SessionId"))
1083
+ GetFaceLivenessSessionResultsResponse.add_member(:status, Shapes::ShapeRef.new(shape: LivenessSessionStatus, required: true, location_name: "Status"))
1084
+ GetFaceLivenessSessionResultsResponse.add_member(:confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "Confidence"))
1085
+ GetFaceLivenessSessionResultsResponse.add_member(:reference_image, Shapes::ShapeRef.new(shape: AuditImage, location_name: "ReferenceImage"))
1086
+ GetFaceLivenessSessionResultsResponse.add_member(:audit_images, Shapes::ShapeRef.new(shape: AuditImages, location_name: "AuditImages"))
1087
+ GetFaceLivenessSessionResultsResponse.struct_class = Types::GetFaceLivenessSessionResultsResponse
1088
+
1046
1089
  GetFaceSearchRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, required: true, location_name: "JobId"))
1047
1090
  GetFaceSearchRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
1048
1091
  GetFaceSearchRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
@@ -1299,6 +1342,10 @@ module Aws::Rekognition
1299
1342
  ListTagsForResourceResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
1300
1343
  ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse
1301
1344
 
1345
+ LivenessOutputConfig.add_member(:s3_bucket, Shapes::ShapeRef.new(shape: S3Bucket, required: true, location_name: "S3Bucket"))
1346
+ LivenessOutputConfig.add_member(:s3_key_prefix, Shapes::ShapeRef.new(shape: LivenessS3KeyPrefix, location_name: "S3KeyPrefix"))
1347
+ LivenessOutputConfig.struct_class = Types::LivenessOutputConfig
1348
+
1302
1349
  MalformedPolicyDocumentException.struct_class = Types::MalformedPolicyDocumentException
1303
1350
 
1304
1351
  ModerationLabel.add_member(:confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "Confidence"))
@@ -1517,6 +1564,8 @@ module Aws::Rekognition
1517
1564
 
1518
1565
  ServiceQuotaExceededException.struct_class = Types::ServiceQuotaExceededException
1519
1566
 
1567
+ SessionNotFoundException.struct_class = Types::SessionNotFoundException
1568
+
1520
1569
  ShotSegment.add_member(:index, Shapes::ShapeRef.new(shape: ULong, location_name: "Index"))
1521
1570
  ShotSegment.add_member(:confidence, Shapes::ShapeRef.new(shape: SegmentConfidence, location_name: "Confidence"))
1522
1571
  ShotSegment.struct_class = Types::ShotSegment
@@ -1873,6 +1922,19 @@ module Aws::Rekognition
1873
1922
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1874
1923
  end)
1875
1924
 
1925
+ api.add_operation(:create_face_liveness_session, Seahorse::Model::Operation.new.tap do |o|
1926
+ o.name = "CreateFaceLivenessSession"
1927
+ o.http_method = "POST"
1928
+ o.http_request_uri = "/"
1929
+ o.input = Shapes::ShapeRef.new(shape: CreateFaceLivenessSessionRequest)
1930
+ o.output = Shapes::ShapeRef.new(shape: CreateFaceLivenessSessionResponse)
1931
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1932
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1933
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1934
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1935
+ o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
1936
+ end)
1937
+
1876
1938
  api.add_operation(:create_project, Seahorse::Model::Operation.new.tap do |o|
1877
1939
  o.name = "CreateProject"
1878
1940
  o.http_method = "POST"
@@ -2300,6 +2362,20 @@ module Aws::Rekognition
2300
2362
  )
2301
2363
  end)
2302
2364
 
2365
+ api.add_operation(:get_face_liveness_session_results, Seahorse::Model::Operation.new.tap do |o|
2366
+ o.name = "GetFaceLivenessSessionResults"
2367
+ o.http_method = "POST"
2368
+ o.http_request_uri = "/"
2369
+ o.input = Shapes::ShapeRef.new(shape: GetFaceLivenessSessionResultsRequest)
2370
+ o.output = Shapes::ShapeRef.new(shape: GetFaceLivenessSessionResultsResponse)
2371
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
2372
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
2373
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2374
+ o.errors << Shapes::ShapeRef.new(shape: SessionNotFoundException)
2375
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
2376
+ o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
2377
+ end)
2378
+
2303
2379
  api.add_operation(:get_face_search, Seahorse::Model::Operation.new.tap do |o|
2304
2380
  o.name = "GetFaceSearch"
2305
2381
  o.http_method = "POST"
@@ -2888,6 +2964,7 @@ module Aws::Rekognition
2888
2964
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2889
2965
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2890
2966
  o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
2967
+ o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
2891
2968
  end)
2892
2969
  end
2893
2970
 
@@ -50,9 +50,6 @@ module Aws::Rekognition
50
50
 
51
51
  def initialize(options = {})
52
52
  self[:region] = options[:region]
53
- if self[:region].nil?
54
- raise ArgumentError, "Missing required EndpointParameter: :region"
55
- end
56
53
  self[:use_dual_stack] = options[:use_dual_stack]
57
54
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
58
55
  if self[:use_dual_stack].nil?
@@ -9,130 +9,46 @@
9
9
 
10
10
  module Aws::Rekognition
11
11
  class EndpointProvider
12
- def initialize(rule_set = nil)
13
- @@rule_set ||= begin
14
- endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
15
- Aws::Endpoints::RuleSet.new(
16
- version: endpoint_rules['version'],
17
- service_id: endpoint_rules['serviceId'],
18
- parameters: endpoint_rules['parameters'],
19
- rules: endpoint_rules['rules']
20
- )
12
+ def resolve_endpoint(parameters)
13
+ region = parameters.region
14
+ use_dual_stack = parameters.use_dual_stack
15
+ use_fips = parameters.use_fips
16
+ endpoint = parameters.endpoint
17
+ if Aws::Endpoints::Matchers.set?(endpoint)
18
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
19
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
20
+ end
21
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
22
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
23
+ end
24
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
21
25
  end
22
- @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
- end
26
+ if Aws::Endpoints::Matchers.set?(region)
27
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
28
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
29
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
30
+ return Aws::Endpoints::Endpoint.new(url: "https://rekognition-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
31
+ end
32
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
+ end
34
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
36
+ return Aws::Endpoints::Endpoint.new(url: "https://rekognition-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
+ end
38
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
39
+ end
40
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
41
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
42
+ return Aws::Endpoints::Endpoint.new(url: "https://rekognition.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
43
+ end
44
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
45
+ end
46
+ return Aws::Endpoints::Endpoint.new(url: "https://rekognition.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
47
+ end
48
+ end
49
+ raise ArgumentError, "Invalid Configuration: Missing Region"
50
+ raise ArgumentError, 'No endpoint could be resolved'
24
51
 
25
- def resolve_endpoint(parameters)
26
- @provider.resolve_endpoint(parameters)
27
52
  end
28
-
29
- # @api private
30
- RULES = <<-JSON
31
- eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
- bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOnRydWUsImRvY3VtZW50
33
- YXRpb24iOiJUaGUgQVdTIHJlZ2lvbiB1c2VkIHRvIGRpc3BhdGNoIHRoZSBy
34
- ZXF1ZXN0LiIsInR5cGUiOiJTdHJpbmcifSwiVXNlRHVhbFN0YWNrIjp7ImJ1
35
- aWx0SW4iOiJBV1M6OlVzZUR1YWxTdGFjayIsInJlcXVpcmVkIjp0cnVlLCJk
36
- ZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRhdGlvbiI6IldoZW4gdHJ1ZSwgdXNl
37
- IHRoZSBkdWFsLXN0YWNrIGVuZHBvaW50LiBJZiB0aGUgY29uZmlndXJlZCBl
38
- bmRwb2ludCBkb2VzIG5vdCBzdXBwb3J0IGR1YWwtc3RhY2ssIGRpc3BhdGNo
39
- aW5nIHRoZSByZXF1ZXN0IE1BWSByZXR1cm4gYW4gZXJyb3IuIiwidHlwZSI6
40
- IkJvb2xlYW4ifSwiVXNlRklQUyI6eyJidWlsdEluIjoiQVdTOjpVc2VGSVBT
41
- IiwicmVxdWlyZWQiOnRydWUsImRlZmF1bHQiOmZhbHNlLCJkb2N1bWVudGF0
42
- aW9uIjoiV2hlbiB0cnVlLCBzZW5kIHRoaXMgcmVxdWVzdCB0byB0aGUgRklQ
43
- Uy1jb21wbGlhbnQgcmVnaW9uYWwgZW5kcG9pbnQuIElmIHRoZSBjb25maWd1
44
- cmVkIGVuZHBvaW50IGRvZXMgbm90IGhhdmUgYSBGSVBTIGNvbXBsaWFudCBl
45
- bmRwb2ludCwgZGlzcGF0Y2hpbmcgdGhlIHJlcXVlc3Qgd2lsbCByZXR1cm4g
46
- YW4gZXJyb3IuIiwidHlwZSI6IkJvb2xlYW4ifSwiRW5kcG9pbnQiOnsiYnVp
47
- bHRJbiI6IlNESzo6RW5kcG9pbnQiLCJyZXF1aXJlZCI6ZmFsc2UsImRvY3Vt
48
- ZW50YXRpb24iOiJPdmVycmlkZSB0aGUgZW5kcG9pbnQgdXNlZCB0byBzZW5k
49
- IHRoaXMgcmVxdWVzdCIsInR5cGUiOiJTdHJpbmcifX0sInJ1bGVzIjpbeyJj
50
- b25kaXRpb25zIjpbeyJmbiI6ImF3cy5wYXJ0aXRpb24iLCJhcmd2IjpbeyJy
51
- ZWYiOiJSZWdpb24ifV0sImFzc2lnbiI6IlBhcnRpdGlvblJlc3VsdCJ9XSwi
52
- dHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4iOiJp
53
- c1NldCIsImFyZ3YiOlt7InJlZiI6IkVuZHBvaW50In1dfV0sInR5cGUiOiJ0
54
- cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVx
55
- dWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJUFMifSx0cnVlXX1dLCJlcnJv
56
- ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRklQUyBhbmQgY3VzdG9tIGVu
57
- ZHBvaW50IGFyZSBub3Qgc3VwcG9ydGVkIiwidHlwZSI6ImVycm9yIn0seyJj
58
- b25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
59
- aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoi
60
- VXNlRHVhbFN0YWNrIn0sdHJ1ZV19XSwiZXJyb3IiOiJJbnZhbGlkIENvbmZp
61
- Z3VyYXRpb246IER1YWxzdGFjayBhbmQgY3VzdG9tIGVuZHBvaW50IGFyZSBu
62
- b3Qgc3VwcG9ydGVkIiwidHlwZSI6ImVycm9yIn0seyJjb25kaXRpb25zIjpb
63
- XSwiZW5kcG9pbnQiOnsidXJsIjp7InJlZiI6IkVuZHBvaW50In0sInByb3Bl
64
- cnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX1d
65
- fSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3Yi
66
- Olt7InJlZiI6IlVzZUZJUFMifSx0cnVlXX0seyJmbiI6ImJvb2xlYW5FcXVh
67
- bHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJ0
68
- eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJv
69
- b2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFy
70
- Z3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0ZJUFMi
71
- XX1dfSx7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4i
72
- OiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0s
73
- InN1cHBvcnRzRHVhbFN0YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVz
74
- IjpbeyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6
75
- Ly9yZWtvZ25pdGlvbi1maXBzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQj
76
- ZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJz
77
- Ijp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRpb25zIjpbXSwi
78
- ZXJyb3IiOiJGSVBTIGFuZCBEdWFsU3RhY2sgYXJlIGVuYWJsZWQsIGJ1dCB0
79
- aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IG9uZSBvciBib3RoIiwi
80
- dHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVh
81
- bkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJUFMifSx0cnVlXX1dLCJ0
82
- eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJv
83
- b2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFy
84
- Z3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0ZJUFMi
85
- XX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltd
86
- LCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6
87
- InN0cmluZ0VxdWFscyIsImFyZ3YiOlt7InJlZiI6IlJlZ2lvbiJ9LCJyZWtv
88
- Z25pdGlvbi5jYS1jZW50cmFsLTEiXX1dLCJlbmRwb2ludCI6eyJ1cmwiOiJo
89
- dHRwczovL3Jla29nbml0aW9uLWZpcHMuY2EtY2VudHJhbC0xLmFtYXpvbmF3
90
- cy5jb20iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoi
91
- ZW5kcG9pbnQifSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoic3RyaW5nRXF1YWxz
92
- IiwiYXJndiI6W3sicmVmIjoiUmVnaW9uIn0sInJla29nbml0aW9uLnVzLWVh
93
- c3QtMSJdfV0sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vcmVrb2duaXRp
94
- b24tZmlwcy51cy1lYXN0LTEuYW1hem9uYXdzLmNvbSIsInByb3BlcnRpZXMi
95
- Ont9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9LHsiY29uZGl0
96
- aW9ucyI6W3siZm4iOiJzdHJpbmdFcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJS
97
- ZWdpb24ifSwicmVrb2duaXRpb24udXMtZWFzdC0yIl19XSwiZW5kcG9pbnQi
98
- OnsidXJsIjoiaHR0cHM6Ly9yZWtvZ25pdGlvbi1maXBzLnVzLWVhc3QtMi5h
99
- bWF6b25hd3MuY29tIiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwi
100
- dHlwZSI6ImVuZHBvaW50In0seyJjb25kaXRpb25zIjpbeyJmbiI6InN0cmlu
101
- Z0VxdWFscyIsImFyZ3YiOlt7InJlZiI6IlJlZ2lvbiJ9LCJyZWtvZ25pdGlv
102
- bi51cy13ZXN0LTEiXX1dLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL3Jl
103
- a29nbml0aW9uLWZpcHMudXMtd2VzdC0xLmFtYXpvbmF3cy5jb20iLCJwcm9w
104
- ZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifSx7
105
- ImNvbmRpdGlvbnMiOlt7ImZuIjoic3RyaW5nRXF1YWxzIiwiYXJndiI6W3si
106
- cmVmIjoiUmVnaW9uIn0sInJla29nbml0aW9uLnVzLXdlc3QtMiJdfV0sImVu
107
- ZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vcmVrb2duaXRpb24tZmlwcy51cy13
108
- ZXN0LTIuYW1hem9uYXdzLmNvbSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJz
109
- Ijp7fX0sInR5cGUiOiJlbmRwb2ludCJ9LHsiY29uZGl0aW9ucyI6W3siZm4i
110
- OiJzdHJpbmdFcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJSZWdpb24ifSwicmVr
111
- b2duaXRpb24udXMtZ292LXdlc3QtMSJdfV0sImVuZHBvaW50Ijp7InVybCI6
112
- Imh0dHBzOi8vcmVrb2duaXRpb24tZmlwcy51cy1nb3Ytd2VzdC0xLmFtYXpv
113
- bmF3cy5jb20iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBl
114
- IjoiZW5kcG9pbnQifSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1
115
- cmwiOiJodHRwczovL3Jla29nbml0aW9uLWZpcHMue1JlZ2lvbn0ue1BhcnRp
116
- dGlvblJlc3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRl
117
- cnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6
118
- W10sImVycm9yIjoiRklQUyBpcyBlbmFibGVkIGJ1dCB0aGlzIHBhcnRpdGlv
119
- biBkb2VzIG5vdCBzdXBwb3J0IEZJUFMiLCJ0eXBlIjoiZXJyb3IifV19LHsi
120
- Y29uZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3si
121
- cmVmIjoiVXNlRHVhbFN0YWNrIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJy
122
- dWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwi
123
- YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
124
- YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
125
- cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
126
- dCI6eyJ1cmwiOiJodHRwczovL3Jla29nbml0aW9uLntSZWdpb259LntQYXJ0
127
- aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMi
128
- Ont9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25k
129
- aXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sgaXMgZW5hYmxlZCBidXQg
130
- dGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBEdWFsU3RhY2siLCJ0
131
- eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7
132
- InVybCI6Imh0dHBzOi8vcmVrb2duaXRpb24ue1JlZ2lvbn0ue1BhcnRpdGlv
133
- blJlc3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMi
134
- Ont9fSwidHlwZSI6ImVuZHBvaW50In1dfV19
135
-
136
- JSON
137
53
  end
138
54
  end
@@ -67,6 +67,20 @@ module Aws::Rekognition
67
67
  end
68
68
  end
69
69
 
70
+ class CreateFaceLivenessSession
71
+ def self.build(context)
72
+ unless context.config.regional_endpoint
73
+ endpoint = context.config.endpoint.to_s
74
+ end
75
+ Aws::Rekognition::EndpointParameters.new(
76
+ region: context.config.region,
77
+ use_dual_stack: context.config.use_dualstack_endpoint,
78
+ use_fips: context.config.use_fips_endpoint,
79
+ endpoint: endpoint,
80
+ )
81
+ end
82
+ end
83
+
70
84
  class CreateProject
71
85
  def self.build(context)
72
86
  unless context.config.regional_endpoint
@@ -431,6 +445,20 @@ module Aws::Rekognition
431
445
  end
432
446
  end
433
447
 
448
+ class GetFaceLivenessSessionResults
449
+ def self.build(context)
450
+ unless context.config.regional_endpoint
451
+ endpoint = context.config.endpoint.to_s
452
+ end
453
+ Aws::Rekognition::EndpointParameters.new(
454
+ region: context.config.region,
455
+ use_dual_stack: context.config.use_dualstack_endpoint,
456
+ use_fips: context.config.use_fips_endpoint,
457
+ endpoint: endpoint,
458
+ )
459
+ end
460
+ end
461
+
434
462
  class GetFaceSearch
435
463
  def self.build(context)
436
464
  unless context.config.regional_endpoint
@@ -45,6 +45,7 @@ module Aws::Rekognition
45
45
  # * {ResourceNotFoundException}
46
46
  # * {ResourceNotReadyException}
47
47
  # * {ServiceQuotaExceededException}
48
+ # * {SessionNotFoundException}
48
49
  # * {ThrottlingException}
49
50
  # * {VideoTooLargeException}
50
51
  #
@@ -249,6 +250,16 @@ module Aws::Rekognition
249
250
  end
250
251
  end
251
252
 
253
+ class SessionNotFoundException < ServiceError
254
+
255
+ # @param [Seahorse::Client::RequestContext] context
256
+ # @param [String] message
257
+ # @param [Aws::Rekognition::Types::SessionNotFoundException] data
258
+ def initialize(context, message, data = Aws::EmptyStructure.new)
259
+ super(context, message, data)
260
+ end
261
+ end
262
+
252
263
  class ThrottlingException < ServiceError
253
264
 
254
265
  # @param [Seahorse::Client::RequestContext] context
@@ -64,6 +64,8 @@ module Aws::Rekognition
64
64
  Aws::Rekognition::Endpoints::CreateCollection.build(context)
65
65
  when :create_dataset
66
66
  Aws::Rekognition::Endpoints::CreateDataset.build(context)
67
+ when :create_face_liveness_session
68
+ Aws::Rekognition::Endpoints::CreateFaceLivenessSession.build(context)
67
69
  when :create_project
68
70
  Aws::Rekognition::Endpoints::CreateProject.build(context)
69
71
  when :create_project_version
@@ -116,6 +118,8 @@ module Aws::Rekognition
116
118
  Aws::Rekognition::Endpoints::GetContentModeration.build(context)
117
119
  when :get_face_detection
118
120
  Aws::Rekognition::Endpoints::GetFaceDetection.build(context)
121
+ when :get_face_liveness_session_results
122
+ Aws::Rekognition::Endpoints::GetFaceLivenessSessionResults.build(context)
119
123
  when :get_face_search
120
124
  Aws::Rekognition::Endpoints::GetFaceSearch.build(context)
121
125
  when :get_label_detection
@@ -80,6 +80,62 @@ module Aws::Rekognition
80
80
  include Aws::Structure
81
81
  end
82
82
 
83
+ # An image that is picked from the Face Liveness video and returned for
84
+ # audit trail purposes, returned as Base64-encoded bytes.
85
+ #
86
+ # @!attribute [rw] bytes
87
+ # The Base64-encoded bytes representing an image selected from the
88
+ # Face Liveness video and returned for audit purposes.
89
+ # @return [String]
90
+ #
91
+ # @!attribute [rw] s3_object
92
+ # Provides the S3 bucket name and object name.
93
+ #
94
+ # The region for the S3 bucket containing the S3 object must match the
95
+ # region you use for Amazon Rekognition operations.
96
+ #
97
+ # For Amazon Rekognition to process an S3 object, the user must have
98
+ # permission to access the S3 object. For more information, see How
99
+ # Amazon Rekognition works with IAM in the Amazon Rekognition
100
+ # Developer Guide.
101
+ # @return [Types::S3Object]
102
+ #
103
+ # @!attribute [rw] bounding_box
104
+ # Identifies the bounding box around the label, face, text, object of
105
+ # interest, or personal protective equipment. The `left`
106
+ # (x-coordinate) and `top` (y-coordinate) are coordinates representing
107
+ # the top and left sides of the bounding box. Note that the upper-left
108
+ # corner of the image is the origin (0,0).
109
+ #
110
+ # The `top` and `left` values returned are ratios of the overall image
111
+ # size. For example, if the input image is 700x200 pixels, and the
112
+ # top-left coordinate of the bounding box is 350x50 pixels, the API
113
+ # returns a `left` value of 0.5 (350/700) and a `top` value of 0.25
114
+ # (50/200).
115
+ #
116
+ # The `width` and `height` values represent the dimensions of the
117
+ # bounding box as a ratio of the overall image dimension. For example,
118
+ # if the input image is 700x200 pixels, and the bounding box width is
119
+ # 70 pixels, the width returned is 0.1.
120
+ #
121
+ # <note markdown="1"> The bounding box coordinates can have negative values. For example,
122
+ # if Amazon Rekognition is able to detect a face that is at the image
123
+ # edge and is only partially visible, the service can return
124
+ # coordinates that are outside the image bounds and, depending on the
125
+ # image edge, you might get negative values or values greater than 1
126
+ # for the `left` or `top` values.
127
+ #
128
+ # </note>
129
+ # @return [Types::BoundingBox]
130
+ #
131
+ class AuditImage < Struct.new(
132
+ :bytes,
133
+ :s3_object,
134
+ :bounding_box)
135
+ SENSITIVE = [:bytes]
136
+ include Aws::Structure
137
+ end
138
+
83
139
  # Indicates whether or not the face has a beard, and the confidence
84
140
  # level in the determination.
85
141
  #
@@ -742,6 +798,69 @@ module Aws::Rekognition
742
798
  include Aws::Structure
743
799
  end
744
800
 
801
+ # @!attribute [rw] kms_key_id
802
+ # The identifier for your AWS Key Management Service key (AWS KMS
803
+ # key). Used to encrypt audit images and reference images.
804
+ # @return [String]
805
+ #
806
+ # @!attribute [rw] settings
807
+ # A session settings object. It contains settings for the operation to
808
+ # be performed. For Face Liveness, it accepts `OutputConfig` and
809
+ # `AuditImagesLimit`.
810
+ # @return [Types::CreateFaceLivenessSessionRequestSettings]
811
+ #
812
+ # @!attribute [rw] client_request_token
813
+ # Idempotent token is used to recognize the Face Liveness request. If
814
+ # the same token is used with multiple `CreateFaceLivenessSession`
815
+ # requests, the same session is returned. This token is employed to
816
+ # avoid unintentionally creating the same session multiple times.
817
+ # @return [String]
818
+ #
819
+ class CreateFaceLivenessSessionRequest < Struct.new(
820
+ :kms_key_id,
821
+ :settings,
822
+ :client_request_token)
823
+ SENSITIVE = []
824
+ include Aws::Structure
825
+ end
826
+
827
+ # A session settings object. It contains settings for the operation to
828
+ # be performed. It accepts arguments for OutputConfig and
829
+ # AuditImagesLimit.
830
+ #
831
+ # @!attribute [rw] output_config
832
+ # Can specify the location of an Amazon S3 bucket, where reference and
833
+ # audit images will be stored. Note that the Amazon S3 bucket must be
834
+ # located in the caller's AWS account and in the same region as the
835
+ # Face Liveness end-point. Additionally, the Amazon S3 object keys are
836
+ # auto-generated by the Face Liveness system.
837
+ # @return [Types::LivenessOutputConfig]
838
+ #
839
+ # @!attribute [rw] audit_images_limit
840
+ # Number of audit images to be returned back. Takes an integer between
841
+ # 0-4. Any integer less than 0 will return 0, any integer above 4 will
842
+ # return 4 images in the response. By default, it is set to 0. The
843
+ # limit is best effort and is based on the actual duration of the
844
+ # selfie-video.
845
+ # @return [Integer]
846
+ #
847
+ class CreateFaceLivenessSessionRequestSettings < Struct.new(
848
+ :output_config,
849
+ :audit_images_limit)
850
+ SENSITIVE = []
851
+ include Aws::Structure
852
+ end
853
+
854
+ # @!attribute [rw] session_id
855
+ # A unique 128-bit UUID identifying a Face Liveness session.
856
+ # @return [String]
857
+ #
858
+ class CreateFaceLivenessSessionResponse < Struct.new(
859
+ :session_id)
860
+ SENSITIVE = []
861
+ include Aws::Structure
862
+ end
863
+
745
864
  # @!attribute [rw] project_name
746
865
  # The name of the project to create.
747
866
  # @return [String]
@@ -1888,8 +2007,12 @@ module Aws::Rekognition
1888
2007
  # image properties. Specified filters can be inclusive, exclusive, or
1889
2008
  # a combination of both. Filters can be used for individual labels or
1890
2009
  # label categories. The exact label names or label categories must be
1891
- # supplied. For a full list of labels and label categories, see LINK
1892
- # HERE.
2010
+ # supplied. For a full list of labels and label categories, see
2011
+ # [Detecting labels][1].
2012
+ #
2013
+ #
2014
+ #
2015
+ # [1]: https://docs.aws.amazon.com/rekognition/latest/dg/labels.html
1893
2016
  # @return [Types::DetectLabelsSettings]
1894
2017
  #
1895
2018
  class DetectLabelsRequest < Struct.new(
@@ -2608,7 +2731,12 @@ module Aws::Rekognition
2608
2731
 
2609
2732
  # Contains filters for the object labels returned by DetectLabels.
2610
2733
  # Filters can be inclusive, exclusive, or a combination of both and can
2611
- # be applied to individual l abels or entire label categories.
2734
+ # be applied to individual labels or entire label categories. To see a
2735
+ # list of label categories, see [Detecting Labels][1].
2736
+ #
2737
+ #
2738
+ #
2739
+ # [1]: https://docs.aws.amazon.com/rekognition/latest/dg/labels.html
2612
2740
  #
2613
2741
  # @!attribute [rw] label_inclusion_filters
2614
2742
  # The labels that should be included in the return from DetectLabels.
@@ -2903,6 +3031,62 @@ module Aws::Rekognition
2903
3031
  include Aws::Structure
2904
3032
  end
2905
3033
 
3034
+ # @!attribute [rw] session_id
3035
+ # A unique 128-bit UUID. This is used to uniquely identify the session
3036
+ # and also acts as an idempotency token for all operations associated
3037
+ # with the session.
3038
+ # @return [String]
3039
+ #
3040
+ class GetFaceLivenessSessionResultsRequest < Struct.new(
3041
+ :session_id)
3042
+ SENSITIVE = []
3043
+ include Aws::Structure
3044
+ end
3045
+
3046
+ # @!attribute [rw] session_id
3047
+ # The sessionId for which this request was called.
3048
+ # @return [String]
3049
+ #
3050
+ # @!attribute [rw] status
3051
+ # Represents a status corresponding to the state of the session.
3052
+ # Possible statuses are: CREATED, IN\_PROGRESS, SUCCEEDED, FAILED,
3053
+ # EXPIRED.
3054
+ # @return [String]
3055
+ #
3056
+ # @!attribute [rw] confidence
3057
+ # Probabalistic confidence score for if the person in the given video
3058
+ # was live, represented as a float value between 0 to 100.
3059
+ # @return [Float]
3060
+ #
3061
+ # @!attribute [rw] reference_image
3062
+ # A high-quality image from the Face Liveness video that can be used
3063
+ # for face comparison or search. It includes a bounding box of the
3064
+ # face and the Base64-encoded bytes that return an image. If the
3065
+ # CreateFaceLivenessSession request included an OutputConfig argument,
3066
+ # the image will be uploaded to an S3Object specified in the output
3067
+ # configuration. In case the reference image is not returned, it's
3068
+ # recommended to retry the Liveness check.
3069
+ # @return [Types::AuditImage]
3070
+ #
3071
+ # @!attribute [rw] audit_images
3072
+ # A set of images from the Face Liveness video that can be used for
3073
+ # audit purposes. It includes a bounding box of the face and the
3074
+ # Base64-encoded bytes that return an image. If the
3075
+ # CreateFaceLivenessSession request included an OutputConfig argument,
3076
+ # the image will be uploaded to an S3Object specified in the output
3077
+ # configuration.
3078
+ # @return [Array<Types::AuditImage>]
3079
+ #
3080
+ class GetFaceLivenessSessionResultsResponse < Struct.new(
3081
+ :session_id,
3082
+ :status,
3083
+ :confidence,
3084
+ :reference_image,
3085
+ :audit_images)
3086
+ SENSITIVE = []
3087
+ include Aws::Structure
3088
+ end
3089
+
2906
3090
  # @!attribute [rw] job_id
2907
3091
  # The job identifer for the search request. You get the job identifier
2908
3092
  # from an initial call to `StartFaceSearch`.
@@ -3439,7 +3623,8 @@ module Aws::Rekognition
3439
3623
  # Guide.
3440
3624
  #
3441
3625
  # @!attribute [rw] bytes
3442
- # Blob of image bytes up to 5 MBs.
3626
+ # Blob of image bytes up to 5 MBs. Note that the maximum image size
3627
+ # you can pass to `DetectCustomLabels` is 4MB.
3443
3628
  # @return [String]
3444
3629
  #
3445
3630
  # @!attribute [rw] s3_object
@@ -3851,7 +4036,12 @@ module Aws::Rekognition
3851
4036
  # @!attribute [rw] general_labels
3852
4037
  # Contains filters for the object labels returned by DetectLabels.
3853
4038
  # Filters can be inclusive, exclusive, or a combination of both and
3854
- # can be applied to individual l abels or entire label categories.
4039
+ # can be applied to individual labels or entire label categories. To
4040
+ # see a list of label categories, see [Detecting Labels][1].
4041
+ #
4042
+ #
4043
+ #
4044
+ # [1]: https://docs.aws.amazon.com/rekognition/latest/dg/labels.html
3855
4045
  # @return [Types::GeneralLabelsSettings]
3856
4046
  #
3857
4047
  class LabelDetectionSettings < Struct.new(
@@ -4203,6 +4393,29 @@ module Aws::Rekognition
4203
4393
  include Aws::Structure
4204
4394
  end
4205
4395
 
4396
+ # Contains settings that specify the location of an Amazon S3 bucket
4397
+ # used to store the output of a Face Liveness session. Note that the S3
4398
+ # bucket must be located in the caller's AWS account and in the same
4399
+ # region as the Face Liveness end-point. Additionally, the Amazon S3
4400
+ # object keys are auto-generated by the Face Liveness system.
4401
+ #
4402
+ # @!attribute [rw] s3_bucket
4403
+ # The path to an AWS Amazon S3 bucket used to store Face Liveness
4404
+ # session results.
4405
+ # @return [String]
4406
+ #
4407
+ # @!attribute [rw] s3_key_prefix
4408
+ # The prefix appended to the output files for the Face Liveness
4409
+ # session results.
4410
+ # @return [String]
4411
+ #
4412
+ class LivenessOutputConfig < Struct.new(
4413
+ :s3_bucket,
4414
+ :s3_key_prefix)
4415
+ SENSITIVE = []
4416
+ include Aws::Structure
4417
+ end
4418
+
4206
4419
  # The format of the project policy document that you supplied to
4207
4420
  # `PutProjectPolicy` is incorrect.
4208
4421
  #
@@ -5225,6 +5438,10 @@ module Aws::Rekognition
5225
5438
  #
5226
5439
  class ServiceQuotaExceededException < Aws::EmptyStructure; end
5227
5440
 
5441
+ # Occurs when a given sessionId is not found.
5442
+ #
5443
+ class SessionNotFoundException < Aws::EmptyStructure; end
5444
+
5228
5445
  # Information about a shot detection segment detected in a video. For
5229
5446
  # more information, see SegmentDetection.
5230
5447
  #
@@ -53,6 +53,6 @@ require_relative 'aws-sdk-rekognition/customizations'
53
53
  # @!group service
54
54
  module Aws::Rekognition
55
55
 
56
- GEM_VERSION = '1.73.0'
56
+ GEM_VERSION = '1.75.0'
57
57
 
58
58
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-rekognition
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.73.0
4
+ version: 1.75.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-12-12 00:00:00.000000000 Z
11
+ date: 2023-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core