aws-sdk-appconfig 1.19.0 → 1.23.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,6 +27,7 @@ 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/defaults_mode.rb'
30
31
  require 'aws-sdk-core/plugins/signature_v4.rb'
31
32
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
33
 
@@ -73,6 +74,7 @@ module Aws::AppConfig
73
74
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
75
  add_plugin(Aws::Plugins::TransferEncoding)
75
76
  add_plugin(Aws::Plugins::HttpChecksum)
77
+ add_plugin(Aws::Plugins::DefaultsMode)
76
78
  add_plugin(Aws::Plugins::SignatureV4)
77
79
  add_plugin(Aws::Plugins::Protocols::RestJson)
78
80
 
@@ -119,7 +121,9 @@ module Aws::AppConfig
119
121
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
122
  # are very aggressive. Construct and pass an instance of
121
123
  # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
- # enable retries and extended timeouts.
124
+ # enable retries and extended timeouts. Instance profile credential
125
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
126
+ # to true.
123
127
  #
124
128
  # @option options [required, String] :region
125
129
  # The AWS region to connect to. The configured `:region` is
@@ -173,6 +177,10 @@ module Aws::AppConfig
173
177
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
174
178
  # a clock skew correction and retry requests with skewed client clocks.
175
179
  #
180
+ # @option options [String] :defaults_mode ("legacy")
181
+ # See {Aws::DefaultsModeConfiguration} for a list of the
182
+ # accepted modes and the configuration defaults that are included.
183
+ #
176
184
  # @option options [Boolean] :disable_host_prefix_injection (false)
177
185
  # Set to true to disable SDK automatically adding host prefix
178
186
  # to default service endpoint when available.
@@ -295,7 +303,7 @@ module Aws::AppConfig
295
303
  # seconds to wait when opening a HTTP session before raising a
296
304
  # `Timeout::Error`.
297
305
  #
298
- # @option options [Integer] :http_read_timeout (60) The default
306
+ # @option options [Float] :http_read_timeout (60) The default
299
307
  # number of seconds to wait for response data. This value can
300
308
  # safely be set per-request on the session.
301
309
  #
@@ -311,6 +319,9 @@ module Aws::AppConfig
311
319
  # disables this behaviour. This value can safely be set per
312
320
  # request on the session.
313
321
  #
322
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
323
+ # in seconds.
324
+ #
314
325
  # @option options [Boolean] :http_wire_trace (false) When `true`,
315
326
  # HTTP debug output will be sent to the `:logger`.
316
327
  #
@@ -336,11 +347,12 @@ module Aws::AppConfig
336
347
 
337
348
  # @!group API Operations
338
349
 
339
- # An application in AppConfig is a logical unit of code that provides
340
- # capabilities for your customers. For example, an application can be a
341
- # microservice that runs on Amazon EC2 instances, a mobile application
342
- # installed by your users, a serverless application using Amazon API
343
- # Gateway and AWS Lambda, or any system you run on behalf of others.
350
+ # Creates an application. An application in AppConfig is a logical unit
351
+ # of code that provides capabilities for your customers. For example, an
352
+ # application can be a microservice that runs on Amazon EC2 instances, a
353
+ # mobile application installed by your users, a serverless application
354
+ # using Amazon API Gateway and Lambda, or any system you run on behalf
355
+ # of others.
344
356
  #
345
357
  # @option params [required, String] :name
346
358
  # A name for the application.
@@ -359,6 +371,23 @@ module Aws::AppConfig
359
371
  # * {Types::Application#name #name} => String
360
372
  # * {Types::Application#description #description} => String
361
373
  #
374
+ #
375
+ # @example Example: To create an application
376
+ #
377
+ # # The following create-application example creates an application in AWS AppConfig.
378
+ #
379
+ # resp = client.create_application({
380
+ # description: "An application used for creating an example.",
381
+ # name: "example-application",
382
+ # })
383
+ #
384
+ # resp.to_h outputs the following:
385
+ # {
386
+ # description: "An application used for creating an example.",
387
+ # id: "339ohji",
388
+ # name: "example-application",
389
+ # }
390
+ #
362
391
  # @example Request syntax with placeholder values
363
392
  #
364
393
  # resp = client.create_application({
@@ -384,25 +413,29 @@ module Aws::AppConfig
384
413
  req.send_request(options)
385
414
  end
386
415
 
387
- # Information that enables AppConfig to access the configuration source.
388
- # Valid configuration sources include Systems Manager (SSM) documents,
389
- # SSM Parameter Store parameters, and Amazon S3 objects. A configuration
390
- # profile includes the following information.
416
+ # Creates a configuration profile, which is information that enables
417
+ # AppConfig to access the configuration source. Valid configuration
418
+ # sources include the AppConfig hosted configuration store, Amazon Web
419
+ # Services Systems Manager (SSM) documents, SSM Parameter Store
420
+ # parameters, Amazon S3 objects, or any [integration source action][1]
421
+ # supported by CodePipeline. A configuration profile includes the
422
+ # following information:
391
423
  #
392
- # * The Uri location of the configuration data.
424
+ # * The URI location of the configuration data.
393
425
  #
394
- # * The AWS Identity and Access Management (IAM) role that provides
395
- # access to the configuration data.
426
+ # * The Identity and Access Management (IAM) role that provides access
427
+ # to the configuration data.
396
428
  #
397
429
  # * A validator for the configuration data. Available validators include
398
- # either a JSON Schema or an AWS Lambda function.
430
+ # either a JSON Schema or an Amazon Web Services Lambda function.
399
431
  #
400
432
  # For more information, see [Create a Configuration and a Configuration
401
- # Profile][1] in the *AWS AppConfig User Guide*.
433
+ # Profile][2] in the *AppConfig User Guide*.
402
434
  #
403
435
  #
404
436
  #
405
- # [1]: http://docs.aws.amazon.com/systems-manager/latest/userguide/appconfig-creating-configuration-and-profile.html
437
+ # [1]: http://docs.aws.amazon.com/codepipeline/latest/userguide/integrations-action-type.html#integrations-source
438
+ # [2]: http://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-creating-configuration-and-profile.html
406
439
  #
407
440
  # @option params [required, String] :application_id
408
441
  # The application ID.
@@ -414,19 +447,25 @@ module Aws::AppConfig
414
447
  # A description of the configuration profile.
415
448
  #
416
449
  # @option params [required, String] :location_uri
417
- # A URI to locate the configuration. You can specify a Systems Manager
418
- # (SSM) document, an SSM Parameter Store parameter, or an Amazon S3
419
- # object. For an SSM document, specify either the document name in the
420
- # format `ssm-document://<Document_name>` or the Amazon Resource Name
421
- # (ARN). For a parameter, specify either the parameter name in the
422
- # format `ssm-parameter://<Parameter_name>` or the ARN. For an Amazon S3
450
+ # A URI to locate the configuration. You can specify the AppConfig
451
+ # hosted configuration store, Systems Manager (SSM) document, an SSM
452
+ # Parameter Store parameter, or an Amazon S3 object. For the hosted
453
+ # configuration store and for feature flags, specify `hosted`. For an
454
+ # SSM document, specify either the document name in the format
455
+ # `ssm-document://<Document_name>` or the Amazon Resource Name (ARN).
456
+ # For a parameter, specify either the parameter name in the format
457
+ # `ssm-parameter://<Parameter_name>` or the ARN. For an Amazon S3
423
458
  # object, specify the URI in the following format:
424
459
  # `s3://<bucket>/<objectKey> `. Here is an example:
425
- # s3://my-bucket/my-app/us-east-1/my-config.json
460
+ # `s3://my-bucket/my-app/us-east-1/my-config.json`
426
461
  #
427
462
  # @option params [String] :retrieval_role_arn
428
463
  # The ARN of an IAM role with permission to access the configuration at
429
- # the specified LocationUri.
464
+ # the specified `LocationUri`.
465
+ #
466
+ # A retrieval role ARN is not required for configurations stored in the
467
+ # AppConfig hosted configuration store. It is required for all other
468
+ # sources that store your configuration.
430
469
  #
431
470
  # @option params [Array<Types::Validator>] :validators
432
471
  # A list of methods for validating the configuration.
@@ -436,6 +475,18 @@ module Aws::AppConfig
436
475
  # and categorize your AppConfig resources. Each tag consists of a key
437
476
  # and an optional value, both of which you define.
438
477
  #
478
+ # @option params [String] :type
479
+ # The type of configurations contained in the profile. AppConfig
480
+ # supports `feature flags` and `freeform` configurations. We recommend
481
+ # you create feature flag configurations to enable or disable new
482
+ # features and freeform configurations to distribute configurations to
483
+ # an application. When calling this API, enter one of the following
484
+ # values for `Type`\:
485
+ #
486
+ # `AWS.AppConfig.FeatureFlags`
487
+ #
488
+ # `AWS.Freeform`
489
+ #
439
490
  # @return [Types::ConfigurationProfile] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
