aws-sdk-appconfig 1.23.0 → 1.26.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.
@@ -27,7 +27,9 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
30
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
31
33
  require 'aws-sdk-core/plugins/signature_v4.rb'
32
34
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
33
35
 
@@ -74,7 +76,9 @@ module Aws::AppConfig
74
76
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
75
77
  add_plugin(Aws::Plugins::TransferEncoding)
76
78
  add_plugin(Aws::Plugins::HttpChecksum)
79
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
77
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
+ add_plugin(Aws::Plugins::RecursionDetection)
78
82
  add_plugin(Aws::Plugins::SignatureV4)
79
83
  add_plugin(Aws::Plugins::Protocols::RestJson)
80
84
 
@@ -347,12 +351,11 @@ module Aws::AppConfig
347
351
 
348
352
  # @!group API Operations
349
353
 
350
- # Creates an application. An application in AppConfig is a logical unit
351
- # of code that provides capabilities for your customers. For example, an
352
- # application can be a microservice that runs on Amazon EC2 instances, a
353
- # mobile application installed by your users, a serverless application
354
- # using Amazon API Gateway and Lambda, or any system you run on behalf
355
- # of others.
354
+ # Creates an application. In AppConfig, an application is simply an
355
+ # organizational construct like a folder. This organizational construct
356
+ # has a relationship with some unit of executable code. For example, you
357
+ # could create an application called MyMobileApp to organize and manage
358
+ # configuration data for a mobile application installed by your users.
356
359
  #
357
360
  # @option params [required, String] :name
358
361
  # A name for the application.
@@ -524,7 +527,7 @@ module Aws::AppConfig
524
527
  #
525
528
  # resp = client.create_configuration_profile({
526
529
  # application_id: "Id", # required
527
- # name: "Name", # required
530
+ # name: "LongName", # required
528
531
  # description: "Description",
529
532
  # location_uri: "Uri", # required
530
533
  # retrieval_role_arn: "RoleArn",
@@ -578,9 +581,18 @@ module Aws::AppConfig
578
581
  # Total amount of time for a deployment to last.
579
582
  #
580
583
  # @option params [Integer] :final_bake_time_in_minutes
581
- # The amount of time AppConfig monitors for alarms before considering
582
- # the deployment to be complete and no longer eligible for automatic
583
- # roll back.
584
+ # Specifies the amount of time AppConfig monitors for Amazon CloudWatch
585
+ # alarms after the configuration has been deployed to 100% of its
586
+ # targets, before considering the deployment to be complete. If an alarm
587
+ # is triggered during this time, AppConfig rolls back the deployment.
588
+ # You must configure permissions for AppConfig to roll back based on
589
+ # CloudWatch alarms. For more information, see [Configuring permissions
590
+ # for rollback based on Amazon CloudWatch alarms][1] in the *AppConfig
591
+ # User Guide*.
592
+ #
593
+ #
594
+ #
595
+ # [1]: https://docs.aws.amazon.com/appconfig/latest/userguide/getting-started-with-appconfig-cloudwatch-alarms-permissions.html
584
596
  #
585
597
  # @option params [required, Float] :growth_factor
586
598
  # The percentage of targets to receive a deployed configuration during
@@ -615,7 +627,7 @@ module Aws::AppConfig
615
627
  # targets, 4% of the targets, 8% of the targets, and continues until the
616
628
  # configuration has been deployed to all targets.
617
629
  #
618
- # @option params [required, String] :replicate_to
630
+ # @option params [String] :replicate_to
619
631
  # Save the deployment strategy to a Systems Manager (SSM) document.
620
632
  #
621
633
  # @option params [Hash<String,String>] :tags
@@ -668,7 +680,7 @@ module Aws::AppConfig
668
680
  # final_bake_time_in_minutes: 1,
669
681
  # growth_factor: 1.0, # required
670
682
  # growth_type: "LINEAR", # accepts LINEAR, EXPONENTIAL
671
- # replicate_to: "NONE", # required, accepts NONE, SSM_DOCUMENT
683
+ # replicate_to: "NONE", # accepts NONE, SSM_DOCUMENT
672
684
  # tags: {
673
685
  # "TagKey" => "TagValue",
674
686
  # },
@@ -695,14 +707,13 @@ module Aws::AppConfig
695
707
  end
696
708
 
697
709
  # Creates an environment. For each application, you define one or more
698
- # environments. An environment is a logical deployment group of
699
- # AppConfig targets, such as applications in a `Beta` or `Production`
700
- # environment. You can also define environments for application
701
- # subcomponents such as the `Web`, `Mobile` and `Back-end` components
702
- # for your application. You can configure Amazon CloudWatch alarms for
703
- # each environment. The system monitors alarms during a configuration
704
- # deployment. If an alarm is triggered, the system rolls back the
705
- # configuration.
710
+ # environments. An environment is a deployment group of AppConfig
711
+ # targets, such as applications in a `Beta` or `Production` environment.
712
+ # You can also define environments for application subcomponents such as
713
+ # the `Web`, `Mobile` and `Back-end` components for your application.
714
+ # You can configure Amazon CloudWatch alarms for each environment. The
715
+ # system monitors alarms during a configuration deployment. If an alarm
716
+ # is triggered, the system rolls back the configuration.
706
717
  #
