aws-sdk-appconfig 1.21.0 → 1.40.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,11 @@ 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/signature_v4.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
32
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
33
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
34
+ require 'aws-sdk-core/plugins/sign.rb'
31
35
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
36
 
33
37
  Aws::Plugins::GlobalConfiguration.add_identifier(:appconfig)
@@ -73,8 +77,13 @@ module Aws::AppConfig
73
77
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
78
  add_plugin(Aws::Plugins::TransferEncoding)
75
79
  add_plugin(Aws::Plugins::HttpChecksum)
76
- add_plugin(Aws::Plugins::SignatureV4)
80
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
+ add_plugin(Aws::Plugins::RequestCompression)
82
+ add_plugin(Aws::Plugins::DefaultsMode)
83
+ add_plugin(Aws::Plugins::RecursionDetection)
84
+ add_plugin(Aws::Plugins::Sign)
77
85
  add_plugin(Aws::Plugins::Protocols::RestJson)
86
+ add_plugin(Aws::AppConfig::Plugins::Endpoints)
78
87
 
79
88
  # @overload initialize(options)
80
89
  # @param [Hash] options
@@ -175,10 +184,18 @@ module Aws::AppConfig
175
184
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
176
185
  # a clock skew correction and retry requests with skewed client clocks.
177
186
  #
187
+ # @option options [String] :defaults_mode ("legacy")
188
+ # See {Aws::DefaultsModeConfiguration} for a list of the
189
+ # accepted modes and the configuration defaults that are included.
190
+ #
178
191
  # @option options [Boolean] :disable_host_prefix_injection (false)
179
192
  # Set to true to disable SDK automatically adding host prefix
180
193
  # to default service endpoint when available.
181
194
  #
195
+ # @option options [Boolean] :disable_request_compression (false)
196
+ # When set to 'true' the request body will not be compressed
197
+ # for supported operations.
198
+ #
182
199
  # @option options [String] :endpoint
183
200
  # The client endpoint is normally constructed from the `:region`
184
201
  # option. You should only configure an `:endpoint` when connecting
@@ -199,6 +216,10 @@ module Aws::AppConfig
199
216
  # @option options [Boolean] :endpoint_discovery (false)
200
217
  # When set to `true`, endpoint discovery will be enabled for operations when available.
201
218
  #
219
+ # @option options [Boolean] :ignore_configured_endpoint_urls
220
+ # Setting to true disables use of endpoint URLs provided via environment
221
+ # variables and the shared configuration file.
222
+ #
202
223
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
203
224
  # The log formatter.
204
225
  #
@@ -219,6 +240,11 @@ module Aws::AppConfig
219
240
  # Used when loading credentials from the shared credentials file
220
241
  # at HOME/.aws/credentials. When not specified, 'default' is used.
221
242
  #
243
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
244
+ # The minimum size in bytes that triggers compression for request
245
+ # bodies. The value must be non-negative integer value between 0
246
+ # and 10485780 bytes inclusive.
247
+ #
222
248
  # @option options [Proc] :retry_backoff
223
249
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
224
250
  # This option is only used in the `legacy` retry mode.
@@ -264,6 +290,11 @@ module Aws::AppConfig
264
290
  # in the future.
265
291
  #
266
292
  #
293
+ # @option options [String] :sdk_ua_app_id
294
+ # A unique and opaque application ID that is appended to the
295
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
296
+ # maximum length of 50.
297
+ #
267
298
  # @option options [String] :secret_access_key
268
299
  #
269
300
  # @option options [String] :session_token
@@ -277,6 +308,19 @@ module Aws::AppConfig
277
308
  # ** Please note ** When response stubbing is enabled, no HTTP
278
309
  # requests are made, and retries are disabled.
279
310
  #
311
+ # @option options [Aws::TokenProvider] :token_provider
312
+ # A Bearer Token Provider. This can be an instance of any one of the
313
+ # following classes:
314
+ #
315
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
316
+ # tokens.
317
+ #
318
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
319
+ # access token generated from `aws login`.
320
+ #
321
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
322
+ # will be used to search for tokens configured for your profile in shared configuration files.
323
+ #
280
324
  # @option options [Boolean] :use_dualstack_endpoint
281
325
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
282
326
  # will be used if available.
@@ -290,6 +334,9 @@ module Aws::AppConfig
290
334
  # When `true`, request parameters are validated before
291
335
  # sending the request.
292
336
  #
337
+ # @option options [Aws::AppConfig::EndpointProvider] :endpoint_provider
338
+ # 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`
339
+ #
293
340
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
294
341
  # requests through. Formatted like 'http://proxy.com:123'.
295
342
  #
@@ -297,7 +344,7 @@ module Aws::AppConfig
297
344
  # seconds to wait when opening a HTTP session before raising a
298
345
  # `Timeout::Error`.
299
346
  #
300
- # @option options [Integer] :http_read_timeout (60) The default
347
+ # @option options [Float] :http_read_timeout (60) The default
301
348
  # number of seconds to wait for response data. This value can
302
349
  # safely be set per-request on the session.
303
350
  #
@@ -313,6 +360,9 @@ module Aws::AppConfig
313
360
  # disables this behaviour. This value can safely be set per
314
361
  # request on the session.
315
362
  #
363
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
+ # in seconds.
365
+ #
316
366
  # @option options [Boolean] :http_wire_trace (false) When `true`,
317
367
  # HTTP debug output will be sent to the `:logger`.
318
368
  #
@@ -338,12 +388,11 @@ module Aws::AppConfig
338
388
 
339
389
  # @!group API Operations
340
390
 
341
- # Creates an application. An application in AppConfig is a logical unit
342
- # of code that provides capabilities for your customers. For example, an
343
- # application can be a microservice that runs on Amazon EC2 instances, a
344
- # mobile application installed by your users, a serverless application
345
- # using Amazon API Gateway and Lambda, or any system you run on behalf
346
- # of others.
391
+ # Creates an application. In AppConfig, an application is simply an
392
+ # organizational construct like a folder. This organizational construct
393
+ # has a relationship with some unit of executable code. For example, you
394
+ # could create an application called MyMobileApp to organize and manage
395
+ # configuration data for a mobile application installed by your users.
347
396
  #
348
397
  # @option params [required, String] :name
349
398
  # A name for the application.
@@ -406,11 +455,25 @@ module Aws::AppConfig
406
455
 
407
456
  # Creates a configuration profile, which is information that enables
408
457
  # AppConfig to access the configuration source. Valid configuration
409
- # sources include the AppConfig hosted configuration store, Amazon Web
410
- # Services Systems Manager (SSM) documents, SSM Parameter Store
411
- # parameters, Amazon S3 objects, or any [integration source action][1]
412
- # supported by CodePipeline. A configuration profile includes the
413
- # following information:
458
+ # sources include the following:
459
+ #
460
+ # * Configuration data in YAML, JSON, and other formats stored in the
461
+ # AppConfig hosted configuration store
462
+ #
463
+ # * Configuration data stored as objects in an Amazon Simple Storage
464
+ # Service (Amazon S3) bucket
465
+ #
466
+ # * Pipelines stored in CodePipeline
467
+ #
468
+ # * Secrets stored in Secrets Manager
469
+ #
470
+ # * Standard and secure string parameters stored in Amazon Web Services
471
+ # Systems Manager Parameter Store
472
+ #
473
+ # * Configuration data in SSM documents stored in the Systems Manager
474
+ # document store
475
+ #
476
+ # A configuration profile includes the following information:
414
477
  #
415
478
  # * The URI location of the configuration data.
416
479
  #
@@ -418,15 +481,14 @@ module Aws::AppConfig
418
481
  # to the configuration data.
419
482
  #
420
483
  # * A validator for the configuration data. Available validators include
421
- # either a JSON Schema or an Lambda function.
484
+ # either a JSON Schema or an Amazon Web Services Lambda function.
422
485
  #
423
486
  # For more information, see [Create a Configuration and a Configuration
424
- # Profile][2] in the *AppConfig User Guide*.
487
+ # Profile][1] in the *AppConfig User Guide*.
425
488
  #
426
489
  #
427
490
  #
428
- # [1]: http://docs.aws.amazon.com/codepipeline/latest/userguide/integrations-action-type.html#integrations-source
429
- # [2]: http://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-creating-configuration-and-profile.html
491
+ # [1]: http://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-creating-configuration-and-profile.html
430
492
  #
431
493
  # @option params [required, String] :application_id
432
494
  # The application ID.
@@ -438,17 +500,27 @@ module Aws::AppConfig
438
500
  # A description of the configuration profile.
439
501
  #
440
502
  # @option params [required, String] :location_uri
