aws-sdk-appconfig 1.23.0 → 1.26.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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