Exemplo n.º 1
0
    def __init__(self, plugins=None):
        """User preference for each service.

        :param plugins: List of entry point namespaces to load.

        Create a new :class:`~openstack.profile.Profile`
        object with no preferences defined, but knowledge of the services.
        Services are identified by their service type, e.g.: 'identity',
        'compute', etc.
        """
        self._services = {}

        self._add_service(anti_ddos_service.AntiDDosService(version="v1"))
        self._add_service(block_store_service.BlockStoreService(version="v2"))
        self._add_service(compute_service.ComputeService(version="v2"))
        self._add_service(cts_service.CTSService(version="v1"))
        self._add_service(dms_service.DMSService(version="v1"))
        self._add_service(identity_service.IdentityService(version="v3"))
        self._add_service(image_service.ImageService(version="v2"))
        self._add_service(kms_service.KMSService(version="v1"))
        self._add_service(maas_service.MaaSService(version="v1"))
        self._add_service(network_service.NetworkService(version="v2.0"))
        self._add_service(
            orchestration_service.OrchestrationService(version="v1"))
        self._add_service(smn_service.SMNService(version="v2"))
        # QianBiao.NG HuaWei Services
        self._add_service(dns_service.DNSService(version="v2"))
        self._add_service(cloud_eye_service.CloudEyeService(version="v1"))
        ass = auto_scaling_service.AutoScalingService(version="v1")
        self._add_service(ass)
        vbs_v2 = volume_backup_service.VolumeBackupService(version="v2")
        self._add_service(vbs_v2)
        self._add_service(map_reduce_service.MapReduceService(version="v1"))
        self._add_service(evs_service.EvsServiceV2_1(version='v2.1'))
        self._add_service(evs_service.EvsService(version='v2'))
        self._add_service(ecs_service.EcsService(version='v1'))
        self._add_service(ecs_service.EcsServiceV1_1(version='v1.1'))
        self._add_service(vpc_service.VpcService(version='v2.0'))
        self._add_service(bms_service.BmsService(version='v1'))
        self._add_service(lb_service.LoadBalancerService(version='v1'))
        # not support below service
        # self._add_service(message_service.MessageService(version="v1"))
        # self._add_service(cluster_service.ClusterService(version="v1"))
        # self._add_service(database_service.DatabaseService(version="v1"))
        # self._add_service(alarm_service.AlarmService(version="v2"))
        # self._add_service(bare_metal_service.BareMetalService(version="v1"))
        # self._add_service(key_manager_service.KeyManagerService(version="v1"))
        # self._add_service(
        # object_store_service.ObjectStoreService(version="v1"))

        self._add_service(rds_service.RDSService(version="v1"))
        self._add_service(cdn_service.CDNService(version='v1'))

        # self._add_service(rds_os_service.RDSService(version="v1"))
        # self._add_service(telemetry_service.TelemetryService(version="v2"))
        # self._add_service(workflow_service.WorkflowService(version="v2"))
        if plugins:
            for plugin in plugins:
                self._load_plugin(plugin)
        self.service_keys = sorted(self._services.keys())
 def test_service(self):
     sot = cts_service.CTSService()
     self.assertEqual('cts', sot.service_type)
     self.assertEqual('public', sot.interface)
     self.assertIsNone(sot.region)
     self.assertIsNone(sot.service_name)
     self.assertEqual(2, len(sot.valid_versions))
     self.assertEqual('v1', sot.valid_versions[0].module)
     self.assertEqual('v1', sot.valid_versions[0].path)
     self.assertTrue(sot.requires_project_id)
Exemplo n.º 3
0
class Tracker(ctsresource.Resource):

    base_path = '/tracker'
    service = cts_service.CTSService()

    _query_mapping = resource.QueryParameters('tracker_name')

    # capabilities
    allow_create = True
    allow_update = True

    # Properties
    #: tracker name
    tracker_name = resource.Body('tracker_name', alternate_id=True)
    #: bucket name
    bucket_name = resource.Body('bucket_name')
    #: file prefix name in a bucket
    file_prefix_name = resource.Body('file_prefix_name')
    #: Status of the tracker
    status = resource.Body('status')
    #: Detail of the tracker, only validate if exception happens
    detail = resource.Body('detail')

    @classmethod
    def list(cls, session, paginated=False, **params):
        query_params = cls._query_mapping._transpose(params)
        uri = cls.base_path % params

        endpoint_override = cls.service.get_endpoint_override()
        resp = session.get(uri,
                           endpoint_filter=cls.service,
                           endpoint_override=endpoint_override,
                           headers={
                               "Accept": "application/json",
                               "Content-type": "application/json"
                           },
                           params=query_params)
        resp = resp.json()

        return cls.existing(**resp)

    def delete(self, session):

        params = {'tracker_name': self.tracker_name}

        endpoint_override = self.service.get_endpoint_override()
        session.delete(self.base_path,
                       endpoint_filter=self.service,
                       endpoint_override=endpoint_override,
                       headers={
                           "Accept": "",
                           "Content-type": "application/json"
                       },
                       params=params)
