def refresh(): return { Optional('refresh', default=True): Any(bool, All(Any(*string_types), Boolean())) }
def delete_aliases(): return { Optional('delete_aliases', default=False): Any(bool, All(Any(*string_types), Boolean())) }
def skip_flush(): return { Optional('skip_flush', default=False): Any(bool, All(Any(*string_types), Boolean())) }
def value(): return {Required('value', default=None): Any(None, *string_types)}
def warn_if_no_indices(): return { Optional('warn_if_no_indices', default=False): Any(bool, All(Any(*string_types), Boolean())) }
def shrink_suffix(): return { Optional('shrink_suffix', default='-shrink'): Any(None, *string_types) }
def slices(): return { Optional('slices', default=1): Any(All(Coerce(int), Range(min=1, max=500)), None) }
def rename_pattern(): return {Optional('rename_pattern'): Any(*string_types)}
def rename_replacement(): return {Optional('rename_replacement'): Any(*string_types)}
def remote_ssl_no_validate(): return { Optional('remote_ssl_no_validate', default=False): Any(bool, All(Any(*string_types), Boolean())) }
def remote_url_prefix(): return { Optional('remote_url_prefix', default=''): Any(None, *string_types) }
def remote_client_key(): return { Optional('remote_client_key', default=None): Any(None, *string_types) }
def remote_certificate(): return { Optional('remote_certificate', default=None): Any(None, *string_types) }
def remote_aws_region(): return { Optional('remote_aws_region', default=None): Any(None, *string_types) }
def shrink_node(): return {Required('shrink_node'): Any(*string_types)}
def repository(): return {Required('repository'): Any(*string_types)}
def shrink_prefix(): return {Optional('shrink_prefix', default=''): Any(None, *string_types)}
def request_body(): return { Required('request_body'): { Optional('conflicts'): Any(*string_types), Optional('size'): Coerce(int), Required('source'): { Required('index'): Any(Any(*string_types), list), Optional('remote'): { Optional('host'): Any(*string_types), Optional('headers'): Any(*string_types), Optional('username'): Any(*string_types), Optional('password'): Any(*string_types), Optional('socket_timeout'): Any(*string_types), Optional('connect_timeout'): Any(*string_types), }, Optional('size'): Coerce(int), Optional('type'): Any(Any(*string_types), list), Optional('query'): dict, Optional('sort'): dict, Optional('_source'): Any(Any(*string_types), list), }, Required('dest'): { Required('index'): Any(*string_types), Optional('type'): Any(Any(*string_types), list), Optional('op_type'): Any(*string_types), Optional('version_type'): Any(*string_types), Optional('routing'): Any(*string_types), Optional('pipeline'): Any(*string_types), }, Optional('script'): dict, } }
def skip_repo_fs_check(): return { Optional('skip_repo_fs_check', default=False): Any(bool, All(Any(*string_types), Boolean())) }
def continue_if_exception(): return { Optional('continue_if_exception', default=False): Any(bool, All(Any(*string_types), Boolean())) }
def timeout(action): # if action == 'reindex': value = 60 return {Optional('timeout', default=value): Any(Coerce(int), None)}
def requests_per_second(): return { Optional('requests_per_second', default=-1): Any(-1, Coerce(int), None) }
def wait_for_rebalance(): return { Optional('wait_for_rebalance', default=True): Any(bool, All(Any(*string_types), Boolean())) }
def routing_type(): return {Required('routing_type'): Any('allocation', 'rebalance')}
def delete_after(): return { Optional('delete_after', default=True): Any(bool, All(Any(*string_types), Boolean())) }
def cluster_routing_setting(): return {Required('setting'): Any('enable')}
def allocation_type(): return { Optional('allocation_type', default='require'): All(Any(*string_types), Any('require', 'include', 'exclude')) }
def cluster_routing_value(): return { Required('value'): Any('all', 'primaries', 'none', 'new_primaries', 'replicas') }
def disable_action(): return { Optional('disable_action', default=False): Any(bool, All(Any(*string_types), Boolean())) }
def preserve_existing(): return { Optional('preserve_existing', default=False): Any(bool, All(Any(*string_types), Boolean())) }