aws-sdk-imagebuilder 1.40.0 → 1.42.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: 7634d4d36c07c0924309690fd79e5135542f4ba0bd2ab246041d14622889bade
4
- data.tar.gz: 5ea9b44c9c31066a9d5a1e466d58c7f67b1b859879384be1fd440eb73333d4ae
3
+ metadata.gz: e3ff62b7e78c32165ebd2bfa5ba192f7a7037b902d7b050607171d447cc0c8ec
4
+ data.tar.gz: 7b314262247902383009e412d26b7adcf69588c17c6b01422bd2b9551fd396ad
5
5
  SHA512:
6
- metadata.gz: cc530d617e122ad6197aca61e06178e0c14825d6bd0e2a2f9ee27188850a306c8b5125c67a160c33fc3e47254ee9f43a7b31c829cd741f99fe6f059fcb9e307b
7
- data.tar.gz: 6b8cadcb8d572105e497e43892d309785d5a4e7d957f976a29d50fec8d47dcd32a59b1ff48e947af1d185cbb6ddea81d4ce75f04bb6c7d5f014f6ab77cf67275
6
+ metadata.gz: 775a22f301b9db7716e763ca58228b98b21d87c15252013d462271cf0e0ec77d9490c36ae0eb53dc34443a714507d9df38b7b99ccb8a31bc98d8854026f29aec
7
+ data.tar.gz: b61531a63fc353c8c89fbedc44bbaa6974b65c6888e6d96b1a90b9596cd913491edea908a2b327cbbd82da4b7327ecbd1bb23edc97902307eb90cdb5f5332f7d
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.42.0 (2023-01-17)
5
+ ------------------
6
+
7
+ * Feature - Add support for AWS Marketplace product IDs as input during CreateImageRecipe for the parent-image parameter. Add support for listing third-party components.
8
+
9
+ 1.41.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.40.0 (2022-02-24)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.40.0
1
+ 1.42.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(:imagebuilder)
@@ -79,8 +79,9 @@ module Aws::Imagebuilder
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::Imagebuilder::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -287,6 +288,19 @@ module Aws::Imagebuilder
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::Imagebuilder
300
314
  # When `true`, request parameters are validated before
301
315
  # sending the request.
302
316
  #
317
+ # @option options [Aws::Imagebuilder::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::Imagebuilder::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
  #
@@ -431,8 +448,7 @@ module Aws::Imagebuilder
431
448
  # </note>
432
449
  #
433
450
  # @option params [String] :description
434
- # The description of the component. Describes the contents of the
435
- # component.
451
+ # Describes the contents of the component.
436
452
  #
437
453
  # @option params [String] :change_description
438
454
  # The change description of the component. Describes what change has
@@ -440,7 +456,7 @@ module Aws::Imagebuilder
440
456
  # other versions of this component.
441
457
  #
442
458
  # @option params [required, String] :platform
443
- # The platform of the component.
459
+ # The operating system platform of the component.
444
460
  #
445
461
  # @option params [Array<String>] :supported_os_versions
446
462
  # The operating system (OS) version supported by the component. If the
@@ -462,10 +478,10 @@ module Aws::Imagebuilder
462
478
  # component `data` property. You cannot specify both properties.
463
479
  #
464
480
  # @option params [String] :kms_key_id
465
- # The ID of the KMS key that should be used to encrypt this component.
481
+ # The ID of the KMS key that is used to encrypt this component.
466
482
  #
467
483
  # @option params [Hash<String,String>] :tags
468
- # The tags of the component.
484
+ # The tags that apply to the component.
469
485
  #
470
486
  # @option params [required, String] :client_token
471
487
  # The idempotency token of the component.
@@ -546,7 +562,8 @@ module Aws::Imagebuilder
546
562
  #
547
563
  # @option params [required, Array<Types::ComponentConfiguration>] :components
548
564
  # Components for build and test that are included in the container
549
- # recipe.
565
+ # recipe. Recipes require a minimum of one build component, and can have
566
+ # a maximum of 20 build and test components in any combination.
550
567
  #
551
568
  # @option params [Types::InstanceConfiguration] :instance_configuration
552
569
  # A group of options that can be used to configure an instance for
@@ -980,7 +997,7 @@ module Aws::Imagebuilder
980
997
  # </note>
981
998
  #
982
999
  # @option params [required, Array<Types::ComponentConfiguration>] :components
983
- # The components of the image recipe.
1000
+ # The components included in the image recipe.
984
1001
  #
985
1002
  # @option params [required, String] :parent_image
986
1003
  # The base image of the image recipe. The value of the string can be the
@@ -1475,6 +1492,8 @@ module Aws::Imagebuilder
1475
1492
  # resp.component.date_created #=> String
1476
1493
  # resp.component.tags #=> Hash
1477
1494
  # resp.component.tags["TagKey"] #=> String
