aws-sdk-servicecatalog 1.71.0 → 1.73.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: 38d73a06e874dc561ee56544a9237f723753b91120bd1ab1d2699523b0cb1019
4
- data.tar.gz: d097e8a1d5ee35f94c092801971a135d8934314d17c188ead20d4f3c0f195c6a
3
+ metadata.gz: e511847ebbd21746b87b9f2d3d8f9bfd6fe1e89d8f37556c79c39bb83fcb0490
4
+ data.tar.gz: 5e487e19e62d5aca884f1fa6c484f534ab19862e73603c4198d46fa2b968c376
5
5
  SHA512:
6
- metadata.gz: 8b0c7464c029f8941b9f9c0062c03e0203a36e0d1251f37dff2cf3b5d1225d646891b4ca1584ebcf10fe83df35a776ccdd64b8d0f6eb07b5be51342e8ed96e00
7
- data.tar.gz: 7d1c287f7181082f1a022013e3e3b54b44ddfe44d9c743fef5f6ad0732c502a9b2143c478684999efb59f7cd9504fbea7c86951acf08ab4f9070a0da299563ab
6
+ metadata.gz: 7b31a582d1ef8c9a6dd1907ac60e3bfed451e5d2eb7321f5b17802147d52815e711a6dd72dcb45749b58a209e4fe0b201dfb57b54e898901fcad62bb177355eb
7
+ data.tar.gz: 03ea2f8ce25d18a80528a60429a67ea0689071b3a9d9479082a55f480af42c9af3ff85f3a7bc93ba890c2def4f6a704ca4a75b193aa0110a25c796529fa6ddf6
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.73.0 (2022-10-25)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.72.0 (2022-08-16)
10
+ ------------------
11
+
12
+ * Feature - Documentation updates for Service Catalog
13
+
4
14
  1.71.0 (2022-05-16)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.71.0
1
+ 1.73.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(:servicecatalog)
@@ -79,8 +79,9 @@ module Aws::ServiceCatalog
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::ServiceCatalog::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -297,6 +298,19 @@ module Aws::ServiceCatalog
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::ServiceCatalog
310
324
  # When `true`, request parameters are validated before
311
325
  # sending the request.
312
326
  #
327
+ # @option options [Aws::ServiceCatalog::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::ServiceCatalog::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
  #
@@ -690,7 +707,9 @@ module Aws::ServiceCatalog
690
707
  # a new product.
691
708
  #
692
709
  # You can copy a product to the same account or another account. You can
693
- # copy a product to the same region or another region.
710
+ # copy a product to the same Region or another Region. If you copy a
711
+ # product to another account, you must first share the product in a
712
+ # portfolio using CreatePortfolioShare.
694
713
  #
695
714
  # This operation is performed asynchronously. To track the progress of
696
715
  # the operation, use DescribeCopyProductStatus.
@@ -847,8 +866,8 @@ module Aws::ServiceCatalog
847
866
  # You also cannot have more than one `STACKSET` constraint on a
848
867
  # product and portfolio.
849
868
  #
850
- # Products with a `STACKSET` constraint will launch an AWS
851
- # CloudFormation stack set.
869
+ # Products with a `STACKSET` constraint will launch an CloudFormation
870
+ # stack set.
852
871
  #
853
872
  # TEMPLATE
854
873
  #
@@ -1029,15 +1048,15 @@ module Aws::ServiceCatalog
1029
1048
  # The portfolio identifier.
1030
1049
  #
1031
1050
  # @option params [String] :account_id
1032
- # The AWS account ID. For example, `123456789012`.
1051
+ # The Amazon Web Services account ID. For example, `123456789012`.
1033
1052
  #
1034
1053
  # @option params [Types::OrganizationNode] :organization_node