707
718
  # @option params [required, String] :application_id
708
719
  # The application ID.
@@ -786,6 +797,191 @@ module Aws::AppConfig
786
797
  req.send_request(options)
787
798
  end
788
799
 
800
+ # Creates an AppConfig extension. An extension augments your ability to
801
+ # inject logic or behavior at different points during the AppConfig
802
+ # workflow of creating or deploying a configuration.
803
+ #
804
+ # You can create your own extensions or use the Amazon Web
805
+ # Services-authored extensions provided by AppConfig. For most
806
+ # use-cases, to create your own extension, you must create an Lambda
807
+ # function to perform any computation and processing defined in the
808
+ # extension. For more information about extensions, see [Working with
809
+ # AppConfig extensions][1] in the *AppConfig User Guide*.
810
+ #
811
+ #
812
+ #
813
+ # [1]: https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html
814
+ #
815
+ # @option params [required, String] :name
816
+ # A name for the extension. Each extension name in your account must be
817
+ # unique. Extension versions use the same name.
818
+ #
819
+ # @option params [String] :description
820
+ # Information about the extension.
821
+ #
822
+ # @option params [required, Hash<String,Array>] :actions
823
+ # The actions defined in the extension.
824
+ #
825
+ # @option params [Hash<String,Types::Parameter>] :parameters
826
+ # The parameters accepted by the extension. You specify parameter values
827
+ # when you associate the extension to an AppConfig resource by using the
828
+ # `CreateExtensionAssociation` API action. For Lambda extension actions,
829
+ # these parameters are included in the Lambda request object.
830
+ #
831
+ # @option params [Hash<String,String>] :tags
832
+ # Adds one or more tags for the specified extension. Tags are metadata
833
+ # that help you categorize resources in different ways, for example, by
834
+ # purpose, owner, or environment. Each tag consists of a key and an
835
+ # optional value, both of which you define.
836
+ #
837
+ # @option params [Integer] :latest_version_number
838
+ # You can omit this field when you create an extension. When you create
839
+ # a new version, specify the most recent current version number. For
840
+ # example, you create version 3, enter 2 for this field.
841
+ #
842
+ # @return [Types::Extension] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
843
+ #
844
+ # * {Types::Extension#id #id} => String
845
+ # * {Types::Extension#name #name} => String
846
+ # * {Types::Extension#version_number #version_number} => Integer
847
+ # * {Types::Extension#arn #arn} => String
848
+ # * {Types::Extension#description #description} => String
849
+ # * {Types::Extension#actions #actions} => Hash&lt;String,Array&lt;Types::Action&gt;&gt;
850
+ # * {Types::Extension#parameters #parameters} => Hash&lt;String,Types::Parameter&gt;
851
+ #
852
+ # @example Request syntax with placeholder values
853
+ #
854
+ # resp = client.create_extension({
855
+ # name: "Name", # required
856
+ # description: "Description",
857
+ # actions: { # required
858
+ # "PRE_CREATE_HOSTED_CONFIGURATION_VERSION" => [
859
+ # {
860
+ # name: "Name",
861
+ # description: "Description",
862
+ # uri: "Uri",
863
+ # role_arn: "Arn",
864
+ # },
865
+ # ],
866
+ # },
867
+ # parameters: {
868
+ # "Name" => {
869
+ # description: "Description",
870
+ # required: false,
871
+ # },
872
+ # },
873
+ # tags: {
874
+ # "TagKey" => "TagValue",
875
+ # },
876
+ # latest_version_number: 1,
877
+ # })
878
+ #
879
+ # @example Response structure
880
+ #
881
+ # resp.id #=> String
882
+ # resp.name #=> String
883
+ # resp.version_number #=> Integer
884
+ # resp.arn #=> String
885
+ # resp.description #=> String
886
+ # resp.actions #=> Hash
887
+ # resp.actions["ActionPoint"] #=> Array
888
+ # resp.actions["ActionPoint"][0].name #=> String
889
+ # resp.actions["ActionPoint"][0].description #=> String
890
+ # resp.actions["ActionPoint"][0].uri #=> String
891
+ # resp.actions["ActionPoint"][0].role_arn #=> String
892
+ # resp.parameters #=> Hash
893
+ # resp.parameters["Name"].description #=> String
894
+ # resp.parameters["Name"].required #=> Boolean
895
+ #
896
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateExtension AWS API Documentation
897
+ #
898
+ # @overload create_extension(params = {})
899
+ # @param [Hash] params ({})
900
+ def create_extension(params = {}, options = {})
901
+ req = build_request(:create_extension, params)
902
+ req.send_request(options)
903
+ end
904
+
905
+ # When you create an extension or configure an Amazon Web
906
+ # Services-authored extension, you associate the extension with an
907
+ # AppConfig application, environment, or configuration profile. For
908
+ # example, you can choose to run the `AppConfig deployment events to
909
+ # Amazon SNS` Amazon Web Services-authored extension and receive
910
+ # notifications on an Amazon SNS topic anytime a configuration
911
+ # deployment is started for a specific application. Defining which
912
+ # extension to associate with an AppConfig resource is called an
913
+ # *extension association*. An extension association is a specified
914
+ # relationship between an extension and an AppConfig resource, such as
915
+ # an application or a configuration profile. For more information about
916
+ # extensions and associations, see [Working with AppConfig
917
+ # extensions][1] in the *AppConfig User Guide*.
918
+ #
919
+ #
920
+ #
921
+ # [1]: https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html
922
+ #
923
+ # @option params [required, String] :extension_identifier
924
+ # The name, the ID, or the Amazon Resource Name (ARN) of the extension.
925
+ #
926
+ # @option params [Integer] :extension_version_number
927
+ # The version number of the extension. If not specified, AppConfig uses
928
+ # the maximum version of the extension.
929
+ #
930
+ # @option params [required, String] :resource_identifier
931
+ # The ARN of an application, configuration profile, or environment.
932
+ #
933
+ # @option params [Hash<String,String>] :parameters
934
+ # The parameter names and values defined in the extensions. Extension
935
+ # parameters marked `Required` must be entered for this field.
936
+ #
937
+ # @option params [Hash<String,String>] :tags
938
+ # Adds one or more tags for the specified extension association. Tags
939
+ # are metadata that help you categorize resources in different ways, for
940
+ # example, by purpose, owner, or environment. Each tag consists of a key
941
+ # and an optional value, both of which you define.
942
+ #
943
+ # @return [Types::ExtensionAssociation] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
944
+ #
945
+ # * {Types::ExtensionAssociation#id #id} => String
946
+ # * {Types::ExtensionAssociation#extension_arn #extension_arn} => String
947
+ # * {Types::ExtensionAssociation#resource_arn #resource_arn} => String
948
+ # * {Types::ExtensionAssociation#arn #arn} => String
949
+ # * {Types::ExtensionAssociation#parameters #parameters} => Hash&lt;String,String&gt;
950
+ # * {Types::ExtensionAssociation#extension_version_number #extension_version_number} => Integer
951
+ #
952
+ # @example Request syntax with placeholder values
953
+ #
954
+ # resp = client.create_extension_association({
955
+ # extension_identifier: "Identifier", # required
956
+ # extension_version_number: 1,
957
+ # resource_identifier: "Identifier", # required
958
+ # parameters: {
959
+ # "Name" => "StringWithLengthBetween1And2048",
960
+ # },
961
+ # tags: {
962
+ # "TagKey" => "TagValue",
963
+ # },
964
+ # })
965
+ #
966
+ # @example Response structure
967
+ #
968
+ # resp.id #=> String
969
+ # resp.extension_arn #=> String
970
+ # resp.resource_arn #=> String
971
+ # resp.arn #=> String
972
+ # resp.parameters #=> Hash
973
+ # resp.parameters["Name"] #=> String
974
+ # resp.extension_version_number #=> Integer
975
+ #
976
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateExtensionAssociation AWS API Documentation
977
+ #
978
+ # @overload create_extension_association(params = {})
979
+ # @param [Hash] params ({})
980
+ def create_extension_association(params = {}, options = {})
981
+ req = build_request(:create_extension_association, params)
982
+ req.send_request(options)
983
+ end
984
+
789
985
  # Creates a new configuration in the AppConfig hosted configuration
