common

package
v0.9.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 23, 2024 License: Apache-2.0 Imports: 24 Imported by: 1

Documentation

Overview

Package common is to include common methods for managing multi-cloud infra

Package common is to include common methods for managing multi-cloud infra

Package common is to include common methods for managing multi-cloud infra

Package common is to include common methods for managing multi-cloud infra

Package common is to include common methods for managing multi-cloud infra

Index

Constants

View Source
const (
	// VeryShortDuration is a duration for very short-term cache
	VeryShortDuration = 1 * time.Second
	// ShortDuration is a duration for short-term cache
	ShortDuration = 2 * time.Second
	// MediumDuration is a duration for medium-term cache
	MediumDuration = 5 * time.Second
	// LongDuration is a duration for long-term cache
	LongDuration = 10 * time.Second
)
View Source
const (
	StrSpiderRestUrl              string = "SPIDER_REST_URL"
	StrDragonflyRestUrl           string = "DRAGONFLY_REST_URL"
	StrTerrariumRestUrl           string = "TERRARIUM_REST_URL"
	StrDBUrl                      string = "DB_URL"
	StrDBDatabase                 string = "DB_DATABASE"
	StrDBUser                     string = "DB_USER"
	StrDBPassword                 string = "DB_PASSWORD"
	StrAutocontrolDurationMs      string = "AUTOCONTROL_DURATION_MS"
	CbStoreKeyNotFoundErrorString string = "key not found"
	StrAdd                        string = "add"
	StrDelete                     string = "delete"
	StrSSHKey                     string = "sshKey"
	StrImage                      string = "image"
	StrCustomImage                string = "customImage"
	StrSecurityGroup              string = "securityGroup"
	StrSpec                       string = "spec"
	StrVNet                       string = "vNet"
	StrSubnet                     string = "subnet"
	StrDataDisk                   string = "dataDisk"
	StrNLB                        string = "nlb"
	StrVM                         string = "vm"
	StrMCIS                       string = "mcis"
	StrK8s                        string = "k8s"
	StrKubernetes                 string = "kubernetes"
	StrContainer                  string = "container"
	StrDefaultResourceName        string = "-systemdefault-"

	// SystemCommonNs is const for SystemCommon NameSpace ID
	SystemCommonNs string = "system-purpose-common-ns"
)
View Source
const (
	AttachDataDisk    string = "attach"
	DetachDataDisk    string = "detach"
	AvailableDataDisk string = "available"
)

type DataDiskCmd string

View Source
const NoBody = "NOBODY"

NoBody is a constant for empty body

Variables

View Source
var AutocontrolDurationMs string
View Source
var CBStore icbs.Store

CB-Store

View Source
var DBDatabase string
View Source
var DBPassword string
View Source
var DBUrl string
View Source
var DBUser string
View Source
var DefaultCredentialHolder string
View Source
var DefaultNamespace string
View Source
var DragonflyRestUrl string
View Source
var MyDB *sql.DB
View Source
var RequestMap = sync.Map{}

RequestMap is a map for request details

View Source
var RuntimeCloudInfo = CloudInfo{}

RuntimeCloudInfo is global variable for CloudInfo

View Source
var RuntimeConf = RuntimeConfig{}

RuntimeConf is global variable for cloud config

View Source
var RuntimeCredential = Credential{}
View Source
var RuntimeK8sClusterInfo = K8sClusterInfo{}

RuntimeK8sClusterInfo is global variable for K8sClusterInfo

View Source
var RuntimeLatancyMap = [][]string{}

RuntimeLatancyMap is global variable for LatancyMap

View Source
var RuntimeLatancyMapIndex = make(map[string]int)

RuntimeLatancyMapIndex is global variable for LatancyMap (index)

View Source
var SpiderRestUrl string
View Source
var StartTime string
View Source
var SystemReady bool

SystemReady is global variable for checking SystemReady status

View Source
var TerrariumRestUrl string

Functions

func AdjustKeysToLowercase added in v0.8.7