441
- # A URI to locate the configuration. You can specify the AppConfig
442
- # hosted configuration store, Systems Manager (SSM) document, an SSM
443
- # Parameter Store parameter, or an Amazon S3 object. For the hosted
444
- # configuration store and for feature flags, specify `hosted`. For an
445
- # SSM document, specify either the document name in the format
446
- # `ssm-document://<Document_name>` or the Amazon Resource Name (ARN).
447
- # For a parameter, specify either the parameter name in the format
448
- # `ssm-parameter://<Parameter_name>` or the ARN. For an Amazon S3
449
- # object, specify the URI in the following format:
450
- # `s3://<bucket>/<objectKey> `. Here is an example:
451
- # `s3://my-bucket/my-app/us-east-1/my-config.json`
503
+ # A URI to locate the configuration. You can specify the following:
504
+ #
505
+ # * For the AppConfig hosted configuration store and for feature flags,
506
+ # specify `hosted`.
507
+ #
508
+ # * For an Amazon Web Services Systems Manager Parameter Store
509
+ # parameter, specify either the parameter name in the format
510
+ # `ssm-parameter://<parameter name>` or the ARN.
511
+ #
512
+ # * For an Amazon Web Services CodePipeline pipeline, specify the URI in
513
+ # the following format: `codepipeline`://&lt;pipeline name&gt;.
514
+ #
515
+ # * For an Secrets Manager secret, specify the URI in the following
516
+ # format: `secretsmanager`://&lt;secret name&gt;.
517
+ #
518
+ # * For an Amazon S3 object, specify the URI in the following format:
519
+ # `s3://<bucket>/<objectKey> `. Here is an example:
520
+ # `s3://my-bucket/my-app/us-east-1/my-config.json`
521
+ #
522
+ # * For an SSM document, specify either the document name in the format
523
+ # `ssm-document://<document name>` or the Amazon Resource Name (ARN).
452
524
  #
453
525
  # @option params [String] :retrieval_role_arn
454
526
  # The ARN of an IAM role with permission to access the configuration at
@@ -467,10 +539,25 @@ module Aws::AppConfig
467
539
  # and an optional value, both of which you define.
468
540
  #
469
541
  # @option params [String] :type
470
- # The type of configurations that the configuration profile contains. A
471
- # configuration can be a feature flag used for enabling or disabling new
472
- # features or a free-form configuration used for distributing
473
- # configurations to your application.
542
+ # The type of configurations contained in the profile. AppConfig
543
+ # supports `feature flags` and `freeform` configurations. We recommend
544
+ # you create feature flag configurations to enable or disable new
545
+ # features and freeform configurations to distribute configurations to
546
+ # an application. When calling this API, enter one of the following
547
+ # values for `Type`:
548
+ #
549
+ # `AWS.AppConfig.FeatureFlags`
550
+ #
551
+ # `AWS.Freeform`
552
+ #
553
+ # @option params [String] :kms_key_identifier
554
+ # The identifier for an Key Management Service key to encrypt new
555
+ # configuration data versions in the AppConfig hosted configuration
556
+ # store. This attribute is only used for `hosted` configuration types.
557
+ # The identifier can be an KMS key ID, alias, or the Amazon Resource
558
+ # Name (ARN) of the key ID or alias. To encrypt data managed in other
559
+ # configuration stores, see the documentation for how to specify an KMS
560
+ # key for that particular service.
474
561
  #
475
562
  # @return [Types::ConfigurationProfile] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
476
563
  #
@@ -482,6 +569,8 @@ module Aws::AppConfig
482
569
  # * {Types::ConfigurationProfile#retrieval_role_arn #retrieval_role_arn} => String
483
570
  # * {Types::ConfigurationProfile#validators #validators} => Array&lt;Types::Validator&gt;
484
571
  # * {Types::ConfigurationProfile#type #type} => String
572
+ # * {Types::ConfigurationProfile#kms_key_arn #kms_key_arn} => String
573
+ # * {Types::ConfigurationProfile#kms_key_identifier #kms_key_identifier} => String
485
574
  #
486
575
  #
487
576
  # @example Example: To create a configuration profile
@@ -509,7 +598,7 @@ module Aws::AppConfig
509
598
  #
510
599
  # resp = client.create_configuration_profile({
511
600
  # application_id: "Id", # required
512
- # name: "Name", # required
601
+ # name: "LongName", # required
513
602
  # description: "Description",
514
603
  # location_uri: "Uri", # required
515
604
  # retrieval_role_arn: "RoleArn",
@@ -523,6 +612,7 @@ module Aws::AppConfig
523
612
  # "TagKey" => "TagValue",
524
613
  # },
525
614
  # type: "ConfigurationProfileType",
615
+ # kms_key_identifier: "KmsKeyIdentifier",
526
616
  # })
527
617
  #
528
618
  # @example Response structure
@@ -537,6 +627,8 @@ module Aws::AppConfig
537
627
  # resp.validators[0].type #=> String, one of "JSON_SCHEMA", "LAMBDA"
538
628
  # resp.validators[0].content #=> String
539
629
  # resp.type #=> String
630
+ # resp.kms_key_arn #=> String
631
+ # resp.kms_key_identifier #=> String
540
632
  #
541
633
  # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateConfigurationProfile AWS API Documentation
542
634
  #
@@ -563,9 +655,18 @@ module Aws::AppConfig
563
655
  # Total amount of time for a deployment to last.
564
656
  #
565
657
  # @option params [Integer] :final_bake_time_in_minutes
566
- # The amount of time AppConfig monitors for alarms before considering
567
- # the deployment to be complete and no longer eligible for automatic
568
- # roll back.
658
+ # Specifies the amount of time AppConfig monitors for Amazon CloudWatch
659
+ # alarms after the configuration has been deployed to 100% of its
660
+ # targets, before considering the deployment to be complete. If an alarm
661
+ # is triggered during this time, AppConfig rolls back the deployment.
662
+ # You must configure permissions for AppConfig to roll back based on
663
+ # CloudWatch alarms. For more information, see [Configuring permissions
664
+ # for rollback based on Amazon CloudWatch alarms][1] in the *AppConfig
665
+ # User Guide*.
666
+ #
667
+ #
668
+ #
669
+ # [1]: https://docs.aws.amazon.com/appconfig/latest/userguide/getting-started-with-appconfig-cloudwatch-alarms-permissions.html
569
670
  #
570
671
  # @option params [required, Float] :growth_factor
571
672
  # The percentage of targets to receive a deployed configuration during
@@ -575,7 +676,7 @@ module Aws::AppConfig
575
676
  # The algorithm used to define how percentage grows over time. AppConfig
576
677
  # supports the following growth types:
577
678
  #
578
- # **Linear**\: For this type, AppConfig processes the deployment by
679
+ # **Linear**: For this type, AppConfig processes the deployment by
579
680
  # dividing the total number of targets by the value specified for `Step
580
681
  # percentage`. For example, a linear deployment that uses a `Step
581
682
  # percentage` of 10 deploys the configuration to 10 percent of the
@@ -583,7 +684,7 @@ module Aws::AppConfig
583
684
  # configuration to the next 10 percent. This continues until 100% of the
584
685
  # targets have successfully received the configuration.
585
686
  #
586
- # **Exponential**\: For this type, AppConfig processes the deployment
687
+ # **Exponential**: For this type, AppConfig processes the deployment
587
688
  # exponentially using the following formula: `G*(2^N)`. In this formula,
588
689
  # `G` is the growth factor specified by the user and `N` is the number
589
690
  # of steps until the configuration is deployed to all targets. For
@@ -600,7 +701,7 @@ module Aws::AppConfig
600
701
  # targets, 4% of the targets, 8% of the targets, and continues until the
601
702
  # configuration has been deployed to all targets.
602
703
  #
603
- # @option params [required, String] :replicate_to
704
+ # @option params [String] :replicate_to
604
705
  # Save the deployment strategy to a Systems Manager (SSM) document.
605
706
  #
606
707
  # @option params [Hash<String,String>] :tags
@@ -653,7 +754,7 @@ module Aws::AppConfig
653
754
  # final_bake_time_in_minutes: 1,
654
755
  # growth_factor: 1.0, # required
655
756
  # growth_type: "LINEAR", # accepts LINEAR, EXPONENTIAL
656
- # replicate_to: "NONE", # required, accepts NONE, SSM_DOCUMENT
757
+ # replicate_to: "NONE", # accepts NONE, SSM_DOCUMENT
657
758
  # tags: {
658
759
  # "TagKey" => "TagValue",
659
760
  # },
@@ -680,14 +781,13 @@ module Aws::AppConfig
680
781
  end
681
782
 
682
783
  # Creates an environment. For each application, you define one or more
683
- # environments. An environment is a logical deployment group of
684
- # AppConfig targets, such as applications in a `Beta` or `Production`
685
- # environment. You can also define environments for application
686
- # subcomponents such as the `Web`, `Mobile` and `Back-end` components
687
- # for your application. You can configure Amazon CloudWatch alarms for
688
- # each environment. The system monitors alarms during a configuration
689
- # deployment. If an alarm is triggered, the system rolls back the
690
- # configuration.
784
+ # environments. An environment is a deployment group of AppConfig
785
+ # targets, such as applications in a `Beta` or `Production` environment.
786
+ # You can also define environments for application subcomponents such as
787
+ # the `Web`, `Mobile` and `Back-end` components for your application.
788
+ # You can configure Amazon CloudWatch alarms for each environment. The
789
+ # system monitors alarms during a configuration deployment. If an alarm
790
+ # is triggered, the system rolls back the configuration.
691
791
  #