790
986
  # store.
791
987
  #
@@ -1016,6 +1212,58 @@ module Aws::AppConfig
1016
1212
  req.send_request(options)
1017
1213
  end
1018
1214
 
1215
+ # Deletes an AppConfig extension. You must delete all associations to an
1216
+ # extension before you delete the extension.
1217
+ #
1218
+ # @option params [required, String] :extension_identifier
1219
+ # The name, ID, or Amazon Resource Name (ARN) of the extension you want
1220
+ # to delete.
1221
+ #
1222
+ # @option params [Integer] :version_number
1223
+ # A specific version of an extension to delete. If omitted, the highest
1224
+ # version is deleted.
1225
+ #
1226
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1227
+ #
1228
+ # @example Request syntax with placeholder values
1229
+ #
1230
+ # resp = client.delete_extension({
1231
+ # extension_identifier: "Identifier", # required
1232
+ # version_number: 1,
1233
+ # })
1234
+ #
1235
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteExtension AWS API Documentation
1236
+ #
1237
+ # @overload delete_extension(params = {})
1238
+ # @param [Hash] params ({})
1239
+ def delete_extension(params = {}, options = {})
1240
+ req = build_request(:delete_extension, params)
1241
+ req.send_request(options)
1242
+ end
1243
+
1244
+ # Deletes an extension association. This action doesn't delete
1245
+ # extensions defined in the association.
1246
+ #
1247
+ # @option params [required, String] :extension_association_id
1248
+ # The ID of the extension association to delete.
1249
+ #
1250
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1251
+ #
1252
+ # @example Request syntax with placeholder values
1253
+ #
1254
+ # resp = client.delete_extension_association({
1255
+ # extension_association_id: "Id", # required
1256
+ # })
1257
+ #
1258
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteExtensionAssociation AWS API Documentation
1259
+ #
1260
+ # @overload delete_extension_association(params = {})
1261
+ # @param [Hash] params ({})
1262
+ def delete_extension_association(params = {}, options = {})
1263
+ req = build_request(:delete_extension_association, params)
1264
+ req.send_request(options)
1265
+ end
1266
+
1019
1267
  # Deletes a version of a configuration from the AppConfig hosted
