Skip to content

AnyCall API Extension Guide

ByoungSeob Kim edited this page Sep 21, 2022 · 11 revisions

AnyCall: CB-Spider API 확장 기능

  • 멀티클라우드 공통 제어를 제공하는 CB-Spider API는 특정 Cloud의 세밀한 제어가 불충분할 때가 있다.
  • AnyCall API 확장(AnyCall API Extension) 기능은 특정 CSP에 대한 부가 API를 쉽게 추가할 수 있는 방법을 제공한다.
  • AnyCall 기능은 아래 그림과 같이 (1)AnyCall MSG, (2)AnyCall API, (3)AnyCallHandler 및 추가되는 (4)Ext-Function들로 구성되며,


[CB-Spider AnyCall API 확장 기능 개요]


  • 각 요소별 세부 내용은 다음과 같다.
    • (1) AnyCall MSG
      • 추가할 함수로 전달될 input msg와 함수 실행 결과를 포함하는 output msg가 존재한다.
      • AnyCall MSG가 포함하는 정보는 다음과 같다.
          - To. Cloud: 함수를 실행할 대상 클라우드
          - Function ID: Driver 내에 추가할 함수 이름
          - input List: 함수에 입력할 인자 리스트
          - output List: 함수 결과 정보 리스트
        
    • (2) AnyCall API
    • (3) AnyCall Handler
    • (4) Ext-Functions

  • Mock Driver를 예를 들어 설명하면,

    • Mock Cloud에서만 VPC 및 Security Group 자원의 갯수를 제공하는 함수를 추가하는 방법은 다음과 같다.
      • ConnectionName: mock-config01
      • FID: countAll
      • IKeyValueList: { "Key" : "rsType", "Value" : "vpc" }
      • OKeyValueList: { "Key" : "Count", "Value" : "10" }
  • 사용자 REST API 예시는 다음과 같습니다.

    curl -sX POST http://localhost:1024/spider/anycall -H 'Content-Type: application/json' -d \
    '{
          "ConnectionName" : "mock-config01",
          "ReqInfo" : {
                  "FID" : "countAll",
                  "IKeyValueList" : [{"Key":"rsType", "Value":"vpc"}]
          }
    }' | json_pp
    
  • 실행 결과 예시는 다음과 같습니다.

  {
     "FID" : "countAll",
     "IKeyValueList" : [
      {
         "Key" : "rsType",
         "Value" : "vpc"
      }
     ],
     "OKeyValueList" : [
      {
         "Key" : "Count",
         "Value" : "10"
      }
     ]
  }

Table of contents



Clone this wiki locally