aws-sdk-rekognition 1.69.0 → 1.71.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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"))
@@ -1240,6 +1298,7 @@ module Aws::Rekognition
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"))
1242
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"))
1243
1302
  ProjectVersionDescription.struct_class = Types::ProjectVersionDescription
1244
1303
 
1245
1304
  ProjectVersionDescriptions.member = Shapes::ShapeRef.new(shape: ProjectVersionDescription)
@@ -1272,6 +1331,15 @@ module Aws::Rekognition
1272
1331
 
1273
1332
  ProvisionedThroughputExceededException.struct_class = Types::ProvisionedThroughputExceededException
1274
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
+
1275
1343
  Reasons.member = Shapes::ShapeRef.new(shape: Reason)
1276
1344
 
1277
1345
  RecognizeCelebritiesRequest.add_member(:image, Shapes::ShapeRef.new(shape: Image, required: true, location_name: "Image"))
@@ -1660,6 +1728,23 @@ module Aws::Rekognition
1660
1728
  o.errors << Shapes::ShapeRef.new(shape: InvalidImageFormatException)
1661
1729
  end)
1662
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
+
1663
1748
  api.add_operation(:create_collection, Seahorse::Model::Operation.new.tap do |o|
1664
1749
  o.name = "CreateCollection"
1665
1750
  o.http_method = "POST"
@@ -1799,6 +1884,21 @@ module Aws::Rekognition
1799
1884
  o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
1800
1885
  end)
1801
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
+
1802
1902
  api.add_operation(:delete_project_version, Seahorse::Model::Operation.new.tap do |o|
1803
1903
  o.name = "DeleteProjectVersion"
1804
1904
  o.http_method = "POST"
@@ -2315,6 +2415,27 @@ module Aws::Rekognition
2315
2415
  )
2316
2416
  end)
2317
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
+
2318
2439
  api.add_operation(:list_stream_processors, Seahorse::Model::Operation.new.tap do |o|
2319
2440
  o.name = "ListStreamProcessors"
2320
2441
  o.http_method = "POST"
@@ -2349,6 +2470,25 @@ module Aws::Rekognition
2349
2470
  o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
2350
2471
  end)
