aws-sdk-rekognition 1.67.0 → 1.70.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: 9e33b541289489a725a30e9c137c81aee7df36598d26cd240db58d729465a370
4
- data.tar.gz: 50186ab3f86c968da995e6d4b8645bc076113e260bfff700840935fa4597d47e
3
+ metadata.gz: b1c79326cfd1c7cf481cf914bb433cb3f612455f2fb4760ad6305bb69931db46
4
+ data.tar.gz: '091c2e5dc7ff1cf9e1f7755b6fe1cc7ce8c399c5b7d892387a3e28209d30154b'
5
5
  SHA512:
6
- metadata.gz: 0b992dd954a41666d10dad67846195bb8783b64f254b98e69def6b08216f647bbd0408606ea925d55cd826b571cecaf767c5f4a94eed3e1d6e5a0ecc1c9af4a9
7
- data.tar.gz: 54eac3ee8a26852af649aeb2a4cced177132bbfcaeae2097606b1a51c9e330ba4e8ebc827fd30ed57feff3bdabdacc26483d25fd65cf9fd424679b7608536efc
6
+ metadata.gz: d564f921a21050ca6a9b7da53fe4efa0e086654cf1b430bed68e2aa773e58bb5b3d6c394607873d1b9d6f53789c3db73a78c14fa4f6f85351e2e0ada85e51814
7
+ data.tar.gz: 89ac4c11c313c9848125989e93aced5fdd40503a69fcb83022806c0a97d915079f7641cdae6ebc60bf3abd81e24c884cc0b8da2731854672387e5f7f25628eb6
data/CHANGELOG.md CHANGED
@@ -1,6 +1,21 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.70.0 (2022-08-16)
5
+ ------------------
6
+
7
+ * Feature - This release adds APIs which support copying an Amazon Rekognition Custom Labels model and managing project policies across AWS account.
8
+
9
+ 1.69.0 (2022-07-26)
10
+ ------------------
11
+
12
+ * Feature - This release introduces support for the automatic scaling of inference units used by Amazon Rekognition Custom Labels models.
13
+
14
+ 1.68.0 (2022-05-16)
15
+ ------------------
16
+
17
+ * Feature - Documentation updates for Amazon Rekognition.
18
+
4
19
  1.67.0 (2022-04-27)
5
20
  ------------------
6
21
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.67.0
1
+ 1.70.0
@@ -606,6 +606,135 @@ module Aws::Rekognition
606
606
  req.send_request(options)
607
607
  end
608
608
 
609
+ # Copies a version of an Amazon Rekognition Custom Labels model from a
610
+ # source project to a destination project. The source and destination
611
+ # projects can be in different AWS accounts but must be in the same AWS
612
+ # Region. You can't copy a model to another AWS service.
613
+ #
614
+ # To copy a model version to a different AWS account, you need to create
615
+ # a resource-based policy known as a *project policy*. You attach the
616
+ # project policy to the source project by calling PutProjectPolicy. The
617
+ # project policy gives permission to copy the model version from a
618
+ # trusting AWS account to a trusted account.
619
+ #
620
+ # For more information creating and attaching a project policy, see
621
+ # Attaching a project policy (SDK) in the *Amazon Rekognition Custom
622
+ # Labels Developer Guide*.
623
+ #
624
+ # If you are copying a model version to a project in the same AWS
625
+ # account, you don't need to create a project policy.
626
+ #
627
+ # <note markdown="1"> To copy a model, the destination project, source project, and source
628
+ # model version must already exist.
629
+ #
630
+ # </note>
631
+ #
632
+ # Copying a model version takes a while to complete. To get the current
633
+ # status, call DescribeProjectVersions and check the value of `Status`
634
+ # in the ProjectVersionDescription object. The copy operation has
635
+ # finished when the value of `Status` is `COPYING_COMPLETED`.
636
+ #
637
+ # @option params [required, String] :source_project_arn
638
+ # The ARN of the source project in the trusting AWS account.
639
+ #
640
+ # @option params [required, String] :source_project_version_arn
641
+ # The ARN of the model version in the source project that you want to
642
+ # copy to a destination project.
643
+ #
644
+ # @option params [required, String] :destination_project_arn
645
+ # The ARN of the project in the trusted AWS account that you want to
646
+ # copy the model version to.
647
+ #
648
+ # @option params [required, String] :version_name
649
+ # A name for the version of the model that's copied to the destination
650
+ # project.
651
+ #
652
+ # @option params [required, Types::OutputConfig] :output_config
653
+ # The S3 bucket and folder location where the training output for the
654
+ # source model version is placed.
655
+ #
656
+ # @option params [Hash<String,String>] :tags
657
+ # The key-value tags to assign to the model version.
658
+ #
659
+ # @option params [String] :kms_key_id
660
+ # The identifier for your AWS Key Management Service key (AWS KMS key).
661
+ # You can supply the Amazon Resource Name (ARN) of your KMS key, the ID
662
+ # of your KMS key, an alias for your KMS key, or an alias ARN. The key
663
+ # is used to encrypt training results and manifest files written to the
664
+ # output Amazon S3 bucket (`OutputConfig`).
665
+ #
666
+ # If you choose to use your own KMS key, you need the following
667
+ # permissions on the KMS key.
668
+ #
669
+ # * kms:CreateGrant
670
+ #
671
+ # * kms:DescribeKey
672
+ #
673
+ # * kms:GenerateDataKey
674
+ #
675
+ # * kms:Decrypt
676
+ #
677
+ # If you don't specify a value for `KmsKeyId`, images copied into the
678
+ # service are encrypted using a key that AWS owns and manages.
679
+ #
680
+ # @return [Types::CopyProjectVersionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
681
+ #
682
+ # * {Types::CopyProjectVersionResponse#project_version_arn #project_version_arn} => String
683
+ #
684
+ #
685
+ # @example Example: CopyProjectVersion
686
+ #
687
+ # # This operation copies a version of an Amazon Rekognition Custom Labels model from a source project to a destination
688
+ # # project.
689
+ #
690
+ # resp = client.copy_project_version({
691
+ # destination_project_arn: "arn:aws:rekognition:us-east-1:555555555555:project/DestinationProject/1656705098765",
692
+ # kms_key_id: "arn:1234abcd-12ab-34cd-56ef-1234567890ab",
693
+ # output_config: {
694
+ # s3_bucket: "bucket-name",
695
+ # s3_key_prefix: "path_to_folder",
696
+ # },
697
+ # source_project_arn: "arn:aws:rekognition:us-east-1:111122223333:project/SourceProject/16565123456",
698
+ # source_project_version_arn: "arn:aws:rekognition:us-east-1:111122223333:project/SourceProject/version/model_1/1656611123456",
699
+ # tags: {
700
+ # "key1" => "val1",
701
+ # },
702
+ # version_name: "DestinationVersionName_cross_account",
703
+ # })
704
+ #
705
+ # resp.to_h outputs the following:
706
+ # {
707
+ # project_version_arn: "arn:aws:rekognition:us-east-1:555555555555:project/DestinationProject/version/DestinationVersionName_cross_account/16567050987651",
708
+ # }
709
+ #
710
+ # @example Request syntax with placeholder values
711
+ #
712
+ # resp = client.copy_project_version({
713
+ # source_project_arn: "ProjectArn", # required
714
+ # source_project_version_arn: "ProjectVersionArn", # required
715
+ # destination_project_arn: "ProjectArn", # required
716
+ # version_name: "VersionName", # required
717
+ # output_config: { # required
718
+ # s3_bucket: "S3Bucket",
719
+ # s3_key_prefix: "S3KeyPrefix",
720
+ # },
721
+ # tags: {
722
+ # "TagKey" => "TagValue",
723
+ # },
724
+ # kms_key_id: "KmsKeyId",
725
+ # })
726
+ #
727
+ # @example Response structure
728
+ #
729
+ # resp.project_version_arn #=> String
730
+ #
731
+ # @overload copy_project_version(params = {})
732
+ # @param [Hash] params ({})
733
+ def copy_project_version(params = {}, options = {})
734
+ req = build_request(:copy_project_version, params)
735
+ req.send_request(options)
736
+ end
737
+
609
738
  # Creates a collection in an AWS Region. You can add faces to the
610
739
  # collection using the IndexFaces operation.
611
740
  #
@@ -791,7 +920,7 @@ module Aws::Rekognition
791
920
  # project. For more information, see Creating training and test dataset
792
921
  # in the *Amazon Rekognition Custom Labels Developer Guide*.
793
922
  #
794
- # <note markdown="1"> You can train a modelin a project that doesn't have associated
923
+ # <note markdown="1"> You can train a model in a project that doesn't have associated
795
924
  # datasets by specifying manifest files in the `TrainingData` and
796
925
  # `TestingData` fields.
