aws-sdk-imagebuilder 1.40.0 → 1.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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