440
491
  #
441
492
  # * {Types::ConfigurationProfile#application_id #application_id} => String
@@ -445,6 +496,29 @@ module Aws::AppConfig
445
496
  # * {Types::ConfigurationProfile#location_uri #location_uri} => String
446
497
  # * {Types::ConfigurationProfile#retrieval_role_arn #retrieval_role_arn} => String
447
498
  # * {Types::ConfigurationProfile#validators #validators} => Array&lt;Types::Validator&gt;
499
+ # * {Types::ConfigurationProfile#type #type} => String
500
+ #
501
+ #
502
+ # @example Example: To create a configuration profile
503
+ #
504
+ # # The following create-configuration-profile example creates a configuration profile using a configuration stored in
505
+ # # Parameter Store, a capability of Systems Manager.
506
+ #
507
+ # resp = client.create_configuration_profile({
508
+ # application_id: "339ohji",
509
+ # location_uri: "ssm-parameter://Example-Parameter",
510
+ # name: "Example-Configuration-Profile",
511
+ # retrieval_role_arn: "arn:aws:iam::111122223333:role/Example-App-Config-Role",
512
+ # })
513
+ #
514
+ # resp.to_h outputs the following:
515
+ # {
516
+ # application_id: "339ohji",
517
+ # id: "ur8hx2f",
518
+ # location_uri: "ssm-parameter://Example-Parameter",
519
+ # name: "Example-Configuration-Profile",
520
+ # retrieval_role_arn: "arn:aws:iam::111122223333:role/Example-App-Config-Role",
521
+ # }
448
522
  #
449
523
  # @example Request syntax with placeholder values
450
524
  #
@@ -463,6 +537,7 @@ module Aws::AppConfig
463
537
  # tags: {
464
538
  # "TagKey" => "TagValue",
465
539
  # },
540
+ # type: "ConfigurationProfileType",
466
541
  # })
467
542
  #
468
543
  # @example Response structure
@@ -476,6 +551,7 @@ module Aws::AppConfig
476
551
  # resp.validators #=> Array
477
552
  # resp.validators[0].type #=> String, one of "JSON_SCHEMA", "LAMBDA"
478
553
  # resp.validators[0].content #=> String
554
+ # resp.type #=> String
479
555
  #
480
556
  # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateConfigurationProfile AWS API Documentation
481
557
  #
@@ -486,11 +562,11 @@ module Aws::AppConfig
486
562
  req.send_request(options)
487
563
  end
488
564
 
489
- # A deployment strategy defines important criteria for rolling out your
490
- # configuration to the designated targets. A deployment strategy
491
- # includes: the overall duration required, a percentage of targets to
492
- # receive the deployment during each interval, an algorithm that defines
493
- # how percentage grows, and bake time.
565
+ # Creates a deployment strategy that defines important criteria for
566
+ # rolling out your configuration to the designated targets. A deployment
567
+ # strategy includes the overall duration required, a percentage of
568
+ # targets to receive the deployment during each interval, an algorithm
569
+ # that defines how percentage grows, and bake time.
494
570
  #
495
571
  # @option params [required, String] :name
496
572
  # A name for the deployment strategy.
@@ -511,8 +587,8 @@ module Aws::AppConfig
511
587
  # each interval.
512
588
  #
513
589
  # @option params [String] :growth_type
514
- # The algorithm used to define how percentage grows over time. AWS
515
- # AppConfig supports the following growth types:
590
+ # The algorithm used to define how percentage grows over time. AppConfig
591
+ # supports the following growth types:
516
592
  #
517
593
  # **Linear**\: For this type, AppConfig processes the deployment by
518
594
  # dividing the total number of targets by the value specified for `Step
@@ -558,6 +634,31 @@ module Aws::AppConfig
558
634
  # * {Types::DeploymentStrategy#final_bake_time_in_minutes #final_bake_time_in_minutes} => Integer
559
635
  # * {Types::DeploymentStrategy#replicate_to #replicate_to} => String
560
636
  #
637
+ #
638
+ # @example Example: To create a deployment strategy
639
+ #
640
+ # # The following create-deployment-strategy example creates a deployment strategy called Example-Deployment that takes 15
641
+ # # minutes and deploys the configuration to 25% of the application at a time. The strategy is also copied to an SSM
642
+ # # Document.
643
+ #
644
+ # resp = client.create_deployment_strategy({
645
+ # deployment_duration_in_minutes: 15,
646
+ # growth_factor: 25,
647
+ # name: "Example-Deployment",
648
+ # replicate_to: "SSM_DOCUMENT",
649
+ # })
650
+ #
651
+ # resp.to_h outputs the following:
652
+ # {
653
+ # deployment_duration_in_minutes: 15,
654
+ # final_bake_time_in_minutes: 0,
655
+ # growth_factor: 25,
656
+ # growth_type: "LINEAR",
657
+ # id: "1225qzk",
658
+ # name: "Example-Deployment",
659
+ # replicate_to: "SSM_DOCUMENT",
660
+ # }
661
+ #
561
662
  # @example Request syntax with placeholder values
562
663
  #
563
664
  # resp = client.create_deployment_strategy({
@@ -593,14 +694,15 @@ module Aws::AppConfig
593
694
  req.send_request(options)
594
695
  end
595
696
 
596
- # For each application, you define one or more environments. An
597
- # environment is a logical deployment group of AppConfig targets, such
598
- # as applications in a `Beta` or `Production` environment. You can also
599
- # define environments for application subcomponents such as the `Web`,
600
- # `Mobile` and `Back-end` components for your application. You can
601
- # configure Amazon CloudWatch alarms for each environment. The system
602
- # monitors alarms during a configuration deployment. If an alarm is
603
- # triggered, the system rolls back the configuration.
697
+ # Creates an environment. For each application, you define one or more
698
+ # environments. An environment is a logical deployment group of
699
+ # AppConfig targets, such as applications in a `Beta` or `Production`
700
+ # environment. You can also define environments for application
701
+ # subcomponents such as the `Web`, `Mobile` and `Back-end` components
702
+ # for your application. You can configure Amazon CloudWatch alarms for
703
+ # each environment. The system monitors alarms during a configuration
704
+ # deployment. If an alarm is triggered, the system rolls back the
705
+ # configuration.
604
706
  #
605
707
  # @option params [required, String] :application_id
606
708
  # The application ID.
@@ -628,6 +730,25 @@ module Aws::AppConfig
628
730
  # * {Types::Environment#state #state} => String
629
731
  # * {Types::Environment#monitors #monitors} => Array&lt;Types::Monitor&gt;
630
732
  #
733
+ #
734
+ # @example Example: To create an environment
735
+ #
736
+ # # The following create-environment example creates an AWS AppConfig environment named Example-Environment using the
737
+ # # application you created using create-application
738
+ #
739
+ # resp = client.create_environment({
740
+ # application_id: "339ohji",
741
+ # name: "Example-Environment",
742
+ # })
743
+ #
744
+ # resp.to_h outputs the following:
745
+ # {
746
+ # application_id: "339ohji",
747
+ # id: "54j1r29",
748
+ # name: "Example-Environment",
749
+ # state: "READY_FOR_DEPLOYMENT",
750
+ # }
751
+ #
631
752
  # @example Request syntax with placeholder values
632
753
  #
633
754
  # resp = client.create_environment({
@@ -636,7 +757,7 @@ module Aws::AppConfig
636
757
  # description: "Description",
637
758
  # monitors: [
638
759
  # {
639
- # alarm_arn: "Arn",
760
+ # alarm_arn: "StringWithLengthBetween1And2048", # required
640
761
  # alarm_role_arn: "RoleArn",
641
762
  # },
642
763
  # ],
@@ -665,7 +786,8 @@ module Aws::AppConfig
665
786
  req.send_request(options)
666
787
  end
667
788
 
668
- # Create a new configuration in the AppConfig configuration store.
789
+ # Creates a new configuration in the AppConfig hosted configuration
790
+ # store.
669
791
  #
670
792
  # @option params [required, String] :application_id
671
793
  # The application ID.
@@ -685,14 +807,14 @@ module Aws::AppConfig
685
807
  #
686
808
  #
687
809
  #
688
- # [1]: https://docs.aws.amazon.com/https:/www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
810
+ # [1]: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
689
811
  #
690
812
  # @option params [Integer] :latest_version_number
691
813
  # An optional locking token used to prevent race conditions from
692
814
  # overwriting configuration updates when creating a new version. To
693
815
  # ensure your data is not overwritten when creating multiple hosted
694
- # configuration versions in rapid succession, specify the version of the
695
- # latest hosted configuration version.
816
+ # configuration versions in rapid succession, specify the version number
817
+ # of the latest hosted configuration version.
696
818
  #
