aws-sdk-appconfig 1.27.0 → 1.29.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: 31814c68b62820abc85586f50cb3faf85b1b4c0699b4a1d79d654df8368b7731
4
- data.tar.gz: 1eeae9f0fb9b9d50945f98826b4942fb1d88a7ed94fc48f626558270e51bab61
3
+ metadata.gz: cf9c7b43fcdf678a03151fe88f95923ed639e6821c09446aeb7ffbb50c425052
4
+ data.tar.gz: f0c915c9b30be8fce573e4dece1778eefae6ccafa2a0c3fa695e46045cf54970
5
5
  SHA512:
6
- metadata.gz: 9446799a8f01b8f7231788683a4f1ceb13575f0daaa9c94c1213a69ded60e2f21597fae6cc92b0dfa922af3fc1fc88ea6af9394862db79068a2b1ba45b447cf1
7
- data.tar.gz: 3a104dc0fb0427db86a08abb56cd2859a7849647ef653b5b2459b2041be8a8e21214cc6e2e5744b5265a999393138f2c6dc6ad9cceeb60fef1c972fcb8efdea4
6
+ metadata.gz: e983581d51d15ac9396a7c185150bbcd3ced30c0986a8e818ccca5efdc045ea929dcae474da73e5469789fdedb5b3601f37e271c8faaacc695c62ea79235c0a2
7
+ data.tar.gz: '084ecdfbe31dceb3be0e18fb5636153f0e2b0c5113be101667d967c11e15390d718bb885288bd48a5d859039f21b929a30a026095b51b78d6b88dd50fc92679e'
data/CHANGELOG.md CHANGED
@@ -1,6 +1,18 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.29.0 (2023-02-02)
5
+ ------------------
6
+
7
+ * Feature - AWS AppConfig introduces KMS customer-managed key (CMK) encryption of configuration data, along with AWS Secrets Manager as a new configuration data source. S3 objects using SSE-KMS encryption and SSM Parameter Store SecureStrings are also now supported.
8
+
9
+ 1.28.0 (2023-01-18)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
14
+ * Issue - Replace runtime endpoint resolution approach with generated ruby code.
15
+
4
16
  1.27.0 (2022-10-25)
5
17
  ------------------
6
18
 
@@ -145,4 +157,4 @@ Unreleased Changes
145
157
  1.0.0 (2019-11-25)
146
158
  ------------------
147
159
 
148
- * Feature - Initial release of `aws-sdk-appconfig`.
160
+ * Feature - Initial release of `aws-sdk-appconfig`.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.27.0
1
+ 1.29.0
@@ -435,11 +435,25 @@ module Aws::AppConfig
435
435
 
436
436
  # Creates a configuration profile, which is information that enables
437
437
  # AppConfig to access the configuration source. Valid configuration
438
- # sources include the AppConfig hosted configuration store, Amazon Web
439
- # Services Systems Manager (SSM) documents, SSM Parameter Store
440
- # parameters, Amazon S3 objects, or any [integration source action][1]
441
- # supported by CodePipeline. A configuration profile includes the
442
- # following information:
438
+ # sources include the following:
439
+ #
440
+ # * Configuration data in YAML, JSON, and other formats stored in the
441
+ # AppConfig hosted configuration store
442
+ #
443
+ # * Configuration data stored as objects in an Amazon Simple Storage
444
+ # Service (Amazon S3) bucket
445
+ #
446
+ # * Pipelines stored in CodePipeline
447
+ #
448
+ # * Secrets stored in Secrets Manager
449
+ #
450
+ # * Standard and secure string parameters stored in Amazon Web Services
451
+ # Systems Manager Parameter Store
452
+ #
453
+ # * Configuration data in SSM documents stored in the Systems Manager
454
+ # document store
455
+ #
456
+ # A configuration profile includes the following information:
443
457
  #
444
458
  # * The URI location of the configuration data.
445
459
  #
@@ -450,12 +464,11 @@ module Aws::AppConfig
450
464
  # either a JSON Schema or an Amazon Web Services Lambda function.
451
465
  #
452
466
  # For more information, see [Create a Configuration and a Configuration
453
- # Profile][2] in the *AppConfig User Guide*.
467
+ # Profile][1] in the *AppConfig User Guide*.
454
468
  #
455
469
  #
456
470
  #