func AdjustKeysToLowercase(cloudInfo *CloudInfo)

AdjustKeysToLowercase adjusts the keys of nested maps to lowercase.

func AppendIfMissing added in v0.3.11

func AppendIfMissing(slice []string, i string) []string

func ChangeIdString added in v0.5.4

func ChangeIdString(name string) string

ChangeIdString is func to change strings in id or name (special chars to -, to lower string )

func CheckConfig added in v0.3.1

func CheckConfig(id string) (bool, error)

func CheckConnConfigAvailable added in v0.8.8

func CheckConnConfigAvailable(connConfigName string) (bool, error)

CheckConnConfigAvailable is func to check if connection config is available by checking allkeypair list

func CheckElement added in v0.6.4

func CheckElement(a string, list []string) bool

func CheckNs added in v0.3.1

func CheckNs(id string) (bool, error)

func CheckSpiderReady added in v0.8.8

func CheckSpiderReady() error

CheckSpiderStatus is func to check if CB-Spider is ready

func CheckString added in v0.3.7

func CheckString(name string) error

CheckString is func to check string by the given rule `[a-z]([-a-z0-9]*[a-z0-9])?`

func ConvertToMessage

func ConvertToMessage(inType string, inData string, obj interface{}) error

ConvertToMessage is func to change input data to gRPC message

func ConvertToOutput

func ConvertToOutput(outType string, obj interface{}) (string, error)

ConvertToOutput is func to convert gRPC message to print format

func CopySrcToDest

func CopySrcToDest(src interface{}, dest interface{}) error

CopySrcToDest is func to copy data from source to target

func DelAllNs

func DelAllNs() error

func DelNs

func DelNs(id string) error

func DeleteObject added in v0.3.3

func DeleteObject(key string) error

DeleteObject is func to delete the object

func DeleteObjects added in v0.3.3

func DeleteObjects(key string) error

DeleteObjects is func to delete objects

func EndRequestWithLog added in v0.7.13

func EndRequestWithLog(c echo.Context, reqID string, err error, responseData interface{}) error

EndRequestWithLog updates the request details and sends the final response.

func ExecuteHttpRequest added in v0.7.5

func ExecuteHttpRequest[B any, T any](
	client *resty.Client,
	method string,
	url string,
	headers map[string]string,
	useBody bool,
	body *B,
	result *T,
	cacheDuration time.Duration,
) error

ExecuteHttpRequest performs the HTTP request and fills the result (var requestBody interface{} = nil for empty body)

func ForwardRequestToAny added in v0.8.1

func ForwardRequestToAny(reqPath string, method string, requestBody interface{}) (interface{}, error)

ForwardRequestToAny forwards the given request to the specified path

func GenChildResourceKey added in v0.4.10

func GenChildResourceKey(nsId string, resourceType string, parentResourceId string, resourceId string) string

GenChildResourceKey is func to generate a key from resource type and id

func GenConnectionKey added in v0.8.8

func GenConnectionKey(connectionId string) string

GenConnectionKey is func to generate a key for connection info

func GenCredentialHolderKey added in v0.8.9

func GenCredentialHolderKey(holderId string) string

GenCredentialHolderKey is func to generate a key for credentialHolder info

func GenMcisKey

func GenMcisKey(nsId string, mcisId string, vmId string) string

GenMcisKey is func to generate a key used in keyValue store

func GenMcisPolicyKey added in v0.2.8

func GenMcisPolicyKey(nsId string, mcisId string, vmId string) string

GenMcisPolicyKey is func to generate Mcis policy key

func GenMcisSubGroupKey added in v0.6.10

func GenMcisSubGroupKey(nsId string, mcisId string, groupId string) string

GenMcisSubGroupKey is func to generate a key from subGroupId used in keyValue store

func GenRandomPassword added in v0.7.1

func GenRandomPassword(length int) string

GenRandomPassword is func to return a RandomPassword

func GenResourceKey

func GenResourceKey(nsId string, resourceType string, resourceId string) string

GenResourceKey is func to generate a key from resource type and id