2351
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
+
2352
2492
  api.add_operation(:recognize_celebrities, Seahorse::Model::Operation.new.tap do |o|
2353
2493
  o.name = "RecognizeCelebrities"
2354
2494
  o.http_method = "POST"
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::Rekognition
11
+ # Endpoint parameters used to influence endpoints per request.
12
+ #
13
+ # @!attribute region
14
+ # The AWS region used to dispatch the request.
15
+ #
16
+ # @return [String]
17
+ #
18
+ # @!attribute use_dual_stack
19
+ # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
20
+ #
21
+ # @return [Boolean]
22
+ #
23
+ # @!attribute use_fips
24
+ # When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
25
+ #
26
+ # @return [Boolean]
27
+ #
28
+ # @!attribute endpoint
29
+ # Override the endpoint used to send this request
30
+ #
31
+ # @return [String]
32
+ #
33
+ EndpointParameters = Struct.new(
34
+ :region,
35
+ :use_dual_stack,
36
+ :use_fips,
37
+ :endpoint,
38
+ ) do
39
+ include Aws::Structure
40
+
41
+ # @api private
42
+ class << self
43
+ PARAM_MAP = {
44
+ 'Region' => :region,
45
+ 'UseDualStack' => :use_dual_stack,
46
+ 'UseFIPS' => :use_fips,
47
+ 'Endpoint' => :endpoint,
48
+ }.freeze
49
+ end
50
+
51
+ def initialize(options = {})
52
+ self[:region] = options[:region]
53
+ self[:use_dual_stack] = options[:use_dual_stack]
54
+ self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
+ if self[:use_dual_stack].nil?
56
+ raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
57
+ end
58
+ self[:use_fips] = options[:use_fips]
59
+ self[:use_fips] = false if self[:use_fips].nil?
60
+ if self[:use_fips].nil?
61
+ raise ArgumentError, "Missing required EndpointParameter: :use_fips"
62
+ end
63
+ self[:endpoint] = options[:endpoint]
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,139 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::Rekognition
11
+ class EndpointProvider
12
+ def initialize(rule_set = nil)
13
+ @@rule_set ||= begin
14
+ endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
15
+ Aws::Endpoints::RuleSet.new(
16
+ version: endpoint_rules['version'],
17
+ service_id: endpoint_rules['serviceId'],
18
+ parameters: endpoint_rules['parameters'],
19
+ rules: endpoint_rules['rules']
20
+ )
21
+ end
22
+ @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
+ end
24
+
25
+ def resolve_endpoint(parameters)
26
+ @provider.resolve_endpoint(parameters)
27
+ end
28
+
29
+ # @api private
30
+ RULES = <<-JSON
31
+ eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
+ bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
33
+ dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
34
+ cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
35
+ dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
36
+ ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
37
+ ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
38
+ ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
39
+ aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
40
+ OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
41
+ UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
42
+ dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
43
+ UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
44
+ dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
45
+ ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
46
+ IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
47
+ aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
48
+ bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
49
+ ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
50
+ Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
51
+ cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
52
+ InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
53
+ aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
54
+ cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
55
+ InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
56
+ W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
57
+ UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
58
+ SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
59
+ eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
60
+ InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
61
+ LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
62
+ ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
63
+ b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
64
+ fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
65
+ RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
66
+ ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
67
+ ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
68
+ ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
69
+ dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
70
+ dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
71
+ Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
72
+ In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
73
+ YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
74
+ YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
75
+ cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
76
+ dCI6eyJ1cmwiOiJodHRwczovL3Jla29nbml0aW9uLWZpcHMue1JlZ2lvbn0u
77
+ e1BhcnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJvcGVy
78
+ dGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfSx7
79
+ ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgYW5kIER1YWxTdGFjayBh
80
+ cmUgZW5hYmxlZCwgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBv
81
+ cnQgb25lIG9yIGJvdGgiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9u
82
+ cyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNl
83
+ RklQUyJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
84
+ dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
85
+ Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
86
+ In0sInN1cHBvcnRzRklQUyJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6
87
+ W3siY29uZGl0aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNv
88
+ bmRpdGlvbnMiOlt7ImZuIjoic3RyaW5nRXF1YWxzIiwiYXJndiI6W3sicmVm
89
+ IjoiUmVnaW9uIn0sInJla29nbml0aW9uLmNhLWNlbnRyYWwtMSJdfV0sImVu
90
+ ZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vcmVrb2duaXRpb24tZmlwcy5jYS1j
91
+ ZW50cmFsLTEuYW1hem9uYXdzLmNvbSIsInByb3BlcnRpZXMiOnt9LCJoZWFk
92
+ ZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9LHsiY29uZGl0aW9ucyI6W3si
93
+ Zm4iOiJzdHJpbmdFcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJSZWdpb24ifSwi
94
+ cmVrb2duaXRpb24udXMtZWFzdC0yIl19XSwiZW5kcG9pbnQiOnsidXJsIjoi
95
+ aHR0cHM6Ly9yZWtvZ25pdGlvbi1maXBzLnVzLWVhc3QtMi5hbWF6b25hd3Mu
96
+ Y29tIiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVu
97
+ ZHBvaW50In0seyJjb25kaXRpb25zIjpbeyJmbiI6InN0cmluZ0VxdWFscyIs
98
+ ImFyZ3YiOlt7InJlZiI6IlJlZ2lvbiJ9LCJyZWtvZ25pdGlvbi51cy13ZXN0
99
+ LTEiXX1dLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL3Jla29nbml0aW9u
100
+ LWZpcHMudXMtd2VzdC0xLmFtYXpvbmF3cy5jb20iLCJwcm9wZXJ0aWVzIjp7
101
+ fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifSx7ImNvbmRpdGlv
102
+ bnMiOlt7ImZuIjoic3RyaW5nRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiUmVn
103
+ aW9uIn0sInJla29nbml0aW9uLnVzLWVhc3QtMSJdfV0sImVuZHBvaW50Ijp7
104
+ InVybCI6Imh0dHBzOi8vcmVrb2duaXRpb24tZmlwcy51cy1lYXN0LTEuYW1h
105
+ em9uYXdzLmNvbSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5
106
+ cGUiOiJlbmRwb2ludCJ9LHsiY29uZGl0aW9ucyI6W3siZm4iOiJzdHJpbmdF
107
+ cXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJSZWdpb24ifSwicmVrb2duaXRpb24u
108
+ dXMtd2VzdC0yIl19XSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9yZWtv
109
+ Z25pdGlvbi1maXBzLnVzLXdlc3QtMi5hbWF6b25hd3MuY29tIiwicHJvcGVy
110
+ dGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In0seyJj
111
+ b25kaXRpb25zIjpbeyJmbiI6InN0cmluZ0VxdWFscyIsImFyZ3YiOlt7InJl
112
+ ZiI6IlJlZ2lvbiJ9LCJyZWtvZ25pdGlvbi51cy1nb3Ytd2VzdC0xIl19XSwi
113
+ ZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9yZWtvZ25pdGlvbi1maXBzLnVz
114
+ LWdvdi13ZXN0LTEuYW1hem9uYXdzLmNvbSIsInByb3BlcnRpZXMiOnt9LCJo
115
+ ZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9LHsiY29uZGl0aW9ucyI6
116
+ W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vcmVrb2duaXRpb24tZmlw
117
+ cy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9w
118
+ ZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19
119
+ XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGlzIGVuYWJsZWQg
120
+ YnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgRklQUyIsInR5
121
+ cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5F
122
+ cXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1d
123
+ LCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6
124
+ ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIs
125
+ ImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0R1
126
+ YWxTdGFjayJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
127
+ aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vcmVrb2duaXRp
128
+ b24ue1JlZ2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZm
129
+ aXh9IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVu
130
+ ZHBvaW50In1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkR1YWxTdGFj
131
+ ayBpcyBlbmFibGVkIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBw
132
+ b3J0IER1YWxTdGFjayIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25z
133
+ IjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9yZWtvZ25pdGlvbi57
134
+ UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0
135
+ aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0=
136
+
137
+ JSON
138
+ end
139
+ end