1495
+ # resp.component.publisher #=> String
1496
+ # resp.component.obfuscate #=> Boolean
1478
1497
  #
1479
1498
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetComponent AWS API Documentation
1480
1499
  #
@@ -1876,6 +1895,7 @@ module Aws::Imagebuilder
1876
1895
  # resp.image.tags #=> Hash
1877
1896
  # resp.image.tags["TagKey"] #=> String
1878
1897
  # resp.image.build_type #=> String, one of "USER_INITIATED", "SCHEDULED", "IMPORT"
1898
+ # resp.image.image_source #=> String, one of "AMAZON_MANAGED", "AWS_MARKETPLACE", "IMPORTED", "CUSTOM"
1879
1899
  #
1880
1900
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImage AWS API Documentation
1881
1901
  #
@@ -2383,6 +2403,8 @@ module Aws::Imagebuilder
2383
2403
  # resp.component_summary_list[0].date_created #=> String
2384
2404
  # resp.component_summary_list[0].tags #=> Hash
2385
2405
  # resp.component_summary_list[0].tags["TagKey"] #=> String
2406
+ # resp.component_summary_list[0].publisher #=> String
2407
+ # resp.component_summary_list[0].obfuscate #=> Boolean
2386
2408
  # resp.next_token #=> String
2387
2409
  #
2388
2410
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListComponentBuildVersions AWS API Documentation
@@ -2394,8 +2416,10 @@ module Aws::Imagebuilder
2394
2416
  req.send_request(options)
2395
2417
  end
2396
2418
 
2397
- # Returns the list of component build versions for the specified
2398
- # semantic version.
2419
+ # Returns the list of components that can be filtered by name, or by
2420
+ # using the listed `filters` to streamline results. Newly created
2421
+ # components can take up to two minutes to appear in the ListComponents
2422
+ # API Results.
2399
2423
  #
2400
2424
  # <note markdown="1"> The semantic version has four nodes:
2401
2425
  # &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;/&lt;build&gt;. You can
@@ -2410,11 +2434,11 @@ module Aws::Imagebuilder
2410
2434
  # </note>
2411
2435
  #
2412
2436
  # @option params [String] :owner
2413
- # The owner defines which components you want to list. By default, this
2414
- # request will only show components owned by your account. You can use
2415
- # this field to specify if you want to view components owned by
2416
- # yourself, by Amazon, or those components that have been shared with
2417
- # you by other customers.
2437
+ # Filters results based on the type of owner for the component. By
2438
+ # default, this request returns a list of components that your account
2439
+ # owns. To see results for other types of owners, you can specify
2440
+ # components that Amazon manages, third party components, or components
2441
+ # that other accounts have shared with you.
2418
2442
  #
2419
2443
  # @option params [Array<Types::Filter>] :filters
2420
2444
  # Use the following filters to streamline results:
@@ -2432,7 +2456,7 @@ module Aws::Imagebuilder
2432
2456
  # * `version`
2433
2457
  #
2434
2458
  # @option params [Boolean] :by_name
2435
- # Returns the list of component build versions for the specified name.
2459
+ # Returns the list of components for the specified name.
2436
2460
  #
2437
2461
  # @option params [Integer] :max_results
2438
2462
  # The maximum items to return in a request.
@@ -2452,7 +2476,7 @@ module Aws::Imagebuilder
2452
2476
  # @example Request syntax with placeholder values
2453
2477
  #
2454
2478
  # resp = client.list_components({
2455
- # owner: "Self", # accepts Self, Shared, Amazon
2479
+ # owner: "Self", # accepts Self, Shared, Amazon, ThirdParty
2456
2480
  # filters: [
2457
2481
  # {
2458
2482
  # name: "FilterName",
@@ -2526,7 +2550,7 @@ module Aws::Imagebuilder
2526
2550
  # @example Request syntax with placeholder values
2527
2551
  #
2528
2552
  # resp = client.list_container_recipes({
2529
- # owner: "Self", # accepts Self, Shared, Amazon
2553
+ # owner: "Self", # accepts Self, Shared, Amazon, ThirdParty
2530
2554
  # filters: [
2531
2555
  # {
2532
2556
  # name: "FilterName",
@@ -2695,6 +2719,7 @@ module Aws::Imagebuilder
2695
2719
  # resp.image_summary_list[0].tags #=> Hash
2696
2720
  # resp.image_summary_list[0].tags["TagKey"] #=> String
2697
2721
  # resp.image_summary_list[0].build_type #=> String, one of "USER_INITIATED", "SCHEDULED", "IMPORT"
2722
+ # resp.image_summary_list[0].image_source #=> String, one of "AMAZON_MANAGED", "AWS_MARKETPLACE", "IMPORTED", "CUSTOM"
2698
2723
  # resp.next_token #=> String