692
792
  # @option params [required, String] :application_id
693
793
  # The application ID.
@@ -771,6 +871,203 @@ module Aws::AppConfig
771
871
  req.send_request(options)
772
872
  end
773
873
 
874
+ # Creates an AppConfig extension. An extension augments your ability to
875
+ # inject logic or behavior at different points during the AppConfig
876
+ # workflow of creating or deploying a configuration.
877
+ #
878
+ # You can create your own extensions or use the Amazon Web Services
879
+ # authored extensions provided by AppConfig. For an AppConfig extension
880
+ # that uses Lambda, you must create a Lambda function to perform any
881
+ # computation and processing defined in the extension. If you plan to
882
+ # create custom versions of the Amazon Web Services authored
883
+ # notification extensions, you only need to specify an Amazon Resource
884
+ # Name (ARN) in the `Uri` field for the new extension version.
885
+ #
886
+ # * For a custom EventBridge notification extension, enter the ARN of
887
+ # the EventBridge default events in the `Uri` field.
888
+ #
889
+ # * For a custom Amazon SNS notification extension, enter the ARN of an
890
+ # Amazon SNS topic in the `Uri` field.
891
+ #
892
+ # * For a custom Amazon SQS notification extension, enter the ARN of an
893
+ # Amazon SQS message queue in the `Uri` field.
894
+ #
895
+ # For more information about extensions, see [Working with AppConfig
896
+ # extensions][1] in the *AppConfig User Guide*.
897
+ #
898
+ #
899
+ #
900
+ # [1]: https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html
901
+ #
902
+ # @option params [required, String] :name
903
+ # A name for the extension. Each extension name in your account must be
904
+ # unique. Extension versions use the same name.
905
+ #
906
+ # @option params [String] :description
907
+ # Information about the extension.
908
+ #
909
+ # @option params [required, Hash<String,Array>] :actions
910
+ # The actions defined in the extension.
911
+ #
912
+ # @option params [Hash<String,Types::Parameter>] :parameters
913
+ # The parameters accepted by the extension. You specify parameter values
914
+ # when you associate the extension to an AppConfig resource by using the
915
+ # `CreateExtensionAssociation` API action. For Lambda extension actions,
916
+ # these parameters are included in the Lambda request object.
917
+ #
918
+ # @option params [Hash<String,String>] :tags
919
+ # Adds one or more tags for the specified extension. Tags are metadata
920
+ # that help you categorize resources in different ways, for example, by
921
+ # purpose, owner, or environment. Each tag consists of a key and an
922
+ # optional value, both of which you define.
923
+ #
924
+ # @option params [Integer] :latest_version_number
925
+ # You can omit this field when you create an extension. When you create
926
+ # a new version, specify the most recent current version number. For
927
+ # example, you create version 3, enter 2 for this field.
928
+ #
929
+ # @return [Types::Extension] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
930
+ #
931
+ # * {Types::Extension#id #id} => String
932
+ # * {Types::Extension#name #name} => String
933
+ # * {Types::Extension#version_number #version_number} => Integer
934
+ # * {Types::Extension#arn #arn} => String
935
+ # * {Types::Extension#description #description} => String
936
+ # * {Types::Extension#actions #actions} => Hash&lt;String,Array&lt;Types::Action&gt;&gt;
937
+ # * {Types::Extension#parameters #parameters} => Hash&lt;String,Types::Parameter&gt;
938
+ #
939
+ # @example Request syntax with placeholder values
940
+ #
941
+ # resp = client.create_extension({
942
+ # name: "ExtensionOrParameterName", # required
943
+ # description: "Description",
944
+ # actions: { # required
945
+ # "PRE_CREATE_HOSTED_CONFIGURATION_VERSION" => [
946
+ # {
947
+ # name: "Name",
948
+ # description: "Description",
949
+ # uri: "Uri",
950
+ # role_arn: "Arn",
951
+ # },
952
+ # ],
953
+ # },
954
+ # parameters: {
955
+ # "ExtensionOrParameterName" => {
956
+ # description: "Description",
957
+ # required: false,
958
+ # },
959
+ # },
960
+ # tags: {
961
+ # "TagKey" => "TagValue",
962
+ # },
963
+ # latest_version_number: 1,
964
+ # })
965
+ #
966
+ # @example Response structure
967
+ #
968
+ # resp.id #=> String
969
+ # resp.name #=> String
970
+ # resp.version_number #=> Integer
971
+ # resp.arn #=> String
972
+ # resp.description #=> String
973
+ # resp.actions #=> Hash
974
+ # resp.actions["ActionPoint"] #=> Array
975
+ # resp.actions["ActionPoint"][0].name #=> String
976
+ # resp.actions["ActionPoint"][0].description #=> String
977
+ # resp.actions["ActionPoint"][0].uri #=> String
978
+ # resp.actions["ActionPoint"][0].role_arn #=> String
979
+ # resp.parameters #=> Hash
980
+ # resp.parameters["ExtensionOrParameterName"].description #=> String
981
+ # resp.parameters["ExtensionOrParameterName"].required #=> Boolean
982
+ #
983
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateExtension AWS API Documentation
984
+ #
985
+ # @overload create_extension(params = {})
986
+ # @param [Hash] params ({})
987
+ def create_extension(params = {}, options = {})
988
+ req = build_request(:create_extension, params)
989
+ req.send_request(options)
990
+ end
991
+
992
+ # When you create an extension or configure an Amazon Web Services
993
+ # authored extension, you associate the extension with an AppConfig
994
+ # application, environment, or configuration profile. For example, you
995
+ # can choose to run the `AppConfig deployment events to Amazon SNS`
996
+ # Amazon Web Services authored extension and receive notifications on an
997
+ # Amazon SNS topic anytime a configuration deployment is started for a
998
+ # specific application. Defining which extension to associate with an
999
+ # AppConfig resource is called an *extension association*. An extension
1000
+ # association is a specified relationship between an extension and an
1001
+ # AppConfig resource, such as an application or a configuration profile.
1002
+ # For more information about extensions and associations, see [Working
1003
+ # with AppConfig extensions][1] in the *AppConfig User Guide*.
1004
+ #
1005
+ #
1006
+ #
1007
+ # [1]: https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html
1008
+ #
1009
+ # @option params [required, String] :extension_identifier
1010
+ # The name, the ID, or the Amazon Resource Name (ARN) of the extension.
1011
+ #
1012
+ # @option params [Integer] :extension_version_number
1013
+ # The version number of the extension. If not specified, AppConfig uses
1014
+ # the maximum version of the extension.
1015
+ #
1016
+ # @option params [required, String] :resource_identifier
1017
+ # The ARN of an application, configuration profile, or environment.
1018
+ #
1019
+ # @option params [Hash<String,String>] :parameters
1020
+ # The parameter names and values defined in the extensions. Extension
1021
+ # parameters marked `Required` must be entered for this field.
1022
+ #
1023
+ # @option params [Hash<String,String>] :tags
1024
+ # Adds one or more tags for the specified extension association. Tags
1025
+ # are metadata that help you categorize resources in different ways, for
1026
+ # example, by purpose, owner, or environment. Each tag consists of a key
1027
+ # and an optional value, both of which you define.
1028
+ #
1029
+ # @return [Types::ExtensionAssociation] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1030
+ #
1031
+ # * {Types::ExtensionAssociation#id #id} => String
1032
+ # * {Types::ExtensionAssociation#extension_arn #extension_arn} => String
1033
+ # * {Types::ExtensionAssociation#resource_arn #resource_arn} => String
1034
+ # * {Types::ExtensionAssociation#arn #arn} => String
1035
+ # * {Types::ExtensionAssociation#parameters #parameters} => Hash&lt;String,String&gt;
1036
+ # * {Types::ExtensionAssociation#extension_version_number #extension_version_number} => Integer
1037
+ #
1038
+ # @example Request syntax with placeholder values
1039
+ #
1040
+ # resp = client.create_extension_association({
1041
+ # extension_identifier: "Identifier", # required
1042
+ # extension_version_number: 1,
1043
+ # resource_identifier: "Identifier", # required
1044
+ # parameters: {
1045
+ # "ExtensionOrParameterName" => "StringWithLengthBetween1And2048",
1046
+ # },
1047
+ # tags: {
1048
+ # "TagKey" => "TagValue",
1049
+ # },
1050
+ # })
1051
+ #
1052
+ # @example Response structure
1053
+ #
1054
+ # resp.id #=> String
1055
+ # resp.extension_arn #=> String
1056
+ # resp.resource_arn #=> String
1057
+ # resp.arn #=> String
1058
+ # resp.parameters #=> Hash
1059
+ # resp.parameters["ExtensionOrParameterName"] #=> String
1060
+ # resp.extension_version_number #=> Integer
1061
+ #
1062
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateExtensionAssociation AWS API Documentation
1063
+ #
1064
+ # @overload create_extension_association(params = {})
1065
+ # @param [Hash] params ({})
1066
+ def create_extension_association(params = {}, options = {})
1067
+ req = build_request(:create_extension_association, params)
1068
+ req.send_request(options)
1069
+ end
1070
+
774
1071
  # Creates a new configuration in the AppConfig hosted configuration
