aws-sdk-workspaces 1.73.0 → 1.75.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: 18dbc01b8846c69ab51b978f28008b6ab75f1408b2fa43caedc6c792471e217a
4
- data.tar.gz: 7b4862fde8ede0153de1207832c334b014b80bc5fc1cbd0260229514206694d5
3
+ metadata.gz: f07886fee6e342bf7e999186a28140cc3632bd9503e764e0c47ce07a2b689c67
4
+ data.tar.gz: de325d3070a6e817a2ba071cb1c78f42f14fbd253c612c607610cf2dfb18a1df
5
5
  SHA512:
6
- metadata.gz: 0baab19d532995e76dfe8848d983fe7e80c3351b0ef1cf1db93500663a6dd45ba681440024342835702328f2c44f45a43fa3ba1c184d768c9a6bfc4f7c989774
7
- data.tar.gz: '005971e2d50c2ddd045dd340bccf03d3c6ce5bd2654e53daea432a215fe51f60874e6b69e14f0aac6551322cd4777545689c901e1a748eaaf7e27672e4f91f4a'
6
+ metadata.gz: afbbb254793b7a368517fa453c18a8cbd5398e715d4df0f7fbcf936ade1c537d6f3d90acffcc1d22fca5387947bfb65552c65daa378d224b50d7e621a42debd8
7
+ data.tar.gz: 4e88cac0cd1bed7e0ffcd4b8231e852c13cb079c2e73452a7a19017fcc3fa9893cd12e4717f8ca304852713362955b2d5083d7eb2d1107d69847dd7851eaaeef
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.75.0 (2022-11-07)
5
+ ------------------
6
+
7
+ * Feature - This release adds protocols attribute to workspaces properties data type. This enables customers to migrate workspaces from PC over IP (PCoIP) to WorkSpaces Streaming Protocol (WSP) using create and modify workspaces public APIs.
8
+
9
+ 1.74.0 (2022-10-25)
10
+ ------------------
11
+
12
+ * Feature - This release adds new enums for supporting Workspaces Core features, including creating Manual running mode workspaces, importing regular Workspaces Core images and importing g4dn Workspaces Core images.
13
+
4
14
  1.73.0 (2022-09-29)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.73.0