457
- # [1]: http://docs.aws.amazon.com/codepipeline/latest/userguide/integrations-action-type.html#integrations-source
458
- # [2]: http://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-creating-configuration-and-profile.html
471
+ # [1]: http://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-creating-configuration-and-profile.html
459
472
  #
460
473
  # @option params [required, String] :application_id
461
474
  # The application ID.
@@ -467,17 +480,24 @@ module Aws::AppConfig
467
480
  # A description of the configuration profile.
468
481
  #
469
482
  # @option params [required, String] :location_uri
470
- # A URI to locate the configuration. You can specify the AppConfig
471
- # hosted configuration store, Systems Manager (SSM) document, an SSM
472
- # Parameter Store parameter, or an Amazon S3 object. For the hosted
473
- # configuration store and for feature flags, specify `hosted`. For an
474
- # SSM document, specify either the document name in the format
475
- # `ssm-document://<Document_name>` or the Amazon Resource Name (ARN).
476
- # For a parameter, specify either the parameter name in the format
477
- # `ssm-parameter://<Parameter_name>` or the ARN. For an Amazon S3
478
- # object, specify the URI in the following format:
479
- # `s3://<bucket>/<objectKey> `. Here is an example:
480
- # `s3://my-bucket/my-app/us-east-1/my-config.json`
483
+ # A URI to locate the configuration. You can specify the following:
484
+ #
485
+ # * For the AppConfig hosted configuration store and for feature flags,
486
+ # specify `hosted`.
487
+ #
488
+ # * For an Amazon Web Services Systems Manager Parameter Store
489
+ # parameter, specify either the parameter name in the format
490
+ # `ssm-parameter://<parameter name>` or the ARN.
491
+ #
492
+ # * For an Secrets Manager secret, specify the URI in the following
493
+ # format: `secrets-manager`\://&lt;secret name&gt;.
494
+ #
495
+ # * For an Amazon S3 object, specify the URI in the following format:
496
+ # `s3://<bucket>/<objectKey> `. Here is an example:
497
+ # `s3://my-bucket/my-app/us-east-1/my-config.json`
498
+ #
499
+ # * For an SSM document, specify either the document name in the format
500
+ # `ssm-document://<document name>` or the Amazon Resource Name (ARN).
481
501
  #
482
502
  # @option params [String] :retrieval_role_arn
483
503
  # The ARN of an IAM role with permission to access the configuration at
@@ -818,12 +838,12 @@ module Aws::AppConfig
818
838
  # inject logic or behavior at different points during the AppConfig
819
839
  # workflow of creating or deploying a configuration.
820
840
  #
821
- # You can create your own extensions or use the Amazon Web
822
- # Services-authored extensions provided by AppConfig. For most
823
- # use-cases, to create your own extension, you must create an Lambda
824
- # function to perform any computation and processing defined in the
825
- # extension. For more information about extensions, see [Working with
826
- # AppConfig extensions][1] in the *AppConfig User Guide*.
841
+ # You can create your own extensions or use the Amazon Web Services
842
+ # authored extensions provided by AppConfig. For most use cases, to
843
+ # create your own extension, you must create an Lambda function to
844
+ # perform any computation and processing defined in the extension. For
845
+ # more information about extensions, see [Working with AppConfig
846
+ # extensions][1] in the *AppConfig User Guide*.
827
847
  #
828
848
  #
829
849
  #
@@ -919,19 +939,18 @@ module Aws::AppConfig
919
939
  req.send_request(options)
920
940
  end
921
941
 
922
- # When you create an extension or configure an Amazon Web
923
- # Services-authored extension, you associate the extension with an
924
- # AppConfig application, environment, or configuration profile. For
925
- # example, you can choose to run the `AppConfig deployment events to
926
- # Amazon SNS` Amazon Web Services-authored extension and receive
927
- # notifications on an Amazon SNS topic anytime a configuration
928
- # deployment is started for a specific application. Defining which
929
- # extension to associate with an AppConfig resource is called an
930
- # *extension association*. An extension association is a specified
931
- # relationship between an extension and an AppConfig resource, such as
932
- # an application or a configuration profile. For more information about
933
- # extensions and associations, see [Working with AppConfig
934
- # extensions][1] in the *AppConfig User Guide*.
942
+ # When you create an extension or configure an Amazon Web Services
943
+ # authored extension, you associate the extension with an AppConfig
944
+ # application, environment, or configuration profile. For example, you
945
+ # can choose to run the `AppConfig deployment events to Amazon SNS`
946
+ # Amazon Web Services authored extension and receive notifications on an
947
+ # Amazon SNS topic anytime a configuration deployment is started for a
948
+ # specific application. Defining which extension to associate with an
949
+ # AppConfig resource is called an *extension association*. An extension
950
+ # association is a specified relationship between an extension and an
951
+ # AppConfig resource, such as an application or a configuration profile.
952
+ # For more information about extensions and associations, see [Working
953
+ # with AppConfig extensions][1] in the *AppConfig User Guide*.
935
954
  #
