aws-sdk-neptunegraph 1.0.0 → 1.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a8374ee9fe2b9898775a118f2e18e387933104546da0339069ed361f763cfbfd
4
- data.tar.gz: 07f7064f913e583be4da7147a2f8494ad084510430959bf03fe1700d44d17e36
3
+ metadata.gz: cbcfdb09b85ca0a5db65d62c136d45198f3bf59a9c57d579d89ed2bf453e5c21
4
+ data.tar.gz: b99dae0e7fd31667576fbcf64caedacfe039e8f74fdc39ae53b82666021d4f8f
5
5
  SHA512:
6
- metadata.gz: 7926bd6d982777b50207bdc6ece2e2db833ec3ae51043319b20f0e98abd739a7cfbe70de482cb1e6e44af5791a8bd760a5e4b36b32a15a0fd0864709468b17fa
7
- data.tar.gz: 7bc7affa7e4d25db289211b4af5e85660de6d512f987790d83e64631121762094ec7eeeb4cfc27ef52bf46b0bf2108495ed2520a625df7aea9d546866888b9b2
6
+ metadata.gz: fa9e180b8ba80028c160803f6ac00f3153eb8c638af05705f5f8d5906aa66b0c5c33b47dea20f2af95b3f07d82e889a5e355bfa4527046e5e15afdaf1932dbeb
7
+ data.tar.gz: f2ddc22f1f56d1a225445514afc94ff86c5ab35ba01fb03b07ec4a52d8325fe91c1ca3995cb2da4d0efe033e9c61f3ff5a3430d50d9c4eeff40ba1ef443ff9ff
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.1.0 (2023-12-21)
5
+ ------------------
6
+
7
+ * Feature - Adds Waiters for successful creation and deletion of Graph, Graph Snapshot, Import Task and Private Endpoints for Neptune Analytics
8
+
4
9
  1.0.0 (2023-12-14)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.1.0
@@ -975,6 +975,12 @@ module Aws::NeptuneGraph
975
975
  # resp.deletion_protection #=> Boolean
976
976
  # resp.build_number #=> String
977
977
  #
978
+ #
979
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
980
+ #
981
+ # * graph_available
982
+ # * graph_deleted
983
+ #
978
984
  # @see http://docs.aws.amazon.com/goto/WebAPI/neptune-graph-2023-11-29/GetGraph AWS API Documentation
979
985
  #
980
986
  # @overload get_graph(params = {})
@@ -1015,6 +1021,12 @@ module Aws::NeptuneGraph
1015
1021
  # resp.status #=> String, one of "CREATING", "AVAILABLE", "DELETING", "FAILED"
1016
1022
  # resp.kms_key_identifier #=> String
1017
1023
  #
1024
+ #
1025
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1026
+ #
1027
+ # * graph_snapshot_available
1028
+ # * graph_snapshot_deleted
1029
+ #
1018
1030
  # @see http://docs.aws.amazon.com/goto/WebAPI/neptune-graph-2023-11-29/GetGraphSnapshot AWS API Documentation
1019
1031
  #
1020
1032
  # @overload get_graph_snapshot(params = {})
@@ -1071,6 +1083,12 @@ module Aws::NeptuneGraph
1071
1083
  # resp.attempt_number #=> Integer
1072
1084
  # resp.status_reason #=> String
1073
1085
  #
1086
+ #
1087
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1088
+ #
1089
+ # * import_task_cancelled
1090
+ # * import_task_successful
1091
+ #
1074
1092
  # @see http://docs.aws.amazon.com/goto/WebAPI/neptune-graph-2023-11-29/GetImportTask AWS API Documentation
1075
1093
  #
1076
1094
  # @overload get_import_task(params = {})
@@ -1110,6 +1128,12 @@ module Aws::NeptuneGraph
1110
1128
  # resp.status #=> String, one of "CREATING", "AVAILABLE", "DELETING", "FAILED"
1111
1129
  # resp.vpc_endpoint_id #=> String
1112
1130
  #
