aws-sdk-appconfig 1.25.0 → 1.27.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.
@@ -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(:appconfig)
@@ -79,8 +79,9 @@ module Aws::AppConfig
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::AppConfig::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -287,6 +288,19 @@ module Aws::AppConfig
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::AppConfig
300
314
  # When `true`, request parameters are validated before
301
315
  # sending the request.
302
316
  #
317
+ # @option options [Aws::AppConfig::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::AppConfig::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
  #
@@ -351,12 +368,11 @@ module Aws::AppConfig
351
368
 
352
369
  # @!group API Operations
353
370
 
354
- # Creates an application. An application in AppConfig is a logical unit
355
- # of code that provides capabilities for your customers. For example, an
356
- # application can be a microservice that runs on Amazon EC2 instances, a
357
- # mobile application installed by your users, a serverless application
358
- # using Amazon API Gateway and Lambda, or any system you run on behalf
359
- # of others.
371
+ # Creates an application. In AppConfig, an application is simply an
372
+ # organizational construct like a folder. This organizational construct
373
+ # has a relationship with some unit of executable code. For example, you
374
+ # could create an application called MyMobileApp to organize and manage
375
+ # configuration data for a mobile application installed by your users.
360
376
  #
361
377
  # @option params [required, String] :name
362
378
  # A name for the application.
@@ -528,7 +544,7 @@ module Aws::AppConfig
528
544
  #
529
545
  # resp = client.create_configuration_profile({
530
546
  # application_id: "Id", # required
531
- # name: "Name", # required
547
+ # name: "LongName", # required
532
548
  # description: "Description",
533
549
  # location_uri: "Uri", # required
534
550
  # retrieval_role_arn: "RoleArn",
@@ -582,9 +598,18 @@ module Aws::AppConfig
582
598
  # Total amount of time for a deployment to last.
583
599
  #
584
600
  # @option params [Integer] :final_bake_time_in_minutes
585
- # The amount of time AppConfig monitors for alarms before considering
586
- # the deployment to be complete and no longer eligible for automatic
587
- # roll back.
601
+ # Specifies the amount of time AppConfig monitors for Amazon CloudWatch
602
+ # alarms after the configuration has been deployed to 100% of its
603
+ # targets, before considering the deployment to be complete. If an alarm
604
+ # is triggered during this time, AppConfig rolls back the deployment.
605
+ # You must configure permissions for AppConfig to roll back based on
606
+ # CloudWatch alarms. For more information, see [Configuring permissions
607
+ # for rollback based on Amazon CloudWatch alarms][1] in the *AppConfig
608
+ # User Guide*.
609
+ #
610
+ #
611
+ #
612
+ # [1]: https://docs.aws.amazon.com/appconfig/latest/userguide/getting-started-with-appconfig-cloudwatch-alarms-permissions.html
588
613
  #
589
614
  # @option params [required, Float] :growth_factor
590
615
  # The percentage of targets to receive a deployed configuration during
@@ -619,7 +644,7 @@ module Aws::AppConfig
619
644
  # targets, 4% of the targets, 8% of the targets, and continues until the
620
645
  # configuration has been deployed to all targets.
621
646
  #
622
- # @option params [required, String] :replicate_to
647
+ # @option params [String] :replicate_to
623
648
  # Save the deployment strategy to a Systems Manager (SSM) document.
624
649
  #
625
650
  # @option params [Hash<String,String>] :tags
@@ -672,7 +697,7 @@ module Aws::AppConfig
672
697
  # final_bake_time_in_minutes: 1,
673
698
  # growth_factor: 1.0, # required
674
699
  # growth_type: "LINEAR", # accepts LINEAR, EXPONENTIAL
675
- # replicate_to: "NONE", # required, accepts NONE, SSM_DOCUMENT
700
+ # replicate_to: "NONE", # accepts NONE, SSM_DOCUMENT
676
701
  # tags: {
677
702
  # "TagKey" => "TagValue",
678
703
  # },
@@ -699,14 +724,13 @@ module Aws::AppConfig
699
724
  end
700
725
 
701
726
  # Creates an environment. For each application, you define one or more
702
- # environments. An environment is a logical deployment group of
703
- # AppConfig targets, such as applications in a `Beta` or `Production`
704
- # environment. You can also define environments for application
705
- # subcomponents such as the `Web`, `Mobile` and `Back-end` components
706
- # for your application. You can configure Amazon CloudWatch alarms for
707
- # each environment. The system monitors alarms during a configuration
708
- # deployment. If an alarm is triggered, the system rolls back the
709
- # configuration.
727
+ # environments. An environment is a deployment group of AppConfig
728
+ # targets, such as applications in a `Beta` or `Production` environment.
729
+ # You can also define environments for application subcomponents such as
730
+ # the `Web`, `Mobile` and `Back-end` components for your application.
731
+ # You can configure Amazon CloudWatch alarms for each environment. The
732
+ # system monitors alarms during a configuration deployment. If an alarm
733
+ # is triggered, the system rolls back the configuration.
710
734
  #