2699
2724
  #
2700
2725
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImageBuildVersions AWS API Documentation
@@ -2826,6 +2851,7 @@ module Aws::Imagebuilder
2826
2851
  # resp.image_summary_list[0].tags #=> Hash
2827
2852
  # resp.image_summary_list[0].tags["TagKey"] #=> String
2828
2853
  # resp.image_summary_list[0].build_type #=> String, one of "USER_INITIATED", "SCHEDULED", "IMPORT"
2854
+ # resp.image_summary_list[0].image_source #=> String, one of "AMAZON_MANAGED", "AWS_MARKETPLACE", "IMPORTED", "CUSTOM"
2829
2855
  # resp.next_token #=> String
2830
2856
  #
2831
2857
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagePipelineImages AWS API Documentation
@@ -2954,7 +2980,7 @@ module Aws::Imagebuilder
2954
2980
  # @example Request syntax with placeholder values
2955
2981
  #
2956
2982
  # resp = client.list_image_recipes({
2957
- # owner: "Self", # accepts Self, Shared, Amazon
2983
+ # owner: "Self", # accepts Self, Shared, Amazon, ThirdParty
2958
2984
  # filters: [
2959
2985
  # {
2960
2986
  # name: "FilterName",
@@ -2988,7 +3014,9 @@ module Aws::Imagebuilder
2988
3014
  req.send_request(options)
2989
3015
  end
2990
3016
 
2991
- # Returns the list of images that you have access to.
3017
+ # Returns the list of images that you have access to. Newly created
3018
+ # images can take up to two minutes to appear in the ListImages API
3019
+ # Results.
2992
3020
  #
2993
3021
  # @option params [String] :owner
2994
3022
  # The owner defines which images you want to list. By default, this
@@ -3034,7 +3062,7 @@ module Aws::Imagebuilder
3034
3062
  # @example Request syntax with placeholder values
3035
3063
  #
3036
3064
  # resp = client.list_images({
3037
- # owner: "Self", # accepts Self, Shared, Amazon
3065
+ # owner: "Self", # accepts Self, Shared, Amazon, ThirdParty
3038
3066
  # filters: [
3039
3067
  # {
3040
3068
  # name: "FilterName",
@@ -3060,6 +3088,7 @@ module Aws::Imagebuilder
3060
3088
  # resp.image_version_list[0].owner #=> String
3061
3089
  # resp.image_version_list[0].date_created #=> String
3062
3090
  # resp.image_version_list[0].build_type #=> String, one of "USER_INITIATED", "SCHEDULED", "IMPORT"
3091
+ # resp.image_version_list[0].image_source #=> String, one of "AMAZON_MANAGED", "AWS_MARKETPLACE", "IMPORTED", "CUSTOM"
3063
3092
  # resp.next_token #=> String
3064
3093
  #
3065
3094
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImages AWS API Documentation
@@ -3773,7 +3802,7 @@ module Aws::Imagebuilder
3773
3802
  params: params,
3774
3803
  config: config)
3775
3804
  context[:gem_name] = 'aws-sdk-imagebuilder'
3776
- context[:gem_version] = '1.40.0'
3805
+ context[:gem_version] = '1.42.0'
3777
3806
  Seahorse::Client::Request.new(handlers, context)
3778
3807
  end
3779
3808
 
@@ -153,6 +153,7 @@ module Aws::Imagebuilder
153
153
  ImageRecipeArn = Shapes::StringShape.new(name: 'ImageRecipeArn')
154
154
  ImageRecipeSummary = Shapes::StructureShape.new(name: 'ImageRecipeSummary')
155
155
  ImageRecipeSummaryList = Shapes::ListShape.new(name: 'ImageRecipeSummaryList')
156
+ ImageSource = Shapes::StringShape.new(name: 'ImageSource')
156
157
  ImageState = Shapes::StructureShape.new(name: 'ImageState')
157
158
  ImageStatus = Shapes::StringShape.new(name: 'ImageStatus')
158
159
  ImageSummary = Shapes::StructureShape.new(name: 'ImageSummary')
@@ -338,6 +339,8 @@ module Aws::Imagebuilder
338
339
  Component.add_member(:encrypted, Shapes::ShapeRef.new(shape: NullableBoolean, location_name: "encrypted"))
339
340
  Component.add_member(:date_created, Shapes::ShapeRef.new(shape: DateTime, location_name: "dateCreated"))
340
341
  Component.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
342
+ Component.add_member(:publisher, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "publisher"))
343
+ Component.add_member(:obfuscate, Shapes::ShapeRef.new(shape: Boolean, location_name: "obfuscate"))
341
344
  Component.struct_class = Types::Component
342
345
 
343
346
  ComponentConfiguration.add_member(:component_arn, Shapes::ShapeRef.new(shape: ComponentVersionArnOrBuildVersionArn, required: true, location_name: "componentArn"))