1
+ 1.75.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/json_rpc.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:workspaces)
@@ -79,8 +79,9 @@ module Aws::WorkSpaces
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::JsonRpc)
84
+ add_plugin(Aws::WorkSpaces::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -297,6 +298,19 @@ module Aws::WorkSpaces
297
298
  # ** Please note ** When response stubbing is enabled, no HTTP
298
299
  # requests are made, and retries are disabled.
299
300
  #
301
+ # @option options [Aws::TokenProvider] :token_provider
302
+ # A Bearer Token Provider. This can be an instance of any one of the
303
+ # following classes:
304
+ #
305
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
306
+ # tokens.
307
+ #
308
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
309
+ # access token generated from `aws login`.
310
+ #
311
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
312
+ # will be used to search for tokens configured for your profile in shared configuration files.
313
+ #
300
314
  # @option options [Boolean] :use_dualstack_endpoint
301
315
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
302
316
  # will be used if available.
@@ -310,6 +324,9 @@ module Aws::WorkSpaces
310
324
  # When `true`, request parameters are validated before
311
325
  # sending the request.
312
326
  #
327
+ # @option options [Aws::WorkSpaces::EndpointProvider] :endpoint_provider
328
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::WorkSpaces::EndpointParameters`
329
+ #
313
330
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
314
331
  # requests through. Formatted like 'http://proxy.com:123'.
315
332
  #
@@ -947,6 +964,16 @@ module Aws::WorkSpaces
947
964
  # This operation is asynchronous and returns before the WorkSpaces are
948
965
  # created.
949
966
  #
967
+ # <note markdown="1"> The `MANUAL` running mode value is only supported by Amazon WorkSpaces
968
+ # Core. Contact your account team to be allow-listed to use this value.
969
+ # For more information, see [Amazon WorkSpaces Core][1].
970
+ #
971
+ # </note>
972
+ #
973
+ #
974
+ #
975
+ # [1]: http://aws.amazon.com/workspaces/core/
976
+ #
950
977
  # @option params [required, Array<Types::WorkspaceRequest>] :workspaces
951
978
  # The WorkSpaces to create. You can specify up to 25 WorkSpaces.
952
979
  #
@@ -967,11 +994,12 @@ module Aws::WorkSpaces
967
994
  # user_volume_encryption_enabled: false,
968
995
  # root_volume_encryption_enabled: false,
969
996
  # workspace_properties: {
970
- # running_mode: "AUTO_STOP", # accepts AUTO_STOP, ALWAYS_ON
997
+ # running_mode: "AUTO_STOP", # accepts AUTO_STOP, ALWAYS_ON, MANUAL
971
998
  # running_mode_auto_stop_timeout_in_minutes: 1,
972
999
  # root_volume_size_gib: 1,
973
1000
  # user_volume_size_gib: 1,
974
1001
  # compute_type_name: "VALUE", # accepts VALUE, STANDARD, PERFORMANCE, POWER, GRAPHICS, POWERPRO, GRAPHICSPRO, GRAPHICS_G4DN, GRAPHICSPRO_G4DN
1002
+ # protocols: ["PCOIP"], # accepts PCOIP, WSP
975
1003
  # },
976
1004
  # tags: [
977
1005
  # {
@@ -992,11 +1020,13 @@ module Aws::WorkSpaces
992
1020
  # resp.failed_requests[0].workspace_request.volume_encryption_key #=> String
993
1021
  # resp.failed_requests[0].workspace_request.user_volume_encryption_enabled #=> Boolean
994
1022
  # resp.failed_requests[0].workspace_request.root_volume_encryption_enabled #=> Boolean
995
- # resp.failed_requests[0].workspace_request.workspace_properties.running_mode #=> String, one of "AUTO_STOP", "ALWAYS_ON"
1023
+ # resp.failed_requests[0].workspace_request.workspace_properties.running_mode #=> String, one of "AUTO_STOP", "ALWAYS_ON", "MANUAL"
996
1024
  # resp.failed_requests[0].workspace_request.workspace_properties.running_mode_auto_stop_timeout_in_minutes #=> Integer
997
1025
  # resp.failed_requests[0].workspace_request.workspace_properties.root_volume_size_gib #=> Integer
998
1026
  # resp.failed_requests[0].workspace_request.workspace_properties.user_volume_size_gib #=> Integer
999
1027
  # resp.failed_requests[0].workspace_request.workspace_properties.compute_type_name #=> String, one of "VALUE", "STANDARD", "PERFORMANCE", "POWER", "GRAPHICS", "POWERPRO", "GRAPHICSPRO", "GRAPHICS_G4DN", "GRAPHICSPRO_G4DN"
1028
+ # resp.failed_requests[0].workspace_request.workspace_properties.protocols #=> Array
1029
+ # resp.failed_requests[0].workspace_request.workspace_properties.protocols[0] #=> String, one of "PCOIP", "WSP"
1000
1030
  # resp.failed_requests[0].workspace_request.tags #=> Array
1001
1031
  # resp.failed_requests[0].workspace_request.tags[0].key #=> String
1002
1032
  # resp.failed_requests[0].workspace_request.tags[0].value #=> String
@@ -1016,11 +1046,13 @@ module Aws::WorkSpaces
1016
1046
  # resp.pending_requests[0].volume_encryption_key #=> String
1017
1047
  # resp.pending_requests[0].user_volume_encryption_enabled #=> Boolean
1018
1048
  # resp.pending_requests[0].root_volume_encryption_enabled #=> Boolean
1019
- # resp.pending_requests[0].workspace_properties.running_mode #=> String, one of "AUTO_STOP", "ALWAYS_ON"
1049
+ # resp.pending_requests[0].workspace_properties.running_mode #=> String, one of "AUTO_STOP", "ALWAYS_ON", "MANUAL"
1020
1050
  # resp.pending_requests[0].workspace_properties.running_mode_auto_stop_timeout_in_minutes #=> Integer
1021
1051
  # resp.pending_requests[0].workspace_properties.root_volume_size_gib #=> Integer
1022
1052
  # resp.pending_requests[0].workspace_properties.user_volume_size_gib #=> Integer
1023
1053
  # resp.pending_requests[0].workspace_properties.compute_type_name #=> String, one of "VALUE", "STANDARD", "PERFORMANCE", "POWER", "GRAPHICS", "POWERPRO", "GRAPHICSPRO", "GRAPHICS_G4DN", "GRAPHICSPRO_G4DN"
1054
+ # resp.pending_requests[0].workspace_properties.protocols #=> Array
1055
+ # resp.pending_requests[0].workspace_properties.protocols[0] #=> String, one of "PCOIP", "WSP"
1024
1056
  # resp.pending_requests[0].modification_states #=> Array
1025
1057
  # resp.pending_requests[0].modification_states[0].resource #=> String, one of "ROOT_VOLUME", "USER_VOLUME", "COMPUTE_TYPE"
1026
1058
  # resp.pending_requests[0].modification_states[0].state #=> String, one of "UPDATE_INITIATED", "UPDATE_IN_PROGRESS"
@@ -2032,11 +2064,13 @@ module Aws::WorkSpaces
2032
2064
  # resp.workspaces[0].volume_encryption_key #=> String
2033
2065
  # resp.workspaces[0].user_volume_encryption_enabled #=> Boolean
2034
2066
  # resp.workspaces[0].root_volume_encryption_enabled #=> Boolean
2035
- # resp.workspaces[0].workspace_properties.running_mode #=> String, one of "AUTO_STOP", "ALWAYS_ON"
2067
+ # resp.workspaces[0].workspace_properties.running_mode #=> String, one of "AUTO_STOP", "ALWAYS_ON", "MANUAL"
2036
2068
  # resp.workspaces[0].workspace_properties.running_mode_auto_stop_timeout_in_minutes #=> Integer
2037
2069
  # resp.workspaces[0].workspace_properties.root_volume_size_gib #=> Integer
2038
2070
  # resp.workspaces[0].workspace_properties.user_volume_size_gib #=> Integer
2039
2071
  # resp.workspaces[0].workspace_properties.compute_type_name #=> String, one of "VALUE", "STANDARD", "PERFORMANCE", "POWER", "GRAPHICS", "POWERPRO", "GRAPHICSPRO", "GRAPHICS_G4DN", "GRAPHICSPRO_G4DN"
2072
+ # resp.workspaces[0].workspace_properties.protocols #=> Array
2073
+ # resp.workspaces[0].workspace_properties.protocols[0] #=> String, one of "PCOIP", "WSP"
2040
2074
  # resp.workspaces[0].modification_states #=> Array
2041
2075
  # resp.workspaces[0].modification_states[0].resource #=> String, one of "ROOT_VOLUME", "USER_VOLUME", "COMPUTE_TYPE"
2042
2076
  # resp.workspaces[0].modification_states[0].state #=> String, one of "UPDATE_INITIATED", "UPDATE_IN_PROGRESS"
@@ -2321,11 +2355,12 @@ module Aws::WorkSpaces
2321
2355
  req.send_request(options)
2322
2356
  end
2323
2357
 
2324
- # Imports the specified Windows 10 Bring Your Own License (BYOL) image
2325
- # into Amazon WorkSpaces. The image must be an already licensed Amazon
2326
- # EC2 image that is in your Amazon Web Services account, and you must
2327
- # own the image. For more information about creating BYOL images, see [
2328
- # Bring Your Own Windows Desktop Licenses][1].
2358
+ # Imports the specified Windows 10 Bring Your Own License (BYOL) or
2359
+ # Windows Server 2016 BYOL image into Amazon WorkSpaces. The image must
2360
+ # be an already licensed Amazon EC2 image that is in your Amazon Web
2361
+ # Services account, and you must own the image. For more information
2362
+ # about creating BYOL images, see [ Bring Your Own Windows Desktop
2363
+ # Licenses][1].
2329
2364
  #
2330
2365
  #
2331
2366
  #
@@ -2337,13 +2372,25 @@ module Aws::WorkSpaces
2337
2372
  # @option params [required, String] :ingestion_process
2338
2373
  # The ingestion process to be used when importing the image, depending
2339
2374
  # on which protocol you want to use for your BYOL Workspace image,
2340
- # either PCoIP or WorkSpaces Streaming Protocol (WSP). To use WSP,
2341
- # specify a value that ends in `_WSP`. To use PCoIP, specify a value
2342
- # that does not end in `_WSP`.
2375
+ # either PCoIP, WorkSpaces Streaming Protocol (WSP), or bring your own
2376
+ # protocol (BYOP). To use WSP, specify a value that ends in `_WSP`. To
2377
+ # use PCoIP, specify a value that does not end in `_WSP`. To use BYOP,
2378
+ # specify a value that ends in `_BYOP`.
2343
2379
  #
2344
2380
  # For non-GPU-enabled bundles (bundles other than Graphics or
2345
- # GraphicsPro), specify `BYOL_REGULAR` or `BYOL_REGULAR_WSP`, depending
2346
- # on the protocol.
2381
+ # GraphicsPro), specify `BYOL_REGULAR`, `BYOL_REGULAR_WSP`, or
2382
+ # `BYOL_REGULAR_BYOP`, depending on the protocol.
2383
+ #
2384
+ # <note markdown="1"> The `BYOL_REGULAR_BYOP` and `BYOL_GRAPHICS_G4DN_BYOP` values are only
2385
+ # supported by Amazon WorkSpaces Core. Contact your account team to be
2386
+ # allow-listed to use these values. For more information, see [Amazon
2387
+ # WorkSpaces Core][1].
2388
+ #
2389
+ # </note>
2390
+ #
2391
+ #
2392
+ #
2393
+ # [1]: http://aws.amazon.com/workspaces/core/
2347
2394
  #
2348
2395
  # @option params [required, String] :image_name
2349
2396
  # The name of the WorkSpace image.
@@ -2377,7 +2424,7 @@ module Aws::WorkSpaces
2377
2424
  #
2378
2425
  # resp = client.import_workspace_image({
2379
2426
  # ec2_image_id: "Ec2ImageId", # required
2380
- # ingestion_process: "BYOL_REGULAR", # required, accepts BYOL_REGULAR, BYOL_GRAPHICS, BYOL_GRAPHICSPRO, BYOL_GRAPHICS_G4DN, BYOL_REGULAR_WSP
2427
+ # ingestion_process: "BYOL_REGULAR", # required, accepts BYOL_REGULAR, BYOL_GRAPHICS, BYOL_GRAPHICSPRO, BYOL_GRAPHICS_G4DN, BYOL_REGULAR_WSP, BYOL_REGULAR_BYOP, BYOL_GRAPHICS_G4DN_BYOP
2381
2428
  # image_name: "WorkspaceImageName", # required
2382
2429
  # image_description: "WorkspaceImageDescription", # required
2383
2430
  # tags: [
@@ -2728,9 +2775,16 @@ module Aws::WorkSpaces
2728
2775
  # about how to modify the size of the root and user volumes, see [
2729
2776
  # Modify a WorkSpace][1].
2730
2777
  #
2778
+ # <note markdown="1"> The `MANUAL` running mode value is only supported by Amazon WorkSpaces
2779
+ # Core. Contact your account team to be allow-listed to use this value.
2780
+ # For more information, see [Amazon WorkSpaces Core][2].
2781
+ #
2782
+ # </note>
2783
+ #
2731
2784
  #
2732
2785
  #
2733
2786
  # [1]: https://docs.aws.amazon.com/workspaces/latest/adminguide/modify-workspaces.html
2787
+ # [2]: http://aws.amazon.com/workspaces/core/
2734
2788
  #
2735
2789
  # @option params [required, String] :workspace_id
2736
2790
  # The identifier of the WorkSpace.
@@ -2745,11 +2799,12 @@ module Aws::WorkSpaces
2745
2799
  # resp = client.modify_workspace_properties({
2746
2800
  # workspace_id: "WorkspaceId", # required
2747
2801
  # workspace_properties: { # required
2748
- # running_mode: "AUTO_STOP", # accepts AUTO_STOP, ALWAYS_ON
2802
+ # running_mode: "AUTO_STOP", # accepts AUTO_STOP, ALWAYS_ON, MANUAL
2749
2803
  # running_mode_auto_stop_timeout_in_minutes: 1,
2750
2804
  # root_volume_size_gib: 1,
2751
2805
  # user_volume_size_gib: 1,
2752
2806
  # compute_type_name: "VALUE", # accepts VALUE, STANDARD, PERFORMANCE, POWER, GRAPHICS, POWERPRO, GRAPHICSPRO, GRAPHICS_G4DN, GRAPHICSPRO_G4DN
2807
+ # protocols: ["PCOIP"], # accepts PCOIP, WSP
2753
2808
  # },
2754
2809
  # })
2755
2810
  #
@@ -3407,7 +3462,7 @@ module Aws::WorkSpaces
3407
3462
  params: params,
3408
3463
  config: config)
3409
3464
  context[:gem_name] = 'aws-sdk-workspaces'
3410
- context[:gem_version] = '1.73.0'
3465
+ context[:gem_version] = '1.75.0'
3411
3466
  Seahorse::Client::Request.new(handlers, context)
3412
3467
  end
3413
3468
 
@@ -222,6 +222,8 @@ module Aws::WorkSpaces
222
222
  OperationInProgressException = Shapes::StructureShape.new(name: 'OperationInProgressException')
223
223
  OperationNotSupportedException = Shapes::StructureShape.new(name: 'OperationNotSupportedException')
224
224
  PaginationToken = Shapes::StringShape.new(name: 'PaginationToken')
225
+ Protocol = Shapes::StringShape.new(name: 'Protocol')
226
+ ProtocolList = Shapes::ListShape.new(name: 'ProtocolList')
225
227
  RebootRequest = Shapes::StructureShape.new(name: 'RebootRequest')
226
228
  RebootWorkspaceRequests = Shapes::ListShape.new(name: 'RebootWorkspaceRequests')
227
229
  RebootWorkspacesRequest = Shapes::StructureShape.new(name: 'RebootWorkspacesRequest')
@@ -899,6 +901,8 @@ module Aws::WorkSpaces
899
901
  OperationNotSupportedException.add_member(:reason, Shapes::ShapeRef.new(shape: ExceptionErrorCode, location_name: "reason"))
900
902
  OperationNotSupportedException.struct_class = Types::OperationNotSupportedException
901
903
 
904
+ ProtocolList.member = Shapes::ShapeRef.new(shape: Protocol)
905
+
902
906
  RebootRequest.add_member(:workspace_id, Shapes::ShapeRef.new(shape: WorkspaceId, required: true, location_name: "WorkspaceId"))
903
907
  RebootRequest.struct_class = Types::RebootRequest
904
908
 
@@ -1173,6 +1177,7 @@ module Aws::WorkSpaces
1173
1177
  WorkspaceProperties.add_member(:root_volume_size_gib, Shapes::ShapeRef.new(shape: RootVolumeSizeGib, location_name: "RootVolumeSizeGib"))
1174
1178
  WorkspaceProperties.add_member(:user_volume_size_gib, Shapes::ShapeRef.new(shape: UserVolumeSizeGib, location_name: "UserVolumeSizeGib"))
1175
1179
  WorkspaceProperties.add_member(:compute_type_name, Shapes::ShapeRef.new(shape: Compute, location_name: "ComputeTypeName"))
1180
+ WorkspaceProperties.add_member(:protocols, Shapes::ShapeRef.new(shape: ProtocolList, location_name: "Protocols"))
1176
1181
  WorkspaceProperties.struct_class = Types::WorkspaceProperties
1177
1182
 
1178
1183
  WorkspaceRequest.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "DirectoryId"))
@@ -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::WorkSpaces
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,112 @@
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::WorkSpaces
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
+ dCI6eyJ1cmwiOiJodHRwczovL3dvcmtzcGFjZXMtZmlwcy57UmVnaW9ufS57
77
+ UGFydGl0aW9uUmVzdWx0I2R1YWxTdGFja0Ruc1N1ZmZpeH0iLCJwcm9wZXJ0
78
+ aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19LHsi
79
+ Y29uZGl0aW9ucyI6W10sImVycm9yIjoiRklQUyBhbmQgRHVhbFN0YWNrIGFy
80
+ ZSBlbmFibGVkLCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9y
81
+ dCBvbmUgb3IgYm90aCIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25z
82
+ IjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VG
83
+ SVBTIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
84
+ aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJm
85
+ biI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQi
86
+ fSwic3VwcG9ydHNGSVBTIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpb
87
+ eyJjb25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29u
88
+ ZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vd29ya3Nw
89
+ YWNlcy1maXBzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZG5zU3VmZml4
90
+ fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRw
91
+ b2ludCJ9XX1dfSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgaXMg
92
+ ZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBG
93
+ SVBTIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
94
+ Ym9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxTdGFjayJ9
95
+ LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMi
96
+ Olt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4iOiJn
97
+ ZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0sInN1
98
+ cHBvcnRzRHVhbFN0YWNrIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpb
99
+ eyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly93
100
+ b3Jrc3BhY2VzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNr
101
+ RG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5
102
+ cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJE
103
+ dWFsU3RhY2sgaXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBu
104
+ b3Qgc3VwcG9ydCBEdWFsU3RhY2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29u
105
+ ZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vd29ya3Nw
106
+ YWNlcy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJw
107
+ cm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQi
108
+ fV19XX0=
109
+
110
+ JSON
111
+ end
112
+ end