711
735
  # @option params [required, String] :application_id
712
736
  # The application ID.
@@ -790,6 +814,191 @@ module Aws::AppConfig
790
814
  req.send_request(options)
791
815
  end
792
816
 
817
+ # Creates an AppConfig extension. An extension augments your ability to
818
+ # inject logic or behavior at different points during the AppConfig
819
+ # workflow of creating or deploying a configuration.
820
+ #
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*.
827
+ #
828
+ #
829
+ #
830
+ # [1]: https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html
831
+ #
832
+ # @option params [required, String] :name
833
+ # A name for the extension. Each extension name in your account must be
834
+ # unique. Extension versions use the same name.
835
+ #
836
+ # @option params [String] :description
837
+ # Information about the extension.
838
+ #
839
+ # @option params [required, Hash<String,Array>] :actions
840
+ # The actions defined in the extension.
841
+ #
842
+ # @option params [Hash<String,Types::Parameter>] :parameters
843
+ # The parameters accepted by the extension. You specify parameter values
844
+ # when you associate the extension to an AppConfig resource by using the
845
+ # `CreateExtensionAssociation` API action. For Lambda extension actions,
846
+ # these parameters are included in the Lambda request object.
847
+ #
848
+ # @option params [Hash<String,String>] :tags
849
+ # Adds one or more tags for the specified extension. Tags are metadata
850
+ # that help you categorize resources in different ways, for example, by
851
+ # purpose, owner, or environment. Each tag consists of a key and an
852
+ # optional value, both of which you define.
853
+ #
854
+ # @option params [Integer] :latest_version_number
855
+ # You can omit this field when you create an extension. When you create
856
+ # a new version, specify the most recent current version number. For
857
+ # example, you create version 3, enter 2 for this field.
858
+ #
859
+ # @return [Types::Extension] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
860
+ #
861
+ # * {Types::Extension#id #id} => String
862
+ # * {Types::Extension#name #name} => String
863
+ # * {Types::Extension#version_number #version_number} => Integer
864
+ # * {Types::Extension#arn #arn} => String
865
+ # * {Types::Extension#description #description} => String
866
+ # * {Types::Extension#actions #actions} => Hash&lt;String,Array&lt;Types::Action&gt;&gt;
867
+ # * {Types::Extension#parameters #parameters} => Hash&lt;String,Types::Parameter&gt;
868
+ #
869
+ # @example Request syntax with placeholder values
870
+ #
871
+ # resp = client.create_extension({
872
+ # name: "Name", # required
873
+ # description: "Description",
874
+ # actions: { # required
875
+ # "PRE_CREATE_HOSTED_CONFIGURATION_VERSION" => [
876
+ # {
877
+ # name: "Name",
878
+ # description: "Description",
879
+ # uri: "Uri",
880
+ # role_arn: "Arn",
881
+ # },
882
+ # ],
883
+ # },
884
+ # parameters: {
885
+ # "Name" => {
886
+ # description: "Description",
887
+ # required: false,
888
+ # },
889
+ # },
890
+ # tags: {
891
+ # "TagKey" => "TagValue",
892
+ # },
893
+ # latest_version_number: 1,
894
+ # })
895
+ #
896
+ # @example Response structure
897
+ #
898
+ # resp.id #=> String
899
+ # resp.name #=> String
900
+ # resp.version_number #=> Integer
901
+ # resp.arn #=> String
902
+ # resp.description #=> String
903
+ # resp.actions #=> Hash
904
+ # resp.actions["ActionPoint"] #=> Array
905
+ # resp.actions["ActionPoint"][0].name #=> String
906
+ # resp.actions["ActionPoint"][0].description #=> String
907
+ # resp.actions["ActionPoint"][0].uri #=> String
908
+ # resp.actions["ActionPoint"][0].role_arn #=> String
909
+ # resp.parameters #=> Hash
910
+ # resp.parameters["Name"].description #=> String
911
+ # resp.parameters["Name"].required #=> Boolean
912
+ #
913
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateExtension AWS API Documentation
914
+ #
915
+ # @overload create_extension(params = {})
916
+ # @param [Hash] params ({})
917
+ def create_extension(params = {}, options = {})
918
+ req = build_request(:create_extension, params)
919
+ req.send_request(options)
920
+ end
921
+
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*.
935
+ #
936
+ #
937
+ #
938
+ # [1]: https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html
939
+ #
940
+ # @option params [required, String] :extension_identifier
941
+ # The name, the ID, or the Amazon Resource Name (ARN) of the extension.
942
+ #
943
+ # @option params [Integer] :extension_version_number
944
+ # The version number of the extension. If not specified, AppConfig uses
945
+ # the maximum version of the extension.
946
+ #
947
+ # @option params [required, String] :resource_identifier
948
+ # The ARN of an application, configuration profile, or environment.
949
+ #
950
+ # @option params [Hash<String,String>] :parameters
951
+ # The parameter names and values defined in the extensions. Extension
952
+ # parameters marked `Required` must be entered for this field.
953
+ #
954
+ # @option params [Hash<String,String>] :tags
955
+ # Adds one or more tags for the specified extension association. Tags
956
+ # are metadata that help you categorize resources in different ways, for
957
+ # example, by purpose, owner, or environment. Each tag consists of a key
958
+ # and an optional value, both of which you define.
959
+ #
960
+ # @return [Types::ExtensionAssociation] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
961
+ #
962
+ # * {Types::ExtensionAssociation#id #id} => String
963
+ # * {Types::ExtensionAssociation#extension_arn #extension_arn} => String
964
+ # * {Types::ExtensionAssociation#resource_arn #resource_arn} => String
965
+ # * {Types::ExtensionAssociation#arn #arn} => String
966
+ # * {Types::ExtensionAssociation#parameters #parameters} => Hash&lt;String,String&gt;
967
+ # * {Types::ExtensionAssociation#extension_version_number #extension_version_number} => Integer
968
+ #
969
+ # @example Request syntax with placeholder values
970
+ #
971
+ # resp = client.create_extension_association({
972
+ # extension_identifier: "Identifier", # required
973
+ # extension_version_number: 1,
974
+ # resource_identifier: "Identifier", # required
975
+ # parameters: {
976
+ # "Name" => "StringWithLengthBetween1And2048",
977
+ # },
978
+ # tags: {
979
+ # "TagKey" => "TagValue",
980
+ # },
981
+ # })
982
+ #
983
+ # @example Response structure
984
+ #
985
+ # resp.id #=> String
986
+ # resp.extension_arn #=> String
987
+ # resp.resource_arn #=> String
988
+ # resp.arn #=> String
989
+ # resp.parameters #=> Hash
990
+ # resp.parameters["Name"] #=> String
991
+ # resp.extension_version_number #=> Integer
992
+ #
993
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateExtensionAssociation AWS API Documentation
994
+ #
995
+ # @overload create_extension_association(params = {})
996
+ # @param [Hash] params ({})
997
+ def create_extension_association(params = {}, options = {})
998
+ req = build_request(:create_extension_association, params)
999
+ req.send_request(options)
1000
+ end
1001
+
793
1002
  # Creates a new configuration in the AppConfig hosted configuration