1035
- # The organization node to whom you are going to share. If
1036
- # `OrganizationNode` is passed in, `PortfolioShare` will be created for
1037
- # the node an ListOrganizationPortfolioAccessd its children (when
1038
- # applies), and a `PortfolioShareToken` will be returned in the output
1039
- # in order for the administrator to monitor the status of the
1040
- # `PortfolioShare` creation process.
1054
+ # The organization node to whom you are going to share. When you pass
1055
+ # `OrganizationNode`, it creates `PortfolioShare` for all of the Amazon
1056
+ # Web Services accounts that are associated to the `OrganizationNode`.
1057
+ # The output returns a `PortfolioShareToken`, which enables the
1058
+ # administrator to monitor the status of the `PortfolioShare` creation
1059
+ # process.
1041
1060
  #
1042
1061
  # @option params [Boolean] :share_tag_options
1043
1062
  # Enables or disables `TagOptions ` sharing when creating the portfolio
@@ -1203,13 +1222,15 @@ module Aws::ServiceCatalog
1203
1222
  req.send_request(options)
1204
1223
  end
1205
1224
 
1206
- # Creates a plan. A plan includes the list of resources to be created
1207
- # (when provisioning a new product) or modified (when updating a
1208
- # provisioned product) when the plan is executed.
1225
+ # Creates a plan.
1209
1226
  #
1210
- # You can create one plan per provisioned product. To create a plan for
1211
- # an existing provisioned product, the product status must be AVAILBLE
1212
- # or TAINTED.
1227
+ # A plan includes the list of resources to be created (when provisioning
1228
+ # a new product) or modified (when updating a provisioned product) when
1229
+ # the plan is executed.
1230
+ #
1231
+ # You can create one plan for each provisioned product. To create a plan
1232
+ # for an existing provisioned product, the product status must be
1233
+ # AVAILABLE or TAINTED.
1213
1234
  #
1214
1235
  # To view the resource changes in the change set, use
1215
1236
  # DescribeProvisionedProductPlan. To create or modify the provisioned
@@ -1244,8 +1265,8 @@ module Aws::ServiceCatalog
1244
1265
  #
1245
1266
  # @option params [required, String] :provisioned_product_name
1246
1267
  # A user-friendly name for the provisioned product. This value must be
1247
- # unique for the AWS account and cannot be updated after the product is
1248
- # provisioned.
1268
+ # unique for the Amazon Web Services account and cannot be updated after
1269
+ # the product is provisioned.
1249
1270
  #
1250
1271
  # @option params [required, String] :provisioning_artifact_id
1251
1272
  # The identifier of the provisioning artifact.
@@ -1414,16 +1435,16 @@ module Aws::ServiceCatalog
1414
1435
  #
1415
1436
  # Name
1416
1437
  #
1417
- # : The name of the AWS Systems Manager document (SSM document). For
1418
- # example, `AWS-RestartEC2Instance`.
1438
+ # : The name of the Amazon Web Services Systems Manager document (SSM
1439
+ # document). For example, `AWS-RestartEC2Instance`.
1419
1440
  #
1420
1441
  # If you are using a shared SSM document, you must provide the ARN
1421
1442
  # instead of the name.
1422
1443
  #
1423
1444
  # Version
1424
1445
  #
1425
- # : The AWS Systems Manager automation document version. For example,
1426
- # `"Version": "1"`
1446
+ # : The Amazon Web Services Systems Manager automation document version.
1447
+ # For example, `"Version": "1"`
1427
1448
  #
1428
1449
  # AssumeRole
1429
1450
  #
@@ -1624,7 +1645,7 @@ module Aws::ServiceCatalog
1624
1645
  # The portfolio identifier.
1625
1646
  #
1626
1647
  # @option params [String] :account_id
1627
- # The AWS account ID.
1648
+ # The Amazon Web Services account ID.
1628
1649
  #
1629
1650
  # @option params [Types::OrganizationNode] :organization_node
1630
1651
  # The organization node to whom you are going to stop sharing.
@@ -1710,7 +1731,7 @@ module Aws::ServiceCatalog
1710
1731
  # The plan identifier.