@@ -378,6 +381,8 @@ module Aws::Imagebuilder
378
381
  ComponentSummary.add_member(:change_description, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "changeDescription"))
379
382
  ComponentSummary.add_member(:date_created, Shapes::ShapeRef.new(shape: DateTime, location_name: "dateCreated"))
380
383
  ComponentSummary.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
384
+ ComponentSummary.add_member(:publisher, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "publisher"))
385
+ ComponentSummary.add_member(:obfuscate, Shapes::ShapeRef.new(shape: Boolean, location_name: "obfuscate"))
381
386
  ComponentSummary.struct_class = Types::ComponentSummary
382
387
 
383
388
  ComponentSummaryList.member = Shapes::ShapeRef.new(shape: ComponentSummary)
@@ -780,6 +785,7 @@ module Aws::Imagebuilder
780
785
  Image.add_member(:output_resources, Shapes::ShapeRef.new(shape: OutputResources, location_name: "outputResources"))
781
786
  Image.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
782
787
  Image.add_member(:build_type, Shapes::ShapeRef.new(shape: BuildType, location_name: "buildType"))
788
+ Image.add_member(:image_source, Shapes::ShapeRef.new(shape: ImageSource, location_name: "imageSource"))
783
789
  Image.struct_class = Types::Image
784
790
 
785
791
  ImagePackage.add_member(:package_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "packageName"))
@@ -852,6 +858,7 @@ module Aws::Imagebuilder
852
858
  ImageSummary.add_member(:output_resources, Shapes::ShapeRef.new(shape: OutputResources, location_name: "outputResources"))
853
859
  ImageSummary.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
854
860
  ImageSummary.add_member(:build_type, Shapes::ShapeRef.new(shape: BuildType, location_name: "buildType"))
861
+ ImageSummary.add_member(:image_source, Shapes::ShapeRef.new(shape: ImageSource, location_name: "imageSource"))
855
862
  ImageSummary.struct_class = Types::ImageSummary
856
863
 
857
864
  ImageSummaryList.member = Shapes::ShapeRef.new(shape: ImageSummary)
@@ -869,6 +876,7 @@ module Aws::Imagebuilder
869
876
  ImageVersion.add_member(:owner, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "owner"))
870
877
  ImageVersion.add_member(:date_created, Shapes::ShapeRef.new(shape: DateTime, location_name: "dateCreated"))
871
878
  ImageVersion.add_member(:build_type, Shapes::ShapeRef.new(shape: BuildType, location_name: "buildType"))
879
+ ImageVersion.add_member(:image_source, Shapes::ShapeRef.new(shape: ImageSource, location_name: "imageSource"))
872
880
  ImageVersion.struct_class = Types::ImageVersion
873
881
 
874
882
  ImageVersionList.member = Shapes::ShapeRef.new(shape: ImageVersion)
@@ -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::Imagebuilder
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,109 @@
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::Imagebuilder
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
+ Ly9pbWFnZWJ1aWxkZXItZmlwcy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0
76
+ I2R1YWxTdGFja0Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVy
77
+ cyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19LHsiY29uZGl0aW9ucyI6W10s
78
+ ImVycm9yIjoiRklQUyBhbmQgRHVhbFN0YWNrIGFyZSBlbmFibGVkLCBidXQg
79
+ dGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBvbmUgb3IgYm90aCIs
80
+ InR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xl
81
+ YW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VGSVBTIn0sdHJ1ZV19XSwi
82
+ dHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4iOiJi
83
+ b29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJh
84
+ cmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNGSVBT
85
+ Il19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpb
86
+ XSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9pbWFnZWJ1aWxkZXItZmlw
87
+ cy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9w
88
+ ZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19
89
+ LHsiY29uZGl0aW9ucyI6W10sImVycm9yIjoiRklQUyBpcyBlbmFibGVkIGJ1
90
+ dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IEZJUFMiLCJ0eXBl
91
+ IjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1
92
+ YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRHVhbFN0YWNrIn0sdHJ1ZV19XSwi
93
+ dHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3siZm4iOiJi
94
+ b29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJh
95
+ cmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFs
96
+ U3RhY2siXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlv
97
+ bnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL2ltYWdlYnVpbGRl
98
+ ci57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2R1YWxTdGFja0Ruc1N1ZmZp
99
+ eH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5k
100
+ cG9pbnQifV19LHsiY29uZGl0aW9ucyI6W10sImVycm9yIjoiRHVhbFN0YWNr
101
+ IGlzIGVuYWJsZWQgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBv
102
+ cnQgRHVhbFN0YWNrIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMi
103
+ OltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL2ltYWdlYnVpbGRlci57
104
+ UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0
105
+ aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0=
106
+
107
+ JSON
108
+ end
109
+ end