1020
1268
  # configuration store.
1021
1269
  #
@@ -1336,6 +1584,7 @@ module Aws::AppConfig
1336
1584
  # * {Types::Deployment#percentage_complete #percentage_complete} => Float
1337
1585
  # * {Types::Deployment#started_at #started_at} => Time
1338
1586
  # * {Types::Deployment#completed_at #completed_at} => Time
1587
+ # * {Types::Deployment#applied_extensions #applied_extensions} => Array&lt;Types::AppliedExtension&gt;
1339
1588
  #
1340
1589
  #
1341
1590
  # @example Example: To retrieve deployment details
@@ -1441,10 +1690,24 @@ module Aws::AppConfig
1441
1690
  # resp.event_log[0].event_type #=> String, one of "PERCENTAGE_UPDATED", "ROLLBACK_STARTED", "ROLLBACK_COMPLETED", "BAKE_TIME_STARTED", "DEPLOYMENT_STARTED", "DEPLOYMENT_COMPLETED"
1442
1691
  # resp.event_log[0].triggered_by #=> String, one of "USER", "APPCONFIG", "CLOUDWATCH_ALARM", "INTERNAL_ERROR"
1443
1692
  # resp.event_log[0].description #=> String
1693
+ # resp.event_log[0].action_invocations #=> Array
1694
+ # resp.event_log[0].action_invocations[0].extension_identifier #=> String
1695
+ # resp.event_log[0].action_invocations[0].action_name #=> String
1696
+ # resp.event_log[0].action_invocations[0].uri #=> String
1697
+ # resp.event_log[0].action_invocations[0].role_arn #=> String
1698
+ # resp.event_log[0].action_invocations[0].error_message #=> String
1699
+ # resp.event_log[0].action_invocations[0].error_code #=> String
1700
+ # resp.event_log[0].action_invocations[0].invocation_id #=> String
1444
1701
  # resp.event_log[0].occurred_at #=> Time
1445
1702
  # resp.percentage_complete #=> Float
1446
1703
  # resp.started_at #=> Time
1447
1704
  # resp.completed_at #=> Time
1705
+ # resp.applied_extensions #=> Array
1706
+ # resp.applied_extensions[0].extension_id #=> String
1707
+ # resp.applied_extensions[0].extension_association_id #=> String
1708
+ # resp.applied_extensions[0].version_number #=> Integer
1709
+ # resp.applied_extensions[0].parameters #=> Hash
1710
+ # resp.applied_extensions[0].parameters["Name"] #=> String
1448
1711
  #
1449
1712
  # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetDeployment AWS API Documentation
1450
1713
  #
@@ -1523,12 +1786,11 @@ module Aws::AppConfig
1523
1786
  end
1524
1787
 
1525
1788
  # Retrieves information about an environment. An environment is a
1526
- # logical deployment group of AppConfig applications, such as
1527
- # applications in a `Production` environment or in an `EU_Region`
1528
- # environment. Each configuration deployment targets an environment. You
1529
- # can enable one or more Amazon CloudWatch alarms for an environment. If
1530
- # an alarm is triggered during a deployment, AppConfig roles back the
1531
- # configuration.
1789
+ # deployment group of AppConfig applications, such as applications in a
1790
+ # `Production` environment or in an `EU_Region` environment. Each
1791
+ # configuration deployment targets an environment. You can enable one or
1792
+ # more Amazon CloudWatch alarms for an environment. If an alarm is
1793
+ # triggered during a deployment, AppConfig roles back the configuration.
1532
1794
  #
1533
1795
  # @option params [required, String] :application_id
1534
1796
  # The ID of the application that includes the environment you want to
@@ -1591,6 +1853,103 @@ module Aws::AppConfig
1591
1853
  req.send_request(options)
1592
1854
  end
1593
1855
 