1711
1732
  #
1712
1733
  # @option params [Boolean] :ignore_errors
1713
- # If set to true, AWS Service Catalog stops managing the specified
1734
+ # If set to true, Service Catalog stops managing the specified
1714
1735
  # provisioned product even if it cannot delete the underlying resources.
1715
1736
  #
1716
1737
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
@@ -2842,19 +2863,26 @@ module Aws::ServiceCatalog
2842
2863
  req.send_request(options)
2843
2864
  end
2844
2865
 
2845
- # Disable portfolio sharing through AWS Organizations feature. This
2846
- # feature will not delete your current shares but it will prevent you
2847
- # from creating new shares throughout your organization. Current shares
2848
- # will not be in sync with your organization structure if it changes
2849
- # after calling this API. This API can only be called by the management
2850
- # account in the organization.
2866
+ # Disable portfolio sharing through the Organizations service. This
2867
+ # command will not delete your current shares, but prevents you from
2868
+ # creating new shares throughout your organization. Current shares are
2869
+ # not kept in sync with your organization structure if the structure
2870
+ # changes after calling this API. Only the management account in the
2871
+ # organization can call this API.
2851
2872
  #
2852
- # This API can't be invoked if there are active delegated
2853
- # administrators in the organization.
2873
+ # You cannot call this API if there are active delegated administrators
2874
+ # in the organization.
2854
2875
  #
2855
2876
  # Note that a delegated administrator is not authorized to invoke
2856
2877
  # `DisableAWSOrganizationsAccess`.
2857
2878
  #
2879
+ # If you share an Service Catalog portfolio in an organization within
2880
+ # Organizations, and then disable Organizations access for Service
2881
+ # Catalog, the portfolio access permissions will not sync with the
2882
+ # latest changes to the organization structure. Specifically, accounts
2883
+ # that you removed from the organization after disabling Service Catalog
2884
+ # access will retain access to the previously shared portfolio.
2885
+ #
2858
2886
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2859
2887
  #
2860
2888
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/DisableAWSOrganizationsAccess AWS API Documentation
@@ -3036,19 +3064,29 @@ module Aws::ServiceCatalog
3036
3064
  req.send_request(options)
3037
3065
  end
3038
3066
 
3039
- # Enable portfolio sharing feature through AWS Organizations. This API
3040
- # will allow Service Catalog to receive updates on your organization in
3041
- # order to sync your shares with the current structure. This API can
3042
- # only be called by the management account in the organization.
3067
+ # Enable portfolio sharing feature through Organizations. This API will
3068
+ # allow Service Catalog to receive updates on your organization in order
3069
+ # to sync your shares with the current structure. This API can only be
3070
+ # called by the management account in the organization.
3043
3071
  #
3044
- # By calling this API Service Catalog will make a call to
3045
- # organizations:EnableAWSServiceAccess on your behalf so that your
3046
- # shares can be in sync with any changes in your AWS Organizations
3047
- # structure.
3072
+ # When you call this API, Service Catalog calls
3073
+ # `organizations:EnableAWSServiceAccess` on your behalf so that your
3074
+ # shares stay in sync with any changes in your Organizations structure.
3048
3075
  #
3049
3076
  # Note that a delegated administrator is not authorized to invoke
3050
3077
  # `EnableAWSOrganizationsAccess`.
3051
3078
  #
3079
+ # If you have previously disabled Organizations access for Service
3080
+ # Catalog, and then enable access again, the portfolio access
3081
+ # permissions might not sync with the latest changes to the organization
3082
+ # structure. Specifically, accounts that you removed from the
3083
+ # organization after disabling Service Catalog access, and before you
3084
+ # enabled access again, can retain access to the previously shared
3085
+ # portfolio. As a result, an account that has been removed from the
3086
+ # organization might still be able to create or manage Amazon Web
3087
+ # Services resources when it is no longer authorized to do so. Amazon
3088
+ # Web Services is working to resolve this issue.
3089
+ #
3052
3090
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3053
3091
  #