Exemplo n.º 4
0
class Trace(ctsresource.Resource):

    base_path = '/%(tracker_name)s/trace'
    resources_key = 'traces'
    service = cts_service.CTSService()

    allow_list = True

    _query_mapping = resource.QueryParameters('service_type', 'resource_type',
                                              'resource_id', 'resource_name'
                                              'trace_name', 'limit', 'next',
                                              'from', 'to', 'trace_id',
                                              'trace_rating', 'user')

    # Properties
    #: trace resource id
    resource_id = resource.Body('resource_id')
    #: name of the trace
    trace_name = resource.Body('trace_name')
    #: rating of the trace, normal, warning, incident
    trace_rating = resource.Body('trace_rating')
    #: trace source type
    trace_type = resource.Body('trace_type')
    #: trace request content
    request = resource.Body('request')
    #: trace response content
    response = resource.Body('response')
    #: trace http return code
    code = resource.Body('code')
    #: API version
    api_version = resource.Body('api_version')
    #: remark of the trace
    message = resource.Body('message')
    #: record time stampt
    #: *Type: int*
    record_time = resource.Body('record_time', type=int)
    #: metadata of the trace
    #: *Type: dict*
    meta_data = resource.Body('meta_data', type=dict)
    #: trace id
    trace_id = resource.Body('trace_id')
    #: trace event time
    #: *Type: int*
    time = resource.Body('time', type=int)
    #: trace user information
    user = resource.Body('user')
    #: trace service type
    service_type = resource.Body('service_type')
    #: trace resource type
    resource_type = resource.Body('resource_type')
    #: user ip of the trace
    source_ip = resource.Body('source_ip')
    #: resource name of the trace
    resource_name = resource.Body('resource_name')
Exemplo n.º 5
0
class TraceV2(ctsresource.Resource):

    # Compared with v1.0, v2.0 change trace_rating to trace_status in request,
    # user/request/resource to dict in the response
    # FIXME: the doc says, v2.0 changes resource to dict, but the api response
    # example shows response changes to dict.
    base_path = '/%(tracker_name)s/trace'
    resources_key = 'traces'
    service = cts_service.CTSService()

    allow_list = True

    _query_mapping = resource.QueryParameters('service_type', 'resource_type',
                                              'resource_id', 'resource_name'
                                              'trace_name', 'limit', 'next',
                                              'from', 'to', 'trace_id',
                                              'trace_status', 'user')

    # Properties
    #: trace resource id
    resource_id = resource.Body('resource_id')
    #: name of the trace
    trace_name = resource.Body('trace_name')
    #: rating of the trace, normal, warning, incident
    trace_status = resource.Body('trace_status')
    #: trace source type
    trace_type = resource.Body('trace_type')
    #: trace request content
    #: *Type: dict*
    request = resource.Body('request', type=dict)
    #: trace response content
    #: *Type: dict*
    response = resource.Body('response', type=dict)
    #: trace http return code
    code = resource.Body('code')
    #: API version
    api_version = resource.Body('api_version')
    #: remark of the trace
    message = resource.Body('message')
    #: record time stampt
    #: *Type: int*
    record_time = resource.Body('record_time', type=int)
    #: metadata of the trace
    #: *Type: dict*
    meta_data = resource.Body('meta_data', type=dict)
    #: trace id
    trace_id = resource.Body('trace_id')
    #: trace event time
    #: *Type: int*
    time = resource.Body('time', type=int)
    #: trace user information
    #: *Type: dict*
    user = resource.Body('user', type=dict)
    #: trace service type
    service_type = resource.Body('service_type')
    #: trace resource type
    resource_type = resource.Body('resource_type')
    #: user ip of the trace
    source_ip = resource.Body('source_ip')
    #: resource name of the trace
    resource_name = resource.Body('resource_name')