1856
+ # Returns information about an AppConfig extension.
1857
+ #
1858
+ # @option params [required, String] :extension_identifier
1859
+ # The name, the ID, or the Amazon Resource Name (ARN) of the extension.
1860
+ #
1861
+ # @option params [Integer] :version_number
1862
+ # The extension version number. If no version number was defined,
1863
+ # AppConfig uses the highest version.
1864
+ #
1865
+ # @return [Types::Extension] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1866
+ #
1867
+ # * {Types::Extension#id #id} => String
1868
+ # * {Types::Extension#name #name} => String
1869
+ # * {Types::Extension#version_number #version_number} => Integer
1870
+ # * {Types::Extension#arn #arn} => String
1871
+ # * {Types::Extension#description #description} => String
1872
+ # * {Types::Extension#actions #actions} => Hash&lt;String,Array&lt;Types::Action&gt;&gt;
1873
+ # * {Types::Extension#parameters #parameters} => Hash&lt;String,Types::Parameter&gt;
1874
+ #
1875
+ # @example Request syntax with placeholder values
1876
+ #
1877
+ # resp = client.get_extension({
1878
+ # extension_identifier: "Identifier", # required
1879
+ # version_number: 1,
1880
+ # })
1881
+ #
1882
+ # @example Response structure
1883
+ #
1884
+ # resp.id #=> String
1885
+ # resp.name #=> String
1886
+ # resp.version_number #=> Integer
1887
+ # resp.arn #=> String
1888
+ # resp.description #=> String
1889
+ # resp.actions #=> Hash
1890
+ # resp.actions["ActionPoint"] #=> Array
1891
+ # resp.actions["ActionPoint"][0].name #=> String
1892
+ # resp.actions["ActionPoint"][0].description #=> String
1893
+ # resp.actions["ActionPoint"][0].uri #=> String
1894
+ # resp.actions["ActionPoint"][0].role_arn #=> String
1895
+ # resp.parameters #=> Hash
1896
+ # resp.parameters["Name"].description #=> String
1897
+ # resp.parameters["Name"].required #=> Boolean
1898
+ #
1899
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetExtension AWS API Documentation
1900
+ #
1901
+ # @overload get_extension(params = {})
1902
+ # @param [Hash] params ({})
1903
+ def get_extension(params = {}, options = {})
1904
+ req = build_request(:get_extension, params)
1905
+ req.send_request(options)
1906
+ end
1907
+
1908
+ # Returns information about an AppConfig extension association. For more
1909
+ # information about extensions and associations, see [Working with
1910
+ # AppConfig extensions][1] in the *AppConfig User Guide*.
1911
+ #
1912
+ #
1913
+ #
1914
+ # [1]: https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html
1915
+ #
1916
+ # @option params [required, String] :extension_association_id
1917
+ # The extension association ID to get.
1918
+ #
1919
+ # @return [Types::ExtensionAssociation] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1920
+ #
1921
+ # * {Types::ExtensionAssociation#id #id} => String
1922
+ # * {Types::ExtensionAssociation#extension_arn #extension_arn} => String
1923
+ # * {Types::ExtensionAssociation#resource_arn #resource_arn} => String
1924
+ # * {Types::ExtensionAssociation#arn #arn} => String
1925
+ # * {Types::ExtensionAssociation#parameters #parameters} => Hash&lt;String,String&gt;
1926
+ # * {Types::ExtensionAssociation#extension_version_number #extension_version_number} => Integer
1927
+ #
1928
+ # @example Request syntax with placeholder values
1929
+ #
1930
+ # resp = client.get_extension_association({
1931
+ # extension_association_id: "Id", # required
1932
+ # })
1933
+ #
1934
+ # @example Response structure
1935
+ #
1936
+ # resp.id #=> String
1937
+ # resp.extension_arn #=> String
1938
+ # resp.resource_arn #=> String
1939
+ # resp.arn #=> String
1940
+ # resp.parameters #=> Hash
1941
+ # resp.parameters["Name"] #=> String
1942
+ # resp.extension_version_number #=> Integer
1943
+ #
1944
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetExtensionAssociation AWS API Documentation
1945
+ #
1946
+ # @overload get_extension_association(params = {})
1947
+ # @param [Hash] params ({})
1948
+ def get_extension_association(params = {}, options = {})
1949
+ req = build_request(:get_extension_association, params)
1950
+ req.send_request(options)
1951
+ end
1952
+
1594
1953
  # Retrieves information about a specific configuration version.
1595
1954
  #
1596
1955
  # @option params [required, String] :application_id
@@ -2038,6 +2397,120 @@ module Aws::AppConfig
2038
2397
  req.send_request(options)
2039
2398
  end
2040
2399
 
