aws-sdk-appconfig 1.19.0 → 1.23.0

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