697
819
  # @return [Types::HostedConfigurationVersion] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
698
820
  #
@@ -703,6 +825,28 @@ module Aws::AppConfig
703
825
  # * {Types::HostedConfigurationVersion#content #content} => String
704
826
  # * {Types::HostedConfigurationVersion#content_type #content_type} => String
705
827
  #
828
+ #
829
+ # @example Example: To create a hosted configuration version
830
+ #
831
+ # # The following create-hosted-configuration-version example creates a new configuration in the AWS AppConfig configuration
832
+ # # store.
833
+ #
834
+ # resp = client.create_hosted_configuration_version({
835
+ # application_id: "339ohji",
836
+ # configuration_profile_id: "ur8hx2f",
837
+ # content: "eyAiTmFtZSI6ICJFeGFtcGxlQXBwbGljYXRpb24iLCAiSWQiOiBFeGFtcGxlSUQsICJSYW5rIjogNyB9",
838
+ # content_type: "text",
839
+ # latest_version_number: 1,
840
+ # })
841
+ #
842
+ # resp.to_h outputs the following:
843
+ # {
844
+ # application_id: "339ohji",
845
+ # configuration_profile_id: "ur8hx2f",
846
+ # content_type: "text",
847
+ # version_number: 1,
848
+ # }
849
+ #
706
850
  # @example Request syntax with placeholder values
707
851
  #
708
852
  # resp = client.create_hosted_configuration_version({
@@ -732,7 +876,7 @@ module Aws::AppConfig
732
876
  req.send_request(options)
733
877
  end
734
878
 
735
- # Delete an application. Deleting an application does not delete a
879
+ # Deletes an application. Deleting an application does not delete a
736
880
  # configuration from a host.
737
881
  #
738
882
  # @option params [required, String] :application_id
@@ -740,6 +884,15 @@ module Aws::AppConfig
740
884
  #
741
885
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
742
886
  #
887
+ #
888
+ # @example Example: To delete an application
889
+ #
890
+ # # The following delete-application example deletes the specified application.
891
+ #
892
+ # resp = client.delete_application({
893
+ # application_id: "339ohji",
894
+ # })
895
+ #
743
896
  # @example Request syntax with placeholder values
744
897
  #
745
898
  # resp = client.delete_application({
@@ -755,7 +908,7 @@ module Aws::AppConfig
755
908
  req.send_request(options)
756
909
  end
757
910
 
758
- # Delete a configuration profile. Deleting a configuration profile does
911
+ # Deletes a configuration profile. Deleting a configuration profile does
759
912
  # not delete a configuration from a host.
760
913
  #
761
914
  # @option params [required, String] :application_id
@@ -767,6 +920,16 @@ module Aws::AppConfig
767
920
  #
768
921
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
769
922
  #
923
+ #
924
+ # @example Example: To delete a configuration profile
925
+ #
926
+ # # The following delete-configuration-profile example deletes the specified configuration profile.
927
+ #
928
+ # resp = client.delete_configuration_profile({
929
+ # application_id: "339ohji",
930
+ # configuration_profile_id: "ur8hx2f",
931
+ # })
932
+ #
770
933
  # @example Request syntax with placeholder values
771
934
  #
772
935
  # resp = client.delete_configuration_profile({
@@ -783,7 +946,7 @@ module Aws::AppConfig
783
946
  req.send_request(options)
784
947
  end
785
948
 
786
- # Delete a deployment strategy. Deleting a deployment strategy does not
949
+ # Deletes a deployment strategy. Deleting a deployment strategy does not
787
950
  # delete a configuration from a host.
788
951
  #
789
952
  # @option params [required, String] :deployment_strategy_id
@@ -791,6 +954,15 @@ module Aws::AppConfig
791
954
  #
792
955
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
793
956
  #
957
+ #
958
+ # @example Example: To delete a deployment strategy
959
+ #
960
+ # # The following delete-deployment-strategy example deletes the specified deployment strategy.
961
+ #
962
+ # resp = client.delete_deployment_strategy({
963
+ # deployment_strategy_id: "1225qzk",
964
+ # })
965
+ #
794
966
  # @example Request syntax with placeholder values
795
967
  #
796
968
  # resp = client.delete_deployment_strategy({
@@ -806,17 +978,28 @@ module Aws::AppConfig
806
978
  req.send_request(options)
807
979
  end
808
980
 
809
- # Delete an environment. Deleting an environment does not delete a
981
+ # Deletes an environment. Deleting an environment does not delete a
810
982
  # configuration from a host.
811
983
  #
812
984
  # @option params [required, String] :application_id
813
- # The application ID that includes the environment you want to delete.
985
+ # The application ID that includes the environment that you want to
986
+ # delete.
814
987
  #
815
988
  # @option params [required, String] :environment_id
816
- # The ID of the environment you want to delete.
989
+ # The ID of the environment that you want to delete.
817
990
  #
818
991
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
819
992
  #
993
+ #
994
+ # @example Example: To delete an environment
995
+ #
996
+ # # The following delete-environment example deletes the specified application environment.
997
+ #
998
+ # resp = client.delete_environment({
999
+ # application_id: "339ohji",
1000
+ # environment_id: "54j1r29",
1001
+ # })
1002
+ #
820
1003
  # @example Request syntax with placeholder values
821
1004
  #
822
1005
  # resp = client.delete_environment({
@@ -833,8 +1016,8 @@ module Aws::AppConfig
833
1016
  req.send_request(options)
834
1017
  end
835
1018
 
836
- # Delete a version of a configuration from the AppConfig configuration
837
- # store.
1019
+ # Deletes a version of a configuration from the AppConfig hosted
1020
+ # configuration store.
838
1021
  #
839
1022
  # @option params [required, String] :application_id
840
1023
  # The application ID.
@@ -847,6 +1030,18 @@ module Aws::AppConfig
847
1030
  #
848
1031
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
849
1032
  #
1033
+ #
1034
+ # @example Example: To delete a hosted configuration version
1035
+ #
1036
+ # # The following delete-hosted-configuration-version example deletes a configuration version hosted in the AWS AppConfig
1037
+ # # configuration store.
1038
+ #
1039
+ # resp = client.delete_hosted_configuration_version({
1040
+ # application_id: "339ohji",
1041
+ # configuration_profile_id: "ur8hx2f",
1042
+ # version_number: 1,
1043
+ # })
1044
+ #
850
1045
  # @example Request syntax with placeholder values
851
1046
  #
852
1047
  # resp = client.delete_hosted_configuration_version({
@@ -864,7 +1059,7 @@ module Aws::AppConfig
864
1059
  req.send_request(options)
865
1060
  end
866
1061
 
867
- # Retrieve information about an application.
1062
+ # Retrieves information about an application.
868
1063
  #
869
1064
  # @option params [required, String] :application_id
870
1065
  # The ID of the application you want to get.
@@ -875,6 +1070,21 @@ module Aws::AppConfig
875
1070
  # * {Types::Application#name #name} => String
876
1071
  # * {Types::Application#description #description} => String
877
1072
  #
1073
+ #
1074
+ # @example Example: To list details of an application
1075
+ #
1076
+ # # The following get-application example lists the details of the specified application.
1077
+ #
1078
+ # resp = client.get_application({
1079
+ # application_id: "339ohji",
1080
+ # })
1081
+ #
1082
+ # resp.to_h outputs the following:
1083
+ # {
1084
+ # id: "339ohji",
1085
+ # name: "example-application",
1086
+ # }
1087
+ #
878
1088
  # @example Request syntax with placeholder values
879
1089
  #
880
1090
  # resp = client.get_application({
@@ -896,19 +1106,41 @@ module Aws::AppConfig
896
1106
  req.send_request(options)
897
1107
  end
898
1108
 
899
- # Receive information about a configuration.
1109
+ # Retrieves the latest deployed configuration.
1110
+ #
1111
+ # Note the following important information.
900
1112
  #
901
- # AWS AppConfig uses the value of the `ClientConfigurationVersion`
902
- # parameter to identify the configuration version on your clients. If
903
- # you don’t send `ClientConfigurationVersion` with each call to
904
- # `GetConfiguration`, your clients receive the current configuration.
905
- # You are charged each time your clients receive a configuration.
1113
+ # * This API action has been deprecated. Calls to receive configuration
1114
+ # data should use the [StartConfigurationSession][1] and
1115
+ # [GetLatestConfiguration][2] APIs instead.
906
1116
  #
