aws-sdk-rekognition 1.88.0 → 1.89.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: a551cb396b27bb20cdc60e830aac3154aacd2202ca39e68511ed086ea4db2306
4
- data.tar.gz: b8b9019dd0392c6b98e5ea515ee4c0676e9332adbd05e46c8a224fd5aba4926f
3
+ metadata.gz: c272d39b7ba43480336624e3c65e56dbe1f151afa62a2a8fb8b7eac28a30c20f
4
+ data.tar.gz: 9a6a4f41a6ba17dae5b0fd6576b3f1052d0d277073d41b63d75844c20f024ecf
5
5
  SHA512:
6
- metadata.gz: c9b3926a9be08e983a65f76747b77038ceba3bac3e82812db173010d86f44310b3b22aaabc576840d067f0174bb539621361e202c1d492451d654da8e049f23c
7
- data.tar.gz: ec1cea85821ee0dbeb2eac1894fe82c1f9f542264399da50464b9d5da9cbaebb1f9d06cbf31c22b27bfee09c52e1d4ce6452b97e482bbec415bf657769326dba
6
+ metadata.gz: 4fc69ed490e408a8e269e55b08515d5ffdf2a7b0c1237b44f047787ef9819200f2ee1374a32960ce5a5f2819ca058b9d3f9daf87812d0a3ff664c1281c58ae40
7
+ data.tar.gz: c23b7788e2d35670c36782a04a4fe761c7deb6a7f94c2c071d574d8724e70b1de27096fe18fe9efdaa68b280dae70fdb65bec4cb070ddad905106c076eca948b
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.89.0 (2023-10-23)
5
+ ------------------
6
+
7
+ * Feature - Amazon Rekognition introduces StartMediaAnalysisJob, GetMediaAnalysisJob, and ListMediaAnalysisJobs operations to run a bulk analysis of images with a Detect Moderation model.
8
+
4
9
  1.88.0 (2023-10-12)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.88.0
1
+ 1.89.0
@@ -4549,6 +4549,111 @@ module Aws::Rekognition
4549
4549
  req.send_request(options)
4550
4550
  end
4551
4551
 
4552
+ # Retrieves the results for a given media analysis job. Takes a `JobId`
4553
+ # returned by StartMediaAnalysisJob.
4554
+ #
4555
+ # @option params [required, String] :job_id
4556
+ # Unique identifier for the media analysis job for which you want to
4557
+ # retrieve results.
4558
+ #
4559
+ # @return [Types::GetMediaAnalysisJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4560
+ #
4561
+ # * {Types::GetMediaAnalysisJobResponse#job_id #job_id} => String
4562
+ # * {Types::GetMediaAnalysisJobResponse#job_name #job_name} => String
4563
+ # * {Types::GetMediaAnalysisJobResponse#operations_config #operations_config} => Types::MediaAnalysisOperationsConfig
4564
+ # * {Types::GetMediaAnalysisJobResponse#status #status} => String
4565
+ # * {Types::GetMediaAnalysisJobResponse#failure_details #failure_details} => Types::MediaAnalysisJobFailureDetails
4566
+ # * {Types::GetMediaAnalysisJobResponse#creation_timestamp #creation_timestamp} => Time
4567
+ # * {Types::GetMediaAnalysisJobResponse#completion_timestamp #completion_timestamp} => Time
4568
+ # * {Types::GetMediaAnalysisJobResponse#input #input} => Types::MediaAnalysisInput
4569
+ # * {Types::GetMediaAnalysisJobResponse#output_config #output_config} => Types::MediaAnalysisOutputConfig
4570
+ # * {Types::GetMediaAnalysisJobResponse#kms_key_id #kms_key_id} => String
4571
+ # * {Types::GetMediaAnalysisJobResponse#results #results} => Types::MediaAnalysisResults
4572
+ # * {Types::GetMediaAnalysisJobResponse#manifest_summary #manifest_summary} => Types::MediaAnalysisManifestSummary
4573
+ #
4574
+ #
4575
+ # @example Example: GetMediaAnalysisJob
4576
+ #
4577
+ # # Retrieves the results for a given media analysis job.
4578
+ #
4579
+ # resp = client.get_media_analysis_job({
4580
+ # job_id: "861a0645d98ef88efb75477628c011c04942d9d5f58faf2703c393c8cf8c1537",
4581
+ # })
4582
+ #
4583
+ # resp.to_h outputs the following:
4584
+ # {
4585
+ # completion_timestamp: Time.parse("2023-07-28T08:05:51.958000-07:00"),
4586
+ # creation_timestamp: Time.parse("2023-07-28T08:05:51.958000-06:00"),
4587
+ # input: {
4588
+ # s3_object: {
4589
+ # bucket: "input-bucket",
4590
+ # name: "input-manifest.json",
4591
+ # },
4592
+ # },
4593
+ # job_id: "861a0645d98ef88efb75477628c011c04942d9d5f58faf2703c393c8cf8c1537",
4594
+ # job_name: "job-name",
4595
+ # manifest_summary: {
4596
+ # s3_object: {
4597
+ # bucket: "output-bucket",
4598
+ # name: "output-location/861a0645d98ef88efb75477628c011c04942d9d5f58faf2703c393c8cf8c1537-manifest-summary.json",
4599
+ # },
4600
+ # },
4601
+ # operations_config: {
4602
+ # detect_moderation_labels: {
4603
+ # min_confidence: 50,
4604
+ # project_version: "arn:aws:rekognition:us-east-1:111122223333:project/my-project/version/1/1690556751958",
4605
+ # },
4606
+ # },
4607
+ # output_config: {
4608
+ # s3_bucket: "output-bucket",
4609
+ # s3_key_prefix: "output-location",
4610
+ # },
4611
+ # results: {
4612
+ # s3_object: {
4613
+ # bucket: "output-bucket",
4614
+ # name: "output-location/861a0645d98ef88efb75477628c011c04942d9d5f58faf2703c393c8cf8c1537-results.jsonl",
4615
+ # },
4616
+ # },
4617
+ # status: "SUCCEEDED",
4618
+ # }
4619
+ #
4620
+ # @example Request syntax with placeholder values
4621
+ #
4622
+ # resp = client.get_media_analysis_job({
4623
+ # job_id: "MediaAnalysisJobId", # required
4624
+ # })
4625
+ #
4626
+ # @example Response structure
4627
+ #
4628
+ # resp.job_id #=> String
4629
+ # resp.job_name #=> String
4630
+ # resp.operations_config.detect_moderation_labels.min_confidence #=> Float
4631
+ # resp.operations_config.detect_moderation_labels.project_version #=> String
4632
+ # resp.status #=> String, one of "CREATED", "QUEUED", "IN_PROGRESS", "SUCCEEDED", "FAILED"
4633
+ # resp.failure_details.code #=> String, one of "INTERNAL_ERROR", "INVALID_S3_OBJECT", "INVALID_MANIFEST", "INVALID_OUTPUT_CONFIG", "INVALID_KMS_KEY", "ACCESS_DENIED", "RESOURCE_NOT_FOUND", "RESOURCE_NOT_READY", "THROTTLED"
4634
+ # resp.failure_details.message #=> String
4635
+ # resp.creation_timestamp #=> Time
4636
+ # resp.completion_timestamp #=> Time
4637
+ # resp.input.s3_object.bucket #=> String
4638
+ # resp.input.s3_object.name #=> String
4639
+ # resp.input.s3_object.version #=> String
4640
+ # resp.output_config.s3_bucket #=> String
4641
+ # resp.output_config.s3_key_prefix #=> String
4642
+ # resp.kms_key_id #=> String
4643
+ # resp.results.s3_object.bucket #=> String
4644
+ # resp.results.s3_object.name #=> String
4645
+ # resp.results.s3_object.version #=> String
4646
+ # resp.manifest_summary.s3_object.bucket #=> String
4647
+ # resp.manifest_summary.s3_object.name #=> String
4648
+ # resp.manifest_summary.s3_object.version #=> String
4649
+ #
4650
+ # @overload get_media_analysis_job(params = {})
4651
+ # @param [Hash] params ({})
4652
+ def get_media_analysis_job(params = {}, options = {})
4653
+ req = build_request(:get_media_analysis_job, params)
4654
+ req.send_request(options)
4655
+ end
4656
+
4552
4657
  # Gets the path tracking results of a Amazon Rekognition Video analysis