func GenUid added in v0.4.10

func GenUid() string

GenUid is func to return a UUID string

func GenerateNewRandomString added in v0.6.7

func GenerateNewRandomString(n int) string

generate a random string (from CB-MCKS source code)

func GetAvailableK8sClusterNodeImage added in v0.8.14

func GetAvailableK8sClusterNodeImage(providerName string, regionName string) (*[]K8sClusterNodeImageDetailAvailable, error)

GetAvailableK8sClusterNodeImage is func to get available kubernetes cluster node images for provider and region from K8sClusterInfo

func GetAvailableK8sClusterVersion added in v0.8.14

func GetAvailableK8sClusterVersion(providerName string, regionName string) (*[]K8sClusterVersionDetailAvailable, error)

GetAvailableK8sClusterVersion is func to get available kubernetes cluster versions for provider and region from K8sClusterInfo

func GetChildIdList

func GetChildIdList(key string) []string

GetChildIdList is func to get child id list from given key

func GetCspResourceId

func GetCspResourceId(nsId string, resourceType string, resourceId string) (string, error)

GetCspResourceId is func to retrieve CSP native resource ID

func GetFuncName added in v0.5.4

func GetFuncName() string

GetFuncName is func to get the name of the running function

func GetObjectList added in v0.3.3

func GetObjectList(key string) []string

GetObjectList is func to return IDs of each child objects that has the same key

func GetObjectValue added in v0.3.3

func GetObjectValue(key string) (string, error)

GetObjectValue is func to return the object value

func InitAllConfig added in v0.3.9

func InitAllConfig() error

func InitConfig added in v0.3.9

func InitConfig(id string) error

func ListConfigId

func ListConfigId() []string

func ListNsId

func ListNsId() ([]string, error)

func LookupKeyValueList

func LookupKeyValueList(kvl []KeyValue, key string) string

LookupKeyValueList is func to lookup KeyValue list

func NVL

func NVL(str string, def string) string

NVL is func for null value logic

func NsValidation

func NsValidation() echo.MiddlewareFunc

func OpenSQL

func OpenSQL(path string) error

func PrintCloudInfoTable added in v0.8.5

func PrintCloudInfoTable(cloudInfo CloudInfo)

PrintCloudInfoTable prints CloudInfo in table format

func PrintCredentialInfo added in v0.8.8

func PrintCredentialInfo(credential Credential)

PrintCredentialInfo prints Credential information in table format

func PrintJsonPretty

func PrintJsonPretty(v interface{})

PrintJsonPretty is func to print JSON pretty with indent

func RandomSleep added in v0.4.10

func RandomSleep(from int, to int)

RandomSleep is func to make a caller waits for during random time seconds (random value within x~y)

func RegisterAllCloudInfo added in v0.8.8

func RegisterAllCloudInfo() error

RegisterAllCloudInfo is func to register all cloud info from asset to CB-Spider

func RegisterCloudInfo added in v0.8.8

func RegisterCloudInfo(providerName string) error

RegisterCloudInfo is func to register cloud info from asset to CB-Spider

func RegisterRegionZone added in v0.8.8

func RegisterRegionZone(providerName string, regionName string) error

RegisterRegionZone is func to register all regions to CB-Spider

func SelectDatabase

func SelectDatabase(database string) error

func SetUseBody added in v0.7.6

func SetUseBody(requestBody interface{}) bool

SetUseBody returns false if the given body is NoBody

func StartRequestWithLog added in v0.7.13

func StartRequestWithLog(c echo.Context) (string, error)

StartRequestWithLog initializes request tracking details

func ToLower added in v0.3.1

func ToLower(name string) string

ToLower is func to change strings (_ to -, " " to -, to lower string ) (deprecated soon)

func UpdateGlobalVariable added in v0.3.9

func UpdateGlobalVariable(id string) error

func UpdateRequestProgress added in v0.8.13

func UpdateRequestProgress(reqID string, progressData interface{})

UpdateRequestProgress updates the handling status of the request.