794
1003
  # store.
795
1004
  #
@@ -1020,6 +1229,58 @@ module Aws::AppConfig
1020
1229
  req.send_request(options)
1021
1230
  end
1022
1231
 
1232
+ # Deletes an AppConfig extension. You must delete all associations to an
1233
+ # extension before you delete the extension.
1234
+ #
1235
+ # @option params [required, String] :extension_identifier
1236
+ # The name, ID, or Amazon Resource Name (ARN) of the extension you want
1237
+ # to delete.
1238
+ #
1239
+ # @option params [Integer] :version_number
1240
+ # A specific version of an extension to delete. If omitted, the highest
1241
+ # version is deleted.
1242
+ #
1243
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1244
+ #
1245
+ # @example Request syntax with placeholder values
1246
+ #
1247
+ # resp = client.delete_extension({
1248
+ # extension_identifier: "Identifier", # required
1249
+ # version_number: 1,
1250
+ # })
1251
+ #
1252
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteExtension AWS API Documentation
1253
+ #
1254
+ # @overload delete_extension(params = {})
1255
+ # @param [Hash] params ({})
1256
+ def delete_extension(params = {}, options = {})
1257
+ req = build_request(:delete_extension, params)
1258
+ req.send_request(options)
1259
+ end
1260
+
1261
+ # Deletes an extension association. This action doesn't delete
1262
+ # extensions defined in the association.
1263
+ #
1264
+ # @option params [required, String] :extension_association_id
1265
+ # The ID of the extension association to delete.
1266
+ #
1267
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1268
+ #
1269
+ # @example Request syntax with placeholder values
1270
+ #
1271
+ # resp = client.delete_extension_association({
1272
+ # extension_association_id: "Id", # required
1273
+ # })
1274
+ #
1275
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteExtensionAssociation AWS API Documentation
1276
+ #
1277
+ # @overload delete_extension_association(params = {})
1278
+ # @param [Hash] params ({})
1279
+ def delete_extension_association(params = {}, options = {})
1280
+ req = build_request(:delete_extension_association, params)
1281
+ req.send_request(options)
1282
+ end
1283
+
1023
1284
  # Deletes a version of a configuration from the AppConfig hosted
1024
1285
  # configuration store.
1025
1286
  #
@@ -1340,6 +1601,7 @@ module Aws::AppConfig
1340
1601
  # * {Types::Deployment#percentage_complete #percentage_complete} => Float