4553
4658
  # started by StartPersonTracking.
4554
4659
  #
@@ -5781,6 +5886,115 @@ module Aws::Rekognition
5781
5886
  req.send_request(options)
5782
5887
  end
5783
5888
 
5889
+ # Returns a list of media analysis jobs. Results are sorted by
5890
+ # `CreationTimestamp` in descending order.
5891
+ #
5892
+ # @option params [String] :next_token
5893
+ # Pagination token, if the previous response was incomplete.
5894
+ #
5895
+ # @option params [Integer] :max_results
5896
+ # The maximum number of results to return per paginated call. The
5897
+ # largest value user can specify is 100. If user specifies a value
5898
+ # greater than 100, an `InvalidParameterException` error occurs. The
5899
+ # default value is 100.
5900
+ #
5901
+ # @return [Types::ListMediaAnalysisJobsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5902
+ #
5903
+ # * {Types::ListMediaAnalysisJobsResponse#next_token #next_token} => String
5904
+ # * {Types::ListMediaAnalysisJobsResponse#media_analysis_jobs #media_analysis_jobs} => Array<Types::MediaAnalysisJobDescription>
5905
+ #
5906
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
5907
+ #
5908
+ #
5909
+ # @example Example: ListMediaAnalysisJobs
5910
+ #
5911
+ # # Returns a list of media analysis jobs.
5912
+ #
5913
+ # resp = client.list_media_analysis_jobs({
5914
+ # max_results: 10,
5915
+ # })
5916
+ #
5917
+ # resp.to_h outputs the following:
5918
+ # {
5919
+ # media_analysis_jobs: [
5920
+ # {
5921
+ # completion_timestamp: Time.parse("2023-07-28T08:05:51.958000-07:00"),
5922
+ # creation_timestamp: Time.parse("2023-07-28T08:05:51.958000-06:00"),
5923
+ # input: {
5924
+ # s3_object: {
5925
+ # bucket: "input-bucket",
5926
+ # name: "input-manifest.json",
5927
+ # },
5928
+ # },
5929
+ # job_id: "861a0645d98ef88efb75477628c011c04942d9d5f58faf2703c393c8cf8c1537",
5930
+ # job_name: "job-name",
5931
+ # manifest_summary: {
5932
+ # s3_object: {
5933
+ # bucket: "output-bucket",
5934
+ # name: "output-location/861a0645d98ef88efb75477628c011c04942d9d5f58faf2703c393c8cf8c1537-manifest-summary.json",
5935
+ # },
5936
+ # },
5937
+ # operations_config: {
5938
+ # detect_moderation_labels: {
5939
+ # min_confidence: 50,
5940
+ # project_version: "arn:aws:rekognition:us-east-1:111122223333:project/my-project/version/1/1690556751958",
5941
+ # },
5942
+ # },
5943
+ # output_config: {
5944
+ # s3_bucket: "output-bucket",
5945
+ # s3_key_prefix: "output-location",
5946
+ # },
5947
+ # results: {
5948
+ # s3_object: {
5949
+ # bucket: "output-bucket",
5950
+ # name: "output-location/861a0645d98ef88efb75477628c011c04942d9d5f58faf2703c393c8cf8c1537-results.jsonl",
5951
+ # },
5952
+ # },
5953
+ # status: "SUCCEEDED",
5954
+ # },
5955
+ # ],
5956
+ # }
5957
+ #
5958
+ # @example Request syntax with placeholder values
5959
+ #
5960
+ # resp = client.list_media_analysis_jobs({
5961
+ # next_token: "ExtendedPaginationToken",
5962
+ # max_results: 1,
5963
+ # })
5964
+ #
5965
+ # @example Response structure
5966
+ #
5967
+ # resp.next_token #=> String
5968
+ # resp.media_analysis_jobs #=> Array
5969
+ # resp.media_analysis_jobs[0].job_id #=> String
5970
+ # resp.media_analysis_jobs[0].job_name #=> String
5971
+ # resp.media_analysis_jobs[0].operations_config.detect_moderation_labels.min_confidence #=> Float
5972
+ # resp.media_analysis_jobs[0].operations_config.detect_moderation_labels.project_version #=> String
5973
+ # resp.media_analysis_jobs[0].status #=> String, one of "CREATED", "QUEUED", "IN_PROGRESS", "SUCCEEDED", "FAILED"
5974
+ # resp.media_analysis_jobs[0].failure_details.code #=> String, one of "INTERNAL_ERROR", "INVALID_S3_OBJECT", "INVALID_MANIFEST", "INVALID_OUTPUT_CONFIG", "INVALID_KMS_KEY", "ACCESS_DENIED", "RESOURCE_NOT_FOUND", "RESOURCE_NOT_READY", "THROTTLED"
5975
+ # resp.media_analysis_jobs[0].failure_details.message #=> String
5976
+ # resp.media_analysis_jobs[0].creation_timestamp #=> Time
5977
+ # resp.media_analysis_jobs[0].completion_timestamp #=> Time
5978
+ # resp.media_analysis_jobs[0].input.s3_object.bucket #=> String
5979
+ # resp.media_analysis_jobs[0].input.s3_object.name #=> String
5980
+ # resp.media_analysis_jobs[0].input.s3_object.version #=> String
5981
+ # resp.media_analysis_jobs[0].output_config.s3_bucket #=> String
5982
+ # resp.media_analysis_jobs[0].output_config.s3_key_prefix #=> String
5983
+ # resp.media_analysis_jobs[0].kms_key_id #=> String
5984
+ # resp.media_analysis_jobs[0].results.s3_object.bucket #=> String
5985
+ # resp.media_analysis_jobs[0].results.s3_object.name #=> String
5986
+ # resp.media_analysis_jobs[0].results.s3_object.version #=> String
5987
+ # resp.media_analysis_jobs[0].manifest_summary.s3_object.bucket #=> String
5988
+ # resp.media_analysis_jobs[0].manifest_summary.s3_object.name #=> String
5989
+ # resp.media_analysis_jobs[0].manifest_summary.s3_object.version #=> String
5990
+ #
5991
+ # @overload list_media_analysis_jobs(params = {})
5992
+ # @param [Hash] params ({})
5993
+ def list_media_analysis_jobs(params = {}, options = {})
5994
+ req = build_request(:list_media_analysis_jobs, params)
5995
+ req.send_request(options)
5996
+ end
5997
+
5784
5998
  # <note markdown="1"> This operation applies only to Amazon Rekognition Custom Labels.
5785
5999
  #
5786
6000
  # </note>
@@ -7340,6 +7554,108 @@ module Aws::Rekognition
7340
7554
  req.send_request(options)
7341
7555
  end
7342
7556
 