Types

type CSPDetail added in v0.8.5

type CSPDetail struct {
	Description string                  `mapstructure:"description" json:"description"`
	Driver      string                  `mapstructure:"driver" json:"driver"`
	Links       []string                `mapstructure:"link" json:"links"`
	Regions     map[string]RegionDetail `mapstructure:"region" json:"regions"`
}

CSPDetail is structure for CSP information

type CacheItem added in v0.7.5

type CacheItem[T any] struct {
	Response  T
	ExpiresAt time.Time
}

CacheItem is a struct to store cached item

type Cloud added in v0.6.6

type Cloud struct {
	Common    CloudSetting `yaml:"common"`
	Aws       CloudSetting `yaml:"aws"`
	Azure     CloudSetting `yaml:"azure"`
	Gcp       CloudSetting `yaml:"gcp"`
	Alibaba   CloudSetting `yaml:"alibaba"`
	Tencent   CloudSetting `yaml:"tencent"`
	Ibm       CloudSetting `yaml:"ibm"`
	Nhncloud  CloudSetting `yaml:"nhncloud"`
	Openstack CloudSetting `yaml:"openstack"`
	Cloudit   CloudSetting `yaml:"cloudit"`
}

Cloud is structure for cloud settings per CSP

type CloudDriverInfo added in v0.8.8

type CloudDriverInfo struct {
	DriverName        string
	ProviderName      string
	DriverLibFileName string
}

CloudDriverInfo is struct for containing a CB-Spider struct for cloud driver info

type CloudInfo added in v0.8.5

type CloudInfo struct {
	CSPs map[string]CSPDetail `mapstructure:"cloud" json:"csps"`
}

CloudInfo is structure for cloud information

func GetCloudInfo added in v0.8.7

func GetCloudInfo() (CloudInfo, error)

GetCloudInfo is func to get all cloud info from the asset

type CloudSetting added in v0.6.6

type CloudSetting struct {
	Enable     string            `yaml:"enable"`
	Nlb        NlbSetting        `yaml:"nlb"`
	K8sCluster K8sClusterSetting `yaml:"k8scluster"`
}

CloudSetting is structure for cloud settings per CSP in details

type ConfigInfo

type ConfigInfo struct {
	Id    string `json:"id" example:"SPIDER_REST_URL"`
	Name  string `json:"name" example:"SPIDER_REST_URL"`
	Value string `json:"value" example:"http://localhost:1024/spider"`
}

swagger:response ConfigInfo

func GetConfig

func GetConfig(id string) (ConfigInfo, error)

func ListConfig

func ListConfig() ([]ConfigInfo, error)

func UpdateConfig

func UpdateConfig(u *ConfigReq) (ConfigInfo, error)

type ConfigReq

type ConfigReq struct {
	Name  string `json:"name" example:"SPIDER_REST_URL"`
	Value string `json:"value" example:"http://localhost:1024/spider"`
}

swagger:request ConfigReq

type ConnConfig

type ConnConfig struct {
	ConfigName           string         `json:"configName"`
	ProviderName         string         `json:"providerName"`
	DriverName           string         `json:"driverName"`
	CredentialName       string         `json:"credentialName"`
	CredentialHolder     string         `json:"credentialHolder"`
	RegionZoneInfoName   string         `json:"regionZoneInfoName"`
	RegionZoneInfo       RegionZoneInfo `json:"regionZoneInfo"`
	RegionDetail         RegionDetail   `json:"regionDetail"`
	RegionRepresentative bool           `json:"regionRepresentative"`
	Verified             bool           `json:"verified"`
}

ConnConfig is struct for containing modified CB-Spider struct for connection config

func GetConnConfig

func GetConnConfig(ConnConfigName string) (ConnConfig, error)

GetConnConfig is func to get connection config

func RegisterConnectionConfig added in v0.8.8

func RegisterConnectionConfig(connConfig ConnConfig) (ConnConfig, error)

RegisterConnectionConfig is func to register connection config to CB-Spider