1341
1602
  # * {Types::Deployment#started_at #started_at} => Time
1342
1603
  # * {Types::Deployment#completed_at #completed_at} => Time
1604
+ # * {Types::Deployment#applied_extensions #applied_extensions} => Array&lt;Types::AppliedExtension&gt;
1343
1605
  #
1344
1606
  #
1345
1607
  # @example Example: To retrieve deployment details
@@ -1445,10 +1707,24 @@ module Aws::AppConfig
1445
1707
  # resp.event_log[0].event_type #=> String, one of "PERCENTAGE_UPDATED", "ROLLBACK_STARTED", "ROLLBACK_COMPLETED", "BAKE_TIME_STARTED", "DEPLOYMENT_STARTED", "DEPLOYMENT_COMPLETED"
1446
1708
  # resp.event_log[0].triggered_by #=> String, one of "USER", "APPCONFIG", "CLOUDWATCH_ALARM", "INTERNAL_ERROR"
1447
1709
  # resp.event_log[0].description #=> String
1710
+ # resp.event_log[0].action_invocations #=> Array
1711
+ # resp.event_log[0].action_invocations[0].extension_identifier #=> String
1712
+ # resp.event_log[0].action_invocations[0].action_name #=> String
1713
+ # resp.event_log[0].action_invocations[0].uri #=> String
1714
+ # resp.event_log[0].action_invocations[0].role_arn #=> String
1715
+ # resp.event_log[0].action_invocations[0].error_message #=> String
1716
+ # resp.event_log[0].action_invocations[0].error_code #=> String
1717
+ # resp.event_log[0].action_invocations[0].invocation_id #=> String
1448
1718
  # resp.event_log[0].occurred_at #=> Time
1449
1719
  # resp.percentage_complete #=> Float
1450
1720
  # resp.started_at #=> Time
1451
1721
  # resp.completed_at #=> Time
1722
+ # resp.applied_extensions #=> Array
1723
+ # resp.applied_extensions[0].extension_id #=> String
1724
+ # resp.applied_extensions[0].extension_association_id #=> String
1725
+ # resp.applied_extensions[0].version_number #=> Integer
1726
+ # resp.applied_extensions[0].parameters #=> Hash
1727
+ # resp.applied_extensions[0].parameters["Name"] #=> String
1452
1728
  #
1453
1729
  # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetDeployment AWS API Documentation
1454
1730
  #
@@ -1527,12 +1803,11 @@ module Aws::AppConfig
1527
1803
  end
1528
1804
 
1529
1805
  # Retrieves information about an environment. An environment is a
1530
- # logical deployment group of AppConfig applications, such as
1531
- # applications in a `Production` environment or in an `EU_Region`
1532
- # environment. Each configuration deployment targets an environment. You
1533
- # can enable one or more Amazon CloudWatch alarms for an environment. If
1534
- # an alarm is triggered during a deployment, AppConfig roles back the
1535
- # configuration.
1806
+ # deployment group of AppConfig applications, such as applications in a
1807
+ # `Production` environment or in an `EU_Region` environment. Each
1808
+ # configuration deployment targets an environment. You can enable one or
1809
+ # more Amazon CloudWatch alarms for an environment. If an alarm is
1810
+ # triggered during a deployment, AppConfig roles back the configuration.
1536
1811
  #
1537
1812
  # @option params [required, String] :application_id
1538
1813
  # The ID of the application that includes the environment you want to
@@ -1595,6 +1870,103 @@ module Aws::AppConfig
1595
1870
  req.send_request(options)
1596
1871
  end
1597
1872
 