3054
3092
  # @see http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/EnableAWSOrganizationsAccess AWS API Documentation
@@ -3151,10 +3189,10 @@ module Aws::ServiceCatalog
3151
3189
  # @option params [Hash<String,Array>] :parameters
3152
3190
  # A map of all self-service action parameters and their values. If a
3153
3191
  # provided parameter is of a special type, such as `TARGET`, the
3154
- # provided value will override the default value generated by AWS
3155
- # Service Catalog. If the parameters field is not provided, no
3156
- # additional parameters are passed and default values will be used for
3157
- # any special parameters such as `TARGET`.
3192
+ # provided value will override the default value generated by Service
3193
+ # Catalog. If the parameters field is not provided, no additional
3194
+ # parameters are passed and default values will be used for any special
3195
+ # parameters such as `TARGET`.
3158
3196
  #
3159
3197
  # @return [Types::ExecuteProvisionedProductServiceActionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3160
3198
  #
@@ -3202,9 +3240,9 @@ module Aws::ServiceCatalog
3202
3240
  req.send_request(options)
3203
3241
  end
3204
3242
 
3205
- # Get the Access Status for AWS Organization portfolio share feature.
3206
- # This API can only be called by the management account in the
3207
- # organization or by a delegated admin.
3243
+ # Get the Access Status for Organizations portfolio share feature. This
3244
+ # API can only be called by the management account in the organization
3245
+ # or by a delegated admin.
3208
3246
  #
3209
3247
  # @return [Types::GetAWSOrganizationsAccessStatusOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3210
3248
  #
@@ -3290,10 +3328,11 @@ module Aws::ServiceCatalog
3290
3328
  req.send_request(options)
3291
3329
  end
3292
3330
 
3293
- # Requests the import of a resource as a Service Catalog provisioned
3294
- # product that is associated to a Service Catalog product and
3295
- # provisioning artifact. Once imported, all supported Service Catalog
3296
- # governance actions are supported on the provisioned product.
3331
+ # Requests the import of a resource as a Amazon Web Services Service
3332
+ # Catalog provisioned product that is associated to a Amazon Web
3333
+ # Services Service Catalog product and provisioning artifact. Once
3334
+ # imported, all supported Amazon Web Services Service Catalog governance
3335
+ # actions are supported on the provisioned product.
3297
3336
  #
3298
3337
  # Resource import only supports CloudFormation stack ARNs.
3299
3338
  # CloudFormation StackSets and non-root nested stacks are not supported.
@@ -3304,7 +3343,8 @@ module Aws::ServiceCatalog
3304
3343
  # `IMPORT_ROLLBACK_COMPLETE`.
3305
3344
  #
3306
3345
  # Import of the resource requires that the CloudFormation stack template
3307
- # matches the associated Service Catalog product provisioning artifact.
3346
+ # matches the associated Amazon Web Services Service Catalog product
3347
+ # provisioning artifact.
3308
3348
  #
3309
3349
  # The user or role that performs this operation must have the
3310
3350
  # `cloudformation:GetTemplate` and `cloudformation:DescribeStacks` IAM
@@ -3327,8 +3367,8 @@ module Aws::ServiceCatalog
3327
3367
  #
3328
3368
  # @option params [required, String] :provisioned_product_name
3329
3369
  # The user-friendly name of the provisioned product. The value must be
3330
- # unique for the AWS account. The name cannot be updated after the
3331
- # product is provisioned.
3370
+ # unique for the Amazon Web Services account. The name cannot be updated
3371
+ # after the product is provisioned.
3332
3372
  #
3333
3373
  # @option params [required, String] :physical_id
3334
3374
  # The unique identifier of the resource to be imported. It only
@@ -4350,8 +4390,8 @@ module Aws::ServiceCatalog
4350
4390
 
