@@ -4,30 +4,62 @@ module Awspec::Helper
4
4
module Finder
5
5
module Backup
6
6
def find_backup_vault ( id )
7
- res = backup_client . list_backup_vaults
8
- res . backup_vault_list . select do |v |
9
- v . backup_vault_name == id || v . backup_vault_arn == id
10
- end . single_resource ( id )
7
+ selected = [ ]
8
+ req = { }
9
+ loop do
10
+ res = backup_client . list_backup_vaults ( req )
11
+ selected += res . backup_vault_list . select do |v |
12
+ v . backup_vault_name == id || v . backup_vault_arn == id
13
+ end
14
+ break if res . next_token . nil?
15
+
16
+ req [ :next_token ] = res . next_token
17
+ end
18
+ selected . single_resource ( id )
11
19
rescue Aws ::Backup ::Errors ::ResourceNotFoundException
12
20
nil
13
21
end
14
22
15
23
def find_backup_plan ( id )
16
- res = backup_client . list_backup_plans
17
- res . backup_plans_list . select do |p |
18
- p . backup_plan_name == id || p . backup_plan_arn == id || p . backup_plan_id == id
19
- end . single_resource ( id )
24
+ selected = [ ]
25
+ req = { }
26
+ loop do
27
+ res = backup_client . list_backup_plans ( req )
28
+ selected += res . backup_plans_list . select do |p |
29
+ p . backup_plan_name == id || p . backup_plan_arn == id || p . backup_plan_id == id
30
+ end
31
+ break if res . next_token . nil?
32
+
33
+ req [ :next_token ] = res . next_token
34
+ end
35
+ selected . single_resource ( id )
20
36
rescue Aws ::Backup ::Errors ::ResourceNotFoundException
21
37
nil
22
38
end
23
39
24
40
def find_backup_selection ( id )
41
+ backup_plans = [ ]
42
+ req = { }
43
+ loop do
44
+ res = backup_client . list_backup_plans ( req )
45
+ backup_plans += res . backup_plans_list . map { |p | p . backup_plan_id }
46
+ break if res . next_token . nil?
47
+
48
+ req [ :next_token ] = res . next_token
49
+ end
50
+
25
51
selected = [ ]
26
- plans = backup_client . list_backup_plans
27
- plans . backup_plans_list . each do |p |
28
- res = backup_client . list_backup_selections ( { backup_plan_id : p . backup_plan_id } )
29
- selected += res . backup_selections_list . select do |s |
30
- s . selection_id == id || s . selection_name == id
52
+ next_token = nil
53
+
54
+ backup_plans . each do |plan_id |
55
+ loop do
56
+ res = backup_client . list_backup_selections ( { backup_plan_id : plan_id , next_token : next_token } )
57
+ selected += res . backup_selections_list . select do |s |
58
+ s . selection_id == id || s . selection_name == id
59
+ end
60
+ break if res . next_token . nil?
61
+
62
+ next_token = res . next_token
31
63
end
32
64
end
33
65
selected . single_resource ( id )
0 commit comments