1873
+ # Returns information about an AppConfig extension.
1874
+ #
1875
+ # @option params [required, String] :extension_identifier
1876
+ # The name, the ID, or the Amazon Resource Name (ARN) of the extension.
1877
+ #
1878
+ # @option params [Integer] :version_number
1879
+ # The extension version number. If no version number was defined,
1880
+ # AppConfig uses the highest version.
1881
+ #
1882
+ # @return [Types::Extension] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1883
+ #
1884
+ # * {Types::Extension#id #id} => String
1885
+ # * {Types::Extension#name #name} => String
1886
+ # * {Types::Extension#version_number #version_number} => Integer
1887
+ # * {Types::Extension#arn #arn} => String
1888
+ # * {Types::Extension#description #description} => String
1889
+ # * {Types::Extension#actions #actions} => Hash&lt;String,Array&lt;Types::Action&gt;&gt;
1890
+ # * {Types::Extension#parameters #parameters} => Hash&lt;String,Types::Parameter&gt;
1891
+ #
1892
+ # @example Request syntax with placeholder values
1893
+ #
1894
+ # resp = client.get_extension({
1895
+ # extension_identifier: "Identifier", # required
1896
+ # version_number: 1,
1897
+ # })
1898
+ #
1899
+ # @example Response structure
1900
+ #
1901
+ # resp.id #=> String
1902
+ # resp.name #=> String
1903
+ # resp.version_number #=> Integer
1904
+ # resp.arn #=> String
1905
+ # resp.description #=> String
1906
+ # resp.actions #=> Hash
1907
+ # resp.actions["ActionPoint"] #=> Array
1908
+ # resp.actions["ActionPoint"][0].name #=> String
1909
+ # resp.actions["ActionPoint"][0].description #=> String
1910
+ # resp.actions["ActionPoint"][0].uri #=> String
1911
+ # resp.actions["ActionPoint"][0].role_arn #=> String
1912
+ # resp.parameters #=> Hash
1913
+ # resp.parameters["Name"].description #=> String
1914
+ # resp.parameters["Name"].required #=> Boolean
1915
+ #
1916
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetExtension AWS API Documentation
1917
+ #
1918
+ # @overload get_extension(params = {})
1919
+ # @param [Hash] params ({})
1920
+ def get_extension(params = {}, options = {})
1921
+ req = build_request(:get_extension, params)
1922
+ req.send_request(options)
1923
+ end
1924
+
1925
+ # Returns information about an AppConfig extension association. For more
1926
+ # information about extensions and associations, see [Working with
1927
+ # AppConfig extensions][1] in the *AppConfig User Guide*.
1928
+ #
1929
+ #
1930
+ #
1931
+ # [1]: https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html
1932
+ #
1933
+ # @option params [required, String] :extension_association_id
1934
+ # The extension association ID to get.
1935
+ #
1936
+ # @return [Types::ExtensionAssociation] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1937
+ #
1938
+ # * {Types::ExtensionAssociation#id #id} => String
1939
+ # * {Types::ExtensionAssociation#extension_arn #extension_arn} => String
1940
+ # * {Types::ExtensionAssociation#resource_arn #resource_arn} => String
1941
+ # * {Types::ExtensionAssociation#arn #arn} => String
1942
+ # * {Types::ExtensionAssociation#parameters #parameters} => Hash&lt;String,String&gt;
1943
+ # * {Types::ExtensionAssociation#extension_version_number #extension_version_number} => Integer
1944
+ #
1945
+ # @example Request syntax with placeholder values
1946
+ #
1947
+ # resp = client.get_extension_association({
1948
+ # extension_association_id: "Id", # required
1949
+ # })
1950
+ #
1951
+ # @example Response structure
1952
+ #
1953
+ # resp.id #=> String
1954
+ # resp.extension_arn #=> String
1955
+ # resp.resource_arn #=> String
1956
+ # resp.arn #=> String
1957
+ # resp.parameters #=> Hash
1958
+ # resp.parameters["Name"] #=> String
1959
+ # resp.extension_version_number #=> Integer
1960
+ #
1961
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetExtensionAssociation AWS API Documentation
1962
+ #
1963
+ # @overload get_extension_association(params = {})
1964
+ # @param [Hash] params ({})
1965
+ def get_extension_association(params = {}, options = {})
1966
+ req = build_request(:get_extension_association, params)
1967
+ req.send_request(options)
1968
+ end
1969
+
1598
1970
  # Retrieves information about a specific configuration version.
1599
1971
  #
1600
1972
  # @option params [required, String] :application_id
@@ -2042,6 +2414,120 @@ module Aws::AppConfig
2042
2414
  req.send_request(options)
2043
2415
  end
2044
2416
 