797
926
  #
@@ -1031,9 +1160,10 @@ module Aws::Rekognition
1031
1160
  #
1032
1161
  # @option params [Array<Types::RegionOfInterest>] :regions_of_interest
1033
1162
  # Specifies locations in the frames where Amazon Rekognition checks for
1034
- # objects or people. You can specify up to 10 regions of interest. This
1035
- # is an optional parameter for label detection stream processors and
1036
- # should not be used to create a face search stream processor.
1163
+ # objects or people. You can specify up to 10 regions of interest, and
1164
+ # each region has either a polygon or a bounding box. This is an
1165
+ # optional parameter for label detection stream processors and should
1166
+ # not be used to create a face search stream processor.
1037
1167
  #
1038
1168
  # @option params [Types::StreamProcessorDataSharingPreference] :data_sharing_preference
1039
1169
  # Shows whether you are sharing data with Rekognition to improve model
@@ -1254,7 +1384,9 @@ module Aws::Rekognition
1254
1384
  #
1255
1385
  # `DeleteProject` is an asynchronous operation. To check if the project
1256
1386
  # is deleted, call DescribeProjects. The project is deleted when the
1257
- # project no longer appears in the response.
1387
+ # project no longer appears in the response. Be aware that deleting a
1388
+ # given project will also delete any `ProjectPolicies` associated with
1389
+ # that project.
1258
1390
  #
1259
1391
  # This operation requires permissions to perform the
1260
1392
  # `rekognition:DeleteProject` action.
@@ -1283,6 +1415,54 @@ module Aws::Rekognition
1283
1415
  req.send_request(options)
1284
1416
  end
1285
1417
 
1418
+ # Deletes an existing project policy.
1419
+ #
1420
+ # To get a list of project policies attached to a project, call
1421
+ # ListProjectPolicies. To attach a project policy to a project, call
1422
+ # PutProjectPolicy.
1423
+ #
1424
+ # @option params [required, String] :project_arn
1425
+ # The Amazon Resource Name (ARN) of the project that the project policy
1426
+ # you want to delete is attached to.
1427
+ #
1428
+ # @option params [required, String] :policy_name
1429
+ # The name of the policy that you want to delete.
1430
+ #
1431
+ # @option params [String] :policy_revision_id
1432
+ # The ID of the project policy revision that you want to delete.
1433
+ #
1434
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1435
+ #
1436
+ #
1437
+ # @example Example: DeleteProjectPolicy
1438
+ #
1439
+ # # This operation deletes a revision of an existing project policy from an Amazon Rekognition Custom Labels project.
1440
+ #
1441
+ # resp = client.delete_project_policy({
1442
+ # policy_name: "testPolicy1",
1443
+ # policy_revision_id: "3b274c25e9203a56a99e00e3ff205fbc",
1444
+ # project_arn: "arn:aws:rekognition:us-east-1:111122223333:project/SourceProject/1656557123456",
1445
+ # })
1446
+ #
1447
+ # resp.to_h outputs the following:
1448
+ # {
1449
+ # }
1450
+ #
1451
+ # @example Request syntax with placeholder values
1452
+ #
1453
+ # resp = client.delete_project_policy({
1454
+ # project_arn: "ProjectArn", # required
1455
+ # policy_name: "ProjectPolicyName", # required
1456
+ # policy_revision_id: "ProjectPolicyRevisionId",
1457
+ # })
1458
+ #
1459
+ # @overload delete_project_policy(params = {})
1460
+ # @param [Hash] params ({})
1461
+ def delete_project_policy(params = {}, options = {})
1462
+ req = build_request(:delete_project_policy, params)
1463
+ req.send_request(options)
1464
+ end
1465
+
1286
1466
  # Deletes an Amazon Rekognition Custom Labels model.
1287
1467
  #
1288
1468
  # You can't delete a model if it is running or if it is training. To
@@ -1309,7 +1489,7 @@ module Aws::Rekognition
1309
1489
  #
1310
1490
  # @example Response structure
1311
1491
  #
1312
- # resp.status #=> String, one of "TRAINING_IN_PROGRESS", "TRAINING_COMPLETED", "TRAINING_FAILED", "STARTING", "RUNNING", "FAILED", "STOPPING", "STOPPED", "DELETING"
1492
+ # resp.status #=> String, one of "TRAINING_IN_PROGRESS", "TRAINING_COMPLETED", "TRAINING_FAILED", "STARTING", "RUNNING", "FAILED", "STOPPING", "STOPPED", "DELETING", "COPYING_IN_PROGRESS", "COPYING_COMPLETED", "COPYING_FAILED"
1313
1493
  #
1314
1494
  # @overload delete_project_version(params = {})
1315
1495
  # @param [Hash] params ({})
@@ -1475,7 +1655,7 @@ module Aws::Rekognition
1475
1655
  # resp.project_version_descriptions[0].project_version_arn #=> String
1476
1656
  # resp.project_version_descriptions[0].creation_timestamp #=> Time
1477
1657
  # resp.project_version_descriptions[0].min_inference_units #=> Integer
1478
- # resp.project_version_descriptions[0].status #=> String, one of "TRAINING_IN_PROGRESS", "TRAINING_COMPLETED", "TRAINING_FAILED", "STARTING", "RUNNING", "FAILED", "STOPPING", "STOPPED", "DELETING"
1658
+ # resp.project_version_descriptions[0].status #=> String, one of "TRAINING_IN_PROGRESS", "TRAINING_COMPLETED", "TRAINING_FAILED", "STARTING", "RUNNING", "FAILED", "STOPPING", "STOPPED", "DELETING", "COPYING_IN_PROGRESS", "COPYING_COMPLETED", "COPYING_FAILED"
1479
1659
  # resp.project_version_descriptions[0].status_message #=> String
1480
1660
  # resp.project_version_descriptions[0].billable_training_time_in_seconds #=> Integer
1481
1661
  # resp.project_version_descriptions[0].training_end_timestamp #=> Time
@@ -1515,6 +1695,8 @@ module Aws::Rekognition
1515
1695
  # resp.project_version_descriptions[0].manifest_summary.s3_object.name #=> String
1516
1696
  # resp.project_version_descriptions[0].manifest_summary.s3_object.version #=> String
1517
1697
  # resp.project_version_descriptions[0].kms_key_id #=> String
1698
+ # resp.project_version_descriptions[0].max_inference_units #=> Integer
1699
+ # resp.project_version_descriptions[0].source_project_version_arn #=> String
1518
1700
  # resp.next_token #=> String
1519
1701
  #
1520
1702
  #
@@ -4384,6 +4566,85 @@ module Aws::Rekognition
4384
4566
  req.send_request(options)
4385
4567
  end
4386
4568
 
4569
+ # Gets a list of the project policies attached to a project.
4570
+ #
4571
+ # To attach a project policy to a project, call PutProjectPolicy. To
4572
+ # remove a project policy from a project, call DeleteProjectPolicy.
4573
+ #
4574
+ # @option params [required, String] :project_arn
4575
+ # The ARN of the project for which you want to list the project
4576
+ # policies.
4577
+ #
4578
+ # @option params [String] :next_token
4579
+ # If the previous response was incomplete (because there is more results
4580
+ # to retrieve), Amazon Rekognition Custom Labels returns a pagination
4581
+ # token in the response. You can use this pagination token to retrieve
4582
+ # the next set of results.
4583
+ #
4584
+ # @option params [Integer] :max_results
4585
+ # The maximum number of results to return per paginated call. The
4586
+ # largest value you can specify is 5. If you specify a value greater
4587
+ # than 5, a ValidationException error occurs. The default value is 5.
4588
+ #
4589
+ # @return [Types::ListProjectPoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4590
+ #
4591
+ # * {Types::ListProjectPoliciesResponse#project_policies #project_policies} => Array&lt;Types::ProjectPolicy&gt;
4592
+ # * {Types::ListProjectPoliciesResponse#next_token #next_token} => String
4593
+ #
4594
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4595
+ #
4596
+ #
4597
+ # @example Example: ListProjectPolicies
4598
+ #
4599
+ # # This operation lists the project policies that are attached to an Amazon Rekognition Custom Labels project.
4600
+ #
4601
+ # resp = client.list_project_policies({
4602
+ # max_results: 5,
4603
+ # next_token: "",
4604
+ # project_arn: "arn:aws:rekognition:us-east-1:111122223333:project/my-sdk-project/1656557051929",
4605
+ # })
4606
+ #
4607
+ # resp.to_h outputs the following:
4608
+ # {
4609
+ # next_token: "",
4610
+ # project_policies: [
4611
+ # {
4612
+ # creation_timestamp: Time.parse("2022-07-01T11:51:27.086000-07:00"),
4613
+ # last_updated_timestamp: Time.parse("2022-07-01T11:51:27.086000-07:00"),
4614
+ # policy_document: "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Statemented1\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::111122223333:root\"},\"Action\":\"rekognition:CopyProjectVersion\",\"Resource\":\"*\"}]}",
4615
+ # policy_name: "testPolicy",
4616
+ # policy_revision_id: "3b274c25e9203a56a99e00e3ff205fbc",
4617
+ # project_arn: "arn:aws:rekognition:us-east-1:111122223333:project/my-sdk-project/1656557051929",
4618
+ # },
4619
+ # ],
4620
+ # }
4621
+ #
4622
+ # @example Request syntax with placeholder values
4623
+ #
4624
+ # resp = client.list_project_policies({
4625
+ # project_arn: "ProjectArn", # required
4626
+ # next_token: "ExtendedPaginationToken",
4627
+ # max_results: 1,
4628
+ # })
4629
+ #
4630
+ # @example Response structure
4631
+ #
4632
+ # resp.project_policies #=> Array
4633
+ # resp.project_policies[0].project_arn #=> String
4634
+ # resp.project_policies[0].policy_name #=> String
4635
+ # resp.project_policies[0].policy_revision_id #=> String
4636
+ # resp.project_policies[0].policy_document #=> String
4637
+ # resp.project_policies[0].creation_timestamp #=> Time
4638
+ # resp.project_policies[0].last_updated_timestamp #=> Time
4639
+ # resp.next_token #=> String
4640
+ #
4641
+ # @overload list_project_policies(params = {})
4642
+ # @param [Hash] params ({})
4643
+ def list_project_policies(params = {}, options = {})
4644
+ req = build_request(:list_project_policies, params)
4645
+ req.send_request(options)
4646
+ end
4647
+
4387
4648
  # Gets a list of stream processors that you have created with