936
955
  #
937
956
  #
@@ -1371,41 +1390,22 @@ module Aws::AppConfig
1371
1390
  req.send_request(options)
1372
1391
  end
1373
1392
 
1374
- # Retrieves the latest deployed configuration.
1393
+ # (Deprecated) Retrieves the latest deployed configuration.
1375
1394
  #
1376
1395
  # Note the following important information.
1377
1396
  #
1378
- # * This API action has been deprecated. Calls to receive configuration
1379
- # data should use the [StartConfigurationSession][1] and
1397
+ # * This API action is deprecated. Calls to receive configuration data
1398
+ # should use the [StartConfigurationSession][1] and
1380
1399
  # [GetLatestConfiguration][2] APIs instead.
1381
1400
  #
1382
1401
  # * `GetConfiguration` is a priced call. For more information, see
1383
1402
  # [Pricing][3].
1384
1403
  #
1385
- # * AppConfig uses the value of the `ClientConfigurationVersion`
1386
- # parameter to identify the configuration version on your clients. If
1387
- # you don’t send `ClientConfigurationVersion` with each call to
1388
- # `GetConfiguration`, your clients receive the current configuration.
1389
- # You are charged each time your clients receive a configuration.
1390
- #
1391
- # To avoid excess charges, we recommend you use the
1392
- # [StartConfigurationSession][4] and [GetLatestConfiguration][5] APIs,
1393
- # which track the client configuration version on your behalf. If you
1394
- # choose to continue using `GetConfiguration`, we recommend that you
1395
- # include the `ClientConfigurationVersion` value with every call to
1396
- # `GetConfiguration`. The value to use for
1397
- # `ClientConfigurationVersion` comes from the `ConfigurationVersion`
1398
- # attribute returned by `GetConfiguration` when there is new or
1399
- # updated data, and should be saved for subsequent calls to
1400
- # `GetConfiguration`.
1401
- #
1402
1404
  #
1403
1405
  #
1404
1406
  # [1]: https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_StartConfigurationSession.html
1405
1407
  # [2]: https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html
1406
1408
  # [3]: https://aws.amazon.com/systems-manager/pricing/
1407
- # [4]: https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/StartConfigurationSession.html
1408
- # [5]: https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/GetLatestConfiguration.html
1409
1409
  #
1410
1410
  # @option params [required, String] :application
1411
1411
  # The application to get. Specify either the application name or the
@@ -1435,18 +1435,24 @@ module Aws::AppConfig
1435
1435
  # `GetConfiguration`, your clients receive the current configuration.
1436
1436
  # You are charged each time your clients receive a configuration.
1437
1437
  #
1438
- # To avoid excess charges, we recommend that you include the
1439
- # `ClientConfigurationVersion` value with every call to
1440
- # `GetConfiguration`. This value must be saved on your client.
1441
- # Subsequent calls to `GetConfiguration` must pass this value by using
1442
- # the `ClientConfigurationVersion` parameter.
1438
+ # To avoid excess charges, we recommend you use the
1439
+ # [StartConfigurationSession][1] and [GetLatestConfiguration][2] APIs,
1440
+ # which track the client configuration version on your behalf. If you
1441
+ # choose to continue using `GetConfiguration`, we recommend that you
1442
+ # include the `ClientConfigurationVersion` value with every call to
1443
+ # `GetConfiguration`. The value to use for `ClientConfigurationVersion`
1444
+ # comes from the `ConfigurationVersion` attribute returned by
1445
+ # `GetConfiguration` when there is new or updated data, and should be
1446
+ # saved for subsequent calls to `GetConfiguration`.
1443
1447
  #
