예제 #1
0
 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))
예제 #2
0
    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'))
예제 #3
0
 def get_allocator(self, allocator_id, params=None):
     return self.session.perform_request(GET,
                                         _make_path('platform',
                                                    'infrastructure',
                                                    'allocators',
                                                    allocator_id),
                                         params=params)
예제 #4
0
 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)
예제 #5
0
 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)
예제 #6
0
 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)
예제 #7
0
 def search_allocators(self, body=None, params=None):
     return self.session.perform_request(POST,
                                         _make_path('platform',
                                                    'infrastructure',
                                                    'allocators'
                                                    '_search'),
                                         body=body,
                                         params=params)
예제 #8
0
 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))
예제 #9
0
 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))
예제 #10
0
 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)
예제 #11
0
    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)
예제 #12
0
    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)
예제 #13
0
 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)
예제 #14
0
 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)
예제 #15
0
 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)
예제 #16
0
 def get_clusters(self, params=None):
     return self.session.perform_request(GET, _make_path('clusters', 'elasticsearch'), params=params)
예제 #17
0
def test_make_path_standard():
    args = ['elasticsearch', 'clusters']
    expected = '/api/v1/elasticsearch/clusters'
    assert_equals(_make_path(*args), expected)
예제 #18
0
def test_make_path_with_invalid_params():
    args = ['elasticsearch', 'clusters', None]
    expected = '/api/v1/elasticsearch/clusters'
    assert_equals(_make_path(*args), expected)
예제 #19
0
 def get_api_docs(self):
     """
     Get the API documentation in Swagger format.
     """
     return self.session.perform_request(
         GET, _make_path('api-docs', 'swagger.json'))
예제 #20
0
 def create_enrollment_token(self, body=None):
     return self.session.perform_request(
         POST,
         _make_path('platform', 'configuration', 'security',
                    'enrollment-tokens'))
예제 #21
0
 def get_cluster_metadata(self, cluster_id):
     return self.session.perform_request(GET, _make_path('clusters', 'elasticsearch', cluster_id, 'metadata', 'settings'))
예제 #22
0
 def get_plan(self, cluster_id, params=None):
     return self.session.perform_request(GET, _make_path('clusters', 'elasticsearch', cluster_id, 'plan'), params=params)
예제 #23
0
 def update_stack_version(self, version, body=None):
     return self.session.perform_request(PUT,
                                         _make_path('stack', 'versions',
                                                    version),
                                         body=body)
예제 #24
0
 def get_snapshot_repositories(self, params=None):
     return self.session.perform_request(
         GET,
         _make_path('platform', 'configuration', 'snapshots',
                    'repositories'))
예제 #25
0
 def mark_stack_for_deletion(self, version):
     return self.session.perform_request(
         DELETE, _make_path('stack', 'versions', version))
예제 #26
0
 def get_enrollment_tokens(self):
     return self.session.perform_request(
         GET,
         _make_path('platform', 'configuration', 'security',
                    'enrollment-tokens'))
예제 #27
0
 def get_version(self, version):
     return self.session.perform_request(
         GET, _make_path('stack', 'versions', version))
예제 #28
0
 def cancel_monitoring(self, cluster_id):
     return self.session.perform_request(DELETE, _make_path('clusters', 'elasticsearch', cluster_id, 'monitoring'))
예제 #29
0
 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)        
예제 #30
0
 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))