4388
4649
  # CreateStreamProcessor.
4389
4650
  #
@@ -4457,6 +4718,92 @@ module Aws::Rekognition
4457
4718
  req.send_request(options)
4458
4719
  end
4459
4720
 
4721
+ # Attaches a project policy to a Amazon Rekognition Custom Labels
4722
+ # project in a trusting AWS account. A project policy specifies that a
4723
+ # trusted AWS account can copy a model version from a trusting AWS
4724
+ # account to a project in the trusted AWS account. To copy a model
4725
+ # version you use the CopyProjectVersion operation.
4726
+ #
4727
+ # For more information about the format of a project policy document,
4728
+ # see Attaching a project policy (SDK) in the *Amazon Rekognition Custom
4729
+ # Labels Developer Guide*.
4730
+ #
4731
+ # The response from `PutProjectPolicy` is a revision ID for the project
4732
+ # policy. You can attach multiple project policies to a project. You can
4733
+ # also update an existing project policy by specifying the policy
4734
+ # revision ID of the existing policy.
4735
+ #
4736
+ # To remove a project policy from a project, call DeleteProjectPolicy.
4737
+ # To get a list of project policies attached to a project, call
4738
+ # ListProjectPolicies.
4739
+ #
4740
+ # You copy a model version by calling CopyProjectVersion.
4741
+ #
4742
+ # @option params [required, String] :project_arn
4743
+ # The Amazon Resource Name (ARN) of the project that the project policy
4744
+ # is attached to.
4745
+ #
4746
+ # @option params [required, String] :policy_name
4747
+ # A name for the policy.
4748
+ #
4749
+ # @option params [String] :policy_revision_id
4750
+ # The revision ID for the Project Policy. Each time you modify a policy,
4751
+ # Amazon Rekognition Custom Labels generates and assigns a new
4752
+ # `PolicyRevisionId` and then deletes the previous version of the
4753
+ # policy.
4754
+ #
4755
+ # @option params [required, String] :policy_document
4756
+ # A resource policy to add to the model. The policy is a JSON structure
4757
+ # that contains one or more statements that define the policy. The
4758
+ # policy must follow the IAM syntax. For more information about the
4759
+ # contents of a JSON policy document, see [IAM JSON policy
4760
+ # reference][1].
4761
+ #
4762
+ #
4763
+ #
4764
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
4765
+ #
4766
+ # @return [Types::PutProjectPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4767
+ #
4768
+ # * {Types::PutProjectPolicyResponse#policy_revision_id #policy_revision_id} => String
4769
+ #
4770
+ #
4771
+ # @example Example: PutProjectPolicy
4772
+ #
4773
+ # # This operation attaches a project policy to a Amazon Rekognition Custom Labels project in a trusting AWS account.
4774
+ #
4775
+ # resp = client.put_project_policy({
4776
+ # policy_document: "'{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"ALLOW\",\"Principal\":{\"AWS\":\"principal\"},\"Action\":\"rekognition:CopyProjectVersion\",\"Resource\":\"arn:aws:rekognition:us-east-1:123456789012:project/my-sdk-project/version/DestinationVersionName/1627045542080\"}]}'",
4777
+ # policy_name: "SamplePolicy",
4778
+ # policy_revision_id: "0123456789abcdef",
4779
+ # project_arn: "arn:aws:rekognition:us-east-1:111122223333:project/my-sdk-project/1656557051929",
4780
+ # })
4781
+ #
4782
+ # resp.to_h outputs the following:
4783
+ # {
4784
+ # policy_revision_id: "0123456789abcdef",
4785
+ # }
4786
+ #
4787
+ # @example Request syntax with placeholder values
4788
+ #
4789
+ # resp = client.put_project_policy({
4790
+ # project_arn: "ProjectArn", # required
4791
+ # policy_name: "ProjectPolicyName", # required
4792
+ # policy_revision_id: "ProjectPolicyRevisionId",
4793
+ # policy_document: "ProjectPolicyDocument", # required
4794
+ # })
4795
+ #
4796
+ # @example Response structure
4797
+ #
4798
+ # resp.policy_revision_id #=> String
4799
+ #
4800
+ # @overload put_project_policy(params = {})
4801
+ # @param [Hash] params ({})
4802
+ def put_project_policy(params = {}, options = {})
4803
+ req = build_request(:put_project_policy, params)
4804
+ req.send_request(options)
4805
+ end
4806
+
4460
4807
  # Returns an array of celebrities recognized in the input image. For
4461
4808
  # more information, see Recognizing celebrities in the Amazon
4462
4809
  # Rekognition Developer Guide.
@@ -5401,6 +5748,9 @@ module Aws::Rekognition
5401
5748
  #
5402
5749
  # </note>
5403
5750
  #
5751
+ # For more information, see *Running a trained Amazon Rekognition Custom
5752
+ # Labels model* in the Amazon Rekognition Custom Labels Guide.
5753
+ #
5404
5754
  # This operation requires permissions to perform the
5405
5755
  # `rekognition:StartProjectVersion` action.
5406
5756
  #
@@ -5410,10 +5760,20 @@ module Aws::Rekognition
5410
5760
  #
5411
5761
  # @option params [required, Integer] :min_inference_units
5412
5762
  # The minimum number of inference units to use. A single inference unit
5413
- # represents 1 hour of processing and can support up to 5 Transaction
5414
- # Pers Second (TPS). Use a higher number to increase the TPS throughput
5415
- # of your model. You are charged for the number of inference units that
5416
- # you use.
5763
+ # represents 1 hour of processing.
5764
+ #
5765
+ # For information about the number of transactions per second (TPS) that
5766
+ # an inference unit can support, see *Running a trained Amazon
5767
+ # Rekognition Custom Labels model* in the Amazon Rekognition Custom
5768
+ # Labels Guide.
5769
+ #
5770
+ # Use a higher number to increase the TPS throughput of your model. You
5771
+ # are charged for the number of inference units that you use.
5772
+ #
5773
+ # @option params [Integer] :max_inference_units
5774
+ # The maximum number of inference units to use for auto-scaling the
5775
+ # model. If you don't specify a value, Amazon Rekognition Custom Labels
5776
+ # doesn't auto-scale the model.
5417
5777
  #
5418
5778
  # @return [Types::StartProjectVersionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5419
5779
  #
@@ -5424,11 +5784,12 @@ module Aws::Rekognition
5424
5784
  # resp = client.start_project_version({
5425
5785
  # project_version_arn: "ProjectVersionArn", # required
5426
5786
  # min_inference_units: 1, # required
5787
+ # max_inference_units: 1,
5427
5788
  # })
5428
5789
  #
5429
5790
  # @example Response structure
5430
5791
  #
5431
- # resp.status #=> String, one of "TRAINING_IN_PROGRESS", "TRAINING_COMPLETED", "TRAINING_FAILED", "STARTING", "RUNNING", "FAILED", "STOPPING", "STOPPED", "DELETING"
5792
+ # resp.status #=> String, one of "TRAINING_IN_PROGRESS", "TRAINING_COMPLETED", "TRAINING_FAILED", "STARTING", "RUNNING", "FAILED", "STOPPING", "STOPPED", "DELETING", "COPYING_IN_PROGRESS", "COPYING_COMPLETED", "COPYING_FAILED"
5432
5793
  #