1444
1448
  # For more information about working with configurations, see
1445
- # [Retrieving the Configuration][1] in the *AppConfig User Guide*.
1449
+ # [Retrieving the Configuration][3] in the *AppConfig User Guide*.
1446
1450
  #
1447
1451
  #
1448
1452
  #
1449
- # [1]: http://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-retrieving-the-configuration.html
1453
+ # [1]: https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/StartConfigurationSession.html
1454
+ # [2]: https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/GetLatestConfiguration.html
1455
+ # [3]: http://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-retrieving-the-configuration.html
1450
1456
  #
1451
1457
  # @return [Types::Configuration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1452
1458
  #
@@ -1602,6 +1608,8 @@ module Aws::AppConfig
1602
1608
  # * {Types::Deployment#started_at #started_at} => Time
1603
1609
  # * {Types::Deployment#completed_at #completed_at} => Time
1604
1610
  # * {Types::Deployment#applied_extensions #applied_extensions} => Array&lt;Types::AppliedExtension&gt;
1611
+ # * {Types::Deployment#kms_key_arn #kms_key_arn} => String
1612
+ # * {Types::Deployment#kms_key_identifier #kms_key_identifier} => String
1605
1613
  #
1606
1614
  #
1607
1615
  # @example Example: To retrieve deployment details
@@ -1725,6 +1733,8 @@ module Aws::AppConfig
1725
1733
  # resp.applied_extensions[0].version_number #=> Integer
1726
1734
  # resp.applied_extensions[0].parameters #=> Hash
1727
1735
  # resp.applied_extensions[0].parameters["Name"] #=> String
1736
+ # resp.kms_key_arn #=> String
1737
+ # resp.kms_key_identifier #=> String
1728
1738
  #
1729
1739
  # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetDeployment AWS API Documentation
1730
1740
  #
@@ -2474,7 +2484,7 @@ module Aws::AppConfig
2474
2484
  req.send_request(options)
2475
2485
  end
2476
2486
 
2477
- # Lists all custom and Amazon Web Services-authored AppConfig extensions
2487
+ # Lists all custom and Amazon Web Services authored AppConfig extensions
2478
2488
  # in the account. For more information about extensions, see [Working
2479
2489
  # with AppConfig extensions][1] in the *AppConfig User Guide*.
2480
2490
  #
@@ -2674,6 +2684,11 @@ module Aws::AppConfig
2674
2684
  # categorize your AppConfig resources. Each tag consists of a key and an
2675
2685
  # optional value, both of which you define.
2676
2686
  #
2687
+ # @option params [String] :kms_key_identifier
2688
+ # The KMS key identifier (key ID, key alias, or key ARN). AppConfig uses
2689
+ # this ID to encrypt the configuration data using a customer managed
2690
+ # key.
2691
+ #
2677
2692
  # @return [Types::Deployment] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2678
2693
  #
2679
2694
  # * {Types::Deployment#application_id #application_id} => String
@@ -2695,6 +2710,8 @@ module Aws::AppConfig
2695
2710
  # * {Types::Deployment#started_at #started_at} => Time
2696
2711
  # * {Types::Deployment#completed_at #completed_at} => Time
2697
2712
  # * {Types::Deployment#applied_extensions #applied_extensions} => Array&lt;Types::AppliedExtension&gt;
2713
+ # * {Types::Deployment#kms_key_arn #kms_key_arn} => String
2714
+ # * {Types::Deployment#kms_key_identifier #kms_key_identifier} => String
2698
2715
  #
2699
2716
  #
2700
2717
  # @example Example: To start a configuration deployment
@@ -2752,6 +2769,7 @@ module Aws::AppConfig
2752
2769
  # tags: {
2753
2770
  # "TagKey" => "TagValue",
2754
2771
  # },
2772
+ # kms_key_identifier: "Identifier",
2755
2773
  # })
2756
2774
  #
2757
2775
  # @example Response structure
@@ -2792,6 +2810,8 @@ module Aws::AppConfig
2792
2810
  # resp.applied_extensions[0].version_number #=> Integer
2793
2811
  # resp.applied_extensions[0].parameters #=> Hash
2794
2812
  # resp.applied_extensions[0].parameters["Name"] #=> String
2813
+ # resp.kms_key_arn #=> String
2814
+ # resp.kms_key_identifier #=> String
2795
2815
  #
