Coverage for curator/cli_singletons/delete.py: 100%
23 statements
« prev ^ index » next coverage.py v7.3.0, created at 2023-08-16 15:27 -0600
« prev ^ index » next coverage.py v7.3.0, created at 2023-08-16 15:27 -0600
1"""Delete Index and Delete Snapshot Singletons"""
2import click
3from curator.cli_singletons.object_class import cli_action
4from curator.cli_singletons.utils import get_width, validate_filter_json
6#### Indices ####
7@click.command(context_settings=get_width())
8@click.option(
9 '--ignore_empty_list',
10 is_flag=True,
11 help='Do not raise exception if there are no actionable indices'
12)
13@click.option(
14 '--allow_ilm_indices/--no-allow_ilm_indices',
15 help='Allow Curator to operate on Index Lifecycle Management monitored indices.',
16 default=False,
17 show_default=True
18)
19@click.option(
20 '--filter_list',
21 callback=validate_filter_json,
22 help='JSON array of filters selecting indices to act on.',
23 required=True
24)
25@click.pass_context
26def delete_indices(ctx, ignore_empty_list, allow_ilm_indices, filter_list):
27 """
28 Delete Indices
29 """
30 # ctx.info_name is the name of the function or name specified in @click.command decorator
31 action = cli_action(
32 'delete_indices',
33 ctx.obj['config']['client'],
34 {'allow_ilm_indices':allow_ilm_indices},
35 filter_list,
36 ignore_empty_list
37 )
38 action.do_singleton_action(dry_run=ctx.obj['dry_run'])
40#### Snapshots ####
41@click.command(context_settings=get_width())
42@click.option('--repository', type=str, required=True, help='Snapshot repository name')
43@click.option('--retry_count', type=int, help='Number of times to retry (max 3)')
44@click.option('--retry_interval', type=int, help='Time in seconds between retries')
45@click.option(
46 '--ignore_empty_list',
47 is_flag=True,
48 help='Do not raise exception if there are no actionable snapshots'
49)
50@click.option(
51 '--allow_ilm_indices/--no-allow_ilm_indices',
52 help='Allow Curator to operate on Index Lifecycle Management monitored indices.',
53 default=False,
54 show_default=True
55)
56@click.option(
57 '--filter_list',
58 callback=validate_filter_json,
59 help='JSON array of filters selecting snapshots to act on.',
60 required=True
61)
62@click.pass_context
63def delete_snapshots(
64 ctx, repository, retry_count, retry_interval,
65 ignore_empty_list, allow_ilm_indices, filter_list
66 ):
67 """
68 Delete Snapshots
69 """
70 manual_options = {
71 'retry_count': retry_count,
72 'retry_interval': retry_interval,
73 'allow_ilm_indices': allow_ilm_indices,
74 }
75 # ctx.info_name is the name of the function or name specified in @click.command decorator
76 action = cli_action(
77 'delete_snapshots',
78 ctx.obj['config']['client'],
79 manual_options,
80 filter_list,
81 ignore_empty_list,
82 repository=repository
83 )
84 action.do_singleton_action(dry_run=ctx.obj['dry_run'])