2400
+ # Lists all AppConfig extension associations in the account. For more
2401
+ # information about extensions and associations, see [Working with
2402
+ # AppConfig extensions][1] in the *AppConfig User Guide*.
2403
+ #
2404
+ #
2405
+ #
2406
+ # [1]: https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html
2407
+ #
2408
+ # @option params [String] :resource_identifier
2409
+ # The ARN of an application, configuration profile, or environment.
2410
+ #
2411
+ # @option params [String] :extension_identifier
2412
+ # The name, the ID, or the Amazon Resource Name (ARN) of the extension.
2413
+ #
2414
+ # @option params [Integer] :extension_version_number
2415
+ # The version number for the extension defined in the association.
2416
+ #
2417
+ # @option params [Integer] :max_results
2418
+ # The maximum number of items to return for this call. The call also
2419
+ # returns a token that you can specify in a subsequent call to get the
2420
+ # next set of results.
2421
+ #
2422
+ # @option params [String] :next_token
2423
+ # A token to start the list. Use this token to get the next set of
2424
+ # results or pass null to get the first set of results.
2425
+ #
2426
+ # @return [Types::ExtensionAssociations] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2427
+ #
2428
+ # * {Types::ExtensionAssociations#items #items} => Array&lt;Types::ExtensionAssociationSummary&gt;
2429
+ # * {Types::ExtensionAssociations#next_token #next_token} => String
2430
+ #
2431
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2432
+ #
2433
+ # @example Request syntax with placeholder values
2434
+ #
2435
+ # resp = client.list_extension_associations({
2436
+ # resource_identifier: "Arn",
2437
+ # extension_identifier: "Identifier",
2438
+ # extension_version_number: 1,
2439
+ # max_results: 1,
2440
+ # next_token: "NextToken",
2441
+ # })
2442
+ #
2443
+ # @example Response structure
2444
+ #
2445
+ # resp.items #=> Array
2446
+ # resp.items[0].id #=> String
2447
+ # resp.items[0].extension_arn #=> String
2448
+ # resp.items[0].resource_arn #=> String
2449
+ # resp.next_token #=> String
2450
+ #
2451
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListExtensionAssociations AWS API Documentation
2452
+ #
2453
+ # @overload list_extension_associations(params = {})
2454
+ # @param [Hash] params ({})
2455
+ def list_extension_associations(params = {}, options = {})
2456
+ req = build_request(:list_extension_associations, params)
2457
+ req.send_request(options)
2458
+ end
2459
+
2460
+ # Lists all custom and Amazon Web Services-authored AppConfig extensions
2461
+ # in the account. For more information about extensions, see [Working
2462
+ # with AppConfig extensions][1] in the *AppConfig User Guide*.
2463
+ #
2464
+ #
2465
+ #
2466
+ # [1]: https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html
2467
+ #
2468
+ # @option params [Integer] :max_results
2469
+ # The maximum number of items to return for this call. The call also
2470
+ # returns a token that you can specify in a subsequent call to get the
2471
+ # next set of results.
2472
+ #
2473
+ # @option params [String] :next_token
2474
+ # A token to start the list. Use this token to get the next set of
2475
+ # results.
2476
+ #
2477
+ # @option params [String] :name
2478
+ # The extension name.
2479
+ #
2480
+ # @return [Types::Extensions] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2481
+ #
2482
+ # * {Types::Extensions#items #items} => Array&lt;Types::ExtensionSummary&gt;
2483
+ # * {Types::Extensions#next_token #next_token} => String
2484
+ #
2485
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2486
+ #
2487
+ # @example Request syntax with placeholder values
2488
+ #
2489
+ # resp = client.list_extensions({
2490
+ # max_results: 1,
2491
+ # next_token: "NextToken",
2492
+ # name: "QueryName",
2493
+ # })
2494
+ #
2495
+ # @example Response structure
2496
+ #
2497
+ # resp.items #=> Array
2498
+ # resp.items[0].id #=> String
2499
+ # resp.items[0].name #=> String
2500
+ # resp.items[0].version_number #=> Integer
2501
+ # resp.items[0].arn #=> String
2502
+ # resp.items[0].description #=> String
2503
+ # resp.next_token #=> String
2504
+ #
2505
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListExtensions AWS API Documentation
2506
+ #
2507
+ # @overload list_extensions(params = {})
2508
+ # @param [Hash] params ({})
2509
+ def list_extensions(params = {}, options = {})
2510
+ req = build_request(:list_extensions, params)
2511
+ req.send_request(options)
2512
+ end
2513
+
2041
2514
  # Lists configurations stored in the AppConfig hosted configuration
2042
2515
  # store by version.
2043
2516
  #
@@ -2204,6 +2677,7 @@ module Aws::AppConfig
2204
2677
  # * {Types::Deployment#percentage_complete #percentage_complete} => Float
2205
2678
  # * {Types::Deployment#started_at #started_at} => Time
2206
2679
  # * {Types::Deployment#completed_at #completed_at} => Time
2680
+ # * {Types::Deployment#applied_extensions #applied_extensions} => Array&lt;Types::AppliedExtension&gt;
2207
2681
  #
2208
2682
  #
2209
2683
  # @example Example: To start a configuration deployment
@@ -2283,10 +2757,24 @@ module Aws::AppConfig
2283
2757
  # resp.event_log[0].event_type #=> String, one of "PERCENTAGE_UPDATED", "ROLLBACK_STARTED", "ROLLBACK_COMPLETED", "BAKE_TIME_STARTED", "DEPLOYMENT_STARTED", "DEPLOYMENT_COMPLETED"
2284
2758
  # resp.event_log[0].triggered_by #=> String, one of "USER", "APPCONFIG", "CLOUDWATCH_ALARM", "INTERNAL_ERROR"
2285
2759
  # resp.event_log[0].description #=> String