2796
2816
  # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/StartDeployment AWS API Documentation
2797
2817
  #
@@ -2836,6 +2856,8 @@ module Aws::AppConfig
2836
2856
  # * {Types::Deployment#started_at #started_at} => Time
2837
2857
  # * {Types::Deployment#completed_at #completed_at} => Time
2838
2858
  # * {Types::Deployment#applied_extensions #applied_extensions} => Array&lt;Types::AppliedExtension&gt;
2859
+ # * {Types::Deployment#kms_key_arn #kms_key_arn} => String
2860
+ # * {Types::Deployment#kms_key_identifier #kms_key_identifier} => String
2839
2861
  #
2840
2862
  #
2841
2863
  # @example Example: To stop configuration deployment
@@ -2903,6 +2925,8 @@ module Aws::AppConfig
2903
2925
  # resp.applied_extensions[0].version_number #=> Integer
2904
2926
  # resp.applied_extensions[0].parameters #=> Hash
2905
2927
  # resp.applied_extensions[0].parameters["Name"] #=> String
2928
+ # resp.kms_key_arn #=> String
2929
+ # resp.kms_key_identifier #=> String
2906
2930
  #
2907
2931
  # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/StopDeployment AWS API Documentation
2908
2932
  #
@@ -3528,7 +3552,7 @@ module Aws::AppConfig
3528
3552
  params: params,
3529
3553
  config: config)
3530
3554
  context[:gem_name] = 'aws-sdk-appconfig'
3531
- context[:gem_version] = '1.27.0'
3555
+ context[:gem_version] = '1.29.0'
3532
3556
  Seahorse::Client::Request.new(handlers, context)
3533
3557
  end
3534
3558
 
@@ -343,6 +343,8 @@ module Aws::AppConfig
343
343
  Deployment.add_member(:started_at, Shapes::ShapeRef.new(shape: Iso8601DateTime, location_name: "StartedAt"))
344
344
  Deployment.add_member(:completed_at, Shapes::ShapeRef.new(shape: Iso8601DateTime, location_name: "CompletedAt"))
345
345
  Deployment.add_member(:applied_extensions, Shapes::ShapeRef.new(shape: AppliedExtensions, location_name: "AppliedExtensions"))
346
+ Deployment.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "KmsKeyArn"))
347
+ Deployment.add_member(:kms_key_identifier, Shapes::ShapeRef.new(shape: Identifier, location_name: "KmsKeyIdentifier"))
346
348
  Deployment.struct_class = Types::Deployment
347
349
 
348
350
  DeploymentEvent.add_member(:event_type, Shapes::ShapeRef.new(shape: DeploymentEventType, location_name: "EventType"))
@@ -602,6 +604,7 @@ module Aws::AppConfig
602
604
  StartDeploymentRequest.add_member(:configuration_version, Shapes::ShapeRef.new(shape: Version, required: true, location_name: "ConfigurationVersion"))
603
605
  StartDeploymentRequest.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
604
606
  StartDeploymentRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
607
+ StartDeploymentRequest.add_member(:kms_key_identifier, Shapes::ShapeRef.new(shape: Identifier, location_name: "KmsKeyIdentifier"))
605
608
  StartDeploymentRequest.struct_class = Types::StartDeploymentRequest
606
609
 
607
610
  StopDeploymentRequest.add_member(:application_id, Shapes::ShapeRef.new(shape: Id, required: true, location: "uri", location_name: "ApplicationId"))
@@ -50,6 +50,9 @@ module Aws::AppConfig
50
50
 
51
51
  def initialize(options = {})
52
52
  self[:region] = options[:region]
53
+ if self[:region].nil?
54
+ raise ArgumentError, "Missing required EndpointParameter: :region"
55
+ end
53
56
  self[:use_dual_stack] = options[:use_dual_stack]
54
57
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
58
  if self[:use_dual_stack].nil?
@@ -9,112 +9,49 @@
9
9
 
10
10
  module Aws::AppConfig