2417
+ # Lists all AppConfig extension associations in the account. For more
2418
+ # information about extensions and associations, see [Working with
2419
+ # AppConfig extensions][1] in the *AppConfig User Guide*.
2420
+ #
2421
+ #
2422
+ #
2423
+ # [1]: https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html
2424
+ #
2425
+ # @option params [String] :resource_identifier
2426
+ # The ARN of an application, configuration profile, or environment.
2427
+ #
2428
+ # @option params [String] :extension_identifier
2429
+ # The name, the ID, or the Amazon Resource Name (ARN) of the extension.
2430
+ #
2431
+ # @option params [Integer] :extension_version_number
2432
+ # The version number for the extension defined in the association.
2433
+ #
2434
+ # @option params [Integer] :max_results
2435
+ # The maximum number of items to return for this call. The call also
2436
+ # returns a token that you can specify in a subsequent call to get the
2437
+ # next set of results.
2438
+ #
2439
+ # @option params [String] :next_token
2440
+ # A token to start the list. Use this token to get the next set of
2441
+ # results or pass null to get the first set of results.
2442
+ #
2443
+ # @return [Types::ExtensionAssociations] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2444
+ #
2445
+ # * {Types::ExtensionAssociations#items #items} => Array&lt;Types::ExtensionAssociationSummary&gt;
2446
+ # * {Types::ExtensionAssociations#next_token #next_token} => String
2447
+ #
2448
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2449
+ #
2450
+ # @example Request syntax with placeholder values
2451
+ #
2452
+ # resp = client.list_extension_associations({
2453
+ # resource_identifier: "Arn",
2454
+ # extension_identifier: "Identifier",
2455
+ # extension_version_number: 1,
2456
+ # max_results: 1,
2457
+ # next_token: "NextToken",
2458
+ # })
2459
+ #
2460
+ # @example Response structure
2461
+ #
2462
+ # resp.items #=> Array
2463
+ # resp.items[0].id #=> String
2464
+ # resp.items[0].extension_arn #=> String
2465
+ # resp.items[0].resource_arn #=> String
2466
+ # resp.next_token #=> String
2467
+ #
2468
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListExtensionAssociations AWS API Documentation
2469
+ #
2470
+ # @overload list_extension_associations(params = {})
2471
+ # @param [Hash] params ({})
2472
+ def list_extension_associations(params = {}, options = {})
2473
+ req = build_request(:list_extension_associations, params)
2474
+ req.send_request(options)
2475
+ end
2476
+
2477
+ # Lists all custom and Amazon Web Services-authored AppConfig extensions
2478
+ # in the account. For more information about extensions, see [Working
2479
+ # with AppConfig extensions][1] in the *AppConfig User Guide*.
2480
+ #
2481
+ #
2482
+ #
2483
+ # [1]: https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html
2484
+ #
2485
+ # @option params [Integer] :max_results
2486
+ # The maximum number of items to return for this call. The call also
2487
+ # returns a token that you can specify in a subsequent call to get the
2488
+ # next set of results.
2489
+ #
2490
+ # @option params [String] :next_token
2491
+ # A token to start the list. Use this token to get the next set of
2492
+ # results.
2493
+ #
2494
+ # @option params [String] :name
2495
+ # The extension name.
2496
+ #
2497
+ # @return [Types::Extensions] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2498
+ #
2499
+ # * {Types::Extensions#items #items} => Array&lt;Types::ExtensionSummary&gt;
2500
+ # * {Types::Extensions#next_token #next_token} => String
2501
+ #
2502
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2503
+ #
2504
+ # @example Request syntax with placeholder values
2505
+ #
2506
+ # resp = client.list_extensions({
2507
+ # max_results: 1,
2508
+ # next_token: "NextToken",
2509
+ # name: "QueryName",
2510
+ # })
2511
+ #
2512
+ # @example Response structure
2513
+ #
2514
+ # resp.items #=> Array
2515
+ # resp.items[0].id #=> String
2516
+ # resp.items[0].name #=> String
2517
+ # resp.items[0].version_number #=> Integer
2518
+ # resp.items[0].arn #=> String
2519
+ # resp.items[0].description #=> String
2520
+ # resp.next_token #=> String
2521
+ #
2522
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListExtensions AWS API Documentation
2523
+ #
2524
+ # @overload list_extensions(params = {})
2525
+ # @param [Hash] params ({})
2526
+ def list_extensions(params = {}, options = {})
2527
+ req = build_request(:list_extensions, params)
2528
+ req.send_request(options)
2529
+ end
2530
+
2045
2531
  # Lists configurations stored in the AppConfig hosted configuration
2046
2532
  # store by version.
2047
2533
  #
@@ -2208,6 +2694,7 @@ module Aws::AppConfig
2208
2694
  # * {Types::Deployment#percentage_complete #percentage_complete} => Float
2209
2695
  # * {Types::Deployment#started_at #started_at} => Time
2210
2696
  # * {Types::Deployment#completed_at #completed_at} => Time
2697
+ # * {Types::Deployment#applied_extensions #applied_extensions} => Array&lt;Types::AppliedExtension&gt;
2211
2698
  #
2212
2699
  #
2213
2700
  # @example Example: To start a configuration deployment
@@ -2287,10 +2774,24 @@ module Aws::AppConfig
2287
2774
  # resp.event_log[0].event_type #=> String, one of "PERCENTAGE_UPDATED", "ROLLBACK_STARTED", "ROLLBACK_COMPLETED", "BAKE_TIME_STARTED", "DEPLOYMENT_STARTED", "DEPLOYMENT_COMPLETED"
2288
2775
  # resp.event_log[0].triggered_by #=> String, one of "USER", "APPCONFIG", "CLOUDWATCH_ALARM", "INTERNAL_ERROR"
2289
2776
  # resp.event_log[0].description #=> String
2777
+ # resp.event_log[0].action_invocations #=> Array
2778
+ # resp.event_log[0].action_invocations[0].extension_identifier #=> String
2779
+ # resp.event_log[0].action_invocations[0].action_name #=> String
2780
+ # resp.event_log[0].action_invocations[0].uri #=> String
2781
+ # resp.event_log[0].action_invocations[0].role_arn #=> String
2782
+ # resp.event_log[0].action_invocations[0].error_message #=> String
2783
+ # resp.event_log[0].action_invocations[0].error_code #=> String
2784
+ # resp.event_log[0].action_invocations[0].invocation_id #=> String
2290
2785
  # resp.event_log[0].occurred_at #=> Time