7557
+ # Initiates a new media analysis job. Accepts a manifest file in an
7558
+ # Amazon S3 bucket. The output is a manifest file and a summary of the
7559
+ # manifest stored in the Amazon S3 bucket.
7560
+ #
7561
+ # @option params [String] :client_request_token
7562
+ # Idempotency token used to prevent the accidental creation of duplicate
7563
+ # versions. If you use the same token with multiple
7564
+ # `StartMediaAnalysisJobRequest` requests, the same response is
7565
+ # returned. Use `ClientRequestToken` to prevent the same request from
7566
+ # being processed more than once.
7567
+ #
7568
+ # **A suitable default value is auto-generated.** You should normally
7569
+ # not need to pass this option.**
7570
+ #
7571
+ # @option params [String] :job_name
7572
+ # The name of the job. Does not have to be unique.
7573
+ #
7574
+ # @option params [required, Types::MediaAnalysisOperationsConfig] :operations_config
7575
+ # Configuration options for the media analysis job to be created.
7576
+ #
7577
+ # @option params [required, Types::MediaAnalysisInput] :input
7578
+ # Input data to be analyzed by the job.
7579
+ #
7580
+ # @option params [required, Types::MediaAnalysisOutputConfig] :output_config
7581
+ # The Amazon S3 bucket location to store the results.
7582
+ #
7583
+ # @option params [String] :kms_key_id
7584
+ # The identifier of customer managed AWS KMS key (name or ARN). The key
7585
+ # is used to encrypt images copied into the service. The key is also
7586
+ # used to encrypt results and manifest files written to the output
7587
+ # Amazon S3 bucket.
7588
+ #
7589
+ # @return [Types::StartMediaAnalysisJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7590
+ #
7591
+ # * {Types::StartMediaAnalysisJobResponse#job_id #job_id} => String
7592
+ #
7593
+ #
7594
+ # @example Example: StartMediaAnalysisJob
7595
+ #
7596
+ # # Initiates a new media analysis job.
7597
+ #
7598
+ # resp = client.start_media_analysis_job({
7599
+ # input: {
7600
+ # s3_object: {
7601
+ # bucket: "input-bucket",
7602
+ # name: "input-manifest.json",
7603
+ # },
7604
+ # },
7605
+ # job_name: "job-name",
7606
+ # operations_config: {
7607
+ # detect_moderation_labels: {
7608
+ # min_confidence: 50,
7609
+ # project_version: "arn:aws:rekognition:us-east-1:111122223333:project/my-project/version/1/1690556751958",
7610
+ # },
7611
+ # },
7612
+ # output_config: {
7613
+ # s3_bucket: "output-bucket",
7614
+ # s3_key_prefix: "output-location",
7615
+ # },
7616
+ # })
7617
+ #
7618
+ # resp.to_h outputs the following:
7619
+ # {
7620
+ # job_id: "861a0645d98ef88efb75477628c011c04942d9d5f58faf2703c393c8cf8c1537",
7621
+ # }
7622
+ #
7623
+ # @example Request syntax with placeholder values
7624
+ #
7625
+ # resp = client.start_media_analysis_job({
7626
+ # client_request_token: "ClientRequestToken",
7627
+ # job_name: "MediaAnalysisJobName",
7628
+ # operations_config: { # required
7629
+ # detect_moderation_labels: {
7630
+ # min_confidence: 1.0,
7631
+ # project_version: "ProjectVersionId",
7632
+ # },
7633
+ # },
7634
+ # input: { # required
7635
+ # s3_object: { # required
7636
+ # bucket: "S3Bucket",
7637
+ # name: "S3ObjectName",
7638
+ # version: "S3ObjectVersion",
7639
+ # },
7640
+ # },
7641
+ # output_config: { # required
7642
+ # s3_bucket: "S3Bucket", # required
7643
+ # s3_key_prefix: "MediaAnalysisS3KeyPrefix",
7644
+ # },
7645
+ # kms_key_id: "KmsKeyId",
7646
+ # })
7647
+ #
7648
+ # @example Response structure
7649
+ #
7650
+ # resp.job_id #=> String
7651
+ #
7652
+ # @overload start_media_analysis_job(params = {})
7653
+ # @param [Hash] params ({})
7654
+ def start_media_analysis_job(params = {}, options = {})
7655
+ req = build_request(:start_media_analysis_job, params)
7656
+ req.send_request(options)
7657
+ end
7658
+
7343
7659
  # Starts the asynchronous tracking of a person's path in a stored
7344
7660
  # video.
7345
7661
  #
@@ -8052,7 +8368,7 @@ module Aws::Rekognition
8052
8368
  params: params,
8053
8369
  config: config)
8054
8370
  context[:gem_name] = 'aws-sdk-rekognition'
8055
- context[:gem_version] = '1.88.0'
8371
+ context[:gem_version] = '1.89.0'
8056
8372
  Seahorse::Client::Request.new(handlers, context)
8057
8373
  end
8058
8374
 
@@ -218,6 +218,8 @@ module Aws::Rekognition
218
218
  GetLabelDetectionRequest = Shapes::StructureShape.new(name: 'GetLabelDetectionRequest')
219
219
  GetLabelDetectionRequestMetadata = Shapes::StructureShape.new(name: 'GetLabelDetectionRequestMetadata')
220
220
  GetLabelDetectionResponse = Shapes::StructureShape.new(name: 'GetLabelDetectionResponse')
221
+ GetMediaAnalysisJobRequest = Shapes::StructureShape.new(name: 'GetMediaAnalysisJobRequest')
222
+ GetMediaAnalysisJobResponse = Shapes::StructureShape.new(name: 'GetMediaAnalysisJobResponse')
221
223
  GetPersonTrackingRequest = Shapes::StructureShape.new(name: 'GetPersonTrackingRequest')
222
224
  GetPersonTrackingResponse = Shapes::StructureShape.new(name: 'GetPersonTrackingResponse')
223
225
  GetSegmentDetectionRequest = Shapes::StructureShape.new(name: 'GetSegmentDetectionRequest')
@@ -250,6 +252,7 @@ module Aws::Rekognition
250
252
  Instances = Shapes::ListShape.new(name: 'Instances')
251
253
  InternalServerError = Shapes::StructureShape.new(name: 'InternalServerError')
252
254
  InvalidImageFormatException = Shapes::StructureShape.new(name: 'InvalidImageFormatException')
255
+ InvalidManifestException = Shapes::StructureShape.new(name: 'InvalidManifestException')
253
256
  InvalidPaginationTokenException = Shapes::StructureShape.new(name: 'InvalidPaginationTokenException')
254
257
  InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException')
255
258
  InvalidPolicyRevisionIdException = Shapes::StructureShape.new(name: 'InvalidPolicyRevisionIdException')
@@ -293,6 +296,9 @@ module Aws::Rekognition
293
296
  ListDatasetLabelsResponse = Shapes::StructureShape.new(name: 'ListDatasetLabelsResponse')
294
297
  ListFacesRequest = Shapes::StructureShape.new(name: 'ListFacesRequest')
295
298
  ListFacesResponse = Shapes::StructureShape.new(name: 'ListFacesResponse')
299
+ ListMediaAnalysisJobsPageSize = Shapes::IntegerShape.new(name: 'ListMediaAnalysisJobsPageSize')
300
+ ListMediaAnalysisJobsRequest = Shapes::StructureShape.new(name: 'ListMediaAnalysisJobsRequest')
301
+ ListMediaAnalysisJobsResponse = Shapes::StructureShape.new(name: 'ListMediaAnalysisJobsResponse')
296
302
  ListProjectPoliciesPageSize = Shapes::IntegerShape.new(name: 'ListProjectPoliciesPageSize')
297
303
  ListProjectPoliciesRequest = Shapes::StructureShape.new(name: 'ListProjectPoliciesRequest')
298
304
  ListProjectPoliciesResponse = Shapes::StructureShape.new(name: 'ListProjectPoliciesResponse')
@@ -315,6 +321,20 @@ module Aws::Rekognition
315
321
  MaxPixelThreshold = Shapes::FloatShape.new(name: 'MaxPixelThreshold')
316
322
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
317
323
  MaxUserResults = Shapes::IntegerShape.new(name: 'MaxUserResults')