11
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
- )
12
+ def resolve_endpoint(parameters)
13
+ region = parameters.region
14
+ use_dual_stack = parameters.use_dual_stack
15
+ use_fips = parameters.use_fips
16
+ endpoint = parameters.endpoint
17
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
18
+ if Aws::Endpoints::Matchers.set?(endpoint)
19
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
20
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
21
+ end
22
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
23
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
24
+ end
25
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
26
+ end
27
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
28
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
29
+ return Aws::Endpoints::Endpoint.new(url: "https://appconfig-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
30
+ end
31
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
32
+ end
33
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
34
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
+ if Aws::Endpoints::Matchers.string_equals?(region, "us-gov-east-1")
36
+ return Aws::Endpoints::Endpoint.new(url: "https://appconfig.us-gov-east-1.amazonaws.com", headers: {}, properties: {})
37
+ end
38
+ if Aws::Endpoints::Matchers.string_equals?(region, "us-gov-west-1")
39
+ return Aws::Endpoints::Endpoint.new(url: "https://appconfig.us-gov-west-1.amazonaws.com", headers: {}, properties: {})
40
+ end
41
+ return Aws::Endpoints::Endpoint.new(url: "https://appconfig-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
42
+ end
43
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
44
+ end
45
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
46
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
47
+ return Aws::Endpoints::Endpoint.new(url: "https://appconfig.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
48
+ end
49
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
50
+ end
51
+ return Aws::Endpoints::Endpoint.new(url: "https://appconfig.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
21
52
  end
22
- @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
- end
53
+ raise ArgumentError, 'No endpoint could be resolved'
24
54
 
25
- def resolve_endpoint(parameters)
26
- @provider.resolve_endpoint(parameters)
27
55
  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
- dCI6eyJ1cmwiOiJodHRwczovL2FwcGNvbmZpZy1maXBzLntSZWdpb259LntQ
77
- YXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRp
78
- ZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJj
79
- b25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGFuZCBEdWFsU3RhY2sgYXJl
80
- IGVuYWJsZWQsIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0
81
- IG9uZSBvciBib3RoIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMi
82
- Olt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJ
83
- UFMifSx0cnVlXX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRp
84
- b25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZu
85
- IjoiZ2V0QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9
86
- LCJzdXBwb3J0c0ZJUFMiXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7
87
- ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25k
88
- aXRpb25zIjpbeyJmbiI6InN0cmluZ0VxdWFscyIsImFyZ3YiOlt7InJlZiI6
89
- IlJlZ2lvbiJ9LCJ1cy1nb3Ytd2VzdC0xIl19XSwiZW5kcG9pbnQiOnsidXJs
90
- IjoiaHR0cHM6Ly9hcHBjb25maWcudXMtZ292LXdlc3QtMS5hbWF6b25hd3Mu
91
- Y29tIiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVu
92
- ZHBvaW50In0seyJjb25kaXRpb25zIjpbeyJmbiI6InN0cmluZ0VxdWFscyIs
93
- ImFyZ3YiOlt7InJlZiI6IlJlZ2lvbiJ9LCJ1cy1nb3YtZWFzdC0xIl19XSwi
94
- ZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9hcHBjb25maWcudXMtZ292LWVh
95
- c3QtMS5hbWF6b25hd3MuY29tIiwicHJvcGVydGllcyI6e30sImhlYWRlcnMi
96
- Ont9fSwidHlwZSI6ImVuZHBvaW50In0seyJjb25kaXRpb25zIjpbXSwiZW5k
97
- cG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9hcHBjb25maWctZmlwcy57UmVnaW9u
98
- fS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7
99
- fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0seyJjb25k
100
- aXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGlzIGVuYWJsZWQgYnV0IHRoaXMg
101
- cGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgRklQUyIsInR5cGUiOiJlcnJv
102
- ciJ9XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJh
103
- cmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJ0eXBlIjoi
104
- dHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5F
105
- cXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFyZ3YiOlt7
106
- InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0R1YWxTdGFjayJd
107
- fV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W10s
108
- ImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vYXBwY29uZmlnLntSZWdpb259
109
- LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3Bl
110
- cnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0s
111
- eyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sgaXMgZW5hYmxl
112
- ZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBEdWFsU3Rh
113
- Y2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W10sImVuZHBv
114
- aW50Ijp7InVybCI6Imh0dHBzOi8vYXBwY29uZmlnLntSZWdpb259LntQYXJ0
115
- aXRpb25SZXN1bHQjZG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFk
116
- ZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX1dfQ==
117
-
118
- JSON
119
56
  end
120
57
  end