907
- # To avoid excess charges, we recommend that you include the
908
- # `ClientConfigurationVersion` value with every call to
909
- # `GetConfiguration`. This value must be saved on your client.
910
- # Subsequent calls to `GetConfiguration` must pass this value by using
911
- # the `ClientConfigurationVersion` parameter.
1117
+ # * `GetConfiguration` is a priced call. For more information, see
1118
+ # [Pricing][3].
1119
+ #
1120
+ # * AppConfig uses the value of the `ClientConfigurationVersion`
1121
+ # parameter to identify the configuration version on your clients. If
1122
+ # you don’t send `ClientConfigurationVersion` with each call to
1123
+ # `GetConfiguration`, your clients receive the current configuration.
1124
+ # You are charged each time your clients receive a configuration.
1125
+ #
1126
+ # To avoid excess charges, we recommend you use the
1127
+ # [StartConfigurationSession][4] and [GetLatestConfiguration][5] APIs,
1128
+ # which track the client configuration version on your behalf. If you
1129
+ # choose to continue using `GetConfiguration`, we recommend that you
1130
+ # include the `ClientConfigurationVersion` value with every call to
1131
+ # `GetConfiguration`. The value to use for
1132
+ # `ClientConfigurationVersion` comes from the `ConfigurationVersion`
1133
+ # attribute returned by `GetConfiguration` when there is new or
1134
+ # updated data, and should be saved for subsequent calls to
1135
+ # `GetConfiguration`.
1136
+ #
1137
+ #
1138
+ #
1139
+ # [1]: https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_StartConfigurationSession.html
1140
+ # [2]: https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html
1141
+ # [3]: https://aws.amazon.com/systems-manager/pricing/
1142
+ # [4]: https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/StartConfigurationSession.html
1143
+ # [5]: https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/GetLatestConfiguration.html
912
1144
  #
913
1145
  # @option params [required, String] :application
914
1146
  # The application to get. Specify either the application name or the
@@ -923,17 +1155,18 @@ module Aws::AppConfig
923
1155
  # configuration ID.
924
1156
  #
925
1157
  # @option params [required, String] :client_id
926
- # A unique ID to identify the client for the configuration. This ID
927
- # enables AppConfig to deploy the configuration in intervals, as defined
928
- # in the deployment strategy.
1158
+ # The clientId parameter in the following command is a unique,
1159
+ # user-specified ID to identify the client for the configuration. This
1160
+ # ID enables AppConfig to deploy the configuration in intervals, as
1161
+ # defined in the deployment strategy.
929
1162
  #
930
1163
  # @option params [String] :client_configuration_version
931
1164
  # The configuration version returned in the most recent
932
1165
  # `GetConfiguration` response.
933
1166
  #
934
- # AWS AppConfig uses the value of the `ClientConfigurationVersion`
935
- # parameter to identify the configuration version on your clients. If
936
- # you don’t send `ClientConfigurationVersion` with each call to
1167
+ # AppConfig uses the value of the `ClientConfigurationVersion` parameter
1168
+ # to identify the configuration version on your clients. If you don’t
1169
+ # send `ClientConfigurationVersion` with each call to
937
1170
  # `GetConfiguration`, your clients receive the current configuration.
938
1171
  # You are charged each time your clients receive a configuration.
939
1172
  #
@@ -944,11 +1177,11 @@ module Aws::AppConfig
944
1177
  # the `ClientConfigurationVersion` parameter.
945
1178
  #
946
1179
  # For more information about working with configurations, see
947
- # [Retrieving the Configuration][1] in the *AWS AppConfig User Guide*.
1180
+ # [Retrieving the Configuration][1] in the *AppConfig User Guide*.
948
1181
  #
949
1182
  #
950
1183
  #
951
- # [1]: https://docs.aws.amazon.com/systems-manager/latest/userguide/appconfig-retrieving-the-configuration.html
1184
+ # [1]: http://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-retrieving-the-configuration.html
952
1185
  #
953
1186
  # @return [Types::Configuration] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
954
1187
  #
@@ -956,6 +1189,27 @@ module Aws::AppConfig
956
1189
  # * {Types::Configuration#configuration_version #configuration_version} => String
957
1190
  # * {Types::Configuration#content_type #content_type} => String
958
1191
  #
1192
+ #
1193
+ # @example Example: To retrieve configuration details
1194
+ #
1195
+ # # The following get-configuration example returns the configuration details of the example application. On subsequent
1196
+ # # calls to get-configuration, use the client-configuration-version parameter to only update the configuration of your
1197
+ # # application if the version has changed. Only updating the configuration when the version has changed avoids excess
1198
+ # # charges incurred by calling get-configuration.
1199
+ #
1200
+ # resp = client.get_configuration({
1201
+ # application: "example-application",
1202
+ # client_id: "example-id",
1203
+ # configuration: "Example-Configuration-Profile",
1204
+ # environment: "Example-Environment",
1205
+ # })
1206
+ #
1207
+ # resp.to_h outputs the following:
1208
+ # {
1209
+ # configuration_version: "1",
1210
+ # content_type: "application/octet-stream",
1211
+ # }
1212
+ #
959
1213
  # @example Request syntax with placeholder values
960
1214
  #
961
1215
  # resp = client.get_configuration({
@@ -981,14 +1235,14 @@ module Aws::AppConfig
981
1235
  req.send_request(options)
982
1236
  end
983
1237
 
984
- # Retrieve information about a configuration profile.
1238
+ # Retrieves information about a configuration profile.
985
1239
  #
986
1240
  # @option params [required, String] :application_id
987
1241
  # The ID of the application that includes the configuration profile you
988
1242
  # want to get.
989
1243
  #
990
1244
  # @option params [required, String] :configuration_profile_id
991
- # The ID of the configuration profile you want to get.
1245
+ # The ID of the configuration profile that you want to get.
992
1246
  #
993
1247
  # @return [Types::ConfigurationProfile] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
994
1248
  #
@@ -999,6 +1253,26 @@ module Aws::AppConfig
999
1253
  # * {Types::ConfigurationProfile#location_uri #location_uri} => String
1000
1254
  # * {Types::ConfigurationProfile#retrieval_role_arn #retrieval_role_arn} => String
1001
1255
  # * {Types::ConfigurationProfile#validators #validators} => Array&lt;Types::Validator&gt;
1256
+ # * {Types::ConfigurationProfile#type #type} => String
1257
+ #
1258
+ #
1259
+ # @example Example: To retrieve configuration profile details
1260
+ #
1261
+ # # The following get-configuration-profile example returns the details of the specified configuration profile.
1262
+ #
1263
+ # resp = client.get_configuration_profile({
1264
+ # application_id: "339ohji",
1265
+ # configuration_profile_id: "ur8hx2f",
1266
+ # })
1267
+ #
1268
+ # resp.to_h outputs the following:
1269
+ # {
1270
+ # application_id: "339ohji",
1271
+ # id: "ur8hx2f",
1272
+ # location_uri: "ssm-parameter://Example-Parameter",
1273
+ # name: "Example-Configuration-Profile",
1274
+ # retrieval_role_arn: "arn:aws:iam::111122223333:role/Example-App-Config-Role",
1275
+ # }
1002
1276
  #
1003
1277
  # @example Request syntax with placeholder values
1004
1278
  #
@@ -1018,6 +1292,7 @@ module Aws::AppConfig
1018
1292
  # resp.validators #=> Array
1019
1293
  # resp.validators[0].type #=> String, one of "JSON_SCHEMA", "LAMBDA"
1020
1294
  # resp.validators[0].content #=> String
1295
+ # resp.type #=> String
1021
1296
  #
1022
1297
  # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetConfigurationProfile AWS API Documentation
1023
1298
  #
@@ -1028,7 +1303,7 @@ module Aws::AppConfig
1028
1303
  req.send_request(options)
1029
1304
  end
1030
1305
 
1031
- # Retrieve information about a configuration deployment.
1306
+ # Retrieves information about a configuration deployment.
1032
1307
  #
1033
1308
  # @option params [required, String] :application_id
1034
1309
  # The ID of the application that includes the deployment you want to
@@ -1062,6 +1337,82 @@ module Aws::AppConfig
1062
1337
  # * {Types::Deployment#started_at #started_at} => Time
1063
1338
  # * {Types::Deployment#completed_at #completed_at} => Time
1064
1339
  #