type ConnConfigList

type ConnConfigList struct {
	Connectionconfig []ConnConfig `json:"connectionconfig"`
}

ConnConfigList is struct for containing a CB-Spider struct for connection config list

func GetConnConfigList

func GetConnConfigList(filterCredentialHolder string, filterVerified bool, filterRegionRepresentative bool) (ConnConfigList, error)

GetConnConfigList is func to list filtered connection configs

type Credential added in v0.8.8

type Credential struct {
	Credentialholder map[string]map[string]map[string]string `yaml:"credentialholder"`
}

type CredentialInfo added in v0.8.8

type CredentialInfo struct {
	CredentialName   string     `json:"credentialName"`
	CredentialHolder string     `json:"credentialHolder"`
	ProviderName     string     `json:"providerName"`
	KeyValueInfoList []KeyValue `json:"keyValueInfoList"`
}

CredentialInfo is struct for containing a struct for credential info

func RegisterCredential added in v0.8.8

func RegisterCredential(req CredentialReq) (CredentialInfo, error)

RegisterCredential is func to register credential and all releated connection configs

type CredentialReq added in v0.8.8

type CredentialReq struct {
	CredentialHolder string     `json:"credentialHolder"`
	ProviderName     string     `json:"providerName"`
	KeyValueInfoList []KeyValue `json:"keyValueInfoList"`
}

CredentialReq is struct for containing a struct for credential request

type IID

type IID struct {
	NameId   string // NameID by user
	SystemId string // SystemID by CloudOS
}

Spider 2020-03-30 https://github.com/cloud-barista/cb-spider/blob/master/cloud-control-manager/cloud-driver/interfaces/resources/IId.go

type IdList added in v0.3.10

type IdList struct {
	IdList []string `json:"output"`
	// contains filtered or unexported fields
}

func GetProviderList added in v0.8.9

func GetProviderList() (*IdList, error)

GetProviderList is func to list all cloud providers

func (*IdList) AddItem added in v0.8.6

func (list *IdList) AddItem(id string)

AddItem adds a new item to the IdList

type K8sClusterDetail added in v0.8.14

type K8sClusterDetail struct {
	NodeGroupsWithCluster bool                        `mapstructure:"nodegroupsWithCluster" json:"nodegroups_with_cluster"`
	Version               []K8sClusterVersionDetail   `mapstructure:"version" json:"versions"`
	NodeImage             []K8sClusterNodeImageDetail `mapstructure:"nodeImage" json:"node_images"`
	RootDisk              []K8sClusterRootDiskDetail  `mapstructure:"rootDisk" json:"root_disks"`
}

K8sClusterDetail is structure for kubernetes cluster detail information

type K8sClusterInfo added in v0.8.14

type K8sClusterInfo struct {
	CSPs map[string]K8sClusterDetail `mapstructure:"k8scluster" json:"k8s_cluster"`
}

K8sClusterInfo is structure for kubernetes cluster information

func GetK8sClusterInfo added in v0.8.14

func GetK8sClusterInfo() (K8sClusterInfo, error)

GetK8sClusterInfo is func to get all kubernetes cluster info from the asset

type K8sClusterNodeImageDetail added in v0.8.14

type K8sClusterNodeImageDetail struct {
	Region    []string                             `mapstructure:"region" json:"region"`
	Available []K8sClusterNodeImageDetailAvailable `mapstructure:"available" json:"availables"`
}

K8sClusterNodeImageDetail is structure for kubernetes cluster node image detail information

type K8sClusterNodeImageDetailAvailable added in v0.8.14

type K8sClusterNodeImageDetailAvailable struct {
	Name string `mapstructure:"name" json:"name"`
	Id   string `mapstructure:"id" json:"id"`
}

K8sClusterNodeImageDetailAvailable is structure for kubernetes cluster node image detail's available information

type K8sClusterRootDiskDetail added in v0.8.14