4351
4391
  # Returns summary information about stack instances that are associated
4352
4392
  # with the specified `CFN_STACKSET` type provisioned product. You can
4353
- # filter for stack instances that are associated with a specific AWS
4354
- # account name or region.
4393
+ # filter for stack instances that are associated with a specific Amazon
4394
+ # Web Services account name or Region.
4355
4395
  #
4356
4396
  # @option params [String] :accept_language
4357
4397
  # The language code.
@@ -4501,8 +4541,8 @@ module Aws::ServiceCatalog
4501
4541
  #
4502
4542
  # @option params [required, String] :provisioned_product_name
4503
4543
  # A user-friendly name for the provisioned product. This value must be
4504
- # unique for the AWS account and cannot be updated after the product is
4505
- # provisioned.
4544
+ # unique for the Amazon Web Services account and cannot be updated after
4545
+ # the product is provisioned.
4506
4546
  #
4507
4547
  # @option params [Array<Types::ProvisioningParameter>] :provisioning_parameters
4508
4548
  # Parameters specified by the administrator that are required for
@@ -4877,6 +4917,16 @@ module Aws::ServiceCatalog
4877
4917
  # Gets information about the provisioned products that meet the
4878
4918
  # specified criteria.
4879
4919
  #
4920
+ # <note markdown="1"> To ensure a complete list of provisioned products and remove duplicate
4921
+ # products, use `sort-by createdTime`.
4922
+ #
4923
+ # Here is a CLI example: ` `
4924
+ #
4925
+ # `aws servicecatalog search-provisioned-products --sort-by createdTime
4926
+ # `
4927
+ #
4928
+ # </note>
4929
+ #
4880
4930
  # @option params [String] :accept_language
4881
4931
  # The language code.
4882
4932
  #
@@ -5001,7 +5051,7 @@ module Aws::ServiceCatalog
5001
5051
  # not need to pass this option.**
5002
5052
  #
5003
5053
  # @option params [Boolean] :ignore_errors
5004
- # If set to true, AWS Service Catalog stops managing the specified
5054
+ # If set to true, Service Catalog stops managing the specified
5005
5055
  # provisioned product even if it cannot delete the underlying resources.
5006
5056
  #
5007
5057
  # @option params [String] :accept_language
@@ -5145,8 +5195,8 @@ module Aws::ServiceCatalog
5145
5195
  # You also cannot have more than one `STACKSET` constraint on a
5146
5196
  # product and portfolio.
5147
5197
  #
5148
- # Products with a `STACKSET` constraint will launch an AWS
5149
- # CloudFormation stack set.
5198
+ # Products with a `STACKSET` constraint will launch an CloudFormation
5199
+ # stack set.
5150
5200
  #
5151
5201
  # TEMPLATE
5152
5202
  #
@@ -5298,8 +5348,9 @@ module Aws::ServiceCatalog
5298
5348
  # updated.
5299
5349
  #
5300
5350
  # @option params [String] :account_id
5301
- # The AWS Account Id of the recipient account. This field is required
5302
- # when updating an external account to account type share.
5351
+ # The Amazon Web Services account Id of the recipient account. This
5352
+ # field is required when updating an external account to account type
5353
+ # share.
5303
5354
  #
5304
5355
  # @option params [Types::OrganizationNode] :organization_node
5305
5356
  # Information about the organization node.
@@ -5603,18 +5654,19 @@ module Aws::ServiceCatalog
5603
5654
  # `ExecuteProvisionedProductServiceAction`. Only a role ARN is valid. A
5604
5655
  # user ARN is invalid.
5605
5656
  #
5606
- # The `OWNER` key accepts user ARNs and role ARNs. The owner is the user
5607
- # that has permission to see, update, terminate, and execute service
5608
- # actions in the provisioned product.
5657
+ # The `OWNER` key accepts IAM user ARNs, IAM role ARNs, and STS
5658
+ # assumed-role ARNs. The owner is the user that has permission to see,
5659
+ # update, terminate, and execute service actions in the provisioned
5660
+ # product.
5609
5661
  #