1340
+ #
1341
+ # @example Example: To retrieve deployment details
1342
+ #
1343
+ # # The following get-deployment example lists details of the deployment to the application in the specified environment and
1344
+ # # deployment.
1345
+ #
1346
+ # resp = client.get_deployment({
1347
+ # application_id: "339ohji",
1348
+ # deployment_number: 1,
1349
+ # environment_id: "54j1r29",
1350
+ # })
1351
+ #
1352
+ # resp.to_h outputs the following:
1353
+ # {
1354
+ # application_id: "339ohji",
1355
+ # completed_at: Time.parse("2021-09-17T21:59:03.888000+00:00"),
1356
+ # configuration_location_uri: "ssm-parameter://Example-Parameter",
1357
+ # configuration_name: "Example-Configuration-Profile",
1358
+ # configuration_profile_id: "ur8hx2f",
1359
+ # configuration_version: "1",
1360
+ # deployment_duration_in_minutes: 15,
1361
+ # deployment_number: 1,
1362
+ # deployment_strategy_id: "1225qzk",
1363
+ # environment_id: "54j1r29",
1364
+ # event_log: [
1365
+ # {
1366
+ # description: "Deployment completed",
1367
+ # event_type: "DEPLOYMENT_COMPLETED",
1368
+ # occurred_at: Time.parse("2021-09-17T21:59:03.888000+00:00"),
1369
+ # triggered_by: "APPCONFIG",
1370
+ # },
1371
+ # {
1372
+ # description: "Deployment bake time started",
1373
+ # event_type: "BAKE_TIME_STARTED",
1374
+ # occurred_at: Time.parse("2021-09-17T21:58:57.722000+00:00"),
1375
+ # triggered_by: "APPCONFIG",
1376
+ # },
1377
+ # {
1378
+ # description: "Configuration available to 100.00% of clients",
1379
+ # event_type: "PERCENTAGE_UPDATED",
1380
+ # occurred_at: Time.parse("2021-09-17T21:55:56.816000+00:00"),
1381
+ # triggered_by: "APPCONFIG",
1382
+ # },
1383
+ # {
1384
+ # description: "Configuration available to 75.00% of clients",
1385
+ # event_type: "PERCENTAGE_UPDATED",
1386
+ # occurred_at: Time.parse("2021-09-17T21:52:56.567000+00:00"),
1387
+ # triggered_by: "APPCONFIG",
1388
+ # },
1389
+ # {
1390
+ # description: "Configuration available to 50.00% of clients",
1391
+ # event_type: "PERCENTAGE_UPDATED",
1392
+ # occurred_at: Time.parse("2021-09-17T21:49:55.737000+00:00"),
1393
+ # triggered_by: "APPCONFIG",
1394
+ # },
1395
+ # {
1396
+ # description: "Configuration available to 25.00% of clients",
1397
+ # event_type: "PERCENTAGE_UPDATED",
1398
+ # occurred_at: Time.parse("2021-09-17T21:46:55.187000+00:00"),
1399
+ # triggered_by: "APPCONFIG",
1400
+ # },
1401
+ # {
1402
+ # description: "Deployment started",
1403
+ # event_type: "DEPLOYMENT_STARTED",
1404
+ # occurred_at: Time.parse("2021-09-17T21:43:54.205000+00:00"),
1405
+ # triggered_by: "USER",
1406
+ # },
1407
+ # ],
1408
+ # final_bake_time_in_minutes: 0,
1409
+ # growth_factor: 25,
1410
+ # growth_type: "LINEAR",
1411
+ # percentage_complete: 100,
1412
+ # started_at: Time.parse("2021-09-17T21:43:54.205000+00:00"),
1413
+ # state: "COMPLETE",
1414
+ # }
1415
+ #
1065
1416
  # @example Request syntax with placeholder values
1066
1417
  #
1067
1418
  # resp = client.get_deployment({
@@ -1104,9 +1455,9 @@ module Aws::AppConfig
1104
1455
  req.send_request(options)
1105
1456
  end
1106
1457
 
1107
- # Retrieve information about a deployment strategy. A deployment
1458
+ # Retrieves information about a deployment strategy. A deployment
1108
1459
  # strategy defines important criteria for rolling out your configuration
1109
- # to the designated targets. A deployment strategy includes: the overall
1460
+ # to the designated targets. A deployment strategy includes the overall
1110
1461
  # duration required, a percentage of targets to receive the deployment
1111
1462
  # during each interval, an algorithm that defines how percentage grows,
1112
1463
  # and bake time.
@@ -1125,6 +1476,26 @@ module Aws::AppConfig
1125
1476
  # * {Types::DeploymentStrategy#final_bake_time_in_minutes #final_bake_time_in_minutes} => Integer
1126
1477
  # * {Types::DeploymentStrategy#replicate_to #replicate_to} => String
1127
1478
  #
1479
+ #
1480
+ # @example Example: To retrieve details of a deployment strategy
1481
+ #
1482
+ # # The following get-deployment-strategy example lists the details of the specified deployment strategy.
1483
+ #
1484
+ # resp = client.get_deployment_strategy({
1485
+ # deployment_strategy_id: "1225qzk",
1486
+ # })
1487
+ #
1488
+ # resp.to_h outputs the following:
1489
+ # {
1490
+ # deployment_duration_in_minutes: 15,
1491
+ # final_bake_time_in_minutes: 0,
1492
+ # growth_factor: 25,
1493
+ # growth_type: "LINEAR",
1494
+ # id: "1225qzk",
1495
+ # name: "Example-Deployment",
1496
+ # replicate_to: "SSM_DOCUMENT",
1497
+ # }
1498
+ #
1128
1499
  # @example Request syntax with placeholder values
1129
1500
  #
1130
1501
  # resp = client.get_deployment_strategy({
@@ -1151,19 +1522,20 @@ module Aws::AppConfig
1151
1522
  req.send_request(options)
1152
1523
  end
1153
1524
 
1154
- # Retrieve information about an environment. An environment is a logical
1155
- # deployment group of AppConfig applications, such as applications in a
1156
- # `Production` environment or in an `EU_Region` environment. Each
1157
- # configuration deployment targets an environment. You can enable one or
1158
- # more Amazon CloudWatch alarms for an environment. If an alarm is
1159
- # triggered during a deployment, AppConfig roles back the configuration.
1525
+ # Retrieves information about an environment. An environment is a
1526
+ # logical deployment group of AppConfig applications, such as
1527
+ # applications in a `Production` environment or in an `EU_Region`
1528
+ # environment. Each configuration deployment targets an environment. You
1529
+ # can enable one or more Amazon CloudWatch alarms for an environment. If
1530
+ # an alarm is triggered during a deployment, AppConfig roles back the
1531
+ # configuration.
1160
1532
  #
1161
1533
  # @option params [required, String] :application_id
1162
1534
  # The ID of the application that includes the environment you want to
1163
1535
  # get.
1164
1536
  #
1165
1537
  # @option params [required, String] :environment_id
1166
- # The ID of the environment you wnat to get.
1538
+ # The ID of the environment that you want to get.
1167
1539
  #
1168
1540
  # @return [Types::Environment] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1169
1541
  #
@@ -1174,6 +1546,24 @@ module Aws::AppConfig
1174
1546
  # * {Types::Environment#state #state} => String
1175
1547
  # * {Types::Environment#monitors #monitors} => Array&lt;Types::Monitor&gt;
1176
1548
  #
1549
+ #
1550
+ # @example Example: To retrieve environment details
1551
+ #
1552
+ # # The following get-environment example returns the details and state of the specified environment.
1553
+ #
1554
+ # resp = client.get_environment({
1555
+ # application_id: "339ohji",
1556
+ # environment_id: "54j1r29",
1557
+ # })
1558
+ #
1559
+ # resp.to_h outputs the following:
1560
+ # {
1561
+ # application_id: "339ohji",
1562
+ # id: "54j1r29",
1563
+ # name: "Example-Environment",
1564
+ # state: "READY_FOR_DEPLOYMENT",
1565
+ # }
1566
+ #
1177
1567
  # @example Request syntax with placeholder values
1178
1568
  #
1179
1569
  # resp = client.get_environment({
@@ -1201,7 +1591,7 @@ module Aws::AppConfig
1201
1591
  req.send_request(options)
1202
1592
  end
1203
1593
 
1204
- # Get information about a specific configuration version.
1594
+ # Retrieves information about a specific configuration version.
1205
1595
  #
1206
1596
  # @option params [required, String] :application_id
1207
1597
  # The application ID.
@@ -1221,6 +1611,26 @@ module Aws::AppConfig
1221
1611
  # * {Types::HostedConfigurationVersion#content #content} => String
1222
1612
  # * {Types::HostedConfigurationVersion#content_type #content_type} => String
1223
1613
  #
1614
+ #
1615
+ # @example Example: To retrieve hosted configuration details
1616
+ #
1617
+ # # The following get-hosted-configuration-version example retrieves the configuration details of the AWS AppConfig hosted
1618
+ # # configuration.
1619
+ #
1620
+ # resp = client.get_hosted_configuration_version({
1621
+ # application_id: "339ohji",
1622
+ # configuration_profile_id: "ur8hx2f",
1623
+ # version_number: 1,
1624
+ # })
1625
+ #
1626
+ # resp.to_h outputs the following:
1627
+ # {
1628
+ # application_id: "339ohji",
1629
+ # configuration_profile_id: "ur8hx2f",
1630
+ # content_type: "application/json",
1631
+ # version_number: 1,
1632
+ # }
1633
+ #
1224
1634
  # @example Request syntax with placeholder values
