aws-sdk-detective 1.29.0 → 1.31.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: 3e38217f8159d7ed5b730c63aff4edb75fe12f964ef74c45570a1dc3dd0a5c2e
4
- data.tar.gz: 983e4d26ac6435ec9b6b291ce633790005d3b82d83e5db5066759e2bcdac0959
3
+ metadata.gz: 3e18fb1a46061ac423029e31499dc1647237181a2687a3b4dea07ab2bbee3c73
4
+ data.tar.gz: eb081da2ef55534fdadaa69de213d0643d7b0ff85e5de6b24a0d37347cd65a76
5
5
  SHA512:
6
- metadata.gz: 3f2a6a507ec394336f758b8136e17d09aad68b5364fafd6b1647fa965cfdeac79761d005417d04bb1df6d5795dd84f4515c9352cf26a405093b34f8b6b6a297b
7
- data.tar.gz: 7a27f810270dbaa54bf376c130ace09e6c6526227599c4987a6bad6b1f6656a12846434331a06e4faaccebe0d4d7070a6ca36a5841cb5ba71c605079263c4d36
6
+ metadata.gz: 49bcda6dfae10790a71736269057d99066d7191532dd25bda8af0d8710b0cf5cdd21c676ec6e632f15bc6ee2e04d36c4d2c66de01e4b96e267d4fe9f005a0b8e
7
+ data.tar.gz: 9ba02c7d978fa6d9a3d83f3454a1729546d9f48195c1747fc2edd20a2dc2b25608334a09176df28f3f24f03311d3b515376e034e2c113286bec6a5511ce5db53
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.31.0 (2022-12-23)
5
+ ------------------
6
+
7
+ * Feature - This release adds a missed AccessDeniedException type to several endpoints.
8
+
9
+ 1.30.0 (2022-10-25)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
4
14
  1.29.0 (2022-07-26)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.29.0
1
+ 1.31.0
@@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
- require 'aws-sdk-core/plugins/signature_v4.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
34
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:detective)
@@ -79,8 +79,9 @@ module Aws::Detective
79
79
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
81
  add_plugin(Aws::Plugins::RecursionDetection)
82
- add_plugin(Aws::Plugins::SignatureV4)
82
+ add_plugin(Aws::Plugins::Sign)
83
83
  add_plugin(Aws::Plugins::Protocols::RestJson)