5433
5794
  # @overload start_project_version(params = {})
5434
5795
  # @param [Hash] params ({})
@@ -5731,7 +6092,7 @@ module Aws::Rekognition
5731
6092
  #
5732
6093
  # @example Response structure
5733
6094
  #
5734
- # resp.status #=> String, one of "TRAINING_IN_PROGRESS", "TRAINING_COMPLETED", "TRAINING_FAILED", "STARTING", "RUNNING", "FAILED", "STOPPING", "STOPPED", "DELETING"
6095
+ # resp.status #=> String, one of "TRAINING_IN_PROGRESS", "TRAINING_COMPLETED", "TRAINING_FAILED", "STARTING", "RUNNING", "FAILED", "STOPPING", "STOPPED", "DELETING", "COPYING_IN_PROGRESS", "COPYING_COMPLETED", "COPYING_FAILED"
5735
6096
  #
5736
6097
  # @overload stop_project_version(params = {})
5737
6098
  # @param [Hash] params ({})
@@ -5960,7 +6321,7 @@ module Aws::Rekognition
5960
6321
  params: params,
5961
6322
  config: config)
5962
6323
  context[:gem_name] = 'aws-sdk-rekognition'
5963
- context[:gem_version] = '1.67.0'
6324
+ context[:gem_version] = '1.70.0'
5964
6325
  Seahorse::Client::Request.new(handlers, context)
5965
6326
  end
5966
6327
 
@@ -55,6 +55,8 @@ module Aws::Rekognition
55
55
  ContentModerationDetection = Shapes::StructureShape.new(name: 'ContentModerationDetection')
56
56
  ContentModerationDetections = Shapes::ListShape.new(name: 'ContentModerationDetections')
57
57
  ContentModerationSortBy = Shapes::StringShape.new(name: 'ContentModerationSortBy')
58
+ CopyProjectVersionRequest = Shapes::StructureShape.new(name: 'CopyProjectVersionRequest')
59
+ CopyProjectVersionResponse = Shapes::StructureShape.new(name: 'CopyProjectVersionResponse')
58
60
  CoversBodyPart = Shapes::StructureShape.new(name: 'CoversBodyPart')
59
61
  CreateCollectionRequest = Shapes::StructureShape.new(name: 'CreateCollectionRequest')
60
62
  CreateCollectionResponse = Shapes::StructureShape.new(name: 'CreateCollectionResponse')
@@ -93,6 +95,8 @@ module Aws::Rekognition
93
95
  DeleteDatasetResponse = Shapes::StructureShape.new(name: 'DeleteDatasetResponse')
94
96
  DeleteFacesRequest = Shapes::StructureShape.new(name: 'DeleteFacesRequest')
95
97
  DeleteFacesResponse = Shapes::StructureShape.new(name: 'DeleteFacesResponse')
98
+ DeleteProjectPolicyRequest = Shapes::StructureShape.new(name: 'DeleteProjectPolicyRequest')
99
+ DeleteProjectPolicyResponse = Shapes::StructureShape.new(name: 'DeleteProjectPolicyResponse')
96
100
  DeleteProjectRequest = Shapes::StructureShape.new(name: 'DeleteProjectRequest')
97
101
  DeleteProjectResponse = Shapes::StructureShape.new(name: 'DeleteProjectResponse')
98
102
  DeleteProjectVersionRequest = Shapes::StructureShape.new(name: 'DeleteProjectVersionRequest')
@@ -204,6 +208,7 @@ module Aws::Rekognition
204
208
  InvalidImageFormatException = Shapes::StructureShape.new(name: 'InvalidImageFormatException')
205
209
  InvalidPaginationTokenException = Shapes::StructureShape.new(name: 'InvalidPaginationTokenException')
206
210
  InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException')
211
+ InvalidPolicyRevisionIdException = Shapes::StructureShape.new(name: 'InvalidPolicyRevisionIdException')
207
212
  InvalidS3ObjectException = Shapes::StructureShape.new(name: 'InvalidS3ObjectException')
208
213
  IsLabeled = Shapes::BooleanShape.new(name: 'IsLabeled')
209
214
  JobId = Shapes::StringShape.new(name: 'JobId')
@@ -236,10 +241,14 @@ module Aws::Rekognition
236
241
  ListDatasetLabelsResponse = Shapes::StructureShape.new(name: 'ListDatasetLabelsResponse')
237
242
  ListFacesRequest = Shapes::StructureShape.new(name: 'ListFacesRequest')
238
243
  ListFacesResponse = Shapes::StructureShape.new(name: 'ListFacesResponse')
244
+ ListProjectPoliciesPageSize = Shapes::IntegerShape.new(name: 'ListProjectPoliciesPageSize')
245
+ ListProjectPoliciesRequest = Shapes::StructureShape.new(name: 'ListProjectPoliciesRequest')
246
+ ListProjectPoliciesResponse = Shapes::StructureShape.new(name: 'ListProjectPoliciesResponse')
239
247
  ListStreamProcessorsRequest = Shapes::StructureShape.new(name: 'ListStreamProcessorsRequest')
240
248
  ListStreamProcessorsResponse = Shapes::StructureShape.new(name: 'ListStreamProcessorsResponse')
241
249
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
242
250
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
251
+ MalformedPolicyDocumentException = Shapes::StructureShape.new(name: 'MalformedPolicyDocumentException')
243
252
  MaxDurationInSecondsULong = Shapes::IntegerShape.new(name: 'MaxDurationInSecondsULong')
244
253
  MaxFaces = Shapes::IntegerShape.new(name: 'MaxFaces')
245
254
  MaxFacesToIndex = Shapes::IntegerShape.new(name: 'MaxFacesToIndex')
@@ -273,6 +282,11 @@ module Aws::Rekognition
273
282
  ProjectDescriptions = Shapes::ListShape.new(name: 'ProjectDescriptions')
274
283
  ProjectName = Shapes::StringShape.new(name: 'ProjectName')
275
284
  ProjectNames = Shapes::ListShape.new(name: 'ProjectNames')
285
+ ProjectPolicies = Shapes::ListShape.new(name: 'ProjectPolicies')
286
+ ProjectPolicy = Shapes::StructureShape.new(name: 'ProjectPolicy')
287
+ ProjectPolicyDocument = Shapes::StringShape.new(name: 'ProjectPolicyDocument')
288
+ ProjectPolicyName = Shapes::StringShape.new(name: 'ProjectPolicyName')
289
+ ProjectPolicyRevisionId = Shapes::StringShape.new(name: 'ProjectPolicyRevisionId')
276
290
  ProjectStatus = Shapes::StringShape.new(name: 'ProjectStatus')
277
291
  ProjectVersionArn = Shapes::StringShape.new(name: 'ProjectVersionArn')
278
292
  ProjectVersionDescription = Shapes::StructureShape.new(name: 'ProjectVersionDescription')
@@ -289,6 +303,8 @@ module Aws::Rekognition
289
303
  ProtectiveEquipmentType = Shapes::StringShape.new(name: 'ProtectiveEquipmentType')
290
304
  ProtectiveEquipmentTypes = Shapes::ListShape.new(name: 'ProtectiveEquipmentTypes')
291
305
  ProvisionedThroughputExceededException = Shapes::StructureShape.new(name: 'ProvisionedThroughputExceededException')
306
+ PutProjectPolicyRequest = Shapes::StructureShape.new(name: 'PutProjectPolicyRequest')
307
+ PutProjectPolicyResponse = Shapes::StructureShape.new(name: 'PutProjectPolicyResponse')
292
308
  QualityFilter = Shapes::StringShape.new(name: 'QualityFilter')
293
309
  QueryString = Shapes::StringShape.new(name: 'QueryString')
294
310
  Reason = Shapes::StringShape.new(name: 'Reason')
@@ -533,6 +549,18 @@ module Aws::Rekognition
533
549
 
534
550
  ContentModerationDetections.member = Shapes::ShapeRef.new(shape: ContentModerationDetection)
535
551
 