775
1072
  # store.
776
1073
  #
@@ -801,6 +1098,11 @@ module Aws::AppConfig
801
1098
  # configuration versions in rapid succession, specify the version number
802
1099
  # of the latest hosted configuration version.
803
1100
  #
1101
+ # @option params [String] :version_label
1102
+ # An optional, user-defined label for the AppConfig hosted configuration
1103
+ # version. This value must contain at least one non-numeric character.
1104
+ # For example, "v2.2.0".
1105
+ #
804
1106
  # @return [Types::HostedConfigurationVersion] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
805
1107
  #
806
1108
  # * {Types::HostedConfigurationVersion#application_id #application_id} => String
@@ -809,6 +1111,8 @@ module Aws::AppConfig
809
1111
  # * {Types::HostedConfigurationVersion#description #description} => String
810
1112
  # * {Types::HostedConfigurationVersion#content #content} => String
811
1113
  # * {Types::HostedConfigurationVersion#content_type #content_type} => String
1114
+ # * {Types::HostedConfigurationVersion#version_label #version_label} => String
1115
+ # * {Types::HostedConfigurationVersion#kms_key_arn #kms_key_arn} => String
812
1116
  #
813
1117
  #
814
1118
  # @example Example: To create a hosted configuration version
@@ -841,6 +1145,7 @@ module Aws::AppConfig
841
1145
  # content: "data", # required
842
1146
  # content_type: "StringWithLengthBetween1And255", # required
843
1147
  # latest_version_number: 1,
1148
+ # version_label: "VersionLabel",
844
1149
  # })
845
1150
  #
846
1151
  # @example Response structure
@@ -851,6 +1156,8 @@ module Aws::AppConfig
851
1156
  # resp.description #=> String
852
1157
  # resp.content #=> String
853
1158
  # resp.content_type #=> String
1159
+ # resp.version_label #=> String
1160
+ # resp.kms_key_arn #=> String
854
1161
  #
855
1162
  # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateHostedConfigurationVersion AWS API Documentation
856
1163
  #
@@ -1001,6 +1308,58 @@ module Aws::AppConfig
1001
1308
  req.send_request(options)
1002
1309
  end
1003
1310
 
1311
+ # Deletes an AppConfig extension. You must delete all associations to an
1312
+ # extension before you delete the extension.
1313
+ #
1314
+ # @option params [required, String] :extension_identifier
1315
+ # The name, ID, or Amazon Resource Name (ARN) of the extension you want
1316
+ # to delete.
1317
+ #
1318
+ # @option params [Integer] :version_number
1319
+ # A specific version of an extension to delete. If omitted, the highest
1320
+ # version is deleted.
1321
+ #
1322
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1323
+ #
1324
+ # @example Request syntax with placeholder values
1325
+ #
1326
+ # resp = client.delete_extension({
1327
+ # extension_identifier: "Identifier", # required
1328
+ # version_number: 1,
1329
+ # })
1330
+ #
1331
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteExtension AWS API Documentation
1332
+ #
1333
+ # @overload delete_extension(params = {})
1334
+ # @param [Hash] params ({})
1335
+ def delete_extension(params = {}, options = {})
1336
+ req = build_request(:delete_extension, params)
1337
+ req.send_request(options)
1338
+ end
1339
+
1340
+ # Deletes an extension association. This action doesn't delete
1341
+ # extensions defined in the association.
1342
+ #
1343
+ # @option params [required, String] :extension_association_id
1344
+ # The ID of the extension association to delete.
1345
+ #
1346
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1347
+ #
1348
+ # @example Request syntax with placeholder values
1349
+ #
1350
+ # resp = client.delete_extension_association({
1351
+ # extension_association_id: "Id", # required
1352
+ # })
1353
+ #
1354
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteExtensionAssociation AWS API Documentation
1355
+ #
1356
+ # @overload delete_extension_association(params = {})
1357
+ # @param [Hash] params ({})
1358
+ def delete_extension_association(params = {}, options = {})
1359
+ req = build_request(:delete_extension_association, params)
1360
+ req.send_request(options)
1361
+ end
1362
+
1004
1363
  # Deletes a version of a configuration from the AppConfig hosted
1005
1364
  # configuration store.
1006
1365
  #
@@ -1091,19 +1450,22 @@ module Aws::AppConfig
1091
1450
  req.send_request(options)
1092
1451
  end
1093
1452
 
1094
- # Retrieves information about a configuration.
1453
+ # (Deprecated) Retrieves the latest deployed configuration.
1454
+ #
1455
+ # Note the following important information.
1456
+ #
1457
+ # * This API action is deprecated. Calls to receive configuration data
1458
+ # should use the [StartConfigurationSession][1] and
1459
+ # [GetLatestConfiguration][2] APIs instead.
1460
+ #
1461
+ # * `GetConfiguration` is a priced call. For more information, see
1462
+ # [Pricing][3].
1463
+ #
1095
1464
  #
1096
- # AppConfig uses the value of the `ClientConfigurationVersion` parameter
1097
- # to identify the configuration version on your clients. If you don’t
1098
- # send `ClientConfigurationVersion` with each call to
1099
- # `GetConfiguration`, your clients receive the current configuration.
1100
- # You are charged each time your clients receive a configuration.
1101
1465
  #
1102
- # To avoid excess charges, we recommend that you include the
1103
- # `ClientConfigurationVersion` value with every call to
1104
- # `GetConfiguration`. This value must be saved on your client.
1105
- # Subsequent calls to `GetConfiguration` must pass this value by using
1106
- # the `ClientConfigurationVersion` parameter.
1466
+ # [1]: https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_StartConfigurationSession.html
1467
+ # [2]: https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html
1468
+ # [3]: https://aws.amazon.com/systems-manager/pricing/
1107
1469
  #
1108
1470
  # @option params [required, String] :application
1109
1471
  # The application to get. Specify either the application name or the
@@ -1133,18 +1495,24 @@ module Aws::AppConfig
1133
1495
  # `GetConfiguration`, your clients receive the current configuration.
1134
1496
  # You are charged each time your clients receive a configuration.
1135
1497
  #
1136
- # To avoid excess charges, we recommend that you include the
1137
- # `ClientConfigurationVersion` value with every call to
1138
- # `GetConfiguration`. This value must be saved on your client.
1139
- # Subsequent calls to `GetConfiguration` must pass this value by using
1140
- # the `ClientConfigurationVersion` parameter.
1498
+ # To avoid excess charges, we recommend you use the
1499
+ # [StartConfigurationSession][1] and [GetLatestConfiguration][2] APIs,
1500
+ # which track the client configuration version on your behalf. If you
1501
+ # choose to continue using `GetConfiguration`, we recommend that you
1502
+ # include the `ClientConfigurationVersion` value with every call to
1503
+ # `GetConfiguration`. The value to use for `ClientConfigurationVersion`
1504
+ # comes from the `ConfigurationVersion` attribute returned by
1505
+ # `GetConfiguration` when there is new or updated data, and should be
1506
+ # saved for subsequent calls to `GetConfiguration`.
1141
1507
  #
1142
1508
  # For more information about working with configurations, see
1143
- # [Retrieving the Configuration][1] in the *AppConfig User Guide*.
1509
+ # [Retrieving the Configuration][3] in the *AppConfig User Guide*.
1144
1510
  #
1145
1511
  #
1146
1512
  #
1147
- # [1]: http://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-retrieving-the-configuration.html
1513
+ # [1]: https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/StartConfigurationSession.html
1514
+ # [2]: https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/GetLatestConfiguration.html
1515
+ # [3]: http://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-retrieving-the-configuration.html
1148
1516
  #
1149
1517
  # @return [Types::Configuration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1150
1518
  #
@@ -1217,6 +1585,8 @@ module Aws::AppConfig
1217
1585
  # * {Types::ConfigurationProfile#retrieval_role_arn #retrieval_role_arn} => String
1218
1586
  # * {Types::ConfigurationProfile#validators #validators} => Array&lt;Types::Validator&gt;
1219
1587
  # * {Types::ConfigurationProfile#type #type} => String
1588
+ # * {Types::ConfigurationProfile#kms_key_arn #kms_key_arn} => String
1589
+ # * {Types::ConfigurationProfile#kms_key_identifier #kms_key_identifier} => String
1220
1590
  #
1221
1591
  #
1222
1592
  # @example Example: To retrieve configuration profile details
@@ -1256,6 +1626,8 @@ module Aws::AppConfig
1256
1626
  # resp.validators[0].type #=> String, one of "JSON_SCHEMA", "LAMBDA"
1257
1627
  # resp.validators[0].content #=> String
1258
1628
  # resp.type #=> String