324
+ MediaAnalysisDetectModerationLabelsConfig = Shapes::StructureShape.new(name: 'MediaAnalysisDetectModerationLabelsConfig')
325
+ MediaAnalysisInput = Shapes::StructureShape.new(name: 'MediaAnalysisInput')
326
+ MediaAnalysisJobDescription = Shapes::StructureShape.new(name: 'MediaAnalysisJobDescription')
327
+ MediaAnalysisJobDescriptions = Shapes::ListShape.new(name: 'MediaAnalysisJobDescriptions')
328
+ MediaAnalysisJobFailureCode = Shapes::StringShape.new(name: 'MediaAnalysisJobFailureCode')
329
+ MediaAnalysisJobFailureDetails = Shapes::StructureShape.new(name: 'MediaAnalysisJobFailureDetails')
330
+ MediaAnalysisJobId = Shapes::StringShape.new(name: 'MediaAnalysisJobId')
331
+ MediaAnalysisJobName = Shapes::StringShape.new(name: 'MediaAnalysisJobName')
332
+ MediaAnalysisJobStatus = Shapes::StringShape.new(name: 'MediaAnalysisJobStatus')
333
+ MediaAnalysisManifestSummary = Shapes::StructureShape.new(name: 'MediaAnalysisManifestSummary')
334
+ MediaAnalysisOperationsConfig = Shapes::StructureShape.new(name: 'MediaAnalysisOperationsConfig')
335
+ MediaAnalysisOutputConfig = Shapes::StructureShape.new(name: 'MediaAnalysisOutputConfig')
336
+ MediaAnalysisResults = Shapes::StructureShape.new(name: 'MediaAnalysisResults')
337
+ MediaAnalysisS3KeyPrefix = Shapes::StringShape.new(name: 'MediaAnalysisS3KeyPrefix')
318
338
  MinCoveragePercentage = Shapes::FloatShape.new(name: 'MinCoveragePercentage')
319
339
  ModerationLabel = Shapes::StructureShape.new(name: 'ModerationLabel')
320
340
  ModerationLabels = Shapes::ListShape.new(name: 'ModerationLabels')
@@ -422,6 +442,8 @@ module Aws::Rekognition
422
442
  StartFaceSearchResponse = Shapes::StructureShape.new(name: 'StartFaceSearchResponse')
423
443
  StartLabelDetectionRequest = Shapes::StructureShape.new(name: 'StartLabelDetectionRequest')
424
444
  StartLabelDetectionResponse = Shapes::StructureShape.new(name: 'StartLabelDetectionResponse')
445
+ StartMediaAnalysisJobRequest = Shapes::StructureShape.new(name: 'StartMediaAnalysisJobRequest')
446
+ StartMediaAnalysisJobResponse = Shapes::StructureShape.new(name: 'StartMediaAnalysisJobResponse')
425
447
  StartPersonTrackingRequest = Shapes::StructureShape.new(name: 'StartPersonTrackingRequest')
426
448
  StartPersonTrackingResponse = Shapes::StructureShape.new(name: 'StartPersonTrackingResponse')
427
449
  StartProjectVersionRequest = Shapes::StructureShape.new(name: 'StartProjectVersionRequest')
@@ -1280,6 +1302,23 @@ module Aws::Rekognition
1280
1302
  GetLabelDetectionResponse.add_member(:get_request_metadata, Shapes::ShapeRef.new(shape: GetLabelDetectionRequestMetadata, location_name: "GetRequestMetadata"))
1281
1303
  GetLabelDetectionResponse.struct_class = Types::GetLabelDetectionResponse
1282
1304
 
1305
+ GetMediaAnalysisJobRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: MediaAnalysisJobId, required: true, location_name: "JobId"))
1306
+ GetMediaAnalysisJobRequest.struct_class = Types::GetMediaAnalysisJobRequest
1307
+
1308
+ GetMediaAnalysisJobResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: MediaAnalysisJobId, required: true, location_name: "JobId"))
1309
+ GetMediaAnalysisJobResponse.add_member(:job_name, Shapes::ShapeRef.new(shape: MediaAnalysisJobName, location_name: "JobName"))
1310
+ GetMediaAnalysisJobResponse.add_member(:operations_config, Shapes::ShapeRef.new(shape: MediaAnalysisOperationsConfig, required: true, location_name: "OperationsConfig"))
1311
+ GetMediaAnalysisJobResponse.add_member(:status, Shapes::ShapeRef.new(shape: MediaAnalysisJobStatus, required: true, location_name: "Status"))
1312
+ GetMediaAnalysisJobResponse.add_member(:failure_details, Shapes::ShapeRef.new(shape: MediaAnalysisJobFailureDetails, location_name: "FailureDetails"))
1313
+ GetMediaAnalysisJobResponse.add_member(:creation_timestamp, Shapes::ShapeRef.new(shape: DateTime, required: true, location_name: "CreationTimestamp"))
1314
+ GetMediaAnalysisJobResponse.add_member(:completion_timestamp, Shapes::ShapeRef.new(shape: DateTime, location_name: "CompletionTimestamp"))
1315
+ GetMediaAnalysisJobResponse.add_member(:input, Shapes::ShapeRef.new(shape: MediaAnalysisInput, required: true, location_name: "Input"))
1316
+ GetMediaAnalysisJobResponse.add_member(:output_config, Shapes::ShapeRef.new(shape: MediaAnalysisOutputConfig, required: true, location_name: "OutputConfig"))
1317
+ GetMediaAnalysisJobResponse.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: KmsKeyId, location_name: "KmsKeyId"))
1318
+ GetMediaAnalysisJobResponse.add_member(:results, Shapes::ShapeRef.new(shape: MediaAnalysisResults, location_name: "Results"))
1319
+ GetMediaAnalysisJobResponse.add_member(:manifest_summary, Shapes::ShapeRef.new(shape: MediaAnalysisManifestSummary, location_name: "ManifestSummary"))
1320
+ GetMediaAnalysisJobResponse.struct_class = Types::GetMediaAnalysisJobResponse
1321
+
1283
1322
  GetPersonTrackingRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, required: true, location_name: "JobId"))
1284
1323
  GetPersonTrackingRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
1285
1324
  GetPersonTrackingRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
@@ -1389,6 +1428,8 @@ module Aws::Rekognition
1389
1428
 
1390
1429
  InvalidImageFormatException.struct_class = Types::InvalidImageFormatException
1391
1430
 
1431
+ InvalidManifestException.struct_class = Types::InvalidManifestException
1432
+
1392
1433
  InvalidPaginationTokenException.struct_class = Types::InvalidPaginationTokenException
1393
1434
 
1394
1435
  InvalidParameterException.struct_class = Types::InvalidParameterException
@@ -1496,6 +1537,14 @@ module Aws::Rekognition
1496
1537
  ListFacesResponse.add_member(:face_model_version, Shapes::ShapeRef.new(shape: String, location_name: "FaceModelVersion"))
1497
1538
  ListFacesResponse.struct_class = Types::ListFacesResponse
1498
1539
 
1540
+ ListMediaAnalysisJobsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: ExtendedPaginationToken, location_name: "NextToken"))
1541
+ ListMediaAnalysisJobsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListMediaAnalysisJobsPageSize, location_name: "MaxResults"))
1542
+ ListMediaAnalysisJobsRequest.struct_class = Types::ListMediaAnalysisJobsRequest
1543
+
1544
+ ListMediaAnalysisJobsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: ExtendedPaginationToken, location_name: "NextToken"))
1545
+ ListMediaAnalysisJobsResponse.add_member(:media_analysis_jobs, Shapes::ShapeRef.new(shape: MediaAnalysisJobDescriptions, required: true, location_name: "MediaAnalysisJobs"))
1546
+ ListMediaAnalysisJobsResponse.struct_class = Types::ListMediaAnalysisJobsResponse
1547
+
1499
1548
  ListProjectPoliciesRequest.add_member(:project_arn, Shapes::ShapeRef.new(shape: ProjectArn, required: true, location_name: "ProjectArn"))
1500
1549
  ListProjectPoliciesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: ExtendedPaginationToken, location_name: "NextToken"))
1501
1550
  ListProjectPoliciesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListProjectPoliciesPageSize, location_name: "MaxResults"))
@@ -1538,6 +1587,46 @@ module Aws::Rekognition
1538
1587
  MatchedUser.add_member(:user_status, Shapes::ShapeRef.new(shape: UserStatus, location_name: "UserStatus"))
1539
1588
  MatchedUser.struct_class = Types::MatchedUser
1540
1589
 