type K8sClusterRootDiskDetail struct {
	Region []string                       `mapstructure:"region" json:"region"`
	Type   []K8sClusterRootDiskDetailType `mapstructure:"type" json:"type"`
	Size   K8sClusterRootDiskDetailSize   `mapstructure:"size" json:"size"`
}

K8sClusterRootDiskDetail is structure for kubernetes cluster root disk detail information

type K8sClusterRootDiskDetailSize added in v0.8.14

type K8sClusterRootDiskDetailSize struct {
	Min uint `mapstructure:"min" json:"min"`
	Max uint `mapstructure:"max" json:"max"`
}

K8sClusterRootDiskDetailSize is structure for kubernetes cluster root disk detail's size information

type K8sClusterRootDiskDetailType added in v0.8.14

type K8sClusterRootDiskDetailType struct {
	Name string `mapstructure:"name" json:"name"`
	Id   string `mapstructure:"id" json:"id"`
}

K8sClusterRootDiskDetailType is structure for kubernetes cluster root disk detail's type information

type K8sClusterSetting added in v0.8.15

type K8sClusterSetting struct {
	Enable string `yaml:"enable"`
}

K8sClusterSetting is structure for K8sCluster setting

type K8sClusterVersionDetail added in v0.8.14

type K8sClusterVersionDetail struct {
	Region    []string                           `mapstructure:"region" json:"region"`
	Available []K8sClusterVersionDetailAvailable `mapstructure:"available" json:"availables"`
}

K8sClusterVersionDetail is structure for kubernetes cluster version detail information

type K8sClusterVersionDetailAvailable added in v0.8.14

type K8sClusterVersionDetailAvailable struct {
	Name string `mapstructure:"name" json:"name" example:"1.30"`
	Id   string `mapstructure:"id" json:"id" example:"1.30.1-aliyun.1"`
}

K8sClusterVersionDetailAvailable is structure for kubernetes cluster version detail's available information

type KeyValue

type KeyValue struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

KeyValue is struct for key-value pair

type Location added in v0.8.5

type Location struct {
	Display   string  `mapstructure:"display" json:"display"`
	Latitude  float64 `mapstructure:"latitude" json:"latitude"`
	Longitude float64 `mapstructure:"longitude" json:"longitude"`
}

Location is structure for location information

type NlbSetting added in v0.6.6

type NlbSetting struct {
	Enable    string `yaml:"enable"`
	Interval  string `yaml:"interval"`
	Timeout   string `yaml:"timeout"`
	Threshold string `yaml:"threshold"`
}

NlbSetting is structure for NLB setting

type Nlbsw added in v0.6.12

type Nlbsw struct {
	Sw                      string `yaml:"sw"`
	Version                 string `yaml:"version"`
	CommandNlbPrepare       string `yaml:"commandNlbPrepare"`
	CommandNlbDeploy        string `yaml:"commandNlbDeploy"`
	CommandNlbAddTargetNode string `yaml:"commandNlbAddTargetNode"`
	CommandNlbApplyConfig   string `yaml:"commandNlbApplyConfig"`
	NlbMcisCommonSpec       string `yaml:"nlbMcisCommonSpec"`
	NlbMcisCommonImage      string `yaml:"nlbMcisCommonImage"`
	NlbMcisSubGroupSize     string `yaml:"nlbMcisSubGroupSize"`
}

Nlbsw is structure for NLB setting

type NsInfo

type NsInfo struct {
	Id          string `json:"id" example:"ns01"`
	Name        string `json:"name" example:"ns01"`
	Description string `json:"description" example:"Description for this namespace"`
}

swagger:response NsInfo

func CreateNs

func CreateNs(u *NsReq) (NsInfo, error)

func GetNs

func GetNs(id string) (NsInfo, error)

func ListNs

func ListNs() ([]NsInfo, error)

func UpdateNs added in v0.5.5

func UpdateNs(id string, u *NsReq) (NsInfo, error)

UpdateNs is func to update namespace info

type NsReq

type NsReq struct {
	Name        string `json:"name" example:"ns01"`
	Description string `json:"description" example:"Description for this namespace"`
}