1131
+ #
1132
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1133
+ #
1134
+ # * private_graph_endpoint_available
1135
+ # * private_graph_endpoint_deleted
1136
+ #
1113
1137
  # @see http://docs.aws.amazon.com/goto/WebAPI/neptune-graph-2023-11-29/GetPrivateGraphEndpoint AWS API Documentation
1114
1138
  #
1115
1139
  # @overload get_private_graph_endpoint(params = {})
@@ -1679,14 +1703,141 @@ module Aws::NeptuneGraph
1679
1703
  params: params,
1680
1704
  config: config)
1681
1705
  context[:gem_name] = 'aws-sdk-neptunegraph'
1682
- context[:gem_version] = '1.0.0'
1706
+ context[:gem_version] = '1.1.0'
1683
1707
  Seahorse::Client::Request.new(handlers, context)
1684
1708
  end
1685
1709
 
1710
+ # Polls an API operation until a resource enters a desired state.
1711
+ #
1712
+ # ## Basic Usage
1713
+ #
1714
+ # A waiter will call an API operation until:
1715
+ #
1716
+ # * It is successful
1717
+ # * It enters a terminal state
1718
+ # * It makes the maximum number of attempts
1719
+ #
1720
+ # In between attempts, the waiter will sleep.
1721
+ #
1722
+ # # polls in a loop, sleeping between attempts
1723
+ # client.wait_until(waiter_name, params)
1724
+ #
1725
+ # ## Configuration
1726
+ #
1727
+ # You can configure the maximum number of polling attempts, and the
1728
+ # delay (in seconds) between each polling attempt. You can pass
1729
+ # configuration as the final arguments hash.
1730
+ #
1731
+ # # poll for ~25 seconds
1732
+ # client.wait_until(waiter_name, params, {
1733
+ # max_attempts: 5,
1734
+ # delay: 5,
1735
+ # })
1736
+ #
1737
+ # ## Callbacks
1738
+ #
1739
+ # You can be notified before each polling attempt and before each
1740
+ # delay. If you throw `:success` or `:failure` from these callbacks,
1741
+ # it will terminate the waiter.
1742
+ #
1743
+ # started_at = Time.now
1744
+ # client.wait_until(waiter_name, params, {
1745
+ #
1746
+ # # disable max attempts
1747
+ # max_attempts: nil,
1748
+ #
1749
+ # # poll for 1 hour, instead of a number of attempts
1750
+ # before_wait: -> (attempts, response) do
1751
+ # throw :failure if Time.now - started_at > 3600
1752
+ # end
1753
+ # })
1754
+ #
1755
+ # ## Handling Errors
1756
+ #
1757
+ # When a waiter is unsuccessful, it will raise an error.
1758
+ # All of the failure errors extend from
1759
+ # {Aws::Waiters::Errors::WaiterFailed}.
1760
+ #
1761
+ # begin
1762
+ # client.wait_until(...)
1763
+ # rescue Aws::Waiters::Errors::WaiterFailed
1764
+ # # resource did not enter the desired state in time
1765
+ # end
1766
+ #
1767
+ # ## Valid Waiters
1768
+ #
1769
+ # The following table lists the valid waiter names, the operations they call,
1770
+ # and the default `:delay` and `:max_attempts` values.
1771
+ #
1772
+ # | waiter_name | params | :delay | :max_attempts |
1773
+ # | -------------------------------- | ----------------------------------- | -------- | ------------- |
1774
+ # | graph_available | {Client#get_graph} | 60 | 480 |
1775
+ # | graph_deleted | {Client#get_graph} | 60 | 60 |
1776
+ # | graph_snapshot_available | {Client#get_graph_snapshot} | 60 | 120 |
1777
+ # | graph_snapshot_deleted | {Client#get_graph_snapshot} | 60 | 60 |
1778
+ # | import_task_cancelled | {Client#get_import_task} | 60 | 60 |
1779
+ # | import_task_successful | {Client#get_import_task} | 60 | 480 |
1780
+ # | private_graph_endpoint_available | {Client#get_private_graph_endpoint} | 10 | 180 |
1781
+ # | private_graph_endpoint_deleted | {Client#get_private_graph_endpoint} | 10 | 180 |
1782
+ #
1783
+ # @raise [Errors::FailureStateError] Raised when the waiter terminates
1784
+ # because the waiter has entered a state that it will not transition
1785
+ # out of, preventing success.
1786
+ #
1787
+ # @raise [Errors::TooManyAttemptsError] Raised when the configured
1788
+ # maximum number of attempts have been made, and the waiter is not
1789
+ # yet successful.
1790
+ #
1791
+ # @raise [Errors::UnexpectedError] Raised when an error is encounted
1792
+ # while polling for a resource that is not expected.
1793
+ #
1794
+ # @raise [Errors::NoSuchWaiterError] Raised when you request to wait
1795
+ # for an unknown state.
1796
+ #
1797
+ # @return [Boolean] Returns `true` if the waiter was successful.
1798
+ # @param [Symbol] waiter_name
1799
+ # @param [Hash] params ({})
1800
+ # @param [Hash] options ({})
1801
+ # @option options [Integer] :max_attempts
1802
+ # @option options [Integer] :delay
1803
+ # @option options [Proc] :before_attempt
1804
+ # @option options [Proc] :before_wait
1805
+ def wait_until(waiter_name, params = {}, options = {})
1806
+ w = waiter(waiter_name, options)
1807
+ yield(w.waiter) if block_given? # deprecated
1808
+ w.wait(params)
1809
+ end
1810
+
1686
1811
  # @api private