84
+ add_plugin(Aws::Detective::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -287,6 +288,19 @@ module Aws::Detective
287
288
  # ** Please note ** When response stubbing is enabled, no HTTP
288
289
  # requests are made, and retries are disabled.
289
290
  #
291
+ # @option options [Aws::TokenProvider] :token_provider
292
+ # A Bearer Token Provider. This can be an instance of any one of the
293
+ # following classes:
294
+ #
295
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
296
+ # tokens.
297
+ #
298
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
299
+ # access token generated from `aws login`.
300
+ #
301
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
302
+ # will be used to search for tokens configured for your profile in shared configuration files.
303
+ #
290
304
  # @option options [Boolean] :use_dualstack_endpoint
291
305
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
292
306
  # will be used if available.
@@ -300,6 +314,9 @@ module Aws::Detective
300
314
  # When `true`, request parameters are validated before
301
315
  # sending the request.
302
316
  #
317
+ # @option options [Aws::Detective::EndpointProvider] :endpoint_provider
318
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::Detective::EndpointParameters`
319
+ #
303
320
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
304
321
  # requests through. Formatted like 'http://proxy.com:123'.
305
322
  #
@@ -1401,7 +1418,7 @@ module Aws::Detective
1401
1418
  params: params,
1402
1419
  config: config)
1403
1420
  context[:gem_name] = 'aws-sdk-detective'
1404
- context[:gem_version] = '1.29.0'
1421
+ context[:gem_version] = '1.31.0'
1405
1422
  Seahorse::Client::Request.new(handlers, context)
1406
1423
  end
1407
1424
 
@@ -14,6 +14,7 @@ module Aws::Detective
14
14
  include Seahorse::Model
15
15
 
16
16
  AcceptInvitationRequest = Shapes::StructureShape.new(name: 'AcceptInvitationRequest')
17
+ AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
17
18
  Account = Shapes::StructureShape.new(name: 'Account')
18
19
  AccountId = Shapes::StringShape.new(name: 'AccountId')
19
20
  AccountIdExtendedList = Shapes::ListShape.new(name: 'AccountIdExtendedList')
@@ -112,6 +113,13 @@ module Aws::Detective
112
113
  AcceptInvitationRequest.add_member(:graph_arn, Shapes::ShapeRef.new(shape: GraphArn, required: true, location_name: "GraphArn"))
113
114
  AcceptInvitationRequest.struct_class = Types::AcceptInvitationRequest
114
115
 
116
+ AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
117
+ AccessDeniedException.add_member(:error_code, Shapes::ShapeRef.new(shape: ErrorCode, location_name: "ErrorCode"))
118
+ AccessDeniedException.add_member(:error_code_reason, Shapes::ShapeRef.new(shape: ErrorCodeReason, location_name: "ErrorCodeReason"))
119
+ AccessDeniedException.add_member(:sub_error_code, Shapes::ShapeRef.new(shape: ErrorCode, location_name: "SubErrorCode"))
120
+ AccessDeniedException.add_member(:sub_error_code_reason, Shapes::ShapeRef.new(shape: ErrorCodeReason, location_name: "SubErrorCodeReason"))
121
+ AccessDeniedException.struct_class = Types::AccessDeniedException
122
+
115
123
  Account.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location_name: "AccountId"))
116
124
  Account.add_member(:email_address, Shapes::ShapeRef.new(shape: EmailAddress, required: true, location_name: "EmailAddress"))
117
125
  Account.struct_class = Types::Account
@@ -393,6 +401,7 @@ module Aws::Detective
393
401
  o.http_request_uri = "/invitation"
394
402
  o.input = Shapes::ShapeRef.new(shape: AcceptInvitationRequest)
395
403
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
404
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
396
405
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
397
406
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
398
407
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
@@ -405,6 +414,7 @@ module Aws::Detective
405
414
  o.http_request_uri = "/graph/datasources/get"
406
415
  o.input = Shapes::ShapeRef.new(shape: BatchGetGraphMemberDatasourcesRequest)
407
416
  o.output = Shapes::ShapeRef.new(shape: BatchGetGraphMemberDatasourcesResponse)
417
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
408
418
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
409
419
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
410
420
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
@@ -416,6 +426,7 @@ module Aws::Detective
416
426
  o.http_request_uri = "/membership/datasources/get"
417
427
  o.input = Shapes::ShapeRef.new(shape: BatchGetMembershipDatasourcesRequest)
418
428
  o.output = Shapes::ShapeRef.new(shape: BatchGetMembershipDatasourcesResponse)
429
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
419
430
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
420
431
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
421
432
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
@@ -427,6 +438,7 @@ module Aws::Detective
427
438
  o.http_request_uri = "/graph"
428
439
  o.input = Shapes::ShapeRef.new(shape: CreateGraphRequest)
429
440
  o.output = Shapes::ShapeRef.new(shape: CreateGraphResponse)
441
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
430
442
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
431
443
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
432
444
  o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
@@ -438,6 +450,7 @@ module Aws::Detective
438
450
  o.http_request_uri = "/graph/members"
439
451
  o.input = Shapes::ShapeRef.new(shape: CreateMembersRequest)
440
452
  o.output = Shapes::ShapeRef.new(shape: CreateMembersResponse)
453
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
441
454
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
442
455
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
443
456
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
@@ -450,6 +463,7 @@ module Aws::Detective
450
463
  o.http_request_uri = "/graph/removal"
451
464
  o.input = Shapes::ShapeRef.new(shape: DeleteGraphRequest)
452
465
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
466
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
453
467
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
454
468
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
455
469
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
@@ -461,6 +475,7 @@ module Aws::Detective
461
475
  o.http_request_uri = "/graph/members/removal"
462
476
  o.input = Shapes::ShapeRef.new(shape: DeleteMembersRequest)
463
477
  o.output = Shapes::ShapeRef.new(shape: DeleteMembersResponse)
478
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
464
479
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
465
480
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
466
481
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
@@ -473,6 +488,7 @@ module Aws::Detective
473
488
  o.http_request_uri = "/orgs/describeOrganizationConfiguration"
474
489
  o.input = Shapes::ShapeRef.new(shape: DescribeOrganizationConfigurationRequest)
475
490
  o.output = Shapes::ShapeRef.new(shape: DescribeOrganizationConfigurationResponse)
491
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
476
492
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
477
493
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
478
494
  o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
@@ -484,6 +500,7 @@ module Aws::Detective
484
500
  o.http_request_uri = "/orgs/disableAdminAccount"
485
501
  o.input = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
486
502
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
503
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
487
504
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
488
505
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
489
506
  o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
@@ -495,6 +512,7 @@ module Aws::Detective
495
512
  o.http_request_uri = "/membership/removal"
496
513
  o.input = Shapes::ShapeRef.new(shape: DisassociateMembershipRequest)
497
514
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
515
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
498
516
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
499
517
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
500
518
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
@@ -507,6 +525,7 @@ module Aws::Detective
507
525
  o.http_request_uri = "/orgs/enableAdminAccount"
508
526
  o.input = Shapes::ShapeRef.new(shape: EnableOrganizationAdminAccountRequest)
509
527
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
528
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
510
529
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
511
530
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
512
531
  o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
@@ -518,6 +537,7 @@ module Aws::Detective
518
537
  o.http_request_uri = "/graph/members/get"
519
538
  o.input = Shapes::ShapeRef.new(shape: GetMembersRequest)
520
539
  o.output = Shapes::ShapeRef.new(shape: GetMembersResponse)
540
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
521
541
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
522
542
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
523
543
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
@@ -529,6 +549,7 @@ module Aws::Detective
529
549
  o.http_request_uri = "/graph/datasources/list"
530
550
  o.input = Shapes::ShapeRef.new(shape: ListDatasourcePackagesRequest)
531
551
  o.output = Shapes::ShapeRef.new(shape: ListDatasourcePackagesResponse)
552
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
532
553
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
533
554
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
534
555
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
@@ -546,6 +567,7 @@ module Aws::Detective
546
567
  o.http_request_uri = "/graphs/list"
547
568
  o.input = Shapes::ShapeRef.new(shape: ListGraphsRequest)
548
569
  o.output = Shapes::ShapeRef.new(shape: ListGraphsResponse)
570
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
549
571
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
550
572
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
551
573
  o[:pager] = Aws::Pager.new(
@@ -562,6 +584,7 @@ module Aws::Detective
562
584
  o.http_request_uri = "/invitations/list"
563
585
  o.input = Shapes::ShapeRef.new(shape: ListInvitationsRequest)
564
586
  o.output = Shapes::ShapeRef.new(shape: ListInvitationsResponse)
587
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
565
588
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
566
589
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
567
590
  o[:pager] = Aws::Pager.new(
@@ -578,6 +601,7 @@ module Aws::Detective
578
601
  o.http_request_uri = "/graph/members/list"
579
602
  o.input = Shapes::ShapeRef.new(shape: ListMembersRequest)
580
603
  o.output = Shapes::ShapeRef.new(shape: ListMembersResponse)
604
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
581
605
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
582
606
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
583
607
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
@@ -595,6 +619,7 @@ module Aws::Detective
595
619
  o.http_request_uri = "/orgs/adminAccountslist"
596
620
  o.input = Shapes::ShapeRef.new(shape: ListOrganizationAdminAccountsRequest)
597
621
  o.output = Shapes::ShapeRef.new(shape: ListOrganizationAdminAccountsResponse)
622
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
598
623
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
599
624
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
600
625
  o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
@@ -612,6 +637,7 @@ module Aws::Detective
612
637
  o.http_request_uri = "/tags/{ResourceArn}"
613
638
  o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
614
639
  o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
640
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
615
641
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
616
642
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
617
643
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
@@ -623,6 +649,7 @@ module Aws::Detective
623
649
  o.http_request_uri = "/invitation/removal"
624
650
  o.input = Shapes::ShapeRef.new(shape: RejectInvitationRequest)
625
651
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
652
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
626
653
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
627
654
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
628
655
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
@@ -635,6 +662,7 @@ module Aws::Detective
635
662
  o.http_request_uri = "/graph/member/monitoringstate"
636
663
  o.input = Shapes::ShapeRef.new(shape: StartMonitoringMemberRequest)
637
664
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
665
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
638
666
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
639
667
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
640
668
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
@@ -648,6 +676,7 @@ module Aws::Detective
648
676
  o.http_request_uri = "/tags/{ResourceArn}"
649
677
  o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
650
678
  o.output = Shapes::ShapeRef.new(shape: TagResourceResponse)
679
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
651
680
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
652
681
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
653
682
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
@@ -659,6 +688,7 @@ module Aws::Detective
659
688
  o.http_request_uri = "/tags/{ResourceArn}"
660
689
  o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
661
690
  o.output = Shapes::ShapeRef.new(shape: UntagResourceResponse)
691
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
662
692
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
663
693
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
664
694
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
@@ -670,6 +700,7 @@ module Aws::Detective
670
700
  o.http_request_uri = "/graph/datasources/update"
671
701
  o.input = Shapes::ShapeRef.new(shape: UpdateDatasourcePackagesRequest)
672
702
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
703
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
673
704
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
674
705
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
675
706
  o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
@@ -682,6 +713,7 @@ module Aws::Detective
682
713
  o.http_request_uri = "/orgs/updateOrganizationConfiguration"
683
714
  o.input = Shapes::ShapeRef.new(shape: UpdateOrganizationConfigurationRequest)
684
715
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
716
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
685
717
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
686
718
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
687
719
  o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
@@ -0,0 +1,69 @@
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::Detective
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
+ if self[:region].nil?
54
+ raise ArgumentError, "Missing required EndpointParameter: :region"
55
+ end
56
+ self[:use_dual_stack] = options[:use_dual_stack]
57
+ self[:use_dual_stack] = false if self[:use_dual_stack].nil?
58
+ if self[:use_dual_stack].nil?
59
+ raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
60
+ end
61
+ self[:use_fips] = options[:use_fips]
62
+ self[:use_fips] = false if self[:use_fips].nil?
63
+ if self[:use_fips].nil?
64
+ raise ArgumentError, "Missing required EndpointParameter: :use_fips"
65
+ end
66
+ self[:endpoint] = options[:endpoint]
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,110 @@
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::Detective
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
+ bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOnRydWUsImRvY3VtZW50
33
+ YXRpb24iOiJUaGUgQVdTIHJlZ2lvbiB1c2VkIHRvIGRpc3BhdGNoIHRoZSBy
34
+ ZXF1ZXN0LiIsInR5cGUiOiJTdHJpbmcifSwiVXNlRHVhbFN0YWNrIjp7ImJ1
35
+ aWx0SW4iOiJBV1M6OlVzZUR1YWxTdGFjayIsInJlcXVpcmVkIjp0cnVlLCJk
36
+ ZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRhdGlvbiI6IldoZW4gdHJ1ZSwgdXNl
37
+ IHRoZSBkdWFsLXN0YWNrIGVuZHBvaW50LiBJZiB0aGUgY29uZmlndXJlZCBl
38
+ bmRwb2ludCBkb2VzIG5vdCBzdXBwb3J0IGR1YWwtc3RhY2ssIGRpc3BhdGNo
39
+ aW5nIHRoZSByZXF1ZXN0IE1BWSByZXR1cm4gYW4gZXJyb3IuIiwidHlwZSI6
40
+ IkJvb2xlYW4ifSwiVXNlRklQUyI6eyJidWlsdEluIjoiQVdTOjpVc2VGSVBT
41
+ IiwicmVxdWlyZWQiOnRydWUsImRlZmF1bHQiOmZhbHNlLCJkb2N1bWVudGF0
42
+ aW9uIjoiV2hlbiB0cnVlLCBzZW5kIHRoaXMgcmVxdWVzdCB0byB0aGUgRklQ
43
+ Uy1jb21wbGlhbnQgcmVnaW9uYWwgZW5kcG9pbnQuIElmIHRoZSBjb25maWd1
44
+ cmVkIGVuZHBvaW50IGRvZXMgbm90IGhhdmUgYSBGSVBTIGNvbXBsaWFudCBl
45
+ bmRwb2ludCwgZGlzcGF0Y2hpbmcgdGhlIHJlcXVlc3Qgd2lsbCByZXR1cm4g
46
+ YW4gZXJyb3IuIiwidHlwZSI6IkJvb2xlYW4ifSwiRW5kcG9pbnQiOnsiYnVp
47
+ bHRJbiI6IlNESzo6RW5kcG9pbnQiLCJyZXF1aXJlZCI6ZmFsc2UsImRvY3Vt
48
+ ZW50YXRpb24iOiJPdmVycmlkZSB0aGUgZW5kcG9pbnQgdXNlZCB0byBzZW5k
49
+ IHRoaXMgcmVxdWVzdCIsInR5cGUiOiJTdHJpbmcifX0sInJ1bGVzIjpbeyJj
50
+ b25kaXRpb25zIjpbeyJmbiI6ImF3cy5wYXJ0aXRpb24iLCJhcmd2IjpbeyJy
51
+ ZWYiOiJSZWdpb24ifV0sImFzc2lnbiI6IlBhcnRpdGlvblJlc3VsdCJ9XSwi
52
+ dHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4iOiJp
53
+ c1NldCIsImFyZ3YiOlt7InJlZiI6IkVuZHBvaW50In1dfV0sInR5cGUiOiJ0
54
+ cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVx
55
+ dWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJUFMifSx0cnVlXX1dLCJlcnJv
56
+ ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRklQUyBhbmQgY3VzdG9tIGVu
57
+ ZHBvaW50IGFyZSBub3Qgc3VwcG9ydGVkIiwidHlwZSI6ImVycm9yIn0seyJj
58
+ b25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
59
+ aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoi
60
+ VXNlRHVhbFN0YWNrIn0sdHJ1ZV19XSwiZXJyb3IiOiJJbnZhbGlkIENvbmZp
61
+ Z3VyYXRpb246IER1YWxzdGFjayBhbmQgY3VzdG9tIGVuZHBvaW50IGFyZSBu
62
+ b3Qgc3VwcG9ydGVkIiwidHlwZSI6ImVycm9yIn0seyJjb25kaXRpb25zIjpb
63
+ XSwiZW5kcG9pbnQiOnsidXJsIjp7InJlZiI6IkVuZHBvaW50In0sInByb3Bl
64
+ cnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX1d
65
+ fSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3Yi
66
+ Olt7InJlZiI6IlVzZUZJUFMifSx0cnVlXX0seyJmbiI6ImJvb2xlYW5FcXVh
67
+ bHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJ0
68
+ eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJv
69
+ b2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFy
70
+ Z3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0ZJUFMi
71
+ XX1dfSx7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4i
72
+ OiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0s
73
+ InN1cHBvcnRzRHVhbFN0YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVz
74
+ IjpbeyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6
75
+ Ly9hcGkuZGV0ZWN0aXZlLWZpcHMue1JlZ2lvbn0ue1BhcnRpdGlvblJlc3Vs
76
+ dCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRl
77
+ cnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfSx7ImNvbmRpdGlvbnMiOltd
78
+ LCJlcnJvciI6IkZJUFMgYW5kIER1YWxTdGFjayBhcmUgZW5hYmxlZCwgYnV0
79
+ IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgb25lIG9yIGJvdGgi
80
+ LCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
81
+ ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfV0s
82
+ InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
83
+ Ym9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJnZXRBdHRyIiwi
84
+ YXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1cHBvcnRzRklQ
85
+ UyJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
86
+ W10sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJl
87
+ bmRwb2ludCI6eyJ1cmwiOiJodHRwczovL2FwaS5kZXRlY3RpdmUtZmlwcy57
88
+ UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0
89
+ aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0s
90
+ eyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGlzIGVuYWJsZWQgYnV0
91
+ IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgRklQUyIsInR5cGUi
92
+ OiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVh
93
+ bHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJ0
94
+ eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJv
95
+ b2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFy
96
+ Z3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0R1YWxT
97
+ dGFjayJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9u
98
+ cyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vYXBpLmRldGVjdGl2
99
+ ZS57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2R1YWxTdGFja0Ruc1N1ZmZp
100
+ eH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5k
101
+ cG9pbnQifV19LHsiY29uZGl0aW9ucyI6W10sImVycm9yIjoiRHVhbFN0YWNr
102
+ IGlzIGVuYWJsZWQgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBv
103
+ cnQgRHVhbFN0YWNrIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMi
104
+ OltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL2FwaS5kZXRlY3RpdmUu
105
+ e1JlZ2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkbnNTdWZmaXh9IiwicHJvcGVy
106
+ dGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfV19
107
+
108
+ JSON
109
+ end
110
+ end