5610
5662
  # The administrator can change the owner of a provisioned product to
5611
- # another IAM user within the same account. Both end user owners and
5612
- # administrators can see ownership history of the provisioned product
5613
- # using the `ListRecordHistory` API. The new owner can describe all past
5614
- # records for the provisioned product using the `DescribeRecord` API.
5615
- # The previous owner can no longer use `DescribeRecord`, but can still
5616
- # see the product's history from when he was an owner using
5617
- # `ListRecordHistory`.
5663
+ # another IAM or STS entity within the same account. Both end user
5664
+ # owners and administrators can see ownership history of the provisioned
5665
+ # product using the `ListRecordHistory` API. The new owner can describe
5666
+ # all past records for the provisioned product using the
5667
+ # `DescribeRecord` API. The previous owner can no longer use
5668
+ # `DescribeRecord`, but can still see the product's history from when
5669
+ # he was an owner using `ListRecordHistory`.
5618
5670
  #
5619
5671
  # If a provisioned product ownership is assigned to an end user, they
5620
5672
  # can see and perform any action through the API or Service Catalog
@@ -5861,7 +5913,7 @@ module Aws::ServiceCatalog
5861
5913
  params: params,
5862
5914
  config: config)
5863
5915
  context[:gem_name] = 'aws-sdk-servicecatalog'
5864
- context[:gem_version] = '1.71.0'
5916
+ context[:gem_version] = '1.73.0'
5865
5917
  Seahorse::Client::Request.new(handlers, context)
5866
5918
  end
5867
5919
 
@@ -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::ServiceCatalog
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::ServiceCatalog
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
+ dCI6eyJ1cmwiOiJodHRwczovL3NlcnZpY2VjYXRhbG9nLWZpcHMue1JlZ2lv
77
+ bn0ue1BhcnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJv
78
+ cGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1d
79
+ fSx7ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgYW5kIER1YWxTdGFj
80
+ ayBhcmUgZW5hYmxlZCwgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1
81
+ cHBvcnQgb25lIG9yIGJvdGgiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0
82
+ aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoi
83
+ VXNlRklQUyJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNv
84
+ bmRpdGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVl
85
+ LHsiZm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVz
86
+ dWx0In0sInN1cHBvcnRzRklQUyJdfV19XSwidHlwZSI6InRyZWUiLCJydWxl
87
+ cyI6W3siY29uZGl0aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7
88
+ ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL3Nl
89
+ cnZpY2VjYXRhbG9nLWZpcHMue1JlZ2lvbn0ue1BhcnRpdGlvblJlc3VsdCNk
90
+ bnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
91
+ ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W10sImVycm9yIjoi
92
+ RklQUyBpcyBlbmFibGVkIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBz
93
+ dXBwb3J0IEZJUFMiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6
94
+ W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRHVh
95
+ bFN0YWNrIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29u
96
+ ZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUs
97
+ eyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1
98
+ bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5cGUiOiJ0cmVlIiwi
99
+ cnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJo
100
+ dHRwczovL3NlcnZpY2VjYXRhbG9nLntSZWdpb259LntQYXJ0aXRpb25SZXN1
101
+ bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFk
102
+ ZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRpb25zIjpb
103
+ XSwiZXJyb3IiOiJEdWFsU3RhY2sgaXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0
104
+ aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBEdWFsU3RhY2siLCJ0eXBlIjoiZXJy
105
+ b3IifV19LHsiY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0
106
+ dHBzOi8vc2VydmljZWNhdGFsb2cue1JlZ2lvbn0ue1BhcnRpdGlvblJlc3Vs
107
+ dCNkbnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwi
108
+ dHlwZSI6ImVuZHBvaW50In1dfV19
109
+
110
+ JSON
111
+ end
112
+ end