1687
1812
  # @deprecated
1688
1813
  def waiter_names
1689
- []
1814
+ waiters.keys
1815
+ end
1816
+
1817
+ private
1818
+
1819
+ # @param [Symbol] waiter_name
1820
+ # @param [Hash] options ({})
1821
+ def waiter(waiter_name, options = {})
1822
+ waiter_class = waiters[waiter_name]
1823
+ if waiter_class
1824
+ waiter_class.new(options.merge(client: self))
1825
+ else
1826
+ raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
1827
+ end
1828
+ end
1829
+
1830
+ def waiters
1831
+ {
1832
+ graph_available: Waiters::GraphAvailable,
1833
+ graph_deleted: Waiters::GraphDeleted,
1834
+ graph_snapshot_available: Waiters::GraphSnapshotAvailable,
1835
+ graph_snapshot_deleted: Waiters::GraphSnapshotDeleted,
1836
+ import_task_cancelled: Waiters::ImportTaskCancelled,
1837
+ import_task_successful: Waiters::ImportTaskSuccessful,
1838
+ private_graph_endpoint_available: Waiters::PrivateGraphEndpointAvailable,
1839
+ private_graph_endpoint_deleted: Waiters::PrivateGraphEndpointDeleted
1840
+ }
1690
1841
  end
1691
1842
 
1692
1843
  class << self
