in curator/repomgrcli.py [0:0]
def create_repo(ctx, repo_name=None, repo_type=None, repo_settings=None, verify=False):
"""
Call :py:meth:`~.elasticsearch.client.SnapshotClient.create_repository` to
create a snapshot repository from the provided arguments
:param ctx: The :py:class:`click` Context
:param repo_name: The repository name
:param repo_type: The repository name
:param repo_settings: Settings to configure the repository
:param verify: Whether to verify repository access
:type ctx: :py:class:`~.click.Context`
:type repo_name: str
:type repo_type: str
:type repo_settings: dict
:type verify: bool
:rtype: None
"""
logger = logging.getLogger('curator.repomgrcli.create_repo')
client = get_client(ctx)
request_body = {'type': repo_type, 'settings': repo_settings}
try:
client.snapshot.create_repository(
name=repo_name, body=request_body, verify=verify
)
except ApiError as exc:
if exc.meta.status >= 500:
logger.critical('Server-side error!')
if exc.body['error']['type'] == 'repository_exception':
logger.critical('Repository exception: %s', exc.body)
click.echo(f'Repository exception: {exc.body}')
sys.exit(1)
except Exception as exc:
logger.critical('Encountered exception %s', exc)
sys.exit(1)