2291
2786
  # resp.percentage_complete #=> Float
2292
2787
  # resp.started_at #=> Time
2293
2788
  # resp.completed_at #=> Time
2789
+ # resp.applied_extensions #=> Array
2790
+ # resp.applied_extensions[0].extension_id #=> String
2791
+ # resp.applied_extensions[0].extension_association_id #=> String
2792
+ # resp.applied_extensions[0].version_number #=> Integer
2793
+ # resp.applied_extensions[0].parameters #=> Hash
2794
+ # resp.applied_extensions[0].parameters["Name"] #=> String
2294
2795
  #
2295
2796
  # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/StartDeployment AWS API Documentation
2296
2797
  #
@@ -2334,6 +2835,7 @@ module Aws::AppConfig
2334
2835
  # * {Types::Deployment#percentage_complete #percentage_complete} => Float
2335
2836
  # * {Types::Deployment#started_at #started_at} => Time
2336
2837
  # * {Types::Deployment#completed_at #completed_at} => Time
2838
+ # * {Types::Deployment#applied_extensions #applied_extensions} => Array&lt;Types::AppliedExtension&gt;
2337
2839
  #
2338
2840
  #
2339
2841
  # @example Example: To stop configuration deployment
@@ -2383,10 +2885,24 @@ module Aws::AppConfig
2383
2885
  # resp.event_log[0].event_type #=> String, one of "PERCENTAGE_UPDATED", "ROLLBACK_STARTED", "ROLLBACK_COMPLETED", "BAKE_TIME_STARTED", "DEPLOYMENT_STARTED", "DEPLOYMENT_COMPLETED"
2384
2886
  # resp.event_log[0].triggered_by #=> String, one of "USER", "APPCONFIG", "CLOUDWATCH_ALARM", "INTERNAL_ERROR"
2385
2887
  # resp.event_log[0].description #=> String
2888
+ # resp.event_log[0].action_invocations #=> Array
2889
+ # resp.event_log[0].action_invocations[0].extension_identifier #=> String
2890
+ # resp.event_log[0].action_invocations[0].action_name #=> String
2891
+ # resp.event_log[0].action_invocations[0].uri #=> String
2892
+ # resp.event_log[0].action_invocations[0].role_arn #=> String
2893
+ # resp.event_log[0].action_invocations[0].error_message #=> String
2894
+ # resp.event_log[0].action_invocations[0].error_code #=> String
2895
+ # resp.event_log[0].action_invocations[0].invocation_id #=> String
2386
2896
  # resp.event_log[0].occurred_at #=> Time
2387
2897
  # resp.percentage_complete #=> Float
2388
2898
  # resp.started_at #=> Time
2389
2899
  # resp.completed_at #=> Time
2900
+ # resp.applied_extensions #=> Array
2901
+ # resp.applied_extensions[0].extension_id #=> String
2902
+ # resp.applied_extensions[0].extension_association_id #=> String
2903
+ # resp.applied_extensions[0].version_number #=> Integer
2904
+ # resp.applied_extensions[0].parameters #=> Hash
2905
+ # resp.applied_extensions[0].parameters["Name"] #=> String
2390
2906
  #
2391
2907
  # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/StopDeployment AWS API Documentation
2392
2908
  #
@@ -2823,6 +3339,140 @@ module Aws::AppConfig
2823
3339
  req.send_request(options)
2824
3340
  end
2825
3341
 
