aws-sdk-rekognition 1.67.0 → 1.70.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: 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