552
+ CopyProjectVersionRequest.add_member(:source_project_arn, Shapes::ShapeRef.new(shape: ProjectArn, required: true, location_name: "SourceProjectArn"))
553
+ CopyProjectVersionRequest.add_member(:source_project_version_arn, Shapes::ShapeRef.new(shape: ProjectVersionArn, required: true, location_name: "SourceProjectVersionArn"))
554
+ CopyProjectVersionRequest.add_member(:destination_project_arn, Shapes::ShapeRef.new(shape: ProjectArn, required: true, location_name: "DestinationProjectArn"))
555
+ CopyProjectVersionRequest.add_member(:version_name, Shapes::ShapeRef.new(shape: VersionName, required: true, location_name: "VersionName"))
556
+ CopyProjectVersionRequest.add_member(:output_config, Shapes::ShapeRef.new(shape: OutputConfig, required: true, location_name: "OutputConfig"))
557
+ CopyProjectVersionRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
558
+ CopyProjectVersionRequest.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: KmsKeyId, location_name: "KmsKeyId"))
559
+ CopyProjectVersionRequest.struct_class = Types::CopyProjectVersionRequest
560
+
561
+ CopyProjectVersionResponse.add_member(:project_version_arn, Shapes::ShapeRef.new(shape: ProjectVersionArn, location_name: "ProjectVersionArn"))
562
+ CopyProjectVersionResponse.struct_class = Types::CopyProjectVersionResponse
563
+
536
564
  CoversBodyPart.add_member(:confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "Confidence"))
537
565
  CoversBodyPart.add_member(:value, Shapes::ShapeRef.new(shape: Boolean, location_name: "Value"))
538
566
  CoversBodyPart.struct_class = Types::CoversBodyPart
@@ -657,6 +685,13 @@ module Aws::Rekognition
657
685
  DeleteFacesResponse.add_member(:deleted_faces, Shapes::ShapeRef.new(shape: FaceIdList, location_name: "DeletedFaces"))
658
686
  DeleteFacesResponse.struct_class = Types::DeleteFacesResponse
659
687
 
688
+ DeleteProjectPolicyRequest.add_member(:project_arn, Shapes::ShapeRef.new(shape: ProjectArn, required: true, location_name: "ProjectArn"))
689
+ DeleteProjectPolicyRequest.add_member(:policy_name, Shapes::ShapeRef.new(shape: ProjectPolicyName, required: true, location_name: "PolicyName"))
690
+ DeleteProjectPolicyRequest.add_member(:policy_revision_id, Shapes::ShapeRef.new(shape: ProjectPolicyRevisionId, location_name: "PolicyRevisionId"))
691
+ DeleteProjectPolicyRequest.struct_class = Types::DeleteProjectPolicyRequest
692
+
693
+ DeleteProjectPolicyResponse.struct_class = Types::DeleteProjectPolicyResponse
694
+
660
695
  DeleteProjectRequest.add_member(:project_arn, Shapes::ShapeRef.new(shape: ProjectArn, required: true, location_name: "ProjectArn"))
661
696
  DeleteProjectRequest.struct_class = Types::DeleteProjectRequest
662
697
 
@@ -1066,6 +1101,8 @@ module Aws::Rekognition
1066
1101
 
1067
1102
  InvalidParameterException.struct_class = Types::InvalidParameterException
1068
1103
 
1104
+ InvalidPolicyRevisionIdException.struct_class = Types::InvalidPolicyRevisionIdException
1105
+
1069
1106
  InvalidS3ObjectException.struct_class = Types::InvalidS3ObjectException
1070
1107
 
1071
1108
  KinesisDataStream.add_member(:arn, Shapes::ShapeRef.new(shape: KinesisDataArn, location_name: "Arn"))
@@ -1145,6 +1182,15 @@ module Aws::Rekognition
1145
1182
  ListFacesResponse.add_member(:face_model_version, Shapes::ShapeRef.new(shape: String, location_name: "FaceModelVersion"))
1146
1183
  ListFacesResponse.struct_class = Types::ListFacesResponse
1147
1184
 
1185
+ ListProjectPoliciesRequest.add_member(:project_arn, Shapes::ShapeRef.new(shape: ProjectArn, required: true, location_name: "ProjectArn"))
1186
+ ListProjectPoliciesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: ExtendedPaginationToken, location_name: "NextToken"))
1187
+ ListProjectPoliciesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListProjectPoliciesPageSize, location_name: "MaxResults"))
1188
+ ListProjectPoliciesRequest.struct_class = Types::ListProjectPoliciesRequest
1189
+
1190
+ ListProjectPoliciesResponse.add_member(:project_policies, Shapes::ShapeRef.new(shape: ProjectPolicies, location_name: "ProjectPolicies"))
1191
+ ListProjectPoliciesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: ExtendedPaginationToken, location_name: "NextToken"))
1192
+ ListProjectPoliciesResponse.struct_class = Types::ListProjectPoliciesResponse
1193
+
1148
1194
  ListStreamProcessorsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "NextToken"))
1149
1195
  ListStreamProcessorsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
1150
1196
  ListStreamProcessorsRequest.struct_class = Types::ListStreamProcessorsRequest
@@ -1159,6 +1205,8 @@ module Aws::Rekognition
1159
1205
  ListTagsForResourceResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
1160
1206
  ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse
1161
1207
 
1208
+ MalformedPolicyDocumentException.struct_class = Types::MalformedPolicyDocumentException
1209
+
1162
1210
  ModerationLabel.add_member(:confidence, Shapes::ShapeRef.new(shape: Percent, location_name: "Confidence"))
1163
1211
  ModerationLabel.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "Name"))
1164
1212
  ModerationLabel.add_member(:parent_name, Shapes::ShapeRef.new(shape: String, location_name: "ParentName"))
@@ -1226,6 +1274,16 @@ module Aws::Rekognition
1226
1274
 
1227
1275
  ProjectNames.member = Shapes::ShapeRef.new(shape: ProjectName)
1228
1276
 
1277
+ ProjectPolicies.member = Shapes::ShapeRef.new(shape: ProjectPolicy)
1278
+
1279
+ ProjectPolicy.add_member(:project_arn, Shapes::ShapeRef.new(shape: ProjectArn, location_name: "ProjectArn"))
1280
+ ProjectPolicy.add_member(:policy_name, Shapes::ShapeRef.new(shape: ProjectPolicyName, location_name: "PolicyName"))
1281
+ ProjectPolicy.add_member(:policy_revision_id, Shapes::ShapeRef.new(shape: ProjectPolicyRevisionId, location_name: "PolicyRevisionId"))
1282
+ ProjectPolicy.add_member(:policy_document, Shapes::ShapeRef.new(shape: ProjectPolicyDocument, location_name: "PolicyDocument"))
1283
+ ProjectPolicy.add_member(:creation_timestamp, Shapes::ShapeRef.new(shape: DateTime, location_name: "CreationTimestamp"))
1284
+ ProjectPolicy.add_member(:last_updated_timestamp, Shapes::ShapeRef.new(shape: DateTime, location_name: "LastUpdatedTimestamp"))
1285
+ ProjectPolicy.struct_class = Types::ProjectPolicy
1286
+
1229
1287
  ProjectVersionDescription.add_member(:project_version_arn, Shapes::ShapeRef.new(shape: ProjectVersionArn, location_name: "ProjectVersionArn"))
1230
1288
  ProjectVersionDescription.add_member(:creation_timestamp, Shapes::ShapeRef.new(shape: DateTime, location_name: "CreationTimestamp"))
1231
1289
  ProjectVersionDescription.add_member(:min_inference_units, Shapes::ShapeRef.new(shape: InferenceUnits, location_name: "MinInferenceUnits"))
@@ -1239,6 +1297,8 @@ module Aws::Rekognition
1239
1297
  ProjectVersionDescription.add_member(:evaluation_result, Shapes::ShapeRef.new(shape: EvaluationResult, location_name: "EvaluationResult"))
1240
1298
  ProjectVersionDescription.add_member(:manifest_summary, Shapes::ShapeRef.new(shape: GroundTruthManifest, location_name: "ManifestSummary"))
1241
1299
  ProjectVersionDescription.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: KmsKeyId, location_name: "KmsKeyId"))
1300
+ ProjectVersionDescription.add_member(:max_inference_units, Shapes::ShapeRef.new(shape: InferenceUnits, location_name: "MaxInferenceUnits"))
1301
+ ProjectVersionDescription.add_member(:source_project_version_arn, Shapes::ShapeRef.new(shape: ProjectVersionArn, location_name: "SourceProjectVersionArn"))
1242
1302
  ProjectVersionDescription.struct_class = Types::ProjectVersionDescription
1243
1303
 
1244
1304
  ProjectVersionDescriptions.member = Shapes::ShapeRef.new(shape: ProjectVersionDescription)
@@ -1271,6 +1331,15 @@ module Aws::Rekognition
1271
1331
 
1272
1332
  ProvisionedThroughputExceededException.struct_class = Types::ProvisionedThroughputExceededException
1273
1333
 
