def subcloud_update(self, url, data):
     data = json.dumps(data)
     resp = self.http_client.patch(url, data)
     if resp.status_code != 200:
         self._raise_api_exception(resp)
     json_object = get_json(resp)
     resource = list()
     resource.append(
         self.resource_class(
             self,
             subcloud_id=json_object['id'],
             name=json_object['name'],
             description=json_object['description'],
             location=json_object['location'],
             software_version=json_object['software-version'],
             management_state=json_object['management-state'],
             availability_status=json_object['availability-status'],
             management_subnet=json_object['management-subnet'],
             management_start_ip=json_object['management-start-ip'],
             management_end_ip=json_object['management-end-ip'],
             management_gateway_ip=json_object['management-gateway-ip'],
             systemcontroller_gateway_ip=json_object[
                 'systemcontroller-gateway-ip'],
             created_at=json_object['created-at'],
             updated_at=json_object['updated-at']))
     return resource
 def subcloud_generate_config(self, url, data):
     data = json.dumps(data)
     resp = self.http_client.post(url, data)
     if resp.status_code != 200:
         self._raise_api_exception(resp)
     json_object = get_json(resp)
     return json_object['config']
 def subcloud_list(self, url):
     resp = self.http_client.get(url)
     if resp.status_code != 200:
         self._raise_api_exception(resp)
     json_response_key = get_json(resp)
     json_objects = json_response_key['subclouds']
     resource = []
     for json_object in json_objects:
         resource.append(
             self.resource_class(
                 self,
                 subcloud_id=json_object['id'],
                 name=json_object['name'],
                 description=json_object['description'],
                 location=json_object['location'],
                 software_version=json_object['software-version'],
                 management_state=json_object['management-state'],
                 availability_status=json_object['availability-status'],
                 management_subnet=json_object['management-subnet'],
                 management_start_ip=json_object['management-start-ip'],
                 management_end_ip=json_object['management-end-ip'],
                 management_gateway_ip=json_object['management-gateway-ip'],
                 systemcontroller_gateway_ip=json_object[
                     'systemcontroller-gateway-ip'],
                 created_at=json_object['created-at'],
                 updated_at=json_object['updated-at'],
                 sync_status=json_object['sync_status'],
                 endpoint_sync_status=json_object['endpoint_sync_status']))
     return resource
예제 #4
0
 def sw_update_detail(self, url):
     resp = self.http_client.get(url)
     if resp.status_code != 200:
         self._raise_api_exception(resp)
     json_object = get_json(resp)
     resource = list()
     resource.append(
         self.resource_class(
             self,
             subcloud_apply_type=json_object['subcloud-apply-type'],
             max_parallel_subclouds=json_object['max-parallel-subclouds'],
             stop_on_failure=json_object['stop-on-failure'],
             state=json_object['state'],
             created_at=json_object['created-at'],
             updated_at=json_object['updated-at']))
     return resource
예제 #5
0
 def alarm_summary_list(self, url):
     resp = self.http_client.get(url)
     if resp.status_code != 200:
         self._raise_api_exception(resp)
     json_response_key = get_json(resp)
     json_objects = json_response_key['alarm_summary']
     resource = []
     for json_object in json_objects:
         resource.append(
             self.resource_class(self,
                                 name=json_object['region_name'],
                                 critical=json_object['critical_alarms'],
                                 major=json_object['major_alarms'],
                                 minor=json_object['minor_alarms'],
                                 warnings=json_object['warnings'],
                                 status=json_object['cloud_status']))
     return resource
예제 #6
0
 def _sw_update_options_detail(self, url):
     resp = self.http_client.get(url)
     if resp.status_code != 200:
         self._raise_api_exception(resp)
     json_object = get_json(resp)
     resource = list()
     resource.append(
         self.resource_class(
             self,
             cloud=json_object['name'],
             storage_apply_type=json_object['storage-apply-type'],
             worker_apply_type=json_object['worker-apply-type'],
             max_parallel_workers=json_object['max-parallel-workers'],
             alarm_restriction_type=json_object['alarm-restriction-type'],
             default_instance_action=json_object['default-instance-action'],
             created_at=json_object['created-at'],
             updated_at=json_object['updated-at']))
     return resource
예제 #7
0
 def _strategy_step_detail(self, url):
     resp = self.http_client.get(url)
     if resp.status_code != 200:
         self._raise_api_exception(resp)
     json_object = get_json(resp)
     resource = list()
     resource.append(
         self.resource_class(
             self,
             cloud=json_object['cloud'],
             stage=json_object['stage'],
             state=json_object['state'],
             details=json_object['details'],
             started_at=json_object['started-at'],
             finished_at=json_object['finished-at'],
             created_at=json_object['created-at'],
             updated_at=json_object['updated-at'],
         ))
     return resource
 def _sw_update_options_update(self, url, data):
     data = json.dumps(data)
     resp = self.http_client.post(url, data)
     if resp.status_code != 200:
         self._raise_api_exception(resp)
     json_object = get_json(resp)
     resource = list()
     resource.append(
         self.resource_class(
             self,
             cloud=json_object['name'],
             storage_apply_type=json_object['storage-apply-type'],
             compute_apply_type=json_object['compute-apply-type'],
             max_parallel_computes=json_object['max-parallel-computes'],
             alarm_restriction_type=json_object['alarm-restriction-type'],
             default_instance_action=json_object['default-instance-action'],
             created_at=json_object['created-at'],
             updated_at=json_object['updated-at']))
     return resource
 def _sw_update_options_list(self, url):
     resp = self.http_client.get(url)
     if resp.status_code != 200:
         self._raise_api_exception(resp)
     json_response_key = get_json(resp)
     json_objects = json_response_key['sw-update-options']
     resource = []
     for json_object in json_objects:
         resource.append(
             self.resource_class(
                 self,
                 cloud=json_object['name'],
                 storage_apply_type=json_object['storage-apply-type'],
                 compute_apply_type=json_object['compute-apply-type'],
                 max_parallel_computes=json_object['max-parallel-computes'],
                 alarm_restriction_type=json_object[
                     'alarm-restriction-type'],
                 default_instance_action=json_object[
                     'default-instance-action'],
                 created_at=json_object['created-at'],
                 updated_at=json_object['updated-at']))
     return resource