1629
+ # resp.kms_key_arn #=> String
1630
+ # resp.kms_key_identifier #=> String
1259
1631
  #
1260
1632
  # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetConfigurationProfile AWS API Documentation
1261
1633
  #
@@ -1299,6 +1671,10 @@ module Aws::AppConfig
1299
1671
  # * {Types::Deployment#percentage_complete #percentage_complete} => Float
1300
1672
  # * {Types::Deployment#started_at #started_at} => Time
1301
1673
  # * {Types::Deployment#completed_at #completed_at} => Time
1674
+ # * {Types::Deployment#applied_extensions #applied_extensions} => Array&lt;Types::AppliedExtension&gt;
1675
+ # * {Types::Deployment#kms_key_arn #kms_key_arn} => String
1676
+ # * {Types::Deployment#kms_key_identifier #kms_key_identifier} => String
1677
+ # * {Types::Deployment#version_label #version_label} => String
1302
1678
  #
1303
1679
  #
1304
1680
  # @example Example: To retrieve deployment details
@@ -1404,10 +1780,27 @@ module Aws::AppConfig
1404
1780
  # resp.event_log[0].event_type #=> String, one of "PERCENTAGE_UPDATED", "ROLLBACK_STARTED", "ROLLBACK_COMPLETED", "BAKE_TIME_STARTED", "DEPLOYMENT_STARTED", "DEPLOYMENT_COMPLETED"
1405
1781
  # resp.event_log[0].triggered_by #=> String, one of "USER", "APPCONFIG", "CLOUDWATCH_ALARM", "INTERNAL_ERROR"
1406
1782
  # resp.event_log[0].description #=> String
1783
+ # resp.event_log[0].action_invocations #=> Array
1784
+ # resp.event_log[0].action_invocations[0].extension_identifier #=> String
1785
+ # resp.event_log[0].action_invocations[0].action_name #=> String
1786
+ # resp.event_log[0].action_invocations[0].uri #=> String
1787
+ # resp.event_log[0].action_invocations[0].role_arn #=> String
1788
+ # resp.event_log[0].action_invocations[0].error_message #=> String
1789
+ # resp.event_log[0].action_invocations[0].error_code #=> String
1790
+ # resp.event_log[0].action_invocations[0].invocation_id #=> String
1407
1791
  # resp.event_log[0].occurred_at #=> Time
1408
1792
  # resp.percentage_complete #=> Float
1409
1793
  # resp.started_at #=> Time
1410
1794
  # resp.completed_at #=> Time
1795
+ # resp.applied_extensions #=> Array
1796
+ # resp.applied_extensions[0].extension_id #=> String
1797
+ # resp.applied_extensions[0].extension_association_id #=> String
1798
+ # resp.applied_extensions[0].version_number #=> Integer
1799
+ # resp.applied_extensions[0].parameters #=> Hash
1800
+ # resp.applied_extensions[0].parameters["ExtensionOrParameterName"] #=> String
1801
+ # resp.kms_key_arn #=> String
1802
+ # resp.kms_key_identifier #=> String
1803
+ # resp.version_label #=> String
1411
1804
  #
1412
1805
  # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetDeployment AWS API Documentation
1413
1806
  #
@@ -1486,12 +1879,11 @@ module Aws::AppConfig
1486
1879
  end
1487
1880
 
1488
1881
  # Retrieves information about an environment. An environment is a
1489
- # logical deployment group of AppConfig applications, such as
1490
- # applications in a `Production` environment or in an `EU_Region`
1491
- # environment. Each configuration deployment targets an environment. You
1492
- # can enable one or more Amazon CloudWatch alarms for an environment. If
1493
- # an alarm is triggered during a deployment, AppConfig roles back the
1494
- # configuration.
1882
+ # deployment group of AppConfig applications, such as applications in a
1883
+ # `Production` environment or in an `EU_Region` environment. Each
1884
+ # configuration deployment targets an environment. You can enable one or
1885
+ # more Amazon CloudWatch alarms for an environment. If an alarm is
1886
+ # triggered during a deployment, AppConfig roles back the configuration.
1495
1887
  #
1496
1888
  # @option params [required, String] :application_id
1497
1889
  # The ID of the application that includes the environment you want to
@@ -1554,6 +1946,103 @@ module Aws::AppConfig
1554
1946
  req.send_request(options)
1555
1947
  end
1556
1948
 
1949
+ # Returns information about an AppConfig extension.
1950
+ #
1951
+ # @option params [required, String] :extension_identifier
1952
+ # The name, the ID, or the Amazon Resource Name (ARN) of the extension.
1953
+ #
1954
+ # @option params [Integer] :version_number
1955
+ # The extension version number. If no version number was defined,
1956
+ # AppConfig uses the highest version.
1957
+ #
1958
+ # @return [Types::Extension] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1959
+ #
1960
+ # * {Types::Extension#id #id} => String
1961
+ # * {Types::Extension#name #name} => String
1962
+ # * {Types::Extension#version_number #version_number} => Integer
1963
+ # * {Types::Extension#arn #arn} => String
1964
+ # * {Types::Extension#description #description} => String
1965
+ # * {Types::Extension#actions #actions} => Hash&lt;String,Array&lt;Types::Action&gt;&gt;
1966
+ # * {Types::Extension#parameters #parameters} => Hash&lt;String,Types::Parameter&gt;
1967
+ #
1968
+ # @example Request syntax with placeholder values
1969
+ #
1970
+ # resp = client.get_extension({
1971
+ # extension_identifier: "Identifier", # required
1972
+ # version_number: 1,
1973
+ # })
1974
+ #
1975
+ # @example Response structure
1976
+ #
1977
+ # resp.id #=> String
1978
+ # resp.name #=> String
1979
+ # resp.version_number #=> Integer
1980
+ # resp.arn #=> String
1981
+ # resp.description #=> String
1982
+ # resp.actions #=> Hash
1983
+ # resp.actions["ActionPoint"] #=> Array
1984
+ # resp.actions["ActionPoint"][0].name #=> String
1985
+ # resp.actions["ActionPoint"][0].description #=> String
1986
+ # resp.actions["ActionPoint"][0].uri #=> String
1987
+ # resp.actions["ActionPoint"][0].role_arn #=> String
1988
+ # resp.parameters #=> Hash
1989
+ # resp.parameters["ExtensionOrParameterName"].description #=> String
1990
+ # resp.parameters["ExtensionOrParameterName"].required #=> Boolean
1991
+ #
1992
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetExtension AWS API Documentation
1993
+ #
1994
+ # @overload get_extension(params = {})
1995
+ # @param [Hash] params ({})
1996
+ def get_extension(params = {}, options = {})
1997
+ req = build_request(:get_extension, params)
1998
+ req.send_request(options)
1999
+ end
2000
+
2001
+ # Returns information about an AppConfig extension association. For more
2002
+ # information about extensions and associations, see [Working with
2003
+ # AppConfig extensions][1] in the *AppConfig User Guide*.
2004
+ #
2005
+ #
2006
+ #
2007
+ # [1]: https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html
2008
+ #
2009
+ # @option params [required, String] :extension_association_id
2010
+ # The extension association ID to get.
2011
+ #
2012
+ # @return [Types::ExtensionAssociation] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2013
+ #
2014
+ # * {Types::ExtensionAssociation#id #id} => String
2015
+ # * {Types::ExtensionAssociation#extension_arn #extension_arn} => String
2016
+ # * {Types::ExtensionAssociation#resource_arn #resource_arn} => String
2017
+ # * {Types::ExtensionAssociation#arn #arn} => String
2018
+ # * {Types::ExtensionAssociation#parameters #parameters} => Hash&lt;String,String&gt;
2019
+ # * {Types::ExtensionAssociation#extension_version_number #extension_version_number} => Integer
2020
+ #
2021
+ # @example Request syntax with placeholder values
2022
+ #
2023
+ # resp = client.get_extension_association({
2024
+ # extension_association_id: "Id", # required
2025
+ # })
2026
+ #
2027
+ # @example Response structure
2028
+ #
2029
+ # resp.id #=> String
2030
+ # resp.extension_arn #=> String
2031
+ # resp.resource_arn #=> String
2032
+ # resp.arn #=> String
2033
+ # resp.parameters #=> Hash
2034
+ # resp.parameters["ExtensionOrParameterName"] #=> String
2035
+ # resp.extension_version_number #=> Integer
2036
+ #
2037
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetExtensionAssociation AWS API Documentation
2038
+ #
2039
+ # @overload get_extension_association(params = {})
2040
+ # @param [Hash] params ({})
2041
+ def get_extension_association(params = {}, options = {})
2042
+ req = build_request(:get_extension_association, params)
2043
+ req.send_request(options)
2044
+ end
2045
+
1557
2046
  # Retrieves information about a specific configuration version.
1558
2047
  #
1559
2048
  # @option params [required, String] :application_id
@@ -1573,6 +2062,8 @@ module Aws::AppConfig
1573
2062
  # * {Types::HostedConfigurationVersion#description #description} => String