1334
+ PutProjectPolicyRequest.add_member(:project_arn, Shapes::ShapeRef.new(shape: ProjectArn, required: true, location_name: "ProjectArn"))
1335
+ PutProjectPolicyRequest.add_member(:policy_name, Shapes::ShapeRef.new(shape: ProjectPolicyName, required: true, location_name: "PolicyName"))
1336
+ PutProjectPolicyRequest.add_member(:policy_revision_id, Shapes::ShapeRef.new(shape: ProjectPolicyRevisionId, location_name: "PolicyRevisionId"))
1337
+ PutProjectPolicyRequest.add_member(:policy_document, Shapes::ShapeRef.new(shape: ProjectPolicyDocument, required: true, location_name: "PolicyDocument"))
1338
+ PutProjectPolicyRequest.struct_class = Types::PutProjectPolicyRequest
1339
+
1340
+ PutProjectPolicyResponse.add_member(:policy_revision_id, Shapes::ShapeRef.new(shape: ProjectPolicyRevisionId, location_name: "PolicyRevisionId"))
1341
+ PutProjectPolicyResponse.struct_class = Types::PutProjectPolicyResponse
1342
+
1274
1343
  Reasons.member = Shapes::ShapeRef.new(shape: Reason)
1275
1344
 
1276
1345
  RecognizeCelebritiesRequest.add_member(:image, Shapes::ShapeRef.new(shape: Image, required: true, location_name: "Image"))
@@ -1423,6 +1492,7 @@ module Aws::Rekognition
1423
1492
 
1424
1493
  StartProjectVersionRequest.add_member(:project_version_arn, Shapes::ShapeRef.new(shape: ProjectVersionArn, required: true, location_name: "ProjectVersionArn"))
1425
1494
  StartProjectVersionRequest.add_member(:min_inference_units, Shapes::ShapeRef.new(shape: InferenceUnits, required: true, location_name: "MinInferenceUnits"))
1495
+ StartProjectVersionRequest.add_member(:max_inference_units, Shapes::ShapeRef.new(shape: InferenceUnits, location_name: "MaxInferenceUnits"))
1426
1496
  StartProjectVersionRequest.struct_class = Types::StartProjectVersionRequest
1427
1497
 
1428
1498
  StartProjectVersionResponse.add_member(:status, Shapes::ShapeRef.new(shape: ProjectVersionStatus, location_name: "Status"))
@@ -1658,6 +1728,23 @@ module Aws::Rekognition
1658
1728
  o.errors << Shapes::ShapeRef.new(shape: InvalidImageFormatException)
1659
1729
  end)
1660
1730
 
1731
+ api.add_operation(:copy_project_version, Seahorse::Model::Operation.new.tap do |o|
1732
+ o.name = "CopyProjectVersion"
1733
+ o.http_method = "POST"
1734
+ o.http_request_uri = "/"
1735
+ o.input = Shapes::ShapeRef.new(shape: CopyProjectVersionRequest)
1736
+ o.output = Shapes::ShapeRef.new(shape: CopyProjectVersionResponse)
1737
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1738
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1739
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1740
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1741
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1742
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1743
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
1744
+ o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
1745
+ o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
1746
+ end)
1747
+
1661
1748
  api.add_operation(:create_collection, Seahorse::Model::Operation.new.tap do |o|
1662
1749
  o.name = "CreateCollection"
1663
1750
  o.http_method = "POST"
@@ -1797,6 +1884,21 @@ module Aws::Rekognition
1797
1884
  o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
1798
1885
  end)
1799
1886
 
1887
+ api.add_operation(:delete_project_policy, Seahorse::Model::Operation.new.tap do |o|
1888
+ o.name = "DeleteProjectPolicy"
1889
+ o.http_method = "POST"
1890
+ o.http_request_uri = "/"
1891
+ o.input = Shapes::ShapeRef.new(shape: DeleteProjectPolicyRequest)
1892
+ o.output = Shapes::ShapeRef.new(shape: DeleteProjectPolicyResponse)
1893
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1894
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1895
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1896
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1897
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1898
+ o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
1899
+ o.errors << Shapes::ShapeRef.new(shape: InvalidPolicyRevisionIdException)
1900
+ end)
1901
+
1800
1902
  api.add_operation(:delete_project_version, Seahorse::Model::Operation.new.tap do |o|
1801
1903
  o.name = "DeleteProjectVersion"
1802
1904
  o.http_method = "POST"
@@ -2313,6 +2415,27 @@ module Aws::Rekognition
2313
2415
  )
2314
2416
  end)
2315
2417
 
2418
+ api.add_operation(:list_project_policies, Seahorse::Model::Operation.new.tap do |o|
2419
+ o.name = "ListProjectPolicies"
2420
+ o.http_method = "POST"
2421
+ o.http_request_uri = "/"
2422
+ o.input = Shapes::ShapeRef.new(shape: ListProjectPoliciesRequest)
2423
+ o.output = Shapes::ShapeRef.new(shape: ListProjectPoliciesResponse)
2424
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
2425
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
2426
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2427
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2428
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
2429
+ o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
2430
+ o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
2431
+ o[:pager] = Aws::Pager.new(
2432
+ limit_key: "max_results",
2433
+ tokens: {
2434
+ "next_token" => "next_token"
2435
+ }
2436
+ )
2437
+ end)
2438
+
2316
2439
  api.add_operation(:list_stream_processors, Seahorse::Model::Operation.new.tap do |o|
2317
2440
  o.name = "ListStreamProcessors"
2318
2441
  o.http_method = "POST"
@@ -2347,6 +2470,25 @@ module Aws::Rekognition
2347
2470
  o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
2348
2471
  end)
2349
2472
 