1225
1635
  #
1226
1636
  # resp = client.get_hosted_configuration_version({
@@ -1247,7 +1657,7 @@ module Aws::AppConfig
1247
1657
  req.send_request(options)
1248
1658
  end
1249
1659
 
1250
- # List all applications in your AWS account.
1660
+ # Lists all applications in your Amazon Web Services account.
1251
1661
  #
1252
1662
  # @option params [Integer] :max_results
1253
1663
  # The maximum number of items to return for this call. The call also
@@ -1255,8 +1665,12 @@ module Aws::AppConfig
1255
1665
  # next set of results.
1256
1666
  #
1257
1667
  # @option params [String] :next_token
1258
- # A token to start the list. Use this token to get the next set of
1259
- # results.
1668
+ # A token to start the list. Next token is a pagination token generated
1669
+ # by AppConfig to describe what page the previous List call ended on.
1670
+ # For the first List request, the nextToken should not be set. On
1671
+ # subsequent calls, the nextToken parameter should be set to the
1672
+ # previous responses nextToken value. Use this token to get the next set
1673
+ # of results.
1260
1674
  #
1261
1675
  # @return [Types::Applications] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1262
1676
  #
@@ -1265,6 +1679,29 @@ module Aws::AppConfig
1265
1679
  #
1266
1680
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1267
1681
  #
1682
+ #
1683
+ # @example Example: To list the available applications
1684
+ #
1685
+ # # The following list-applications example lists the available applications in your AWS account.
1686
+ #
1687
+ # resp = client.list_applications({
1688
+ # })
1689
+ #
1690
+ # resp.to_h outputs the following:
1691
+ # {
1692
+ # items: [
1693
+ # {
1694
+ # description: "An application used for creating an example.",
1695
+ # id: "339ohji",
1696
+ # name: "test-application",
1697
+ # },
1698
+ # {
1699
+ # id: "rwalwu7",
1700
+ # name: "Test-Application",
1701
+ # },
1702
+ # ],
1703
+ # }
1704
+ #
1268
1705
  # @example Request syntax with placeholder values
1269
1706
  #
1270
1707
  # resp = client.list_applications({
@@ -1303,6 +1740,11 @@ module Aws::AppConfig
1303
1740
  # A token to start the list. Use this token to get the next set of
1304
1741
  # results.
1305
1742
  #
1743
+ # @option params [String] :type
1744
+ # A filter based on the type of configurations that the configuration
1745
+ # profile contains. A configuration can be a feature flag or a freeform
1746
+ # configuration.
1747
+ #
1306
1748
  # @return [Types::ConfigurationProfiles] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1307
1749
  #
1308
1750
  # * {Types::ConfigurationProfiles#items #items} => Array&lt;Types::ConfigurationProfileSummary&gt;
@@ -1310,12 +1752,35 @@ module Aws::AppConfig
1310
1752
  #
1311
1753
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1312
1754
  #
1755
+ #
1756
+ # @example Example: To list the available configuration profiles
1757
+ #
1758
+ # # The following list-configuration-profiles example lists the available configuration profiles for the specified
1759
+ # # application.
1760
+ #
1761
+ # resp = client.list_configuration_profiles({
1762
+ # application_id: "339ohji",
1763
+ # })
1764
+ #
1765
+ # resp.to_h outputs the following:
1766
+ # {
1767
+ # items: [
1768
+ # {
1769
+ # application_id: "339ohji",
1770
+ # id: "ur8hx2f",
1771
+ # location_uri: "ssm-parameter://Example-Parameter",
1772
+ # name: "Example-Configuration-Profile",
1773
+ # },
1774
+ # ],
1775
+ # }
1776
+ #
1313
1777
  # @example Request syntax with placeholder values
1314
1778
  #
1315
1779
  # resp = client.list_configuration_profiles({
1316
1780
  # application_id: "Id", # required
1317
1781
  # max_results: 1,
1318
1782
  # next_token: "NextToken",
1783
+ # type: "ConfigurationProfileType",
1319
1784
  # })
1320
1785
  #
1321
1786
  # @example Response structure
@@ -1327,6 +1792,7 @@ module Aws::AppConfig
1327
1792
  # resp.items[0].location_uri #=> String
1328
1793
  # resp.items[0].validator_types #=> Array
1329
1794
  # resp.items[0].validator_types[0] #=> String, one of "JSON_SCHEMA", "LAMBDA"
1795
+ # resp.items[0].type #=> String
1330
1796
  # resp.next_token #=> String
1331
1797
  #
1332
1798
  # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListConfigurationProfiles AWS API Documentation
@@ -1338,7 +1804,7 @@ module Aws::AppConfig
1338
1804
  req.send_request(options)
1339
1805
  end
1340
1806
 
1341
- # List deployment strategies.
1807
+ # Lists deployment strategies.
1342
1808
  #
1343
1809
  # @option params [Integer] :max_results
1344
1810
  # The maximum number of items to return for this call. The call also
@@ -1356,6 +1822,29 @@ module Aws::AppConfig
1356
1822
  #
1357
1823
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1358
1824
  #
1825
+ #
1826
+ # @example Example: To list the available deployment strategies
1827
+ #
1828
+ # # The following list-deployment-strategies example lists the available deployment strategies in your AWS account.
1829
+ #
1830
+ # resp = client.list_deployment_strategies({
1831
+ # })
1832
+ #
1833
+ # resp.to_h outputs the following:
1834
+ # {
1835
+ # items: [
1836
+ # {
1837
+ # deployment_duration_in_minutes: 15,
1838
+ # final_bake_time_in_minutes: 0,
1839
+ # growth_factor: 25,
1840
+ # growth_type: "LINEAR",
1841
+ # id: "1225qzk",
1842
+ # name: "Example-Deployment",
1843
+ # replicate_to: "SSM_DOCUMENT",
1844
+ # },
1845
+ # ],
1846
+ # }
1847
+ #
1359
1848
  # @example Request syntax with placeholder values
1360
1849
  #
1361
1850
  # resp = client.list_deployment_strategies({
@@ -1385,7 +1874,8 @@ module Aws::AppConfig
1385
1874
  req.send_request(options)
1386
1875
  end
1387
1876
 
1388
- # Lists the deployments for an environment.
1877
+ # Lists the deployments for an environment in descending deployment
1878
+ # number order.
1389
1879
  #
1390
1880
  # @option params [required, String] :application_id
1391
1881
  # The application ID.
@@ -1394,13 +1884,15 @@ module Aws::AppConfig
1394
1884
  # The environment ID.
1395
1885
  #
1396
1886
  # @option params [Integer] :max_results
1397
- # The maximum number of items to return for this call. The call also
1398
- # returns a token that you can specify in a subsequent call to get the
1399
- # next set of results.
1887
+ # The maximum number of items that may be returned for this call. If
1888
+ # there are items that have not yet been returned, the response will
1889
+ # include a non-null `NextToken` that you can provide in a subsequent
1890
+ # call to get the next set of results.
1400
1891
  #
1401
1892
  # @option params [String] :next_token
1402
- # A token to start the list. Use this token to get the next set of
1403
- # results.
1893
+ # The token returned by a prior call to this operation indicating the
1894
+ # next set of results to be returned. If not specified, the operation
1895
+ # will return the first set of results.
1404
1896
  #
1405
1897
  # @return [Types::Deployments] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1406
1898
  #
@@ -1409,6 +1901,36 @@ module Aws::AppConfig
1409
1901
  #
1410
1902
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1411
1903
  #
1904
+ #
1905
+ # @example Example: To list the available deployments
1906
+ #
1907
+ # # The following list-deployments example lists the available deployments in your AWS account for the specified application
1908
+ # # and environment.
1909
+ #
1910
+ # resp = client.list_deployments({
1911
+ # application_id: "339ohji",
1912
+ # environment_id: "54j1r29",
1913
+ # })
1914
+ #
1915
+ # resp.to_h outputs the following:
1916
+ # {
1917
+ # items: [
1918
+ # {
1919
+ # completed_at: Time.parse("2021-09-17T21:59:03.888000+00:00"),
1920
+ # configuration_name: "Example-Configuration-Profile",
1921
+ # configuration_version: "1",
1922
+ # deployment_duration_in_minutes: 15,
1923
+ # deployment_number: 1,
1924
+ # final_bake_time_in_minutes: 0,
1925
+ # growth_factor: 25,
1926
+ # growth_type: "LINEAR",
1927
+ # percentage_complete: 100,
1928
+ # started_at: Time.parse("2021-09-17T21:43:54.205000+00:00"),
1929
+ # state: "COMPLETE",
1930
+ # },
1931
+ # ],
1932
+ # }
1933
+ #
1412
1934
  # @example Request syntax with placeholder values
