Cloud Driver Capability Info Guide - cloud-barista/cb-spider GitHub Wiki

Cloud Driver Capability Info Guide

Language: English | 한국어

1. CB-Spider Cloud Driver Capability Info Overview

  • Users can check whether the Driver for the current Connection supports specific resources and features using Driver Capability information.

  • Within code that utilizes CB-Spider, it is possible to handle CSPs that do not provide certain resources by conditionally checking resource availability of the current Connection's Driver.

2. CB-Spider Cloud Driver Capability Info API and Specification

  • Users can retrieve Driver Capability information in JSON format using the following CB-Spider REST API.

    GET /driver/capability     - Get Driver Capability Information
    
  • The information included in the JSON result is as follows:

    Property Description Example Value
    RegionZoneHandler Whether the Driver provides a handler for RegionZone information list true or false
    PriceInfoHandler Whether the Driver provides a handler for Price information list true or false
    QuotaInfoHandler Whether the Driver provides a handler for Quota information list true or false
    ImageHandler Whether the Driver provides a handler for Image information list true or false
    VMSpecHandler Whether the Driver provides a handler for VM Spec information list true or false
    DBSpecHandler Whether the Driver provides a handler for DB Spec information list true or false
    ZoneBasedControl Whether the Driver supports Zone-based Control for resources true or false
    VPCHandler VPC_CIDR SINGLE_VPC EMULATED_VPC Whether the Driver provides a handler for VPC control Whether the Driver provides VPC CIDR information Whether the Driver provides a single VPC Whether the Driver emulates VPC for Classic CSP compatibility true or false true or false true or false true or false
    SecurityHandler Whether the Driver provides a handler for Security Group control true or false
    KeyPairHandler Whether the Driver provides a handler for KeyPair control true or false
    VMHandler Whether the Driver provides a handler for VM control true or false
    DiskHandler Whether the Driver provides a handler for Disk control true or false
    MyImageHandler Whether the Driver provides a handler for MyImage control true or false
    PublicIPHandler Whether the Driver provides a handler for PublicIP control true or false
    NICHandler Whether the Driver provides a handler for NIC control true or false
    NLBHandler Whether the Driver provides a handler for NLB control true or false
    ClusterHandler Whether the Driver provides a handler for Cluster control true or false
    FileSystemHandler Whether the Driver provides a handler for FileSystem control true or false
    RDBMSHandler RDBMSMySQLHandler RDBMSMariaDBHandler RDBMSPostgreSQLHandler Whether the Driver provides a handler for RDBMS control Whether the Driver supports the MySQL DB engine (DBEngine=mysql) Whether the Driver supports the MariaDB DB engine (DBEngine=mariadb) Whether the Driver supports the PostgreSQL DB engine (DBEngine=postgresql) true or false true or false true or false true or false
    TagHandler Whether the Driver provides a handler for Tag control true or false
    TagSupportResourceType List of resource types supported for tagging by the Driver ["vpc", "subnet", "vm"]

3. CB-Spider Cloud Driver Capability Info API Example

  • The following is an example of calling the Driver Capability API for the Driver configured in the AWS aws-config01 Connection.
    curl -sX 'GET' 'http://localhost:1024/spider/driver/capability?ConnectionName=aws-config01' | json_pp
    
     {
           "RegionZoneHandler" : true,
           "PriceInfoHandler" : true,
           "QuotaInfoHandler" : true,
           "ImageHandler" : true,
           "VMSpecHandler" : true,
           "DBSpecHandler" : true,
    
           "ZoneBasedControl" : true,
    
           "VPCHandler" : true,
           "VPC_CIDR" : true,
           "SINGLE_VPC" : false,
           "EMULATED_VPC" : false,
    
           "SecurityHandler" : true,
           "KeyPairHandler" : true,
           "VMHandler" : true,
           "DiskHandler" : true,
           "MyImageHandler" : true,
           "PublicIPHandler" : true,
           "NICHandler" : false,
           "NLBHandler" : true,
    
           "ClusterHandler" : true,
    
           "FileSystemHandler" : true,
    
           "RDBMSHandler" : true,
           "RDBMSMySQLHandler" : true,
           "RDBMSMariaDBHandler" : true,
           "RDBMSPostgreSQLHandler" : false,
    
           "TagHandler" : true,
           "TagSupportResourceType" : [
              "vpc",
              "subnet",
              "sg",
              "keypair",
              "vm",
              "nlb",
              "disk",
              "myimage",
              "cluster",
              "filesystem",
              "rdbms"
           ]
     }