1574
2063
  # * {Types::HostedConfigurationVersion#content #content} => String
1575
2064
  # * {Types::HostedConfigurationVersion#content_type #content_type} => String
2065
+ # * {Types::HostedConfigurationVersion#version_label #version_label} => String
2066
+ # * {Types::HostedConfigurationVersion#kms_key_arn #kms_key_arn} => String
1576
2067
  #
1577
2068
  #
1578
2069
  # @example Example: To retrieve hosted configuration details
@@ -1610,6 +2101,8 @@ module Aws::AppConfig
1610
2101
  # resp.description #=> String
1611
2102
  # resp.content #=> String
1612
2103
  # resp.content_type #=> String
2104
+ # resp.version_label #=> String
2105
+ # resp.kms_key_arn #=> String
1613
2106
  #
1614
2107
  # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetHostedConfigurationVersion AWS API Documentation
1615
2108
  #
@@ -1705,7 +2198,7 @@ module Aws::AppConfig
1705
2198
  #
1706
2199
  # @option params [String] :type
1707
2200
  # A filter based on the type of configurations that the configuration
1708
- # profile contains. A configuration can be a feature flag or a free-form
2201
+ # profile contains. A configuration can be a feature flag or a freeform
1709
2202
  # configuration.
1710
2203
  #
1711
2204
  # @return [Types::ConfigurationProfiles] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -1837,7 +2330,8 @@ module Aws::AppConfig
1837
2330
  req.send_request(options)
1838
2331
  end
1839
2332
 
1840
- # Lists the deployments for an environment.
2333
+ # Lists the deployments for an environment in descending deployment
2334
+ # number order.
1841
2335
  #
1842
2336
  # @option params [required, String] :application_id
1843
2337
  # The application ID.
@@ -1846,13 +2340,15 @@ module Aws::AppConfig
1846
2340
  # The environment ID.
1847
2341
  #
1848
2342
  # @option params [Integer] :max_results
1849
- # The maximum number of items to return for this call. The call also
1850
- # returns a token that you can specify in a subsequent call to get the
1851
- # next set of results.
2343
+ # The maximum number of items that may be returned for this call. If
2344
+ # there are items that have not yet been returned, the response will
2345
+ # include a non-null `NextToken` that you can provide in a subsequent
2346
+ # call to get the next set of results.
1852
2347
  #
1853
2348
  # @option params [String] :next_token
1854
- # A token to start the list. Use this token to get the next set of
1855
- # results.
2349
+ # The token returned by a prior call to this operation indicating the
2350
+ # next set of results to be returned. If not specified, the operation
2351
+ # will return the first set of results.
1856
2352
  #
1857
2353
  # @return [Types::Deployments] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1858
2354
  #
@@ -1914,6 +2410,7 @@ module Aws::AppConfig
1914
2410
  # resp.items[0].percentage_complete #=> Float
1915
2411
  # resp.items[0].started_at #=> Time
1916
2412
  # resp.items[0].completed_at #=> Time
2413
+ # resp.items[0].version_label #=> String
1917
2414
  # resp.next_token #=> String
1918
2415
  #
1919
2416
  # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListDeployments AWS API Documentation
@@ -1998,6 +2495,120 @@ module Aws::AppConfig
1998
2495
  req.send_request(options)
1999
2496
  end
2000
2497
 
2498
+ # Lists all AppConfig extension associations in the account. For more
2499
+ # information about extensions and associations, see [Working with
2500
+ # AppConfig extensions][1] in the *AppConfig User Guide*.
2501
+ #
2502
+ #
2503
+ #
2504
+ # [1]: https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html
2505
+ #
2506
+ # @option params [String] :resource_identifier
2507
+ # The ARN of an application, configuration profile, or environment.
2508
+ #
2509
+ # @option params [String] :extension_identifier
2510
+ # The name, the ID, or the Amazon Resource Name (ARN) of the extension.
2511
+ #
2512
+ # @option params [Integer] :extension_version_number
2513
+ # The version number for the extension defined in the association.
2514
+ #
2515
+ # @option params [Integer] :max_results
2516
+ # The maximum number of items to return for this call. The call also
2517
+ # returns a token that you can specify in a subsequent call to get the
2518
+ # next set of results.
2519
+ #
2520
+ # @option params [String] :next_token
2521
+ # A token to start the list. Use this token to get the next set of
2522
+ # results or pass null to get the first set of results.
2523
+ #
2524
+ # @return [Types::ExtensionAssociations] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2525
+ #
2526
+ # * {Types::ExtensionAssociations#items #items} => Array&lt;Types::ExtensionAssociationSummary&gt;
2527
+ # * {Types::ExtensionAssociations#next_token #next_token} => String
2528
+ #
2529
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2530
+ #
2531
+ # @example Request syntax with placeholder values
2532
+ #
2533
+ # resp = client.list_extension_associations({
2534
+ # resource_identifier: "Arn",
2535
+ # extension_identifier: "Identifier",
2536
+ # extension_version_number: 1,
2537
+ # max_results: 1,
2538
+ # next_token: "NextToken",
2539
+ # })
2540
+ #
2541
+ # @example Response structure
2542
+ #
2543
+ # resp.items #=> Array
2544
+ # resp.items[0].id #=> String
2545
+ # resp.items[0].extension_arn #=> String
2546
+ # resp.items[0].resource_arn #=> String
2547
+ # resp.next_token #=> String
2548
+ #
2549
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListExtensionAssociations AWS API Documentation
2550
+ #
2551
+ # @overload list_extension_associations(params = {})
2552
+ # @param [Hash] params ({})
2553
+ def list_extension_associations(params = {}, options = {})
2554
+ req = build_request(:list_extension_associations, params)
2555
+ req.send_request(options)
2556
+ end
2557
+
2558
+ # Lists all custom and Amazon Web Services authored AppConfig extensions
2559
+ # in the account. For more information about extensions, see [Working
2560
+ # with AppConfig extensions][1] in the *AppConfig User Guide*.
2561
+ #
2562
+ #
2563
+ #
2564
+ # [1]: https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html
2565
+ #
2566
+ # @option params [Integer] :max_results
2567
+ # The maximum number of items to return for this call. The call also
2568
+ # returns a token that you can specify in a subsequent call to get the
2569
+ # next set of results.
2570
+ #
2571
+ # @option params [String] :next_token
2572
+ # A token to start the list. Use this token to get the next set of
2573
+ # results.
2574
+ #
2575
+ # @option params [String] :name
2576
+ # The extension name.
2577
+ #
2578
+ # @return [Types::Extensions] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2579
+ #
2580
+ # * {Types::Extensions#items #items} => Array&lt;Types::ExtensionSummary&gt;
2581
+ # * {Types::Extensions#next_token #next_token} => String
2582
+ #
2583
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2584
+ #
2585
+ # @example Request syntax with placeholder values
2586
+ #
2587
+ # resp = client.list_extensions({
2588
+ # max_results: 1,
2589
+ # next_token: "NextToken",
2590
+ # name: "QueryName",
2591
+ # })
2592
+ #
2593
+ # @example Response structure
2594
+ #
2595
+ # resp.items #=> Array
2596
+ # resp.items[0].id #=> String
2597
+ # resp.items[0].name #=> String
2598
+ # resp.items[0].version_number #=> Integer
2599
+ # resp.items[0].arn #=> String
2600
+ # resp.items[0].description #=> String
2601
+ # resp.next_token #=> String
2602
+ #
2603
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListExtensions AWS API Documentation
2604
+ #
2605
+ # @overload list_extensions(params = {})
2606
+ # @param [Hash] params ({})
2607
+ def list_extensions(params = {}, options = {})
2608
+ req = build_request(:list_extensions, params)
2609
+ req.send_request(options)
2610
+ end
2611
+
2001
2612
  # Lists configurations stored in the AppConfig hosted configuration
2002
2613
  # store by version.
2003
2614
  #
@@ -2016,6 +2627,13 @@ module Aws::AppConfig
2016
2627
  # A token to start the list. Use this token to get the next set of
2017
2628
  # results.
2018
2629
  #
2630
+ # @option params [String] :version_label
2631
+ # An optional filter that can be used to specify the version label of an
2632
+ # AppConfig hosted configuration version. This parameter supports
2633
+ # filtering by prefix using a wildcard, for example "v2*". If you
2634
+ # don't specify an asterisk at the end of the value, only an exact
2635
+ # match is returned.
2636
+ #
2019
2637
  # @return [Types::HostedConfigurationVersions] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2020
2638
  #
2021
2639
  # * {Types::HostedConfigurationVersions#items #items} => Array&lt;Types::HostedConfigurationVersionSummary&gt;
@@ -2053,6 +2671,7 @@ module Aws::AppConfig
2053
2671
  # configuration_profile_id: "Id", # required
2054
2672
  # max_results: 1,
2055
2673
  # next_token: "NextToken",
2674
+ # version_label: "QueryName",
2056
2675
  # })
2057
2676
  #
2058
2677
  # @example Response structure