1413
1935
  #
1414
1936
  # resp = client.list_deployments({
@@ -1443,7 +1965,7 @@ module Aws::AppConfig
1443
1965
  req.send_request(options)
1444
1966
  end
1445
1967
 
1446
- # List the environments for an application.
1968
+ # Lists the environments for an application.
1447
1969
  #
1448
1970
  # @option params [required, String] :application_id
1449
1971
  # The application ID.
@@ -1464,6 +1986,28 @@ module Aws::AppConfig
1464
1986
  #
1465
1987
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1466
1988
  #
1989
+ #
1990
+ # @example Example: To list the available environments
1991
+ #
1992
+ # # The following list-environments example lists the available environments in your AWS account for the specified
1993
+ # # application.
1994
+ #
1995
+ # resp = client.list_environments({
1996
+ # application_id: "339ohji",
1997
+ # })
1998
+ #
1999
+ # resp.to_h outputs the following:
2000
+ # {
2001
+ # items: [
2002
+ # {
2003
+ # application_id: "339ohji",
2004
+ # id: "54j1r29",
2005
+ # name: "Example-Environment",
2006
+ # state: "READY_FOR_DEPLOYMENT",
2007
+ # },
2008
+ # ],
2009
+ # }
2010
+ #
1467
2011
  # @example Request syntax with placeholder values
1468
2012
  #
1469
2013
  # resp = client.list_environments({
@@ -1494,7 +2038,7 @@ module Aws::AppConfig
1494
2038
  req.send_request(options)
1495
2039
  end
1496
2040
 
1497
- # View a list of configurations stored in the AppConfig configuration
2041
+ # Lists configurations stored in the AppConfig hosted configuration
1498
2042
  # store by version.
1499
2043
  #
1500
2044
  # @option params [required, String] :application_id
@@ -1519,6 +2063,29 @@ module Aws::AppConfig
1519
2063
  #
1520
2064
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1521
2065
  #
2066
+ #
2067
+ # @example Example: To list the available hosted configuration versions
2068
+ #
2069
+ # # The following list-hosted-configuration-versions example lists the configurations versions hosted in the AWS AppConfig
2070
+ # # hosted configuration store for the specified application and configuration profile.
2071
+ #
2072
+ # resp = client.list_hosted_configuration_versions({
2073
+ # application_id: "339ohji",
2074
+ # configuration_profile_id: "ur8hx2f",
2075
+ # })
2076
+ #
2077
+ # resp.to_h outputs the following:
2078
+ # {
2079
+ # items: [
2080
+ # {
2081
+ # application_id: "339ohji",
2082
+ # configuration_profile_id: "ur8hx2f",
2083
+ # content_type: "application/json",
2084
+ # version_number: 1,
2085
+ # },
2086
+ # ],
2087
+ # }
2088
+ #
1522
2089
  # @example Request syntax with placeholder values
1523
2090
  #
1524
2091
  # resp = client.list_hosted_configuration_versions({
@@ -1556,6 +2123,22 @@ module Aws::AppConfig
1556
2123
  #
1557
2124
  # * {Types::ResourceTags#tags #tags} => Hash&lt;String,String&gt;
1558
2125
  #
2126
+ #
2127
+ # @example Example: To list the tags of an application
2128
+ #
2129
+ # # The following list-tags-for-resource example lists the tags of a specified application.
2130
+ #
2131
+ # resp = client.list_tags_for_resource({
2132
+ # resource_arn: "arn:aws:appconfig:us-east-1:111122223333:application/339ohji",
2133
+ # })
2134
+ #
2135
+ # resp.to_h outputs the following:
2136
+ # {
2137
+ # tags: {
2138
+ # "group1" => "1",
2139
+ # },
2140
+ # }
2141
+ #
1559
2142
  # @example Request syntax with placeholder values
1560
2143
  #
1561
2144
  # resp = client.list_tags_for_resource({
@@ -1622,6 +2205,50 @@ module Aws::AppConfig
1622
2205
  # * {Types::Deployment#started_at #started_at} => Time
1623
2206
  # * {Types::Deployment#completed_at #completed_at} => Time
1624
2207
  #
2208
+ #
2209
+ # @example Example: To start a configuration deployment
2210
+ #
2211
+ # # The following start-deployment example starts a deployment to the application using the specified environment,
2212
+ # # deployment strategy, and configuration profile.
2213
+ #
2214
+ # resp = client.start_deployment({
2215
+ # application_id: "339ohji",
2216
+ # configuration_profile_id: "ur8hx2f",
2217
+ # configuration_version: "1",
2218
+ # deployment_strategy_id: "1225qzk",
2219
+ # description: "",
2220
+ # environment_id: "54j1r29",
2221
+ # tags: {
2222
+ # },
2223
+ # })
2224
+ #
2225
+ # resp.to_h outputs the following:
2226
+ # {
2227
+ # application_id: "339ohji",
2228
+ # configuration_location_uri: "ssm-parameter://Example-Parameter",
2229
+ # configuration_name: "Example-Configuration-Profile",
2230
+ # configuration_profile_id: "ur8hx2f",
2231
+ # configuration_version: "1",
2232
+ # deployment_duration_in_minutes: 15,
2233
+ # deployment_number: 1,
2234
+ # deployment_strategy_id: "1225qzk",
2235
+ # environment_id: "54j1r29",
2236
+ # event_log: [
2237
+ # {
2238
+ # description: "Deployment started",
2239
+ # event_type: "DEPLOYMENT_STARTED",
2240
+ # occurred_at: Time.parse("2021-09-17T21:43:54.205000+00:00"),
2241
+ # triggered_by: "USER",
2242
+ # },
2243
+ # ],
2244
+ # final_bake_time_in_minutes: 0,
2245
+ # growth_factor: 25,
2246
+ # growth_type: "LINEAR",
2247
+ # percentage_complete: 1.0,
2248
+ # started_at: Time.parse("2021-09-17T21:43:54.205000+00:00"),
2249
+ # state: "DEPLOYING",
2250
+ # }
2251
+ #
1625
2252
  # @example Request syntax with placeholder values
1626
2253
  #
1627
2254
  # resp = client.start_deployment({
@@ -1704,6 +2331,26 @@ module Aws::AppConfig
1704
2331
  # * {Types::Deployment#started_at #started_at} => Time
1705
2332
  # * {Types::Deployment#completed_at #completed_at} => Time
1706
2333
  #
2334
+ #
2335
+ # @example Example: To stop configuration deployment
2336
+ #
2337
+ # # The following stop-deployment example stops the deployment of an application configuration to the specified environment.
2338
+ #
2339
+ # resp = client.stop_deployment({
2340
+ # application_id: "339ohji",
2341
+ # deployment_number: 2,
2342
+ # environment_id: "54j1r29",
2343
+ # })
2344
+ #
2345
+ # resp.to_h outputs the following:
2346
+ # {
2347
+ # deployment_duration_in_minutes: 15,
2348
+ # deployment_number: 2,
2349
+ # final_bake_time_in_minutes: 0,
2350
+ # growth_factor: 25.0,
2351
+ # percentage_complete: 1.0,
2352
+ # }
2353
+ #
1707
2354
  # @example Request syntax with placeholder values
1708
2355
  #
1709
2356
  # resp = client.stop_deployment({
@@ -1746,7 +2393,7 @@ module Aws::AppConfig
1746
2393
  req.send_request(options)
1747
2394
  end
1748
2395
 
1749
- # Metadata to assign to an AppConfig resource. Tags help organize and
2396
+ # Assigns metadata to an AppConfig resource. Tags help organize and
1750
2397
  # categorize your AppConfig resources. Each tag consists of a key and an
1751
2398
  # optional value, both of which you define. You can specify a maximum of
1752
2399
  # 50 tags for a resource.
@@ -1761,6 +2408,18 @@ module Aws::AppConfig
1761
2408
  #
1762
2409
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1763
2410
  #
2411
+ #
2412
+ # @example Example: To tag an application
2413
+ #
2414
+ # # The following tag-resource example tags an application resource.
2415
+ #
2416
+ # resp = client.tag_resource({
2417
+ # resource_arn: "arn:aws:appconfig:us-east-1:111122223333:application/339ohji",
2418
+ # tags: {
2419
+ # "group1" => "1",
2420
+ # },
2421
+ # })
2422
+ #
1764
2423
  # @example Request syntax with placeholder values
1765
2424
  #
1766
2425
  # resp = client.tag_resource({
@@ -1789,6 +2448,18 @@ module Aws::AppConfig
1789
2448
  #
1790
2449
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1791
2450
  #