@@ -0,0 +1,476 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ require 'aws-sdk-core/waiters'
11
+
12
+ module Aws::NeptuneGraph
13
+ # Waiters are utility methods that poll for a particular state to occur
14
+ # on a client. Waiters can fail after a number of attempts at a polling
15
+ # interval defined for the service client.
16
+ #
17
+ # For a list of operations that can be waited for and the
18
+ # client methods called for each operation, see the table below or the
19
+ # {Client#wait_until} field documentation for the {Client}.
20
+ #
21
+ # # Invoking a Waiter
22
+ # To invoke a waiter, call #wait_until on a {Client}. The first parameter
23
+ # is the waiter name, which is specific to the service client and indicates
24
+ # which operation is being waited for. The second parameter is a hash of
25
+ # parameters that are passed to the client method called by the waiter,
26
+ # which varies according to the waiter name.
27
+ #
28
+ # # Wait Failures
29
+ # To catch errors in a waiter, use WaiterFailed,
30
+ # as shown in the following example.
31
+ #
32
+ # rescue rescue Aws::Waiters::Errors::WaiterFailed => error
33
+ # puts "failed waiting for instance running: #{error.message}
34
+ # end
35
+ #
36
+ # # Configuring a Waiter
37
+ # Each waiter has a default polling interval and a maximum number of
38
+ # attempts it will make before returning control to your program.
39
+ # To set these values, use the `max_attempts` and `delay` parameters
40
+ # in your `#wait_until` call.
41
+ # The following example waits for up to 25 seconds, polling every five seconds.
42
+ #
43
+ # client.wait_until(...) do |w|
44
+ # w.max_attempts = 5
45
+ # w.delay = 5
46
+ # end
47
+ #
48
+ # To disable wait failures, set the value of either of these parameters
49
+ # to `nil`.
50
+ #
51
+ # # Extending a Waiter
52
+ # To modify the behavior of waiters, you can register callbacks that are
53
+ # triggered before each polling attempt and before waiting.
54
+ #
55
+ # The following example implements an exponential backoff in a waiter
56
+ # by doubling the amount of time to wait on every attempt.
57
+ #
58
+ # client.wait_until(...) do |w|
59
+ # w.interval = 0 # disable normal sleep
60
+ # w.before_wait do |n, resp|
61
+ # sleep(n ** 2)
62
+ # end
63
+ # end
64
+ #
65
+ # # Available Waiters
66
+ #
67
+ # The following table lists the valid waiter names, the operations they call,
68
+ # and the default `:delay` and `:max_attempts` values.
69
+ #
70
+ # | waiter_name | params | :delay | :max_attempts |
71
+ # | -------------------------------- | ----------------------------------- | -------- | ------------- |
72
+ # | graph_available | {Client#get_graph} | 60 | 480 |
73
+ # | graph_deleted | {Client#get_graph} | 60 | 60 |
74
+ # | graph_snapshot_available | {Client#get_graph_snapshot} | 60 | 120 |
75
+ # | graph_snapshot_deleted | {Client#get_graph_snapshot} | 60 | 60 |
76
+ # | import_task_cancelled | {Client#get_import_task} | 60 | 60 |
77
+ # | import_task_successful | {Client#get_import_task} | 60 | 480 |
78
+ # | private_graph_endpoint_available | {Client#get_private_graph_endpoint} | 10 | 180 |
79
+ # | private_graph_endpoint_deleted | {Client#get_private_graph_endpoint} | 10 | 180 |
80
+ #
81
+ module Waiters
82
+
83
+ # Wait until Graph is Available
84
+ class GraphAvailable
85
+
86
+ # @param [Hash] options
87
+ # @option options [required, Client] :client
88
+ # @option options [Integer] :max_attempts (480)
89
+ # @option options [Integer] :delay (60)
90
+ # @option options [Proc] :before_attempt
91
+ # @option options [Proc] :before_wait
92
+ def initialize(options)
93
+ @client = options.fetch(:client)
94
+ @waiter = Aws::Waiters::Waiter.new({
95
+ max_attempts: 480,
96
+ delay: 60,
97
+ poller: Aws::Waiters::Poller.new(
98
+ operation_name: :get_graph,
99
+ acceptors: [
100
+ {
101
+ "matcher" => "path",
102
+ "argument" => "status",
103
+ "state" => "failure",
104
+ "expected" => "DELETING"
105
+ },
106
+ {
107
+ "matcher" => "path",
108
+ "argument" => "status",
109
+ "state" => "failure",
110
+ "expected" => "FAILED"
111
+ },
112
+ {
113
+ "matcher" => "path",
114
+ "argument" => "status",
115
+ "state" => "success",
116
+ "expected" => "AVAILABLE"
117
+ }
118
+ ]
119
+ )
120
+ }.merge(options))
121
+ end
122
+
123
+ # @option (see Client#get_graph)
124
+ # @return (see Client#get_graph)
125
+ def wait(params = {})
126
+ @waiter.wait(client: @client, params: params)
127
+ end
128
+
129
+ # @api private
130
+ attr_reader :waiter
131
+
132
+ end
133
+
134
+ # Wait until Graph is Deleted
135
+ class GraphDeleted
136
+
137
+ # @param [Hash] options
138
+ # @option options [required, Client] :client
139
+ # @option options [Integer] :max_attempts (60)
140
+ # @option options [Integer] :delay (60)
141
+ # @option options [Proc] :before_attempt
142
+ # @option options [Proc] :before_wait
143
+ def initialize(options)
144
+ @client = options.fetch(:client)
145
+ @waiter = Aws::Waiters::Waiter.new({
146
+ max_attempts: 60,
147
+ delay: 60,
148
+ poller: Aws::Waiters::Poller.new(
149
+ operation_name: :get_graph,
150
+ acceptors: [
151
+ {
152
+ "matcher" => "path",
153
+ "argument" => "status != 'DELETING'",
154
+ "state" => "failure",
155
+ "expected" => true
156
+ },
157
+ {
158
+ "matcher" => "error",
159
+ "state" => "success",
160
+ "expected" => "ResourceNotFoundException"
161
+ }
162
+ ]
163
+ )
164
+ }.merge(options))
165
+ end
166
+
167
+ # @option (see Client#get_graph)
168
+ # @return (see Client#get_graph)
169
+ def wait(params = {})
170
+ @waiter.wait(client: @client, params: params)
171
+ end
172
+
173
+ # @api private
174
+ attr_reader :waiter
175
+
176
+ end
177
+
178
+ # Wait until GraphSnapshot is Available
179
+ class GraphSnapshotAvailable
180
+
181
+ # @param [Hash] options
182
+ # @option options [required, Client] :client
183
+ # @option options [Integer] :max_attempts (120)
184
+ # @option options [Integer] :delay (60)
185
+ # @option options [Proc] :before_attempt
186
+ # @option options [Proc] :before_wait
187
+ def initialize(options)
188
+ @client = options.fetch(:client)
189
+ @waiter = Aws::Waiters::Waiter.new({
190
+ max_attempts: 120,
191
+ delay: 60,
192
+ poller: Aws::Waiters::Poller.new(
193
+ operation_name: :get_graph_snapshot,
194
+ acceptors: [
195
+ {
196
+ "matcher" => "path",
197
+ "argument" => "status",
198
+ "state" => "failure",
199
+ "expected" => "DELETING"
200
+ },
201
+ {
202
+ "matcher" => "path",
203
+ "argument" => "status",
204
+ "state" => "failure",
205
+ "expected" => "FAILED"
206
+ },
207
+ {
208
+ "matcher" => "path",
209
+ "argument" => "status",
210
+ "state" => "success",
211
+ "expected" => "AVAILABLE"
212
+ }
213
+ ]
214
+ )
215
+ }.merge(options))
216
+ end
217
+
218
+ # @option (see Client#get_graph_snapshot)
219
+ # @return (see Client#get_graph_snapshot)
220
+ def wait(params = {})
221
+ @waiter.wait(client: @client, params: params)
222
+ end
223
+
224
+ # @api private
225
+ attr_reader :waiter
226
+
227
+ end
228
+
229
+ # Wait until GraphSnapshot is Deleted
230
+ class GraphSnapshotDeleted
231
+
232
+ # @param [Hash] options
233
+ # @option options [required, Client] :client
234
+ # @option options [Integer] :max_attempts (60)
235
+ # @option options [Integer] :delay (60)
236
+ # @option options [Proc] :before_attempt
237
+ # @option options [Proc] :before_wait
238
+ def initialize(options)
239
+ @client = options.fetch(:client)
240
+ @waiter = Aws::Waiters::Waiter.new({
241
+ max_attempts: 60,
242
+ delay: 60,
243
+ poller: Aws::Waiters::Poller.new(
244
+ operation_name: :get_graph_snapshot,
245
+ acceptors: [
246
+ {
247
+ "matcher" => "path",
248
+ "argument" => "status != 'DELETING'",
249
+ "state" => "failure",
250
+ "expected" => true
251
+ },
252
+ {
253
+ "matcher" => "error",
254
+ "state" => "success",
255
+ "expected" => "ResourceNotFoundException"
256
+ }
257
+ ]
258
+ )
259
+ }.merge(options))
260
+ end
261
+
262
+ # @option (see Client#get_graph_snapshot)
263
+ # @return (see Client#get_graph_snapshot)
264
+ def wait(params = {})
265
+ @waiter.wait(client: @client, params: params)
266
+ end
267
+
268
+ # @api private
269
+ attr_reader :waiter
270
+
271
+ end
272
+
273
+ # Wait until Import Task is Cancelled
274
+ class ImportTaskCancelled
275
+
276
+ # @param [Hash] options
277
+ # @option options [required, Client] :client
278
+ # @option options [Integer] :max_attempts (60)
279
+ # @option options [Integer] :delay (60)
280
+ # @option options [Proc] :before_attempt
281
+ # @option options [Proc] :before_wait
282
+ def initialize(options)
283
+ @client = options.fetch(:client)
284
+ @waiter = Aws::Waiters::Waiter.new({
285
+ max_attempts: 60,
286
+ delay: 60,
287
+ poller: Aws::Waiters::Poller.new(
288
+ operation_name: :get_import_task,
289
+ acceptors: [
290
+ {
291
+ "matcher" => "path",
292
+ "argument" => "status != 'CANCELLING'",
293
+ "state" => "failure",
294
+ "expected" => true
295
+ },
296
+ {
297
+ "matcher" => "path",
298
+ "argument" => "status",
299
+ "state" => "success",
300
+ "expected" => "CANCELLED"
301
+ }
302
+ ]
303
+ )
304
+ }.merge(options))
305
+ end
306
+
307
+ # @option (see Client#get_import_task)
308
+ # @return (see Client#get_import_task)
309
+ def wait(params = {})
310
+ @waiter.wait(client: @client, params: params)
311
+ end
312
+
313
+ # @api private
314
+ attr_reader :waiter
315
+
316
+ end
317
+
318
+ # Wait until Import Task is Successful
319
+ class ImportTaskSuccessful
320
+
321
+ # @param [Hash] options
322
+ # @option options [required, Client] :client
323
+ # @option options [Integer] :max_attempts (480)
324
+ # @option options [Integer] :delay (60)
325
+ # @option options [Proc] :before_attempt
326
+ # @option options [Proc] :before_wait
327
+ def initialize(options)
328
+ @client = options.fetch(:client)
329
+ @waiter = Aws::Waiters::Waiter.new({
330
+ max_attempts: 480,
331
+ delay: 60,
332
+ poller: Aws::Waiters::Poller.new(
333
+ operation_name: :get_import_task,
334
+ acceptors: [
335
+ {
336
+ "matcher" => "path",
337
+ "argument" => "status",
338
+ "state" => "failure",
339
+ "expected" => "CANCELLING"
340
+ },
341
+ {
342
+ "matcher" => "path",
343
+ "argument" => "status",
344
+ "state" => "failure",
345
+ "expected" => "CANCELLED"
346
+ },
347
+ {
348
+ "matcher" => "path",
349
+ "argument" => "status",
350
+ "state" => "failure",
351
+ "expected" => "ROLLING_BACK"
352
+ },
353
+ {
354
+ "matcher" => "path",
355
+ "argument" => "status",
356
+ "state" => "failure",
357
+ "expected" => "FAILED"
358
+ },
359
+ {
360
+ "matcher" => "path",
361
+ "argument" => "status",
362
+ "state" => "success",
363
+ "expected" => "SUCCEEDED"
364
+ }
365
+ ]
366
+ )
367
+ }.merge(options))
368
+ end
369
+
370
+ # @option (see Client#get_import_task)
371
+ # @return (see Client#get_import_task)
372
+ def wait(params = {})
373
+ @waiter.wait(client: @client, params: params)
374
+ end
375
+
376
+ # @api private
377
+ attr_reader :waiter
378
+
379
+ end
380
+
381
+ # Wait until PrivateGraphEndpoint is Available
382
+ class PrivateGraphEndpointAvailable
383
+
384
+ # @param [Hash] options
385
+ # @option options [required, Client] :client
386
+ # @option options [Integer] :max_attempts (180)
387
+ # @option options [Integer] :delay (10)
388
+ # @option options [Proc] :before_attempt
389
+ # @option options [Proc] :before_wait
390
+ def initialize(options)
391
+ @client = options.fetch(:client)
392
+ @waiter = Aws::Waiters::Waiter.new({
393
+ max_attempts: 180,
394
+ delay: 10,
395
+ poller: Aws::Waiters::Poller.new(
396
+ operation_name: :get_private_graph_endpoint,
397
+ acceptors: [
398
+ {
399
+ "matcher" => "path",
400
+ "argument" => "status",
401
+ "state" => "failure",
402
+ "expected" => "DELETING"
403
+ },
404
+ {
405
+ "matcher" => "path",
406
+ "argument" => "status",
407
+ "state" => "failure",
408
+ "expected" => "FAILED"
409
+ },
410
+ {
411
+ "matcher" => "path",
412
+ "argument" => "status",
413
+ "state" => "success",
414
+ "expected" => "AVAILABLE"
415
+ }
416
+ ]
417
+ )
418
+ }.merge(options))
419
+ end
420
+
421
+ # @option (see Client#get_private_graph_endpoint)
422
+ # @return (see Client#get_private_graph_endpoint)
423
+ def wait(params = {})
424
+ @waiter.wait(client: @client, params: params)
425
+ end
426
+
427
+ # @api private
428
+ attr_reader :waiter
429
+
430
+ end
431
+
432
+ # Wait until PrivateGraphEndpoint is Deleted
433
+ class PrivateGraphEndpointDeleted
434
+
435
+ # @param [Hash] options
436
+ # @option options [required, Client] :client
437
+ # @option options [Integer] :max_attempts (180)
438
+ # @option options [Integer] :delay (10)
439
+ # @option options [Proc] :before_attempt
440
+ # @option options [Proc] :before_wait
441
+ def initialize(options)
442
+ @client = options.fetch(:client)
443
+ @waiter = Aws::Waiters::Waiter.new({
444
+ max_attempts: 180,
445
+ delay: 10,
446
+ poller: Aws::Waiters::Poller.new(
447
+ operation_name: :get_private_graph_endpoint,
448
+ acceptors: [
449
+ {
450
+ "matcher" => "path",
451
+ "argument" => "status != 'DELETING'",
452
+ "state" => "failure",
453
+ "expected" => true
454
+ },
455
+ {
456
+ "matcher" => "error",
457
+ "state" => "success",
458
+ "expected" => "ResourceNotFoundException"
459
+ }
460
+ ]
461
+ )
462
+ }.merge(options))
463
+ end
464
+
465
+ # @option (see Client#get_private_graph_endpoint)
466
+ # @return (see Client#get_private_graph_endpoint)
467
+ def wait(params = {})
468
+ @waiter.wait(client: @client, params: params)
469
+ end
470
+
471
+ # @api private
472
+ attr_reader :waiter
473
+
474
+ end
475
+ end
476
+ end
@@ -16,6 +16,7 @@ require_relative 'aws-sdk-neptunegraph/client_api'
16
16
  require_relative 'aws-sdk-neptunegraph/plugins/endpoints.rb'