1590
+ MediaAnalysisDetectModerationLabelsConfig.add_member(:min_confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "MinConfidence"))
1591
+ MediaAnalysisDetectModerationLabelsConfig.add_member(:project_version, Shapes::ShapeRef.new(shape: ProjectVersionId, location_name: "ProjectVersion"))
1592
+ MediaAnalysisDetectModerationLabelsConfig.struct_class = Types::MediaAnalysisDetectModerationLabelsConfig
1593
+
1594
+ MediaAnalysisInput.add_member(:s3_object, Shapes::ShapeRef.new(shape: S3Object, required: true, location_name: "S3Object"))
1595
+ MediaAnalysisInput.struct_class = Types::MediaAnalysisInput
1596
+
1597
+ MediaAnalysisJobDescription.add_member(:job_id, Shapes::ShapeRef.new(shape: MediaAnalysisJobId, required: true, location_name: "JobId"))
1598
+ MediaAnalysisJobDescription.add_member(:job_name, Shapes::ShapeRef.new(shape: MediaAnalysisJobName, location_name: "JobName"))
1599
+ MediaAnalysisJobDescription.add_member(:operations_config, Shapes::ShapeRef.new(shape: MediaAnalysisOperationsConfig, required: true, location_name: "OperationsConfig"))
1600
+ MediaAnalysisJobDescription.add_member(:status, Shapes::ShapeRef.new(shape: MediaAnalysisJobStatus, required: true, location_name: "Status"))
1601
+ MediaAnalysisJobDescription.add_member(:failure_details, Shapes::ShapeRef.new(shape: MediaAnalysisJobFailureDetails, location_name: "FailureDetails"))
1602
+ MediaAnalysisJobDescription.add_member(:creation_timestamp, Shapes::ShapeRef.new(shape: DateTime, required: true, location_name: "CreationTimestamp"))
1603
+ MediaAnalysisJobDescription.add_member(:completion_timestamp, Shapes::ShapeRef.new(shape: DateTime, location_name: "CompletionTimestamp"))
1604
+ MediaAnalysisJobDescription.add_member(:input, Shapes::ShapeRef.new(shape: MediaAnalysisInput, required: true, location_name: "Input"))
1605
+ MediaAnalysisJobDescription.add_member(:output_config, Shapes::ShapeRef.new(shape: MediaAnalysisOutputConfig, required: true, location_name: "OutputConfig"))
1606
+ MediaAnalysisJobDescription.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: KmsKeyId, location_name: "KmsKeyId"))
1607
+ MediaAnalysisJobDescription.add_member(:results, Shapes::ShapeRef.new(shape: MediaAnalysisResults, location_name: "Results"))
1608
+ MediaAnalysisJobDescription.add_member(:manifest_summary, Shapes::ShapeRef.new(shape: MediaAnalysisManifestSummary, location_name: "ManifestSummary"))
1609
+ MediaAnalysisJobDescription.struct_class = Types::MediaAnalysisJobDescription
1610
+
1611
+ MediaAnalysisJobDescriptions.member = Shapes::ShapeRef.new(shape: MediaAnalysisJobDescription)
1612
+
1613
+ MediaAnalysisJobFailureDetails.add_member(:code, Shapes::ShapeRef.new(shape: MediaAnalysisJobFailureCode, location_name: "Code"))
1614
+ MediaAnalysisJobFailureDetails.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
1615
+ MediaAnalysisJobFailureDetails.struct_class = Types::MediaAnalysisJobFailureDetails
1616
+
1617
+ MediaAnalysisManifestSummary.add_member(:s3_object, Shapes::ShapeRef.new(shape: S3Object, location_name: "S3Object"))
1618
+ MediaAnalysisManifestSummary.struct_class = Types::MediaAnalysisManifestSummary
1619
+
1620
+ MediaAnalysisOperationsConfig.add_member(:detect_moderation_labels, Shapes::ShapeRef.new(shape: MediaAnalysisDetectModerationLabelsConfig, location_name: "DetectModerationLabels"))
1621
+ MediaAnalysisOperationsConfig.struct_class = Types::MediaAnalysisOperationsConfig
1622
+
1623
+ MediaAnalysisOutputConfig.add_member(:s3_bucket, Shapes::ShapeRef.new(shape: S3Bucket, required: true, location_name: "S3Bucket"))
1624
+ MediaAnalysisOutputConfig.add_member(:s3_key_prefix, Shapes::ShapeRef.new(shape: MediaAnalysisS3KeyPrefix, location_name: "S3KeyPrefix"))
1625
+ MediaAnalysisOutputConfig.struct_class = Types::MediaAnalysisOutputConfig
1626
+
1627
+ MediaAnalysisResults.add_member(:s3_object, Shapes::ShapeRef.new(shape: S3Object, location_name: "S3Object"))
1628
+ MediaAnalysisResults.struct_class = Types::MediaAnalysisResults
1629
+
1541
1630
  ModerationLabel.add_member(:confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "Confidence"))
1542
1631
  ModerationLabel.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "Name"))
1543
1632
  ModerationLabel.add_member(:parent_name, Shapes::ShapeRef.new(shape: String, location_name: "ParentName"))
@@ -1857,6 +1946,17 @@ module Aws::Rekognition
1857
1946
  StartLabelDetectionResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "JobId"))
1858
1947
  StartLabelDetectionResponse.struct_class = Types::StartLabelDetectionResponse
1859
1948
 
1949
+ StartMediaAnalysisJobRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: ClientRequestToken, location_name: "ClientRequestToken", metadata: {"idempotencyToken"=>true}))
1950
+ StartMediaAnalysisJobRequest.add_member(:job_name, Shapes::ShapeRef.new(shape: MediaAnalysisJobName, location_name: "JobName"))
1951
+ StartMediaAnalysisJobRequest.add_member(:operations_config, Shapes::ShapeRef.new(shape: MediaAnalysisOperationsConfig, required: true, location_name: "OperationsConfig"))
1952
+ StartMediaAnalysisJobRequest.add_member(:input, Shapes::ShapeRef.new(shape: MediaAnalysisInput, required: true, location_name: "Input"))
1953
+ StartMediaAnalysisJobRequest.add_member(:output_config, Shapes::ShapeRef.new(shape: MediaAnalysisOutputConfig, required: true, location_name: "OutputConfig"))
1954
+ StartMediaAnalysisJobRequest.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: KmsKeyId, location_name: "KmsKeyId"))
1955
+ StartMediaAnalysisJobRequest.struct_class = Types::StartMediaAnalysisJobRequest
1956
+
1957
+ StartMediaAnalysisJobResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: MediaAnalysisJobId, required: true, location_name: "JobId"))
1958
+ StartMediaAnalysisJobResponse.struct_class = Types::StartMediaAnalysisJobResponse
1959
+
1860
1960
  StartPersonTrackingRequest.add_member(:video, Shapes::ShapeRef.new(shape: Video, required: true, location_name: "Video"))
1861
1961
  StartPersonTrackingRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: ClientRequestToken, location_name: "ClientRequestToken"))
1862
1962
  StartPersonTrackingRequest.add_member(:notification_channel, Shapes::ShapeRef.new(shape: NotificationChannel, location_name: "NotificationChannel"))
@@ -2767,6 +2867,20 @@ module Aws::Rekognition
2767
2867
  )
2768
2868
  end)
2769
2869
 
2870
+ api.add_operation(:get_media_analysis_job, Seahorse::Model::Operation.new.tap do |o|
2871
+ o.name = "GetMediaAnalysisJob"
2872
+ o.http_method = "POST"
2873
+ o.http_request_uri = "/"
2874
+ o.input = Shapes::ShapeRef.new(shape: GetMediaAnalysisJobRequest)
2875
+ o.output = Shapes::ShapeRef.new(shape: GetMediaAnalysisJobResponse)
2876
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
2877
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2878
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
2879
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2880
+ o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
2881
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
2882
+ end)
2883
+
2770
2884
  api.add_operation(:get_person_tracking, Seahorse::Model::Operation.new.tap do |o|
2771
2885
  o.name = "GetPersonTracking"
2772
2886
  o.http_method = "POST"
@@ -2936,6 +3050,26 @@ module Aws::Rekognition
2936
3050
  )
2937
3051
  end)
2938
3052
 