2473
+ api.add_operation(:put_project_policy, Seahorse::Model::Operation.new.tap do |o|
2474
+ o.name = "PutProjectPolicy"
2475
+ o.http_method = "POST"
2476
+ o.http_request_uri = "/"
2477
+ o.input = Shapes::ShapeRef.new(shape: PutProjectPolicyRequest)
2478
+ o.output = Shapes::ShapeRef.new(shape: PutProjectPolicyResponse)
2479
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
2480
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
2481
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2482
+ o.errors << Shapes::ShapeRef.new(shape: InvalidPolicyRevisionIdException)
2483
+ o.errors << Shapes::ShapeRef.new(shape: MalformedPolicyDocumentException)
2484
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2485
+ o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
2486
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
2487
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
2488
+ o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
2489
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
2490
+ end)
2491
+
2350
2492
  api.add_operation(:recognize_celebrities, Seahorse::Model::Operation.new.tap do |o|
2351
2493
  o.name = "RecognizeCelebrities"
2352
2494
  o.http_method = "POST"
@@ -35,8 +35,10 @@ module Aws::Rekognition
35
35
  # * {InvalidImageFormatException}
36
36
  # * {InvalidPaginationTokenException}
37
37
  # * {InvalidParameterException}
38
+ # * {InvalidPolicyRevisionIdException}
38
39
  # * {InvalidS3ObjectException}
39
40
  # * {LimitExceededException}
41
+ # * {MalformedPolicyDocumentException}
40
42
  # * {ProvisionedThroughputExceededException}
41
43
  # * {ResourceAlreadyExistsException}
42
44
  # * {ResourceInUseException}
@@ -147,6 +149,16 @@ module Aws::Rekognition
147
149
  end
148
150
  end
149
151
 
152
+ class InvalidPolicyRevisionIdException < ServiceError
153
+
154
+ # @param [Seahorse::Client::RequestContext] context
155
+ # @param [String] message
156
+ # @param [Aws::Rekognition::Types::InvalidPolicyRevisionIdException] data
157
+ def initialize(context, message, data = Aws::EmptyStructure.new)
158
+ super(context, message, data)
159
+ end
160
+ end
161
+
150
162
  class InvalidS3ObjectException < ServiceError
151
163
 
152
164
  # @param [Seahorse::Client::RequestContext] context
@@ -167,6 +179,16 @@ module Aws::Rekognition
167
179
  end
168
180
  end
169
181
 
182
+ class MalformedPolicyDocumentException < ServiceError
183
+
184
+ # @param [Seahorse::Client::RequestContext] context
185
+ # @param [String] message
186
+ # @param [Aws::Rekognition::Types::MalformedPolicyDocumentException] data
187
+ def initialize(context, message, data = Aws::EmptyStructure.new)
188
+ super(context, message, data)
189
+ end
190
+ end
191
+
170
192
  class ProvisionedThroughputExceededException < ServiceError
171
193
 
172
194
  # @param [Seahorse::Client::RequestContext] context
@@ -643,6 +643,96 @@ module Aws::Rekognition
643
643
  include Aws::Structure
644
644
  end
645
645
 
646
+ # @note When making an API call, you may pass CopyProjectVersionRequest
647
+ # data as a hash:
648
+ #
649
+ # {
650
+ # source_project_arn: "ProjectArn", # required
651
+ # source_project_version_arn: "ProjectVersionArn", # required
652
+ # destination_project_arn: "ProjectArn", # required
653
+ # version_name: "VersionName", # required
654
+ # output_config: { # required
655
+ # s3_bucket: "S3Bucket",
656
+ # s3_key_prefix: "S3KeyPrefix",
657
+ # },
658
+ # tags: {
659
+ # "TagKey" => "TagValue",
660
+ # },
661
+ # kms_key_id: "KmsKeyId",
662
+ # }
663
+ #
664
+ # @!attribute [rw] source_project_arn
665
+ # The ARN of the source project in the trusting AWS account.
666
+ # @return [String]
667
+ #
668
+ # @!attribute [rw] source_project_version_arn
669
+ # The ARN of the model version in the source project that you want to
670
+ # copy to a destination project.
671
+ # @return [String]
672
+ #
673
+ # @!attribute [rw] destination_project_arn
674
+ # The ARN of the project in the trusted AWS account that you want to
675
+ # copy the model version to.
676
+ # @return [String]
677
+ #
678
+ # @!attribute [rw] version_name
679
+ # A name for the version of the model that's copied to the
680
+ # destination project.
681
+ # @return [String]
682
+ #
683
+ # @!attribute [rw] output_config
684
+ # The S3 bucket and folder location where the training output for the
685
+ # source model version is placed.
686
+ # @return [Types::OutputConfig]
687
+ #
688
+ # @!attribute [rw] tags
689
+ # The key-value tags to assign to the model version.
690
+ # @return [Hash<String,String>]
691
+ #
692
+ # @!attribute [rw] kms_key_id
693
+ # The identifier for your AWS Key Management Service key (AWS KMS
694
+ # key). You can supply the Amazon Resource Name (ARN) of your KMS key,
695
+ # the ID of your KMS key, an alias for your KMS key, or an alias ARN.
696
+ # The key is used to encrypt training results and manifest files
697
+ # written to the output Amazon S3 bucket (`OutputConfig`).
698
+ #
699
+ # If you choose to use your own KMS key, you need the following
700
+ # permissions on the KMS key.
701
+ #
702
+ # * kms:CreateGrant
703
+ #
704
+ # * kms:DescribeKey
705
+ #
706
+ # * kms:GenerateDataKey
707
+ #
708
+ # * kms:Decrypt
709
+ #
710
+ # If you don't specify a value for `KmsKeyId`, images copied into the
711
+ # service are encrypted using a key that AWS owns and manages.
712
+ # @return [String]
713
+ #
714
+ class CopyProjectVersionRequest < Struct.new(
715
+ :source_project_arn,
716
+ :source_project_version_arn,
717
+ :destination_project_arn,
718
+ :version_name,
719
+ :output_config,
720
+ :tags,
721
+ :kms_key_id)
722
+ SENSITIVE = []
723
+ include Aws::Structure
724
+ end
725
+
726
+ # @!attribute [rw] project_version_arn
727
+ # The ARN of the copied model version in the destination project.
728
+ # @return [String]
729
+ #
730
+ class CopyProjectVersionResponse < Struct.new(
731
+ :project_version_arn)
732
+ SENSITIVE = []
733
+ include Aws::Structure
734
+ end
735
+
646
736
  # Information about an item of Personal Protective Equipment covering a
647
737
  # corresponding body part. For more information, see
648
738
  # DetectProtectiveEquipment.
@@ -1047,9 +1137,10 @@ module Aws::Rekognition
1047
1137
  #
1048
1138
  # @!attribute [rw] regions_of_interest
1049
1139
  # Specifies locations in the frames where Amazon Rekognition checks
1050
- # for objects or people. You can specify up to 10 regions of interest.
1051
- # This is an optional parameter for label detection stream processors
1052
- # and should not be used to create a face search stream processor.
1140
+ # for objects or people. You can specify up to 10 regions of interest,
1141
+ # and each region has either a polygon or a bounding box. This is an
1142
+ # optional parameter for label detection stream processors and should
1143
+ # not be used to create a face search stream processor.
1053
1144
  # @return [Array<Types::RegionOfInterest>]
1054
1145
  #
1055
1146
  # @!attribute [rw] data_sharing_preference
@@ -1420,6 +1511,38 @@ module Aws::Rekognition
1420
1511
  include Aws::Structure
1421
1512
  end
1422
1513
 
1514
+ # @note When making an API call, you may pass DeleteProjectPolicyRequest
1515
+ # data as a hash:
1516
+ #
1517
+ # {
1518
+ # project_arn: "ProjectArn", # required
1519
+ # policy_name: "ProjectPolicyName", # required
1520
+ # policy_revision_id: "ProjectPolicyRevisionId",
1521
+ # }
1522
+ #
1523
+ # @!attribute [rw] project_arn
1524
+ # The Amazon Resource Name (ARN) of the project that the project
1525
+ # policy you want to delete is attached to.
1526
+ # @return [String]
1527
+ #
1528
+ # @!attribute [rw] policy_name
1529
+ # The name of the policy that you want to delete.
1530
+ # @return [String]
1531
+ #
1532
+ # @!attribute [rw] policy_revision_id
1533
+ # The ID of the project policy revision that you want to delete.
1534
+ # @return [String]
1535
+ #
1536
+ class DeleteProjectPolicyRequest < Struct.new(
1537
+ :project_arn,
1538
+ :policy_name,
1539
+ :policy_revision_id)
1540
+ SENSITIVE = []
1541
+ include Aws::Structure
1542
+ end
1543
+
1544
+ class DeleteProjectPolicyResponse < Aws::EmptyStructure; end
1545
+
1423
1546
  # @note When making an API call, you may pass DeleteProjectRequest
1424
1547
  # data as a hash:
1425
1548
  #
@@ -3953,6 +4076,10 @@ module Aws::Rekognition
3953
4076
  #
3954
4077
  class InvalidParameterException < Aws::EmptyStructure; end
3955
4078
 
4079
+ # The supplied revision id for the project policy is invalid.
4080
+ #
4081
+ class InvalidPolicyRevisionIdException < Aws::EmptyStructure; end
4082
+
3956
4083
  # Amazon Rekognition is unable to access the S3 object specified in the
3957
4084
  # request.
3958
4085
  #
@@ -4381,6 +4508,58 @@ module Aws::Rekognition
4381
4508
  include Aws::Structure
4382
4509
  end
4383
4510
 
4511
+ # @note When making an API call, you may pass ListProjectPoliciesRequest
4512
+ # data as a hash:
4513
+ #
4514
+ # {
4515
+ # project_arn: "ProjectArn", # required
4516
+ # next_token: "ExtendedPaginationToken",
4517
+ # max_results: 1,
4518
+ # }
4519
+ #
4520
+ # @!attribute [rw] project_arn
4521
+ # The ARN of the project for which you want to list the project
4522
+ # policies.
4523
+ # @return [String]
4524
+ #
4525
+ # @!attribute [rw] next_token
4526
+ # If the previous response was incomplete (because there is more
4527
+ # results to retrieve), Amazon Rekognition Custom Labels returns a
4528
+ # pagination token in the response. You can use this pagination token
4529
+ # to retrieve the next set of results.
4530
+ # @return [String]
4531
+ #
4532
+ # @!attribute [rw] max_results
4533
+ # The maximum number of results to return per paginated call. The
4534
+ # largest value you can specify is 5. If you specify a value greater
4535
+ # than 5, a ValidationException error occurs. The default value is 5.
4536
+ # @return [Integer]
4537
+ #
4538
+ class ListProjectPoliciesRequest < Struct.new(
4539
+ :project_arn,
4540
+ :next_token,
4541
+ :max_results)
4542
+ SENSITIVE = []
4543
+ include Aws::Structure
4544
+ end
4545
+
4546
+ # @!attribute [rw] project_policies
4547
+ # A list of project policies attached to the project.
4548
+ # @return [Array<Types::ProjectPolicy>]
4549
+ #
4550
+ # @!attribute [rw] next_token
4551
+ # If the response is truncated, Amazon Rekognition returns this token
4552
+ # that you can use in the subsequent request to retrieve the next set
4553
+ # of project policies.
4554
+ # @return [String]
4555
+ #
4556
+ class ListProjectPoliciesResponse < Struct.new(
4557
+ :project_policies,
4558
+ :next_token)
4559
+ SENSITIVE = []
4560
+ include Aws::Structure
4561
+ end
4562
+
4384
4563
  # @note When making an API call, you may pass ListStreamProcessorsRequest
4385
4564
  # data as a hash:
4386
4565
  #
@@ -4453,6 +4632,11 @@ module Aws::Rekognition
4453
4632
  include Aws::Structure
4454
4633
  end
4455
4634
 
4635
+ # The format of the project policy document that you supplied to
4636
+ # `PutProjectPolicy` is incorrect.
4637
+ #
4638
+ class MalformedPolicyDocumentException < Aws::EmptyStructure; end
4639
+
4456
4640
  # Provides information about a single type of inappropriate, unwanted,
4457
4641
  # or offensive content found in an image or video. Each type of
4458
4642
  # moderated content has a label within a hierarchical taxonomy. For more
@@ -4761,6 +4945,44 @@ module Aws::Rekognition
4761
4945
  include Aws::Structure
4762
4946
  end
4763
4947
 
4948
+ # Describes a project policy in the response from ListProjectPolicies.
4949
+ #
4950
+ # @!attribute [rw] project_arn
4951
+ # The Amazon Resource Name (ARN) of the project to which the project
4952
+ # policy is attached.
4953
+ # @return [String]
4954
+ #
4955
+ # @!attribute [rw] policy_name
4956
+ # The name of the project policy.
4957
+ # @return [String]
4958
+ #
4959
+ # @!attribute [rw] policy_revision_id
4960
+ # The revision ID of the project policy.
4961
+ # @return [String]
4962
+ #
4963
+ # @!attribute [rw] policy_document
4964
+ # The JSON document for the project policy.
4965
+ # @return [String]
4966
+ #
4967
+ # @!attribute [rw] creation_timestamp
4968
+ # The Unix datetime for the creation of the project policy.
4969
+ # @return [Time]
4970
+ #
4971
+ # @!attribute [rw] last_updated_timestamp
4972
+ # The Unix datetime for when the project policy was last updated.
4973
+ # @return [Time]
4974
+ #
4975
+ class ProjectPolicy < Struct.new(
4976
+ :project_arn,
4977
+ :policy_name,
4978
+ :policy_revision_id,
4979
+ :policy_document,
4980
+ :creation_timestamp,
4981
+ :last_updated_timestamp)
4982
+ SENSITIVE = []
4983
+ include Aws::Structure
4984
+ end
4985
+
4764
4986
  # A description of a version of an Amazon Rekognition Custom Labels
4765
4987
  # model.
4766
4988
  #
@@ -4823,6 +5045,18 @@ module Aws::Rekognition
4823
5045
  # that was used to encrypt the model during training.
4824
5046
  # @return [String]
4825
5047
  #
5048
+ # @!attribute [rw] max_inference_units
5049
+ # The maximum number of inference units Amazon Rekognition Custom
5050
+ # Labels uses to auto-scale the model. For more information, see
5051
+ # StartProjectVersion.
5052
+ # @return [Integer]
5053
+ #
5054
+ # @!attribute [rw] source_project_version_arn
5055
+ # If the model version was copied from a different project,
5056
+ # `SourceProjectVersionArn` contains the ARN of the source model
5057
+ # version.
5058
+ # @return [String]
5059
+ #
4826
5060
  class ProjectVersionDescription < Struct.new(
4827
5061
  :project_version_arn,
4828
5062
  :creation_timestamp,
@@ -4836,7 +5070,9 @@ module Aws::Rekognition
4836
5070
  :testing_data_result,
4837
5071
  :evaluation_result,
4838
5072
  :manifest_summary,
4839
- :kms_key_id)
5073
+ :kms_key_id,
5074
+ :max_inference_units,
5075
+ :source_project_version_arn)
4840
5076
  SENSITIVE = []