type OptionalParameter added in v0.7.9

type OptionalParameter struct {
	Value string
	Set   bool
}

OptionalParameter is struct for optional parameter for function (ex. VmId)

type ProgressInfo added in v0.8.13

type ProgressInfo struct {
	Title string      `json:"title"`
	Info  interface{} `json:"info"`
	Time  time.Time   `json:"time"`
}

ProgressInfo contains the progress information of a request.

type RegionDetail added in v0.8.5

type RegionDetail struct {
	RegionId    string   `mapstructure:"id" json:"regionId"`
	RegionName  string   `mapstructure:"regionName" json:"regionName"`
	Description string   `mapstructure:"description" json:"description"`
	Location    Location `mapstructure:"location" json:"location"`
	Zones       []string `mapstructure:"zone" json:"zones"`
}

RegionDetail is structure for region information

func GetRegion

func GetRegion(ProviderName, RegionName string) (RegionDetail, error)

GetRegion is func to get regionInfo with the native region name

type RegionList

type RegionList struct {
	Region []SpiderRegionZoneInfo `json:"region"`
}

RegionList is array struct for Region

func GetRegionList

func GetRegionList() (RegionList, error)

GetRegionList is func to retrieve region list

type RegionZoneInfo added in v0.8.8

type RegionZoneInfo struct {
	AssignedRegion string `json:"assignedRegion"`
	AssignedZone   string `json:"assignedZone"`
}

RegionZoneInfo is struct for containing region struct

type RequestDetails added in v0.7.13

type RequestDetails struct {
	StartTime     time.Time   `json:"startTime"`     // The time when the request was received by the server.
	EndTime       time.Time   `json:"endTime"`       // The time when the request was fully processed.
	Status        string      `json:"status"`        // The current status of the request (e.g., "Handling", "Error", "Success").
	RequestInfo   RequestInfo `json:"requestInfo"`   // Extracted information about the request.
	ResponseData  interface{} `json:"responseData"`  // The data sent back in response to the request.
	ErrorResponse string      `json:"errorResponse"` // A message describing any error that occurred during request processing.
}

RequestDetails contains detailed information about an HTTP request and its processing status.

type RequestInfo added in v0.7.13

type RequestInfo struct {
	Method string            `json:"method"`         // HTTP method (GET, POST, etc.), indicating the request's action type.
	URL    string            `json:"url"`            // The URL the request is made to.
	Header map[string]string `json:"header"`         // Key-value pairs of the request headers.
	Body   interface{}       `json:"body,omitempty"` // Optional: request body
}

RequestInfo stores the essential details of an HTTP request.

func ExtractRequestInfo added in v0.7.13

func ExtractRequestInfo(r *http.Request) RequestInfo

ExtractRequestInfo extracts necessary information from http.Request

type RuntimeConfig added in v0.6.6

type RuntimeConfig struct {
	Cloud Cloud `yaml:"cloud"`
	Nlbsw Nlbsw `yaml:"nlbsw"`
}

RuntimeConfig is structure for global variable for cloud config

type SimpleMsg

type SimpleMsg struct {
	Message string `json:"message" example:"Any message"`
}

SimpleMsg is struct for JSON Simple message

type SpiderConnConfig added in v0.8.8

type SpiderConnConfig struct {
	ConfigName     string
	ProviderName   string
	DriverName     string
	CredentialName string
	RegionName     string
}

SpiderConnConfig is struct for containing a CB-Spider struct for connection config

type SpiderConnectionName added in v0.3.7

type SpiderConnectionName struct {
	ConnectionName string `json:"ConnectionName"`
}

type SpiderRegionZoneInfo added in v0.8.8

type SpiderRegionZoneInfo struct {
	RegionName        string     // ex) "region01"
	ProviderName      string     // ex) "GCP"
	KeyValueInfoList  []KeyValue // ex) { {region, us-east1}, {zone, us-east1-c} }
	AvailableZoneList []string
}

SpiderRegionZoneInfo is struct for containing region struct of CB-Spider

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL