aws-sdk-acm 1.8.0 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5c7a38ae4cba49a94fbce4e32acaa068e774508d
4
- data.tar.gz: 44ce5505c1e8a38f31278ee222b54401131457e4
3
+ metadata.gz: e95fc0cc3d458b6e6efd9822d21038e286419c10
4
+ data.tar.gz: 0d284584e697726b5490ada11570a4bdef7b4b87
5
5
  SHA512:
6
- metadata.gz: d2391dfc6e7b0ba6abaa806d2979acb05a0433989d9672c11afb384aa544f50664d6ba7f6c76dce407b3417607f222c0cd4ecfe83161ed2e11b5822594a77b1c
7
- data.tar.gz: 45de13bb3523dd8218e963b459a85de985d846c716ac64ebe4b9739881eed49615c3ff10a46572790818d59c13a7e1f92eba75a364019e37c36bf53b1115d997
6
+ metadata.gz: 5a269e5590fbd35ddc7e514f11bb1698f1156ab0017c7b3b4f28d5a6932414acbedf7b9a79ab3d327f41621e619180a6a108ca91cca3883b5a73111ea2f5835b
7
+ data.tar.gz: adecb71c780e4de25fac677240bb4a897fafe6daf0cbd08412b5d50df00691d63722fa0ba24463abaa7730a122286c7844bcfee7563da70a6440a30ac6c072f7
@@ -12,6 +12,7 @@ require_relative 'aws-sdk-acm/types'
12
12
  require_relative 'aws-sdk-acm/client_api'
13
13
  require_relative 'aws-sdk-acm/client'
14
14
  require_relative 'aws-sdk-acm/errors'
15
+ require_relative 'aws-sdk-acm/waiters'
15
16
  require_relative 'aws-sdk-acm/resource'
16
17
  require_relative 'aws-sdk-acm/customizations'
17
18
 
@@ -42,6 +43,6 @@ require_relative 'aws-sdk-acm/customizations'
42
43
  # @service
43
44
  module Aws::ACM
44
45
 
45
- GEM_VERSION = '1.8.0'
46
+ GEM_VERSION = '1.9.0'
46
47
 
47
48
  end
@@ -980,14 +980,127 @@ module Aws::ACM
980
980
  params: params,
981
981
  config: config)
982
982
  context[:gem_name] = 'aws-sdk-acm'
983
- context[:gem_version] = '1.8.0'
983
+ context[:gem_version] = '1.9.0'
984
984
  Seahorse::Client::Request.new(handlers, context)
985
985
  end
986
986
 
987
+ # Polls an API operation until a resource enters a desired state.
988
+ #
989
+ # ## Basic Usage
990
+ #
991
+ # A waiter will call an API operation until:
992
+ #
993
+ # * It is successful
994
+ # * It enters a terminal state
995
+ # * It makes the maximum number of attempts
996
+ #
997
+ # In between attempts, the waiter will sleep.
998
+ #
999
+ # # polls in a loop, sleeping between attempts
1000
+ # client.waiter_until(waiter_name, params)
1001
+ #
1002
+ # ## Configuration
1003
+ #
1004
+ # You can configure the maximum number of polling attempts, and the
1005
+ # delay (in seconds) between each polling attempt. You can pass
1006
+ # configuration as the final arguments hash.
1007
+ #
1008
+ # # poll for ~25 seconds
1009
+ # client.wait_until(waiter_name, params, {
1010
+ # max_attempts: 5,
1011
+ # delay: 5,
1012
+ # })
1013
+ #
1014
+ # ## Callbacks
1015
+ #
1016
+ # You can be notified before each polling attempt and before each
1017
+ # delay. If you throw `:success` or `:failure` from these callbacks,
1018
+ # it will terminate the waiter.
1019
+ #
1020
+ # started_at = Time.now
1021
+ # client.wait_until(waiter_name, params, {
1022
+ #
1023
+ # # disable max attempts
1024
+ # max_attempts: nil,
1025
+ #
1026
+ # # poll for 1 hour, instead of a number of attempts
1027
+ # before_wait: -> (attempts, response) do
1028
+ # throw :failure if Time.now - started_at > 3600
1029
+ # end
1030
+ # })
1031
+ #
1032
+ # ## Handling Errors
1033
+ #
1034
+ # When a waiter is unsuccessful, it will raise an error.
1035
+ # All of the failure errors extend from
1036
+ # {Aws::Waiters::Errors::WaiterFailed}.
1037
+ #
1038
+ # begin
1039
+ # client.wait_until(...)
1040
+ # rescue Aws::Waiters::Errors::WaiterFailed
1041
+ # # resource did not enter the desired state in time
1042
+ # end
1043
+ #
1044
+ # ## Valid Waiters
1045
+ #
1046
+ # The following table lists the valid waiter names, the operations they call,
1047
+ # and the default `:delay` and `:max_attempts` values.
1048
+ #
1049
+ # | waiter_name | params | :delay | :max_attempts |
1050
+ # | --------------------- | ----------------------- | -------- | ------------- |
1051
+ # | certificate_validated | {#describe_certificate} | 60 | 40 |
1052
+ #
1053
+ # @raise [Errors::FailureStateError] Raised when the waiter terminates
1054
+ # because the waiter has entered a state that it will not transition
1055
+ # out of, preventing success.
1056
+ #
1057
+ # @raise [Errors::TooManyAttemptsError] Raised when the configured
1058
+ # maximum number of attempts have been made, and the waiter is not
1059
+ # yet successful.
1060
+ #
1061
+ # @raise [Errors::UnexpectedError] Raised when an error is encounted
1062
+ # while polling for a resource that is not expected.
1063
+ #
1064
+ # @raise [Errors::NoSuchWaiterError] Raised when you request to wait
1065
+ # for an unknown state.
1066
+ #
1067
+ # @return [Boolean] Returns `true` if the waiter was successful.
1068
+ # @param [Symbol] waiter_name
1069
+ # @param [Hash] params ({})
1070
+ # @param [Hash] options ({})
1071
+ # @option options [Integer] :max_attempts
1072
+ # @option options [Integer] :delay
1073
+ # @option options [Proc] :before_attempt
1074
+ # @option options [Proc] :before_wait
1075
+ def wait_until(waiter_name, params = {}, options = {})
1076
+ w = waiter(waiter_name, options)
1077
+ yield(w.waiter) if block_given? # deprecated
1078
+ w.wait(params)
1079
+ end
1080
+
987
1081
  # @api private