3342
+ # Updates an AppConfig extension. For more information about extensions,
3343
+ # see [Working with AppConfig extensions][1] in the *AppConfig User
3344
+ # Guide*.
3345
+ #
3346
+ #
3347
+ #
3348
+ # [1]: https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html
3349
+ #
3350
+ # @option params [required, String] :extension_identifier
3351
+ # The name, the ID, or the Amazon Resource Name (ARN) of the extension.
3352
+ #
3353
+ # @option params [String] :description
3354
+ # Information about the extension.
3355
+ #
3356
+ # @option params [Hash<String,Array>] :actions
3357
+ # The actions defined in the extension.
3358
+ #
3359
+ # @option params [Hash<String,Types::Parameter>] :parameters
3360
+ # One or more parameters for the actions called by the extension.
3361
+ #
3362
+ # @option params [Integer] :version_number
3363
+ # The extension version number.
3364
+ #
3365
+ # @return [Types::Extension] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3366
+ #
3367
+ # * {Types::Extension#id #id} => String
3368
+ # * {Types::Extension#name #name} => String
3369
+ # * {Types::Extension#version_number #version_number} => Integer
3370
+ # * {Types::Extension#arn #arn} => String
3371
+ # * {Types::Extension#description #description} => String
3372
+ # * {Types::Extension#actions #actions} => Hash&lt;String,Array&lt;Types::Action&gt;&gt;
3373
+ # * {Types::Extension#parameters #parameters} => Hash&lt;String,Types::Parameter&gt;
3374
+ #
3375
+ # @example Request syntax with placeholder values
3376
+ #
3377
+ # resp = client.update_extension({
3378
+ # extension_identifier: "Identifier", # required
3379
+ # description: "Description",
3380
+ # actions: {
3381
+ # "PRE_CREATE_HOSTED_CONFIGURATION_VERSION" => [
3382
+ # {
3383
+ # name: "Name",
3384
+ # description: "Description",
3385
+ # uri: "Uri",
3386
+ # role_arn: "Arn",
3387
+ # },
3388
+ # ],
3389
+ # },
3390
+ # parameters: {
3391
+ # "Name" => {
3392
+ # description: "Description",
3393
+ # required: false,
3394
+ # },
3395
+ # },
3396
+ # version_number: 1,
3397
+ # })
3398
+ #
3399
+ # @example Response structure
3400
+ #
3401
+ # resp.id #=> String
3402
+ # resp.name #=> String
3403
+ # resp.version_number #=> Integer
3404
+ # resp.arn #=> String
3405
+ # resp.description #=> String
3406
+ # resp.actions #=> Hash
3407
+ # resp.actions["ActionPoint"] #=> Array
3408
+ # resp.actions["ActionPoint"][0].name #=> String
3409
+ # resp.actions["ActionPoint"][0].description #=> String
3410
+ # resp.actions["ActionPoint"][0].uri #=> String
3411
+ # resp.actions["ActionPoint"][0].role_arn #=> String
3412
+ # resp.parameters #=> Hash
3413
+ # resp.parameters["Name"].description #=> String
3414
+ # resp.parameters["Name"].required #=> Boolean
3415
+ #
3416
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateExtension AWS API Documentation
3417
+ #
3418
+ # @overload update_extension(params = {})
3419
+ # @param [Hash] params ({})
3420
+ def update_extension(params = {}, options = {})
3421
+ req = build_request(:update_extension, params)
3422
+ req.send_request(options)
3423
+ end
3424
+
3425
+ # Updates an association. For more information about extensions and
3426
+ # associations, see [Working with AppConfig extensions][1] in the
3427
+ # *AppConfig User Guide*.
3428
+ #
3429
+ #
3430
+ #
3431
+ # [1]: https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html
3432
+ #
3433
+ # @option params [required, String] :extension_association_id
3434
+ # The system-generated ID for the association.
3435
+ #
3436
+ # @option params [Hash<String,String>] :parameters
3437
+ # The parameter names and values defined in the extension.
3438
+ #
3439
+ # @return [Types::ExtensionAssociation] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3440
+ #
3441
+ # * {Types::ExtensionAssociation#id #id} => String
3442
+ # * {Types::ExtensionAssociation#extension_arn #extension_arn} => String
3443
+ # * {Types::ExtensionAssociation#resource_arn #resource_arn} => String
3444
+ # * {Types::ExtensionAssociation#arn #arn} => String
3445
+ # * {Types::ExtensionAssociation#parameters #parameters} => Hash&lt;String,String&gt;
3446
+ # * {Types::ExtensionAssociation#extension_version_number #extension_version_number} => Integer
3447
+ #
3448
+ # @example Request syntax with placeholder values
3449
+ #
3450
+ # resp = client.update_extension_association({
3451
+ # extension_association_id: "Id", # required
3452
+ # parameters: {
3453
+ # "Name" => "StringWithLengthBetween1And2048",
3454
+ # },
3455
+ # })
3456
+ #
3457
+ # @example Response structure
3458
+ #
3459
+ # resp.id #=> String
3460
+ # resp.extension_arn #=> String
3461
+ # resp.resource_arn #=> String
3462
+ # resp.arn #=> String
3463
+ # resp.parameters #=> Hash
3464
+ # resp.parameters["Name"] #=> String
3465
+ # resp.extension_version_number #=> Integer
3466
+ #
3467
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateExtensionAssociation AWS API Documentation
3468
+ #
3469
+ # @overload update_extension_association(params = {})
3470
+ # @param [Hash] params ({})
3471
+ def update_extension_association(params = {}, options = {})
3472
+ req = build_request(:update_extension_association, params)
3473
+ req.send_request(options)
3474
+ end
3475
+
2826
3476
  # Uses the validators in a configuration profile to validate a
2827
3477
  # configuration.
2828
3478
  #
@@ -2878,7 +3528,7 @@ module Aws::AppConfig
2878
3528
  params: params,
2879
3529
  config: config)
2880
3530
  context[:gem_name] = 'aws-sdk-appconfig'
2881
- context[:gem_version] = '1.25.0'
3531
+ context[:gem_version] = '1.27.0'
2882
3532
  Seahorse::Client::Request.new(handlers, context)
2883
3533
  end
2884
3534