3053
+ api.add_operation(:list_media_analysis_jobs, Seahorse::Model::Operation.new.tap do |o|
3054
+ o.name = "ListMediaAnalysisJobs"
3055
+ o.http_method = "POST"
3056
+ o.http_request_uri = "/"
3057
+ o.input = Shapes::ShapeRef.new(shape: ListMediaAnalysisJobsRequest)
3058
+ o.output = Shapes::ShapeRef.new(shape: ListMediaAnalysisJobsResponse)
3059
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
3060
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
3061
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
3062
+ o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
3063
+ o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
3064
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
3065
+ o[:pager] = Aws::Pager.new(
3066
+ limit_key: "max_results",
3067
+ tokens: {
3068
+ "next_token" => "next_token"
3069
+ }
3070
+ )
3071
+ end)
3072
+
2939
3073
  api.add_operation(:list_project_policies, Seahorse::Model::Operation.new.tap do |o|
2940
3074
  o.name = "ListProjectPolicies"
2941
3075
  o.http_method = "POST"
@@ -3196,6 +3330,25 @@ module Aws::Rekognition
3196
3330
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
3197
3331
  end)
3198
3332
 
3333
+ api.add_operation(:start_media_analysis_job, Seahorse::Model::Operation.new.tap do |o|
3334
+ o.name = "StartMediaAnalysisJob"
3335
+ o.http_method = "POST"
3336
+ o.http_request_uri = "/"
3337
+ o.input = Shapes::ShapeRef.new(shape: StartMediaAnalysisJobRequest)
3338
+ o.output = Shapes::ShapeRef.new(shape: StartMediaAnalysisJobResponse)
3339
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
3340
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
3341
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
3342
+ o.errors << Shapes::ShapeRef.new(shape: InvalidManifestException)
3343
+ o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
3344
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
3345
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotReadyException)
3346
+ o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
3347
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
3348
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
3349
+ o.errors << Shapes::ShapeRef.new(shape: IdempotentParameterMismatchException)
3350
+ end)
3351
+
3199
3352
  api.add_operation(:start_person_tracking, Seahorse::Model::Operation.new.tap do |o|
3200
3353
  o.name = "StartPersonTracking"
3201
3354
  o.http_method = "POST"
@@ -32,7 +32,7 @@ module Aws::Rekognition
32
32
  raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
33
  end
34
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"))
35
+ if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
36
36
  return Aws::Endpoints::Endpoint.new(url: "https://rekognition-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
37
  end
38
38
  raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
@@ -544,6 +544,20 @@ module Aws::Rekognition
544
544
  end
545
545
  end
546
546
 
547
+ class GetMediaAnalysisJob
548
+ def self.build(context)
549
+ unless context.config.regional_endpoint
550
+ endpoint = context.config.endpoint.to_s
551
+ end
552
+ Aws::Rekognition::EndpointParameters.new(
553
+ region: context.config.region,
554
+ use_dual_stack: context.config.use_dualstack_endpoint,
555
+ use_fips: context.config.use_fips_endpoint,
556
+ endpoint: endpoint,
557
+ )
558
+ end
559
+ end
560
+
547
561
  class GetPersonTracking
548
562
  def self.build(context)
549
563
  unless context.config.regional_endpoint
@@ -656,6 +670,20 @@ module Aws::Rekognition
656
670
  end
657
671
  end
658
672
 
673
+ class ListMediaAnalysisJobs
674
+ def self.build(context)
675
+ unless context.config.regional_endpoint
676
+ endpoint = context.config.endpoint.to_s
677
+ end
678
+ Aws::Rekognition::EndpointParameters.new(
679
+ region: context.config.region,
680
+ use_dual_stack: context.config.use_dualstack_endpoint,
681
+ use_fips: context.config.use_fips_endpoint,
682
+ endpoint: endpoint,
683
+ )
684
+ end
685
+ end
686
+
659
687
  class ListProjectPolicies
660
688
  def self.build(context)
661
689
  unless context.config.regional_endpoint
@@ -866,6 +894,20 @@ module Aws::Rekognition
866
894
  end
867
895
  end
868
896
 
897
+ class StartMediaAnalysisJob
898
+ def self.build(context)
899
+ unless context.config.regional_endpoint
900
+ endpoint = context.config.endpoint.to_s
901
+ end
902
+ Aws::Rekognition::EndpointParameters.new(
903
+ region: context.config.region,
904
+ use_dual_stack: context.config.use_dualstack_endpoint,
905
+ use_fips: context.config.use_fips_endpoint,
906
+ endpoint: endpoint,
907
+ )
908
+ end
909
+ end
910
+
869
911
  class StartPersonTracking
870
912
  def self.build(context)
871
913
  unless context.config.regional_endpoint
@@ -34,6 +34,7 @@ module Aws::Rekognition
34
34
  # * {ImageTooLargeException}
35
35
  # * {InternalServerError}
36
36
  # * {InvalidImageFormatException}
37
+ # * {InvalidManifestException}
37
38
  # * {InvalidPaginationTokenException}
38
39
  # * {InvalidParameterException}
39
40
  # * {InvalidPolicyRevisionIdException}
@@ -141,6 +142,16 @@ module Aws::Rekognition
141
142
  end
142
143
  end
143
144
 
145
+ class InvalidManifestException < ServiceError
146
+
147
+ # @param [Seahorse::Client::RequestContext] context
148
+ # @param [String] message
149
+ # @param [Aws::Rekognition::Types::InvalidManifestException] data
150
+ def initialize(context, message, data = Aws::EmptyStructure.new)
151
+ super(context, message, data)
152
+ end
153
+ end
154
+
144
155
  class InvalidPaginationTokenException < ServiceError
145
156
 
146
157
  # @param [Seahorse::Client::RequestContext] context
@@ -132,6 +132,8 @@ module Aws::Rekognition
132
132
  Aws::Rekognition::Endpoints::GetFaceSearch.build(context)
133
133
  when :get_label_detection
134
134
  Aws::Rekognition::Endpoints::GetLabelDetection.build(context)
135
+ when :get_media_analysis_job
136
+ Aws::Rekognition::Endpoints::GetMediaAnalysisJob.build(context)
135
137
  when :get_person_tracking
136
138
  Aws::Rekognition::Endpoints::GetPersonTracking.build(context)
137
139
  when :get_segment_detection
@@ -148,6 +150,8 @@ module Aws::Rekognition
148
150
  Aws::Rekognition::Endpoints::ListDatasetLabels.build(context)
149
151
  when :list_faces
150
152
  Aws::Rekognition::Endpoints::ListFaces.build(context)
153
+ when :list_media_analysis_jobs
154
+ Aws::Rekognition::Endpoints::ListMediaAnalysisJobs.build(context)
151
155
  when :list_project_policies
152
156
  Aws::Rekognition::Endpoints::ListProjectPolicies.build(context)
153
157
  when :list_stream_processors
@@ -178,6 +182,8 @@ module Aws::Rekognition
178
182
  Aws::Rekognition::Endpoints::StartFaceSearch.build(context)
179
183
  when :start_label_detection
180
184
  Aws::Rekognition::Endpoints::StartLabelDetection.build(context)
185
+ when :start_media_analysis_job
186
+ Aws::Rekognition::Endpoints::StartMediaAnalysisJob.build(context)
181
187
  when :start_person_tracking
182
188
  Aws::Rekognition::Endpoints::StartPersonTracking.build(context)
183
189
  when :start_project_version
@@ -3819,6 +3819,84 @@ module Aws::Rekognition
3819
3819
  include Aws::Structure
3820
3820
  end
3821
3821
 
3822
+ # @!attribute [rw] job_id
3823
+ # Unique identifier for the media analysis job for which you want to
3824
+ # retrieve results.
3825
+ # @return [String]
3826
+ #
3827
+ class GetMediaAnalysisJobRequest < Struct.new(
3828
+ :job_id)
3829
+ SENSITIVE = []
3830
+ include Aws::Structure
3831
+ end
3832
+
3833
+ # @!attribute [rw] job_id
3834
+ # The identifier for the media analysis job.
3835
+ # @return [String]
3836
+ #
3837
+ # @!attribute [rw] job_name
3838
+ # The name of the media analysis job.
3839
+ # @return [String]
3840
+ #
3841
+ # @!attribute [rw] operations_config
3842
+ # Operation configurations that were provided during job creation.
3843
+ # @return [Types::MediaAnalysisOperationsConfig]
3844
+ #
3845
+ # @!attribute [rw] status
3846
+ # The current status of the media analysis job.
3847
+ # @return [String]
3848
+ #
3849
+ # @!attribute [rw] failure_details
3850
+ # Details about the error that resulted in failure of the job.
3851
+ # @return [Types::MediaAnalysisJobFailureDetails]
3852
+ #
3853
+ # @!attribute [rw] creation_timestamp
3854
+ # The Unix date and time when the job was started.
3855
+ # @return [Time]
3856
+ #
3857
+ # @!attribute [rw] completion_timestamp
3858
+ # The Unix date and time when the job finished.
3859
+ # @return [Time]
3860
+ #
3861
+ # @!attribute [rw] input
3862
+ # Reference to the input manifest that was provided in the job
3863
+ # creation request.
3864
+ # @return [Types::MediaAnalysisInput]
3865
+ #
3866
+ # @!attribute [rw] output_config
3867
+ # Output configuration that was provided in the creation request.
3868
+ # @return [Types::MediaAnalysisOutputConfig]
3869
+ #
3870
+ # @!attribute [rw] kms_key_id
3871
+ # KMS Key that was provided in the creation request.
3872
+ # @return [String]
3873
+ #
3874
+ # @!attribute [rw] results
3875
+ # Output manifest that contains prediction results.
3876
+ # @return [Types::MediaAnalysisResults]
3877
+ #
3878
+ # @!attribute [rw] manifest_summary
3879
+ # The summary manifest provides statistics on input manifest and
3880
+ # errors identified in the input manifest.
3881
+ # @return [Types::MediaAnalysisManifestSummary]
3882
+ #
3883
+ class GetMediaAnalysisJobResponse < Struct.new(
3884
+ :job_id,
3885
+ :job_name,
3886
+ :operations_config,
3887
+ :status,
3888
+ :failure_details,
3889
+ :creation_timestamp,
3890
+ :completion_timestamp,
3891
+ :input,
3892
+ :output_config,
3893
+ :kms_key_id,
3894
+ :results,
3895
+ :manifest_summary)
3896
+ SENSITIVE = []
3897
+ include Aws::Structure
3898
+ end
3899
+
3822
3900
  # @!attribute [rw] job_id
3823
3901
  # The identifier for a job that tracks persons in a video. You get the
3824
3902
  # `JobId` from a call to `StartPersonTracking`.
@@ -4474,6 +4552,11 @@ module Aws::Rekognition
4474
4552
  #
4475
4553
  class InvalidImageFormatException < Aws::EmptyStructure; end
4476
4554
 
4555
+ # Indicates that a provided manifest file is empty or larger than the
4556
+ # allowed limit.
4557
+ #
4558
+ class InvalidManifestException < Aws::EmptyStructure; end
4559
+
4477
4560
  # Pagination token in the request is not valid.
4478
4561
  #
4479
4562
  class InvalidPaginationTokenException < Aws::EmptyStructure; end
@@ -4941,6 +5024,39 @@ module Aws::Rekognition
4941
5024
  include Aws::Structure
4942
5025
  end
4943
5026
 
5027
+ # @!attribute [rw] next_token
5028
+ # Pagination token, if the previous response was incomplete.
5029
+ # @return [String]
5030
+ #
5031
+ # @!attribute [rw] max_results
5032
+ # The maximum number of results to return per paginated call. The
5033
+ # largest value user can specify is 100. If user specifies a value
5034
+ # greater than 100, an `InvalidParameterException` error occurs. The
5035
+ # default value is 100.
5036
+ # @return [Integer]
5037
+ #
5038
+ class ListMediaAnalysisJobsRequest < Struct.new(
5039
+ :next_token,
5040
+ :max_results)
5041
+ SENSITIVE = []
5042
+ include Aws::Structure
5043
+ end
5044
+
5045
+ # @!attribute [rw] next_token
5046
+ # Pagination token, if the previous response was incomplete.
5047
+ # @return [String]
5048
+ #
5049
+ # @!attribute [rw] media_analysis_jobs
5050
+ # Contains a list of all media analysis jobs.
5051
+ # @return [Array<Types::MediaAnalysisJobDescription>]
5052
+ #
5053
+ class ListMediaAnalysisJobsResponse < Struct.new(
5054
+ :next_token,
5055
+ :media_analysis_jobs)
5056
+ SENSITIVE = []
5057
+ include Aws::Structure
5058
+ end
5059
+
4944
5060
  # @!attribute [rw] project_arn
4945
5061
  # The ARN of the project for which you want to list the project
4946
5062
  # policies.
@@ -5122,6 +5238,206 @@ module Aws::Rekognition
5122
5238
  include Aws::Structure
5123
5239
  end
5124
5240
 
5241
+ # Configuration for Moderation Labels Detection.
5242
+ #
5243
+ # @!attribute [rw] min_confidence
5244
+ # Specifies the minimum confidence level for the moderation labels to
5245
+ # return. Amazon Rekognition doesn't return any labels with a
5246
+ # confidence level lower than this specified value.
5247
+ # @return [Float]
5248
+ #
5249
+ # @!attribute [rw] project_version
5250
+ # Specifies the custom moderation model to be used during the label
5251
+ # detection job. If not provided the pre-trained model is used.
5252
+ # @return [String]
5253
+ #
5254
+ class MediaAnalysisDetectModerationLabelsConfig < Struct.new(
5255
+ :min_confidence,
5256
+ :project_version)
5257
+ SENSITIVE = []
5258
+ include Aws::Structure
5259
+ end
5260
+
5261
+ # Contains input information for a media analysis job.
5262
+ #
5263
+ # @!attribute [rw] s3_object
5264
+ # Provides the S3 bucket name and object name.
5265
+ #
5266
+ # The region for the S3 bucket containing the S3 object must match the
5267
+ # region you use for Amazon Rekognition operations.
5268
+ #
5269
+ # For Amazon Rekognition to process an S3 object, the user must have
5270
+ # permission to access the S3 object. For more information, see How
5271
+ # Amazon Rekognition works with IAM in the Amazon Rekognition
5272
+ # Developer Guide.
5273
+ # @return [Types::S3Object]
5274
+ #
5275
+ class MediaAnalysisInput < Struct.new(
5276
+ :s3_object)
5277
+ SENSITIVE = []
5278
+ include Aws::Structure
5279
+ end
5280
+
5281
+ # Description for a media analysis job.
5282
+ #
5283
+ # @!attribute [rw] job_id
5284
+ # The identifier for a media analysis job.
5285
+ # @return [String]
5286
+ #
5287
+ # @!attribute [rw] job_name
5288
+ # The name of a media analysis job.
5289
+ # @return [String]
5290
+ #
5291
+ # @!attribute [rw] operations_config
5292
+ # Operation configurations that were provided during job creation.
5293
+ # @return [Types::MediaAnalysisOperationsConfig]
5294
+ #
5295
+ # @!attribute [rw] status
5296
+ # The status of the media analysis job being retrieved.
5297
+ # @return [String]
5298
+ #
5299
+ # @!attribute [rw] failure_details
5300
+ # Details about the error that resulted in failure of the job.
5301
+ # @return [Types::MediaAnalysisJobFailureDetails]
5302
+ #
5303
+ # @!attribute [rw] creation_timestamp
5304
+ # The Unix date and time when the job was started.
5305
+ # @return [Time]
5306
+ #
5307
+ # @!attribute [rw] completion_timestamp
5308
+ # The Unix date and time when the job finished.
5309
+ # @return [Time]
5310
+ #
5311
+ # @!attribute [rw] input
5312
+ # Reference to the input manifest that was provided in the job
5313
+ # creation request.
5314
+ # @return [Types::MediaAnalysisInput]
5315
+ #
5316
+ # @!attribute [rw] output_config
5317
+ # Output configuration that was provided in the creation request.
5318
+ # @return [Types::MediaAnalysisOutputConfig]
5319
+ #
5320
+ # @!attribute [rw] kms_key_id
5321
+ # KMS Key that was provided in the creation request.
5322
+ # @return [String]
5323
+ #
5324
+ # @!attribute [rw] results
5325
+ # Output manifest that contains prediction results.
5326
+ # @return [Types::MediaAnalysisResults]
5327
+ #
5328
+ # @!attribute [rw] manifest_summary
5329
+ # Provides statistics on input manifest and errors identified in the
5330
+ # input manifest.
5331
+ # @return [Types::MediaAnalysisManifestSummary]
5332
+ #
5333
+ class MediaAnalysisJobDescription < Struct.new(
5334
+ :job_id,
5335
+ :job_name,
5336
+ :operations_config,
5337
+ :status,
5338
+ :failure_details,
5339
+ :creation_timestamp,
5340
+ :completion_timestamp,
5341
+ :input,
5342
+ :output_config,
5343
+ :kms_key_id,
5344
+ :results,
5345
+ :manifest_summary)
5346
+ SENSITIVE = []
5347
+ include Aws::Structure
5348
+ end
5349
+
5350
+ # Details about the error that resulted in failure of the job.
5351
+ #
5352
+ # @!attribute [rw] code
5353
+ # Error code for the failed job.
5354
+ # @return [String]
5355
+ #
5356
+ # @!attribute [rw] message
5357
+ # Human readable error message.
5358
+ # @return [String]
5359
+ #
5360
+ class MediaAnalysisJobFailureDetails < Struct.new(
5361
+ :code,
5362
+ :message)
5363
+ SENSITIVE = []
5364
+ include Aws::Structure
5365
+ end
5366
+
5367
+ # Summary that provides statistics on input manifest and errors
5368
+ # identified in the input manifest.
5369
+ #
5370
+ # @!attribute [rw] s3_object
5371
+ # Provides the S3 bucket name and object name.
5372
+ #
5373
+ # The region for the S3 bucket containing the S3 object must match the
5374
+ # region you use for Amazon Rekognition operations.
5375
+ #
5376
+ # For Amazon Rekognition to process an S3 object, the user must have
5377
+ # permission to access the S3 object. For more information, see How
5378
+ # Amazon Rekognition works with IAM in the Amazon Rekognition
5379
+ # Developer Guide.
5380
+ # @return [Types::S3Object]
5381
+ #
5382
+ class MediaAnalysisManifestSummary < Struct.new(
5383
+ :s3_object)
5384
+ SENSITIVE = []
5385
+ include Aws::Structure
5386
+ end
5387
+
5388
+ # Configuration options for a media analysis job. Configuration is
5389
+ # operation-specific.
5390
+ #
5391
+ # @!attribute [rw] detect_moderation_labels
5392
+ # Contains configuration options for a DetectModerationLabels job.
5393
+ # @return [Types::MediaAnalysisDetectModerationLabelsConfig]
5394
+ #
5395
+ class MediaAnalysisOperationsConfig < Struct.new(
5396
+ :detect_moderation_labels)
5397
+ SENSITIVE = []
5398
+ include Aws::Structure
5399
+ end
5400
+
5401
+ # Output configuration provided in the job creation request.
5402
+ #
5403
+ # @!attribute [rw] s3_bucket
5404
+ # Specifies the Amazon S3 bucket to contain the output of the media
5405
+ # analysis job.
5406
+ # @return [String]
5407
+ #
5408
+ # @!attribute [rw] s3_key_prefix
5409
+ # Specifies the Amazon S3 key prefix that comes after the name of the
5410
+ # bucket you have designated for storage.
5411
+ # @return [String]
5412
+ #
5413
+ class MediaAnalysisOutputConfig < Struct.new(
5414
+ :s3_bucket,
5415
+ :s3_key_prefix)
5416
+ SENSITIVE = []
5417
+ include Aws::Structure
5418
+ end
5419
+
5420
+ # Contains the results for a media analysis job created with
5421
+ # StartMediaAnalysisJob.
5422
+ #
5423
+ # @!attribute [rw] s3_object
5424
+ # Provides the S3 bucket name and object name.
5425
+ #
5426
+ # The region for the S3 bucket containing the S3 object must match the
5427
+ # region you use for Amazon Rekognition operations.
5428
+ #
5429
+ # For Amazon Rekognition to process an S3 object, the user must have
5430
+ # permission to access the S3 object. For more information, see How
5431
+ # Amazon Rekognition works with IAM in the Amazon Rekognition
5432
+ # Developer Guide.
5433
+ # @return [Types::S3Object]
5434
+ #
5435
+ class MediaAnalysisResults < Struct.new(
5436
+ :s3_object)
5437
+ SENSITIVE = []
5438
+ include Aws::Structure
5439
+ end
5440
+
5125
5441
  # Provides information about a single type of inappropriate, unwanted,
5126
5442
  # or offensive content found in an image or video. Each type of
5127
5443
  # moderated content has a label within a hierarchical taxonomy. For more
@@ -6727,6 +7043,61 @@ module Aws::Rekognition
6727
7043
  include Aws::Structure
6728
7044
  end
6729
7045
 
7046
+ # @!attribute [rw] client_request_token
7047
+ # Idempotency token used to prevent the accidental creation of
7048
+ # duplicate versions. If you use the same token with multiple
7049
+ # `StartMediaAnalysisJobRequest` requests, the same response is
7050
+ # returned. Use `ClientRequestToken` to prevent the same request from
7051
+ # being processed more than once.
7052
+ #
7053
+ # **A suitable default value is auto-generated.** You should normally
7054
+ # not need to pass this option.
7055
+ # @return [String]
7056
+ #
7057
+ # @!attribute [rw] job_name
7058
+ # The name of the job. Does not have to be unique.
7059
+ # @return [String]
7060
+ #
7061
+ # @!attribute [rw] operations_config
7062
+ # Configuration options for the media analysis job to be created.
7063
+ # @return [Types::MediaAnalysisOperationsConfig]
7064
+ #
7065
+ # @!attribute [rw] input
7066
+ # Input data to be analyzed by the job.
7067
+ # @return [Types::MediaAnalysisInput]
7068
+ #
7069
+ # @!attribute [rw] output_config
7070
+ # The Amazon S3 bucket location to store the results.
7071
+ # @return [Types::MediaAnalysisOutputConfig]
7072
+ #
7073
+ # @!attribute [rw] kms_key_id
7074
+ # The identifier of customer managed AWS KMS key (name or ARN). The
7075
+ # key is used to encrypt images copied into the service. The key is
7076
+ # also used to encrypt results and manifest files written to the
7077
+ # output Amazon S3 bucket.
7078
+ # @return [String]
7079
+ #
7080
+ class StartMediaAnalysisJobRequest < Struct.new(
7081
+ :client_request_token,
7082
+ :job_name,
7083
+ :operations_config,
7084
+ :input,
7085
+ :output_config,
7086
+ :kms_key_id)
7087
+ SENSITIVE = []
7088
+ include Aws::Structure
7089
+ end
7090
+
7091
+ # @!attribute [rw] job_id
7092
+ # Identifier for the created job.
7093
+ # @return [String]
7094
+ #
7095
+ class StartMediaAnalysisJobResponse < Struct.new(
7096
+ :job_id)
7097
+ SENSITIVE = []
7098
+ include Aws::Structure
7099
+ end
7100
+
6730
7101
  # @!attribute [rw] video
6731
7102
  # The video in which you want to detect people. The video must be
6732
7103
  # stored in an Amazon S3 bucket.
@@ -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.88.0'
56
+ GEM_VERSION = '1.89.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.88.0
4
+ version: 1.89.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: 2023-10-12 00:00:00.000000000 Z
11
+ date: 2023-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core