4841
5077
  include Aws::Structure
4842
5078
  end
@@ -4996,6 +5232,63 @@ module Aws::Rekognition
4996
5232
  #
4997
5233
  class ProvisionedThroughputExceededException < Aws::EmptyStructure; end
4998
5234
 
5235
+ # @note When making an API call, you may pass PutProjectPolicyRequest
5236
+ # data as a hash:
5237
+ #
5238
+ # {
5239
+ # project_arn: "ProjectArn", # required
5240
+ # policy_name: "ProjectPolicyName", # required
5241
+ # policy_revision_id: "ProjectPolicyRevisionId",
5242
+ # policy_document: "ProjectPolicyDocument", # required
5243
+ # }
5244
+ #
5245
+ # @!attribute [rw] project_arn
5246
+ # The Amazon Resource Name (ARN) of the project that the project
5247
+ # policy is attached to.
5248
+ # @return [String]
5249
+ #
5250
+ # @!attribute [rw] policy_name
5251
+ # A name for the policy.
5252
+ # @return [String]
5253
+ #
5254
+ # @!attribute [rw] policy_revision_id
5255
+ # The revision ID for the Project Policy. Each time you modify a
5256
+ # policy, Amazon Rekognition Custom Labels generates and assigns a new
5257
+ # `PolicyRevisionId` and then deletes the previous version of the
5258
+ # policy.
5259
+ # @return [String]
5260
+ #
5261
+ # @!attribute [rw] policy_document
5262
+ # A resource policy to add to the model. The policy is a JSON
5263
+ # structure that contains one or more statements that define the
5264
+ # policy. The policy must follow the IAM syntax. For more information
5265
+ # about the contents of a JSON policy document, see [IAM JSON policy
5266
+ # reference][1].
5267
+ #
5268
+ #
5269
+ #
5270
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
5271
+ # @return [String]
5272
+ #
5273
+ class PutProjectPolicyRequest < Struct.new(
5274
+ :project_arn,
5275
+ :policy_name,
5276
+ :policy_revision_id,
5277
+ :policy_document)
5278
+ SENSITIVE = []
5279
+ include Aws::Structure
5280
+ end
5281
+
5282
+ # @!attribute [rw] policy_revision_id
5283
+ # The ID of the project policy.
5284
+ # @return [String]
5285
+ #
5286
+ class PutProjectPolicyResponse < Struct.new(
5287
+ :policy_revision_id)
5288
+ SENSITIVE = []
5289
+ include Aws::Structure
5290
+ end
5291
+
4999
5292
  # @note When making an API call, you may pass RecognizeCelebritiesRequest
5000
5293
  # data as a hash:
5001
5294
  #
@@ -5075,7 +5368,7 @@ module Aws::Rekognition
5075
5368
 
5076
5369
  # Specifies a location within the frame that Rekognition checks for
5077
5370
  # objects of interest such as text, labels, or faces. It uses a
5078
- # `BoundingBox` or object or `Polygon` to set a region of the screen.
5371
+ # `BoundingBox` or `Polygon` to set a region of the screen.
5079
5372
  #
5080
5373
  # A word, face, or label is included in the region if it is more than
5081
5374
  # half in that region. If there is more than one region, the word, face,
@@ -5970,6 +6263,7 @@ module Aws::Rekognition
5970
6263
  # {
5971
6264
  # project_version_arn: "ProjectVersionArn", # required
5972
6265
  # min_inference_units: 1, # required
6266
+ # max_inference_units: 1,
5973
6267
  # }
5974
6268
  #
5975
6269
  # @!attribute [rw] project_version_arn
@@ -5979,15 +6273,27 @@ module Aws::Rekognition
5979
6273
  #
5980
6274
  # @!attribute [rw] min_inference_units
5981
6275
  # The minimum number of inference units to use. A single inference
5982
- # unit represents 1 hour of processing and can support up to 5
5983
- # Transaction Pers Second (TPS). Use a higher number to increase the
5984
- # TPS throughput of your model. You are charged for the number of
5985
- # inference units that you use.
6276
+ # unit represents 1 hour of processing.
6277
+ #
6278
+ # For information about the number of transactions per second (TPS)
6279
+ # that an inference unit can support, see *Running a trained Amazon
6280
+ # Rekognition Custom Labels model* in the Amazon Rekognition Custom
6281
+ # Labels Guide.
6282
+ #
6283
+ # Use a higher number to increase the TPS throughput of your model.
6284
+ # You are charged for the number of inference units that you use.
6285
+ # @return [Integer]
6286
+ #
6287
+ # @!attribute [rw] max_inference_units
6288
+ # The maximum number of inference units to use for auto-scaling the
6289
+ # model. If you don't specify a value, Amazon Rekognition Custom
6290
+ # Labels doesn't auto-scale the model.
5986
6291
  # @return [Integer]
5987
6292
  #
5988
6293
  class StartProjectVersionRequest < Struct.new(
5989
6294
  :project_version_arn,
5990
- :min_inference_units)
6295
+ :min_inference_units,
6296
+ :max_inference_units)
5991
6297
  SENSITIVE = []
5992
6298
  include Aws::Structure
5993
6299
  end
@@ -49,6 +49,6 @@ require_relative 'aws-sdk-rekognition/customizations'
49
49
  # @!group service
50
50
  module Aws::Rekognition
51
51
 
52
- GEM_VERSION = '1.67.0'
52
+ GEM_VERSION = '1.70.0'
53
53
 
54
54
  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.67.0
4
+ version: 1.70.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-27 00:00:00.000000000 Z
11
+ date: 2022-08-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core