@@ -2063,6 +2682,8 @@ module Aws::AppConfig
2063
2682
  # resp.items[0].version_number #=> Integer
2064
2683
  # resp.items[0].description #=> String
2065
2684
  # resp.items[0].content_type #=> String
2685
+ # resp.items[0].version_label #=> String
2686
+ # resp.items[0].kms_key_arn #=> String
2066
2687
  # resp.next_token #=> String
2067
2688
  #
2068
2689
  # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListHostedConfigurationVersions AWS API Documentation
@@ -2134,7 +2755,10 @@ module Aws::AppConfig
2134
2755
  # The configuration profile ID.
2135
2756
  #
2136
2757
  # @option params [required, String] :configuration_version
2137
- # The configuration version to deploy.
2758
+ # The configuration version to deploy. If deploying an AppConfig hosted
2759
+ # configuration version, you can specify either the version number or
2760
+ # version label. For all other configurations, you must specify the
2761
+ # version number.
2138
2762
  #
2139
2763
  # @option params [String] :description
2140
2764
  # A description of the deployment.
@@ -2144,6 +2768,11 @@ module Aws::AppConfig
2144
2768
  # categorize your AppConfig resources. Each tag consists of a key and an
2145
2769
  # optional value, both of which you define.
2146
2770
  #
2771
+ # @option params [String] :kms_key_identifier
2772
+ # The KMS key identifier (key ID, key alias, or key ARN). AppConfig uses
2773
+ # this ID to encrypt the configuration data using a customer managed
2774
+ # key.
2775
+ #
2147
2776
  # @return [Types::Deployment] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2148
2777
  #
2149
2778
  # * {Types::Deployment#application_id #application_id} => String
@@ -2164,6 +2793,10 @@ module Aws::AppConfig
2164
2793
  # * {Types::Deployment#percentage_complete #percentage_complete} => Float
2165
2794
  # * {Types::Deployment#started_at #started_at} => Time
2166
2795
  # * {Types::Deployment#completed_at #completed_at} => Time
2796
+ # * {Types::Deployment#applied_extensions #applied_extensions} => Array&lt;Types::AppliedExtension&gt;
2797
+ # * {Types::Deployment#kms_key_arn #kms_key_arn} => String
2798
+ # * {Types::Deployment#kms_key_identifier #kms_key_identifier} => String
2799
+ # * {Types::Deployment#version_label #version_label} => String
2167
2800
  #
2168
2801
  #
2169
2802
  # @example Example: To start a configuration deployment
@@ -2221,6 +2854,7 @@ module Aws::AppConfig
2221
2854
  # tags: {
2222
2855
  # "TagKey" => "TagValue",
2223
2856
  # },
2857
+ # kms_key_identifier: "KmsKeyIdentifier",
2224
2858
  # })
2225
2859
  #
2226
2860
  # @example Response structure
@@ -2243,10 +2877,27 @@ module Aws::AppConfig
2243
2877
  # resp.event_log[0].event_type #=> String, one of "PERCENTAGE_UPDATED", "ROLLBACK_STARTED", "ROLLBACK_COMPLETED", "BAKE_TIME_STARTED", "DEPLOYMENT_STARTED", "DEPLOYMENT_COMPLETED"
2244
2878
  # resp.event_log[0].triggered_by #=> String, one of "USER", "APPCONFIG", "CLOUDWATCH_ALARM", "INTERNAL_ERROR"
2245
2879
  # resp.event_log[0].description #=> String
2880
+ # resp.event_log[0].action_invocations #=> Array
2881
+ # resp.event_log[0].action_invocations[0].extension_identifier #=> String
2882
+ # resp.event_log[0].action_invocations[0].action_name #=> String
2883
+ # resp.event_log[0].action_invocations[0].uri #=> String
2884
+ # resp.event_log[0].action_invocations[0].role_arn #=> String
2885
+ # resp.event_log[0].action_invocations[0].error_message #=> String
2886
+ # resp.event_log[0].action_invocations[0].error_code #=> String
2887
+ # resp.event_log[0].action_invocations[0].invocation_id #=> String
2246
2888
  # resp.event_log[0].occurred_at #=> Time
2247
2889
  # resp.percentage_complete #=> Float
2248
2890
  # resp.started_at #=> Time
2249
2891
  # resp.completed_at #=> Time
2892
+ # resp.applied_extensions #=> Array
2893
+ # resp.applied_extensions[0].extension_id #=> String
2894
+ # resp.applied_extensions[0].extension_association_id #=> String
2895
+ # resp.applied_extensions[0].version_number #=> Integer
2896
+ # resp.applied_extensions[0].parameters #=> Hash
2897
+ # resp.applied_extensions[0].parameters["ExtensionOrParameterName"] #=> String
2898
+ # resp.kms_key_arn #=> String
2899
+ # resp.kms_key_identifier #=> String
2900
+ # resp.version_label #=> String
2250
2901
  #
2251
2902
  # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/StartDeployment AWS API Documentation
2252
2903
  #
@@ -2290,6 +2941,10 @@ module Aws::AppConfig
2290
2941
  # * {Types::Deployment#percentage_complete #percentage_complete} => Float
2291
2942
  # * {Types::Deployment#started_at #started_at} => Time
2292
2943
  # * {Types::Deployment#completed_at #completed_at} => Time
2944
+ # * {Types::Deployment#applied_extensions #applied_extensions} => Array&lt;Types::AppliedExtension&gt;
2945
+ # * {Types::Deployment#kms_key_arn #kms_key_arn} => String
2946
+ # * {Types::Deployment#kms_key_identifier #kms_key_identifier} => String
2947
+ # * {Types::Deployment#version_label #version_label} => String
2293
2948
  #
2294
2949
  #
2295
2950
  # @example Example: To stop configuration deployment
@@ -2339,10 +2994,27 @@ module Aws::AppConfig
2339
2994
  # resp.event_log[0].event_type #=> String, one of "PERCENTAGE_UPDATED", "ROLLBACK_STARTED", "ROLLBACK_COMPLETED", "BAKE_TIME_STARTED", "DEPLOYMENT_STARTED", "DEPLOYMENT_COMPLETED"
2340
2995
  # resp.event_log[0].triggered_by #=> String, one of "USER", "APPCONFIG", "CLOUDWATCH_ALARM", "INTERNAL_ERROR"
2341
2996
  # resp.event_log[0].description #=> String
2997
+ # resp.event_log[0].action_invocations #=> Array
2998
+ # resp.event_log[0].action_invocations[0].extension_identifier #=> String
2999
+ # resp.event_log[0].action_invocations[0].action_name #=> String
3000
+ # resp.event_log[0].action_invocations[0].uri #=> String
3001
+ # resp.event_log[0].action_invocations[0].role_arn #=> String
3002
+ # resp.event_log[0].action_invocations[0].error_message #=> String
3003
+ # resp.event_log[0].action_invocations[0].error_code #=> String
3004
+ # resp.event_log[0].action_invocations[0].invocation_id #=> String
2342
3005
  # resp.event_log[0].occurred_at #=> Time
2343
3006
  # resp.percentage_complete #=> Float
2344
3007
  # resp.started_at #=> Time
2345
3008
  # resp.completed_at #=> Time
3009
+ # resp.applied_extensions #=> Array
3010
+ # resp.applied_extensions[0].extension_id #=> String
3011
+ # resp.applied_extensions[0].extension_association_id #=> String
3012
+ # resp.applied_extensions[0].version_number #=> Integer
3013
+ # resp.applied_extensions[0].parameters #=> Hash
3014
+ # resp.applied_extensions[0].parameters["ExtensionOrParameterName"] #=> String
3015
+ # resp.kms_key_arn #=> String
3016
+ # resp.kms_key_identifier #=> String
3017
+ # resp.version_label #=> String
2346
3018
  #
2347
3019
  # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/StopDeployment AWS API Documentation
2348
3020
  #
@@ -2515,6 +3187,15 @@ module Aws::AppConfig
2515
3187
  # @option params [Array<Types::Validator>] :validators
2516
3188
  # A list of methods for validating the configuration.
2517
3189
  #
3190
+ # @option params [String] :kms_key_identifier
3191
+ # The identifier for a Key Management Service key to encrypt new
3192
+ # configuration data versions in the AppConfig hosted configuration
3193
+ # store. This attribute is only used for `hosted` configuration types.
3194
+ # The identifier can be an KMS key ID, alias, or the Amazon Resource
3195
+ # Name (ARN) of the key ID or alias. To encrypt data managed in other
3196
+ # configuration stores, see the documentation for how to specify an KMS
3197
+ # key for that particular service.
3198
+ #
2518
3199
  # @return [Types::ConfigurationProfile] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2519
3200
  #
2520
3201
  # * {Types::ConfigurationProfile#application_id #application_id} => String
@@ -2525,6 +3206,8 @@ module Aws::AppConfig
2525
3206
  # * {Types::ConfigurationProfile#retrieval_role_arn #retrieval_role_arn} => String
