def get_tls_certificate(self, service): if service not in ('adminconsole', 'proxy', 'ui'): raise ValueError('invalid service [%s] supplied' % (service)) return self.session.perform_request( GET, _make_path('platform', 'configuration', 'security', 'tls', service))
def get_platform_info(self): """ `<https://www.elastic.co/guide/en/cloud-enterprise/current/get-platform.html>`_ Get information about the current platform. """ return self.session.perform_request(GET, _make_path('platform'))
def get_allocator(self, allocator_id, params=None): return self.session.perform_request(GET, _make_path('platform', 'infrastructure', 'allocators', allocator_id), params=params)
def submit_stack_pack(self, file): with open(file, 'rb') as stack_pack_file: files = {'file': stack_pack_file} return self.session.perform_request(POST, _make_path( 'stack', 'versions'), files=files)
def generate_logs(self, cluster_id, params=None): """ .. note:: This function is currently not supported in Elastic Cloud Enterprise, only in the SaaS version. """ return self.session.perform_request(GET, _make_path('clusters', 'elasticsearch', cluster_id, 'support', '_generate-logs'), params=params)
def delete_allocator_metadata_item(self, allocator_id, key, params=None): return self.session.perform_request(DELETE, _make_path('platform', 'infrastructure', 'allocators', allocator_id, 'metadata', key), params=params)
def search_allocators(self, body=None, params=None): return self.session.perform_request(POST, _make_path('platform', 'infrastructure', 'allocators' '_search'), body=body, params=params)
def delete_enrollment_token(self, token): if token in SKIP_IN_PATH: raise ValueError( 'empty value passed for a required argument [token]') return self.session.perform_request( DELETE, _make_path('platform', 'configuration', 'security', 'enrollment-tokens', token))
def delete_snapshot_repository(self, repository_name, params=None): if repository_name in SKIP_IN_PATH: raise ValueError( 'empty value passed for a required argument [repository_name]') return self.session.perform_request( DELETE, _make_path('platform', 'configuration', 'snapshots', 'repositories', repository_name))
def update_allocator_settings(self, allocator_id, body=None, params=None): return self.session.perform_request(PATCH, _make_path('platform', 'infrastructure', 'allocators', allocator_id, 'settings'), body=body, params=params)
def get_all_version_stacks(self, params=None): """ `<https://www.elastic.co/guide/en/cloud-enterprise/current/get-version-stacks.html>`_ :arg show_deleted: Whether to show deleted stack versions or not """ return self.session.perform_request(GET, _make_path('stack', 'versions'), params=params)
def move_instances(self, cluster_id, instance_ids=[], params=None): """ Moves one or more instances belonging to an Elasticsearch cluster :arg cluster_id: the elasticsearch cluster id :arg instance_ids: either a comma-delimited string of instance ids or a list/tuple of strings """ return self.session.perform_request(POST, _make_path('clusters', 'elasticsearch', cluster_id, 'instances', self._convert_collection_to_path_param(instance_ids), '_move'), params=params)
def move_clusters(self, allocator_id, body=None, params=None): return self.session.perform_request(POST, _make_path('platform', 'infrastructure', 'allocators', allocator_id, 'clusters', '_move'), body=body, params=params)
def set_allocator_metadata(self, allocator_id, body=None, params=None): return self.session.perform_request(PUT, _make_path('platform', 'infrastructure', 'allocators', allocator_id, 'metadata'), body=body, params=params)
def move_clusters_by_type(self, allocator_id, cluster_type=None, body=None, params=None): if cluster_type not in CLUSTER_TYPES: raise ValueError('invalid cluster_type parameter [%s]' % (cluster_type)) return self.session.perform_request( GET, _make_path('platform', 'infrastructure', 'allocators', allocator_id, 'clusters', cluster_type, '_move'), body=body, params=params)
def get_clusters(self, params=None): return self.session.perform_request(GET, _make_path('clusters', 'elasticsearch'), params=params)
def test_make_path_standard(): args = ['elasticsearch', 'clusters'] expected = '/api/v1/elasticsearch/clusters' assert_equals(_make_path(*args), expected)
def test_make_path_with_invalid_params(): args = ['elasticsearch', 'clusters', None] expected = '/api/v1/elasticsearch/clusters' assert_equals(_make_path(*args), expected)
def get_api_docs(self): """ Get the API documentation in Swagger format. """ return self.session.perform_request( GET, _make_path('api-docs', 'swagger.json'))
def create_enrollment_token(self, body=None): return self.session.perform_request( POST, _make_path('platform', 'configuration', 'security', 'enrollment-tokens'))
def get_cluster_metadata(self, cluster_id): return self.session.perform_request(GET, _make_path('clusters', 'elasticsearch', cluster_id, 'metadata', 'settings'))
def get_plan(self, cluster_id, params=None): return self.session.perform_request(GET, _make_path('clusters', 'elasticsearch', cluster_id, 'plan'), params=params)
def update_stack_version(self, version, body=None): return self.session.perform_request(PUT, _make_path('stack', 'versions', version), body=body)
def get_snapshot_repositories(self, params=None): return self.session.perform_request( GET, _make_path('platform', 'configuration', 'snapshots', 'repositories'))
def mark_stack_for_deletion(self, version): return self.session.perform_request( DELETE, _make_path('stack', 'versions', version))
def get_enrollment_tokens(self): return self.session.perform_request( GET, _make_path('platform', 'configuration', 'security', 'enrollment-tokens'))
def get_version(self, version): return self.session.perform_request( GET, _make_path('stack', 'versions', version))
def cancel_monitoring(self, cluster_id): return self.session.perform_request(DELETE, _make_path('clusters', 'elasticsearch', cluster_id, 'monitoring'))
def update_cluster_metadata(self, cluster_id, body=None, params=None): return self.session.perform_request(PATCH, _make_path('clusters', 'elasticsearch', cluster_id, 'metadata', 'settings'), body=body, params=params)
def set_monitoring(self, cluster_id, dest_cluster_id): return self.session.perform_request(POST, _make_path('clusters', 'elasticsearch', cluster_id, 'monitoring', dest_cluster_id))