2760
+ # resp.event_log[0].action_invocations #=> Array
2761
+ # resp.event_log[0].action_invocations[0].extension_identifier #=> String
2762
+ # resp.event_log[0].action_invocations[0].action_name #=> String
2763
+ # resp.event_log[0].action_invocations[0].uri #=> String
2764
+ # resp.event_log[0].action_invocations[0].role_arn #=> String
2765
+ # resp.event_log[0].action_invocations[0].error_message #=> String
2766
+ # resp.event_log[0].action_invocations[0].error_code #=> String
2767
+ # resp.event_log[0].action_invocations[0].invocation_id #=> String
2286
2768
  # resp.event_log[0].occurred_at #=> Time
2287
2769
  # resp.percentage_complete #=> Float
2288
2770
  # resp.started_at #=> Time
2289
2771
  # resp.completed_at #=> Time
2772
+ # resp.applied_extensions #=> Array
2773
+ # resp.applied_extensions[0].extension_id #=> String
2774
+ # resp.applied_extensions[0].extension_association_id #=> String
2775
+ # resp.applied_extensions[0].version_number #=> Integer
2776
+ # resp.applied_extensions[0].parameters #=> Hash
2777
+ # resp.applied_extensions[0].parameters["Name"] #=> String
2290
2778
  #
2291
2779
  # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/StartDeployment AWS API Documentation
2292
2780
  #
@@ -2330,6 +2818,7 @@ module Aws::AppConfig
2330
2818
  # * {Types::Deployment#percentage_complete #percentage_complete} => Float
2331
2819
  # * {Types::Deployment#started_at #started_at} => Time
2332
2820
  # * {Types::Deployment#completed_at #completed_at} => Time
2821
+ # * {Types::Deployment#applied_extensions #applied_extensions} => Array&lt;Types::AppliedExtension&gt;
2333
2822
  #
2334
2823
  #
2335
2824
  # @example Example: To stop configuration deployment
@@ -2379,10 +2868,24 @@ module Aws::AppConfig
2379
2868
  # resp.event_log[0].event_type #=> String, one of "PERCENTAGE_UPDATED", "ROLLBACK_STARTED", "ROLLBACK_COMPLETED", "BAKE_TIME_STARTED", "DEPLOYMENT_STARTED", "DEPLOYMENT_COMPLETED"
2380
2869
  # resp.event_log[0].triggered_by #=> String, one of "USER", "APPCONFIG", "CLOUDWATCH_ALARM", "INTERNAL_ERROR"
2381
2870
  # resp.event_log[0].description #=> String
2871
+ # resp.event_log[0].action_invocations #=> Array
2872
+ # resp.event_log[0].action_invocations[0].extension_identifier #=> String
2873
+ # resp.event_log[0].action_invocations[0].action_name #=> String
2874
+ # resp.event_log[0].action_invocations[0].uri #=> String
2875
+ # resp.event_log[0].action_invocations[0].role_arn #=> String
2876
+ # resp.event_log[0].action_invocations[0].error_message #=> String
2877
+ # resp.event_log[0].action_invocations[0].error_code #=> String
2878
+ # resp.event_log[0].action_invocations[0].invocation_id #=> String
2382
2879
  # resp.event_log[0].occurred_at #=> Time
2383
2880
  # resp.percentage_complete #=> Float
2384
2881
  # resp.started_at #=> Time
2385
2882
  # resp.completed_at #=> Time
2883
+ # resp.applied_extensions #=> Array
2884
+ # resp.applied_extensions[0].extension_id #=> String
2885
+ # resp.applied_extensions[0].extension_association_id #=> String
2886
+ # resp.applied_extensions[0].version_number #=> Integer
2887
+ # resp.applied_extensions[0].parameters #=> Hash
2888
+ # resp.applied_extensions[0].parameters["Name"] #=> String
2386
2889
  #
2387
2890
  # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/StopDeployment AWS API Documentation
2388
2891
  #
@@ -2819,6 +3322,140 @@ module Aws::AppConfig
2819
3322
  req.send_request(options)
2820
3323
  end
2821
3324
 