17
17
  require_relative 'aws-sdk-neptunegraph/client'
18
18
  require_relative 'aws-sdk-neptunegraph/errors'
19
+ require_relative 'aws-sdk-neptunegraph/waiters'
19
20
  require_relative 'aws-sdk-neptunegraph/resource'
20
21
  require_relative 'aws-sdk-neptunegraph/endpoint_parameters'
21
22
  require_relative 'aws-sdk-neptunegraph/endpoint_provider'
@@ -52,6 +53,6 @@ require_relative 'aws-sdk-neptunegraph/customizations'
52
53
  # @!group service
53
54
  module Aws::NeptuneGraph
54
55
 
55
- GEM_VERSION = '1.0.0'
56
+ GEM_VERSION = '1.1.0'
56
57
 
57
58
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-neptunegraph
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.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: 2023-12-14 00:00:00.000000000 Z
11
+ date: 2023-12-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -66,6 +66,7 @@ files:
66
66
  - lib/aws-sdk-neptunegraph/plugins/endpoints.rb
67
67
  - lib/aws-sdk-neptunegraph/resource.rb
68
68
  - lib/aws-sdk-neptunegraph/types.rb
69
+ - lib/aws-sdk-neptunegraph/waiters.rb
69
70
  homepage: https://github.com/aws/aws-sdk-ruby
70
71
  licenses:
71
72
  - Apache-2.0