2451
+ #
2452
+ # @example Example: To remove a tag from an application
2453
+ #
2454
+ # # The following untag-resource example removes the group1 tag from the specified application.
2455
+ #
2456
+ # resp = client.untag_resource({
2457
+ # resource_arn: "arn:aws:appconfig:us-east-1:111122223333:application/339ohji",
2458
+ # tag_keys: [
2459
+ # "group1",
2460
+ # ],
2461
+ # })
2462
+ #
1792
2463
  # @example Request syntax with placeholder values
1793
2464
  #
1794
2465
  # resp = client.untag_resource({
@@ -1822,6 +2493,24 @@ module Aws::AppConfig
1822
2493
  # * {Types::Application#name #name} => String
1823
2494
  # * {Types::Application#description #description} => String
1824
2495
  #
2496
+ #
2497
+ # @example Example: To update an application
2498
+ #
2499
+ # # The following update-application example updates the name of the specified application.
2500
+ #
2501
+ # resp = client.update_application({
2502
+ # application_id: "339ohji",
2503
+ # description: "",
2504
+ # name: "Example-Application",
2505
+ # })
2506
+ #
2507
+ # resp.to_h outputs the following:
2508
+ # {
2509
+ # description: "An application used for creating an example.",
2510
+ # id: "339ohji",
2511
+ # name: "Example-Application",
2512
+ # }
2513
+ #
1825
2514
  # @example Request syntax with placeholder values
1826
2515
  #
1827
2516
  # resp = client.update_application({
@@ -1861,7 +2550,7 @@ module Aws::AppConfig
1861
2550
  #
1862
2551
  # @option params [String] :retrieval_role_arn
1863
2552
  # The ARN of an IAM role with permission to access the configuration at
1864
- # the specified LocationUri.
2553
+ # the specified `LocationUri`.
1865
2554
  #
1866
2555
  # @option params [Array<Types::Validator>] :validators
1867
2556
  # A list of methods for validating the configuration.
@@ -1875,6 +2564,28 @@ module Aws::AppConfig
1875
2564
  # * {Types::ConfigurationProfile#location_uri #location_uri} => String
1876
2565
  # * {Types::ConfigurationProfile#retrieval_role_arn #retrieval_role_arn} => String
1877
2566
  # * {Types::ConfigurationProfile#validators #validators} => Array&lt;Types::Validator&gt;
2567
+ # * {Types::ConfigurationProfile#type #type} => String
2568
+ #
2569
+ #
2570
+ # @example Example: To update a configuration profile
2571
+ #
2572
+ # # The following update-configuration-profile example updates the description of the specified configuration profile.
2573
+ #
2574
+ # resp = client.update_configuration_profile({
2575
+ # application_id: "339ohji",
2576
+ # configuration_profile_id: "ur8hx2f",
2577
+ # description: "Configuration profile used for examples.",
2578
+ # })
2579
+ #
2580
+ # resp.to_h outputs the following:
2581
+ # {
2582
+ # application_id: "339ohji",
2583
+ # description: "Configuration profile used for examples.",
2584
+ # id: "ur8hx2f",
2585
+ # location_uri: "ssm-parameter://Example-Parameter",
2586
+ # name: "Example-Configuration-Profile",
2587
+ # retrieval_role_arn: "arn:aws:iam::111122223333:role/Example-App-Config-Role",
2588
+ # }
1878
2589
  #
1879
2590
  # @example Request syntax with placeholder values
1880
2591
  #
@@ -1903,6 +2614,7 @@ module Aws::AppConfig
1903
2614
  # resp.validators #=> Array
1904
2615
  # resp.validators[0].type #=> String, one of "JSON_SCHEMA", "LAMBDA"
1905
2616
  # resp.validators[0].content #=> String
2617
+ # resp.type #=> String
1906
2618
  #
1907
2619
  # @see http://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateConfigurationProfile AWS API Documentation
1908
2620
  #
@@ -1925,17 +2637,17 @@ module Aws::AppConfig
1925
2637
  # Total amount of time for a deployment to last.
1926
2638
  #
1927
2639
  # @option params [Integer] :final_bake_time_in_minutes
1928
- # The amount of time AppConfig monitors for alarms before considering
1929
- # the deployment to be complete and no longer eligible for automatic
1930
- # roll back.
2640
+ # The amount of time that AppConfig monitors for alarms before
2641
+ # considering the deployment to be complete and no longer eligible for
2642
+ # automatic rollback.
1931
2643
  #
1932
2644
  # @option params [Float] :growth_factor
1933
2645
  # The percentage of targets to receive a deployed configuration during
1934
2646
  # each interval.
1935
2647
  #
1936
2648
  # @option params [String] :growth_type
1937
- # The algorithm used to define how percentage grows over time. AWS
1938
- # AppConfig supports the following growth types:
2649
+ # The algorithm used to define how percentage grows over time. AppConfig
2650
+ # supports the following growth types:
1939
2651
  #
1940
2652
  # **Linear**\: For this type, AppConfig processes the deployment by
1941
2653
  # increments of the growth factor evenly distributed over the deployment
@@ -1973,6 +2685,28 @@ module Aws::AppConfig
1973
2685
  # * {Types::DeploymentStrategy#final_bake_time_in_minutes #final_bake_time_in_minutes} => Integer
1974
2686
  # * {Types::DeploymentStrategy#replicate_to #replicate_to} => String
1975
2687
  #
2688
+ #
2689
+ # @example Example: To update a deployment strategy
2690
+ #
2691
+ # # The following update-deployment-strategy example updates final bake time to 20 minutes in the specified deployment
2692
+ # # strategy. ::
2693
+ #
2694
+ # resp = client.update_deployment_strategy({
2695
+ # deployment_strategy_id: "1225qzk",
2696
+ # final_bake_time_in_minutes: 20,
2697
+ # })
2698
+ #
2699
+ # resp.to_h outputs the following:
2700
+ # {
2701
+ # deployment_duration_in_minutes: 15,
2702
+ # final_bake_time_in_minutes: 20,
2703
+ # growth_factor: 25,
2704
+ # growth_type: "LINEAR",
2705
+ # id: "1225qzk",
2706
+ # name: "Example-Deployment",
2707
+ # replicate_to: "SSM_DOCUMENT",
2708
+ # }
2709
+ #
1976
2710
  # @example Request syntax with placeholder values
1977
2711
  #
1978
2712
  # resp = client.update_deployment_strategy({
@@ -2030,6 +2764,26 @@ module Aws::AppConfig
2030
2764
  # * {Types::Environment#state #state} => String
2031
2765
  # * {Types::Environment#monitors #monitors} => Array&lt;Types::Monitor&gt;
2032
2766
  #
2767
+ #
2768
+ # @example Example: To update an environment
2769
+ #
2770
+ # # The following update-environment example updates an environment's description.
2771
+ #
2772
+ # resp = client.update_environment({
2773
+ # application_id: "339ohji",
2774
+ # description: "An environment for examples.",
2775
+ # environment_id: "54j1r29",
2776
+ # })
2777
+ #
2778
+ # resp.to_h outputs the following:
2779
+ # {
2780
+ # application_id: "339ohji",
2781
+ # description: "An environment for examples.",
2782
+ # id: "54j1r29",
2783
+ # name: "Example-Environment",
2784
+ # state: "ROLLED_BACK",
2785
+ # }
2786
+ #
2033
2787
  # @example Request syntax with placeholder values
2034
2788
  #
2035
2789
  # resp = client.update_environment({
@@ -2039,7 +2793,7 @@ module Aws::AppConfig
2039
2793
  # description: "Description",
2040
2794
  # monitors: [
2041
2795
  # {
2042
- # alarm_arn: "Arn",
2796
+ # alarm_arn: "StringWithLengthBetween1And2048", # required
2043
2797
  # alarm_role_arn: "RoleArn",
2044
2798
  # },
2045
2799
  # ],
@@ -2079,6 +2833,17 @@ module Aws::AppConfig
2079
2833
  #
2080
2834
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2081
2835
  #
2836
+ #
2837
+ # @example Example: To validate a configuration
2838
+ #
2839
+ # # The following validate-configuration example uses the validators in a configuration profile to validate a configuration.
2840
+ #
2841
+ # resp = client.validate_configuration({
2842
+ # application_id: "abc1234",
2843
+ # configuration_profile_id: "ur8hx2f",
2844
+ # configuration_version: "1",
2845
+ # })
2846
+ #
2082
2847
  # @example Request syntax with placeholder values
2083
2848
  #
2084
2849
  # resp = client.validate_configuration({
@@ -2109,7 +2874,7 @@ module Aws::AppConfig
2109
2874
  params: params,
2110
2875
  config: config)
2111
2876
  context[:gem_name] = 'aws-sdk-appconfig'
2112
- context[:gem_version] = '1.19.0'
2877
+ context[:gem_version] = '1.23.0'
2113
2878
  Seahorse::Client::Request.new(handlers, context)
2114
2879
  end
2115
2880