3325
+ # Updates an AppConfig extension. For more information about extensions,
3326
+ # see [Working with AppConfig extensions][1] in the *AppConfig User
3327
+ # Guide*.
3328
+ #
3329
+ #
3330
+ #
3331
+ # [1]: https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html
3332
+ #
3333
+ # @option params [required, String] :extension_identifier
3334
+ # The name, the ID, or the Amazon Resource Name (ARN) of the extension.
3335
+ #
3336
+ # @option params [String] :description
3337
+ # Information about the extension.
3338
+ #
3339
+ # @option params [Hash<String,Array>] :actions
3340
+ # The actions defined in the extension.
3341
+ #
3342
+ # @option params [Hash<String,Types::Parameter>] :parameters
3343
+ # One or more parameters for the actions called by the extension.
3344
+ #
3345
+ # @option params [Integer] :version_number
3346
+ # The extension version number.
3347
+ #
3348
+ # @return [Types::Extension] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3349
+ #
3350
+ # * {Types::Extension#id #id} => String
3351
+ # * {Types::Extension#name #name} => String
3352
+ # * {Types::Extension#version_number #version_number} => Integer
3353
+ # * {Types::Extension#arn #arn} => String
3354
+ # * {Types::Extension#description #description} => String
3355
+ # * {Types::Extension#actions #actions} => Hash&lt;String,Array&lt;Types::Action&gt;&gt;
3356
+ # * {Types::Extension#parameters #parameters} => Hash&lt;String,Types::Parameter&gt;
3357
+ #
3358
+ # @example Request syntax with placeholder values
3359
+ #
3360
+ # resp = client.update_extension({
3361
+ # extension_identifier: "Identifier", # required
3362
+ # description: "Description",
3363
+ # actions: {
3364
+ # "PRE_CREATE_HOSTED_CONFIGURATION_VERSION" => [
3365
+ # {
3366
+ # name: "Name",
3367
+ # description: "Description",
3368
+ # uri: "Uri",
3369
+ # role_arn: "Arn",
3370
+ # },
3371
+ # ],
3372
+ # },
3373
+ # parameters: {
3374
+ # "Name" => {
3375
+ # description: "Description",
3376
+ # required: false,
3377
+ # },
3378
+ # },
3379
+ # version_number: 1,
3380
+ # })
3381
+ #
3382
+ # @example Response structure
3383
+ #
3384
+ # resp.id #=> String
3385
+ # resp.name #=> String
3386
+ # resp.version_number #=> Integer
3387
+ # resp.arn #=> String
3388
+ # resp.description #=> String
3389
+ # resp.actions #=> Hash
3390
+ # resp.actions["ActionPoint"] #=> Array
3391
+ # resp.actions["ActionPoint"][0].name #=> String
3392
+ # resp.actions["ActionPoint"][0].description #=> String
3393
+ # resp.actions["ActionPoint"][0].uri #=> String
3394
+ # resp.actions["ActionPoint"][0].role_arn #=> String
3395
+ # resp.parameters #=> Hash
3396
+ # resp.parameters["Name"].description #=> String
3397
+ # resp.parameters["Name"].required #=> Boolean
3398
+ #
3399
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateExtension AWS API Documentation
3400
+ #
3401
+ # @overload update_extension(params = {})
3402
+ # @param [Hash] params ({})
3403
+ def update_extension(params = {}, options = {})
3404
+ req = build_request(:update_extension, params)
3405
+ req.send_request(options)
3406
+ end
3407
+
3408
+ # Updates an association. For more information about extensions and
3409
+ # associations, see [Working with AppConfig extensions][1] in the
3410
+ # *AppConfig User Guide*.
3411
+ #
3412
+ #
3413
+ #
3414
+ # [1]: https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html
3415
+ #
3416
+ # @option params [required, String] :extension_association_id
3417
+ # The system-generated ID for the association.
3418
+ #
3419
+ # @option params [Hash<String,String>] :parameters
3420
+ # The parameter names and values defined in the extension.
3421
+ #
3422
+ # @return [Types::ExtensionAssociation] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3423
+ #
3424
+ # * {Types::ExtensionAssociation#id #id} => String
3425
+ # * {Types::ExtensionAssociation#extension_arn #extension_arn} => String
3426
+ # * {Types::ExtensionAssociation#resource_arn #resource_arn} => String
3427
+ # * {Types::ExtensionAssociation#arn #arn} => String
3428
+ # * {Types::ExtensionAssociation#parameters #parameters} => Hash&lt;String,String&gt;
3429
+ # * {Types::ExtensionAssociation#extension_version_number #extension_version_number} => Integer
3430
+ #
3431
+ # @example Request syntax with placeholder values
3432
+ #
3433
+ # resp = client.update_extension_association({
3434
+ # extension_association_id: "Id", # required
3435
+ # parameters: {
3436
+ # "Name" => "StringWithLengthBetween1And2048",
3437
+ # },
3438
+ # })
3439
+ #
3440
+ # @example Response structure
3441
+ #
3442
+ # resp.id #=> String
3443
+ # resp.extension_arn #=> String
3444
+ # resp.resource_arn #=> String
3445
+ # resp.arn #=> String
3446
+ # resp.parameters #=> Hash
3447
+ # resp.parameters["Name"] #=> String
3448
+ # resp.extension_version_number #=> Integer
3449
+ #
3450
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateExtensionAssociation AWS API Documentation
3451
+ #
3452
+ # @overload update_extension_association(params = {})
3453
+ # @param [Hash] params ({})
3454
+ def update_extension_association(params = {}, options = {})
3455
+ req = build_request(:update_extension_association, params)
3456
+ req.send_request(options)
3457
+ end
3458
+
2822
3459
  # Uses the validators in a configuration profile to validate a
2823
3460
  # configuration.
2824
3461
  #
@@ -2874,7 +3511,7 @@ module Aws::AppConfig
2874
3511
  params: params,
2875
3512
  config: config)
2876
3513
  context[:gem_name] = 'aws-sdk-appconfig'
2877
- context[:gem_version] = '1.23.0'
3514
+ context[:gem_version] = '1.26.0'
2878
3515
  Seahorse::Client::Request.new(handlers, context)
2879
3516
  end
2880
3517