2526
3207
  # * {Types::ConfigurationProfile#validators #validators} => Array&lt;Types::Validator&gt;
2527
3208
  # * {Types::ConfigurationProfile#type #type} => String
3209
+ # * {Types::ConfigurationProfile#kms_key_arn #kms_key_arn} => String
3210
+ # * {Types::ConfigurationProfile#kms_key_identifier #kms_key_identifier} => String
2528
3211
  #
2529
3212
  #
2530
3213
  # @example Example: To update a configuration profile
@@ -2561,6 +3244,7 @@ module Aws::AppConfig
2561
3244
  # content: "StringWithLengthBetween0And32768", # required
2562
3245
  # },
2563
3246
  # ],
3247
+ # kms_key_identifier: "KmsKeyIdentifierOrEmpty",
2564
3248
  # })
2565
3249
  #
2566
3250
  # @example Response structure
@@ -2575,6 +3259,8 @@ module Aws::AppConfig
2575
3259
  # resp.validators[0].type #=> String, one of "JSON_SCHEMA", "LAMBDA"
2576
3260
  # resp.validators[0].content #=> String
2577
3261
  # resp.type #=> String
3262
+ # resp.kms_key_arn #=> String
3263
+ # resp.kms_key_identifier #=> String
2578
3264
  #
2579
3265
  # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateConfigurationProfile AWS API Documentation
2580
3266
  #
@@ -2609,7 +3295,7 @@ module Aws::AppConfig
2609
3295
  # The algorithm used to define how percentage grows over time. AppConfig
2610
3296
  # supports the following growth types:
2611
3297
  #
2612
- # **Linear**\: For this type, AppConfig processes the deployment by
3298
+ # **Linear**: For this type, AppConfig processes the deployment by
2613
3299
  # increments of the growth factor evenly distributed over the deployment
2614
3300
  # time. For example, a linear deployment that uses a growth factor of 20
2615
3301
  # initially makes the configuration available to 20 percent of the
@@ -2617,7 +3303,7 @@ module Aws::AppConfig
2617
3303
  # updates the percentage to 40 percent. This continues until 100% of the
2618
3304
  # targets are set to receive the deployed configuration.
2619
3305
  #
2620
- # **Exponential**\: For this type, AppConfig processes the deployment
3306
+ # **Exponential**: For this type, AppConfig processes the deployment
2621
3307
  # exponentially using the following formula: `G*(2^N)`. In this formula,
2622
3308
  # `G` is the growth factor specified by the user and `N` is the number
2623
3309
  # of steps until the configuration is deployed to all targets. For
@@ -2779,6 +3465,140 @@ module Aws::AppConfig
2779
3465
  req.send_request(options)
2780
3466
  end
2781
3467
 
3468
+ # Updates an AppConfig extension. For more information about extensions,
3469
+ # see [Working with AppConfig extensions][1] in the *AppConfig User
3470
+ # Guide*.
3471
+ #
3472
+ #
3473
+ #
3474
+ # [1]: https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html
3475
+ #
3476
+ # @option params [required, String] :extension_identifier
3477
+ # The name, the ID, or the Amazon Resource Name (ARN) of the extension.
3478
+ #
3479
+ # @option params [String] :description
3480
+ # Information about the extension.
3481
+ #
3482
+ # @option params [Hash<String,Array>] :actions
3483
+ # The actions defined in the extension.
3484
+ #
3485
+ # @option params [Hash<String,Types::Parameter>] :parameters
3486
+ # One or more parameters for the actions called by the extension.
3487
+ #
3488
+ # @option params [Integer] :version_number
3489
+ # The extension version number.
3490
+ #
3491
+ # @return [Types::Extension] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3492
+ #
3493
+ # * {Types::Extension#id #id} => String
3494
+ # * {Types::Extension#name #name} => String
3495
+ # * {Types::Extension#version_number #version_number} => Integer
3496
+ # * {Types::Extension#arn #arn} => String
3497
+ # * {Types::Extension#description #description} => String
3498
+ # * {Types::Extension#actions #actions} => Hash&lt;String,Array&lt;Types::Action&gt;&gt;
3499
+ # * {Types::Extension#parameters #parameters} => Hash&lt;String,Types::Parameter&gt;
3500
+ #
3501
+ # @example Request syntax with placeholder values
3502
+ #
3503
+ # resp = client.update_extension({
3504
+ # extension_identifier: "Identifier", # required
3505
+ # description: "Description",
3506
+ # actions: {
3507
+ # "PRE_CREATE_HOSTED_CONFIGURATION_VERSION" => [
3508
+ # {
3509
+ # name: "Name",
3510
+ # description: "Description",
3511
+ # uri: "Uri",
3512
+ # role_arn: "Arn",
3513
+ # },
3514
+ # ],
3515
+ # },
3516
+ # parameters: {
3517
+ # "ExtensionOrParameterName" => {
3518
+ # description: "Description",
3519
+ # required: false,
3520
+ # },
3521
+ # },
3522
+ # version_number: 1,
3523
+ # })
3524
+ #
3525
+ # @example Response structure
3526
+ #
3527
+ # resp.id #=> String
3528
+ # resp.name #=> String
3529
+ # resp.version_number #=> Integer
3530
+ # resp.arn #=> String
3531
+ # resp.description #=> String
3532
+ # resp.actions #=> Hash
3533
+ # resp.actions["ActionPoint"] #=> Array
3534
+ # resp.actions["ActionPoint"][0].name #=> String
3535
+ # resp.actions["ActionPoint"][0].description #=> String
3536
+ # resp.actions["ActionPoint"][0].uri #=> String
3537
+ # resp.actions["ActionPoint"][0].role_arn #=> String
3538
+ # resp.parameters #=> Hash
3539
+ # resp.parameters["ExtensionOrParameterName"].description #=> String
3540
+ # resp.parameters["ExtensionOrParameterName"].required #=> Boolean
3541
+ #
3542
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateExtension AWS API Documentation
3543
+ #
3544
+ # @overload update_extension(params = {})
3545
+ # @param [Hash] params ({})
3546
+ def update_extension(params = {}, options = {})
3547
+ req = build_request(:update_extension, params)
3548
+ req.send_request(options)
3549
+ end
3550
+
3551
+ # Updates an association. For more information about extensions and
3552
+ # associations, see [Working with AppConfig extensions][1] in the
3553
+ # *AppConfig User Guide*.
3554
+ #
3555
+ #
3556
+ #
3557
+ # [1]: https://docs.aws.amazon.com/appconfig/latest/userguide/working-with-appconfig-extensions.html
3558
+ #
3559
+ # @option params [required, String] :extension_association_id
3560
+ # The system-generated ID for the association.
3561
+ #
3562
+ # @option params [Hash<String,String>] :parameters
3563
+ # The parameter names and values defined in the extension.
3564
+ #
3565
+ # @return [Types::ExtensionAssociation] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3566
+ #
3567
+ # * {Types::ExtensionAssociation#id #id} => String
3568
+ # * {Types::ExtensionAssociation#extension_arn #extension_arn} => String
3569
+ # * {Types::ExtensionAssociation#resource_arn #resource_arn} => String
3570
+ # * {Types::ExtensionAssociation#arn #arn} => String
3571
+ # * {Types::ExtensionAssociation#parameters #parameters} => Hash&lt;String,String&gt;
3572
+ # * {Types::ExtensionAssociation#extension_version_number #extension_version_number} => Integer
3573
+ #
3574
+ # @example Request syntax with placeholder values
3575
+ #
3576
+ # resp = client.update_extension_association({
3577
+ # extension_association_id: "Id", # required
3578
+ # parameters: {
3579
+ # "ExtensionOrParameterName" => "StringWithLengthBetween1And2048",
3580
+ # },
3581
+ # })
3582
+ #
3583
+ # @example Response structure
3584
+ #
3585
+ # resp.id #=> String
3586
+ # resp.extension_arn #=> String
3587
+ # resp.resource_arn #=> String
3588
+ # resp.arn #=> String
3589
+ # resp.parameters #=> Hash
3590
+ # resp.parameters["ExtensionOrParameterName"] #=> String
3591
+ # resp.extension_version_number #=> Integer
3592
+ #
3593
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateExtensionAssociation AWS API Documentation
3594
+ #
3595
+ # @overload update_extension_association(params = {})
3596
+ # @param [Hash] params ({})
3597
+ def update_extension_association(params = {}, options = {})
3598
+ req = build_request(:update_extension_association, params)
3599
+ req.send_request(options)
3600
+ end
3601
+
2782
3602
  # Uses the validators in a configuration profile to validate a
2783
3603
  # configuration.
2784
3604
  #
@@ -2834,7 +3654,7 @@ module Aws::AppConfig
2834
3654
  params: params,
2835
3655
  config: config)
2836
3656
  context[:gem_name] = 'aws-sdk-appconfig'
2837
- context[:gem_version] = '1.21.0'
3657
+ context[:gem_version] = '1.40.0'
2838
3658
  Seahorse::Client::Request.new(handlers, context)
2839
3659
  end
2840
3660