aws-sdk-rekognition 1.88.0 → 1.90.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a551cb396b27bb20cdc60e830aac3154aacd2202ca39e68511ed086ea4db2306
4
- data.tar.gz: b8b9019dd0392c6b98e5ea515ee4c0676e9332adbd05e46c8a224fd5aba4926f
3
+ metadata.gz: f6f0bfc30e7ba369e438d4c046030673a7a5624957f1a350262525855df4af2f
4
+ data.tar.gz: 9b1ae6b93409b48b14211473e3099c95f6320ed4aad0438afeb3327b67f401ad
5
5
  SHA512:
6
- metadata.gz: c9b3926a9be08e983a65f76747b77038ceba3bac3e82812db173010d86f44310b3b22aaabc576840d067f0174bb539621361e202c1d492451d654da8e049f23c
7
- data.tar.gz: ec1cea85821ee0dbeb2eac1894fe82c1f9f542264399da50464b9d5da9cbaebb1f9d06cbf31c22b27bfee09c52e1d4ce6452b97e482bbec415bf657769326dba
6
+ metadata.gz: 781fad304fec5e0a78e7e761eda298f50e5d628278df268556190f53e7b77c0a3456f7920098e034e83ce01239da36db23a9e6074b959afcc36e81cc90704ced
7
+ data.tar.gz: b7ac3224160171dd13a065faed05a2e0414ac04d7a99c1049a5c375769855189b4be8da8c5deb7a032c4292d7c45b4ab32c6c7129548ee3e2bb1e075f727bac9
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.90.0 (2023-11-22)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.89.0 (2023-10-23)
10
+ ------------------
11
+
12
+ * Feature - Amazon Rekognition introduces StartMediaAnalysisJob, GetMediaAnalysisJob, and ListMediaAnalysisJobs operations to run a bulk analysis of images with a Detect Moderation model.
13
+
4
14
  1.88.0 (2023-10-12)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.88.0
1
+ 1.90.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.90.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.90.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.90.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-11-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.184.0
22
+ version: 3.188.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.184.0
32
+ version: 3.188.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -81,7 +81,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - ">="
83
83
  - !ruby/object:Gem::Version
84
- version: '2.3'
84
+ version: '2.5'
85
85
  required_rubygems_version: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="