aws-sdk-appconfig 1.21.0 → 1.40.0

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