988
1082
  # @deprecated
989
1083
  def waiter_names
990
- []
1084
+ waiters.keys
1085
+ end
1086
+
1087
+ private
1088
+
1089
+ # @param [Symbol] waiter_name
1090
+ # @param [Hash] options ({})
1091
+ def waiter(waiter_name, options = {})
1092
+ waiter_class = waiters[waiter_name]
1093
+ if waiter_class
1094
+ waiter_class.new(options.merge(client: self))
1095
+ else
1096
+ raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
1097
+ end
1098
+ end
1099
+
1100
+ def waiters
1101
+ {
1102
+ certificate_validated: Waiters::CertificateValidated
1103
+ }
991
1104
  end
992
1105
 
993
1106
  class << self
@@ -0,0 +1,68 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core/waiters'
9
+
10
+ module Aws::ACM
11
+ module Waiters
12
+
13
+ class CertificateValidated
14
+
15
+ # @param [Hash] options
16
+ # @option options [required, Client] :client
17
+ # @option options [Integer] :max_attempts (40)
18
+ # @option options [Integer] :delay (60)
19
+ # @option options [Proc] :before_attempt
20
+ # @option options [Proc] :before_wait
21
+ def initialize(options)
22
+ @client = options.fetch(:client)
23
+ @waiter = Aws::Waiters::Waiter.new({
24
+ max_attempts: 40,
25
+ delay: 60,
26
+ poller: Aws::Waiters::Poller.new(
27
+ operation_name: :describe_certificate,
28
+ acceptors: [
29
+ {
30
+ "matcher" => "pathAll",
31
+ "expected" => "SUCCESS",
32
+ "argument" => "certificate.domain_validation_options[].validation_status",
33
+ "state" => "success"
34
+ },
35
+ {
36
+ "matcher" => "pathAny",
37
+ "expected" => "PENDING_VALIDATION",
38
+ "argument" => "certificate.domain_validation_options[].validation_status",
39
+ "state" => "retry"
40
+ },
41
+ {
42
+ "matcher" => "path",
43
+ "expected" => "FAILED",
44
+ "argument" => "certificate.status",
45
+ "state" => "failure"
46
+ },
47
+ {
48
+ "matcher" => "error",
49
+ "expected" => "ResourceNotFoundException",
50
+ "state" => "failure"
51
+ }
52
+ ]
53
+ )
54
+ }.merge(options))
55
+ end
56
+
57
+ # @option (see Client#describe_certificate)
58
+ # @return (see Client#describe_certificate)
59
+ def wait(params = {})
60
+ @waiter.wait(client: @client, params: params)
61
+ end
62
+
63
+ # @api private
64
+ attr_reader :waiter
65
+
66
+ end
67
+ end
68
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-acm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.0
4
+ version: 1.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-26 00:00:00.000000000 Z
11
+ date: 2018-07-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -53,6 +53,7 @@ files:
53
53
  - lib/aws-sdk-acm/errors.rb
54
54
  - lib/aws-sdk-acm/resource.rb
55
55
  - lib/aws-sdk-acm/types.rb
56
+ - lib/aws-sdk-acm/waiters.rb
56
57
  homepage: http://github.com/aws/aws-sdk-ruby
57
58
  licenses:
58
59
  - Apache-2.0