api

package
v0.2.7 Latest Latest
Warning

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

Go to latest
Published: Apr 27, 2026 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Algorithm            = "HMAC-SHA256"
	DateFormat           = "20060102T150405Z"
	HeaderAuthorization  = "Authorization"
	HeaderXDate          = "X-Date"
	HeaderXContentSHA256 = "X-Content-Sha256"
	HeaderXSecurityToken = "X-Security-Token"
)
View Source
const (
	ServiceRDSMySQL      = "rds_mysql"
	ServiceRDSPostgreSQL = "rds_postgresql"
	ServiceRDSMSSQL      = "rds_mssql"
)
View Source
const (
	DefaultRegion = "cn-beijing"
)
View Source
const (
	DefaultTimeout = 30 * time.Second
)

Variables

This section is empty.

Functions

func DecodeError

func DecodeError(statusCode int, body []byte) error

func ErrorCode

func ErrorCode(err error) string

func IsAccessDenied added in v0.2.5

func IsAccessDenied(err error) bool

func NewHTTPClient

func NewHTTPClient() *http.Client

func NewTransport

func NewTransport() *http.Transport

func ResolveEndpoint

func ResolveEndpoint(service, region, siteStack string) string

ResolveEndpoint returns the HTTPS base URL for a Volcengine OpenAPI service.

Types

type APIError

type APIError struct {
	HTTPStatus int
	Code       string
	Message    string
	Service    string
	Action     string
	RequestID  string
}

func (*APIError) Error

func (e *APIError) Error() string

type AttachUserPolicyResponse added in v0.2.4

type AttachUserPolicyResponse struct {
	ResponseMetadata ResponseMetadata `json:"ResponseMetadata"`
}

type Client

type Client struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient(cred auth.Credential, opts ...Option) *Client

func (*Client) AttachUserPolicy added in v0.2.4

func (c *Client) AttachUserPolicy(ctx context.Context, region, userName, policyName, policyType string) (AttachUserPolicyResponse, error)

func (*Client) CreateCommand added in v0.2.4

func (c *Client) CreateCommand(ctx context.Context, region, name, commandType, commandContent, contentEncoding string) (CreateCommandResponse, error)

func (*Client) CreateLoginProfile added in v0.2.4

func (c *Client) CreateLoginProfile(ctx context.Context, region, userName, password string) (CreateLoginProfileResponse, error)

func (*Client) CreateUser added in v0.2.4

func (c *Client) CreateUser(ctx context.Context, region, userName, displayName string) (CreateUserResponse, error)

func (*Client) DeleteCommand added in v0.2.4

func (c *Client) DeleteCommand(ctx context.Context, region, commandID string) (DeleteCommandResponse, error)

func (*Client) DeleteLoginProfile added in v0.2.4

func (c *Client) DeleteLoginProfile(ctx context.Context, region, userName string) (DeleteLoginProfileResponse, error)

func (*Client) DeleteUser added in v0.2.4

func (c *Client) DeleteUser(ctx context.Context, region, userName string) (DeleteUserResponse, error)

func (*Client) DescribeCloudAssistantStatus added in v0.2.4

func (c *Client) DescribeCloudAssistantStatus(ctx context.Context, region string, instanceIDs []string, osType string, pageSize int32) (DescribeCloudAssistantStatusResponse, error)

func (*Client) DescribeInstances

func (c *Client) DescribeInstances(ctx context.Context, region string, maxResults int32, nextToken string) (DescribeInstancesResponse, error)

func (*Client) DescribeInvocationResults added in v0.2.4

func (c *Client) DescribeInvocationResults(ctx context.Context, region, invocationID, commandID, instanceID string, maxResults int32) (DescribeInvocationResultsResponse, error)

func (*Client) DescribeRDSMySQLInstances added in v0.2.5

func (c *Client) DescribeRDSMySQLInstances(ctx context.Context, region string, pageNumber, pageSize int32) (DescribeRDSMySQLInstancesResponse, error)

func (*Client) DescribeRDSPostgreSQLInstances added in v0.2.5

func (c *Client) DescribeRDSPostgreSQLInstances(ctx context.Context, region string, pageNumber, pageSize int32) (DescribeRDSPostgreSQLInstancesResponse, error)

func (*Client) DescribeRDSRegions added in v0.2.5

func (c *Client) DescribeRDSRegions(ctx context.Context, service, region string) (DescribeRDSRegionsResponse, error)

func (*Client) DescribeRDSSQLServerInstances added in v0.2.5

func (c *Client) DescribeRDSSQLServerInstances(ctx context.Context, region string, pageNumber, pageSize int32) (DescribeRDSSQLServerInstancesResponse, error)

func (*Client) DescribeRegions

func (c *Client) DescribeRegions(ctx context.Context, region string, maxResults int32) (DescribeRegionsResponse, error)

func (*Client) DetachUserPolicy added in v0.2.4

func (c *Client) DetachUserPolicy(ctx context.Context, region, userName, policyName, policyType string) (DetachUserPolicyResponse, error)

func (*Client) DoOpenAPI

func (c *Client) DoOpenAPI(ctx context.Context, req Request, out any) error

func (*Client) GetLoginProfile

func (c *Client) GetLoginProfile(ctx context.Context, region, userName string) (GetLoginProfileResponse, error)

func (*Client) InvokeCommand added in v0.2.4

func (c *Client) InvokeCommand(ctx context.Context, region, commandID, invocationName string, instanceIDs []string) (InvokeCommandResponse, error)

func (*Client) ListDNSRecords added in v0.2.5

func (c *Client) ListDNSRecords(ctx context.Context, zid int64, pageNumber, pageSize int32) (ListDNSRecordsResponse, error)

func (*Client) ListDNSZones added in v0.2.5

func (c *Client) ListDNSZones(ctx context.Context, pageNumber, pageSize int32) (ListDNSZonesResponse, error)

func (*Client) ListProjects

func (c *Client) ListProjects(ctx context.Context, region string) (ListProjectsResponse, error)

func (*Client) ListUsers

func (c *Client) ListUsers(ctx context.Context, region string, limit, offset int32) (ListUsersResponse, error)

func (*Client) QueryBalanceAcct

func (c *Client) QueryBalanceAcct(ctx context.Context, region string) (QueryBalanceAcctResponse, error)

type CreateCommandResponse added in v0.2.4

type CreateCommandResponse struct {
	ResponseMetadata ResponseMetadata `json:"ResponseMetadata"`
	Result           struct {
		CommandID string `json:"CommandId"`
	} `json:"Result"`
}

type CreateLoginProfileResponse added in v0.2.4

type CreateLoginProfileResponse struct {
	ResponseMetadata ResponseMetadata `json:"ResponseMetadata"`
	Result           struct {
		LoginProfile IAMLoginProfile `json:"LoginProfile"`
	} `json:"Result"`
}

type CreateUserResponse added in v0.2.4

type CreateUserResponse struct {
	ResponseMetadata ResponseMetadata `json:"ResponseMetadata"`
	Result           struct {
		User IAMUserMetadata `json:"User"`
	} `json:"Result"`
}

type DNSRecord added in v0.2.5

type DNSRecord struct {
	Enable *bool  `json:"Enable,omitempty"`
	FQDN   string `json:"FQDN"`
	Host   string `json:"Host"`
	Type   string `json:"Type"`
	Value  string `json:"Value"`
}

type DNSZone added in v0.2.5

type DNSZone struct {
	ZID      int64  `json:"ZID"`
	ZoneName string `json:"ZoneName"`
}

type DeleteCommandResponse added in v0.2.4

type DeleteCommandResponse struct {
	ResponseMetadata ResponseMetadata `json:"ResponseMetadata"`
	Result           struct {
		CommandID string `json:"CommandId"`
	} `json:"Result"`
}

type DeleteLoginProfileResponse added in v0.2.4

type DeleteLoginProfileResponse struct {
	ResponseMetadata ResponseMetadata `json:"ResponseMetadata"`
}

type DeleteUserResponse added in v0.2.4

type DeleteUserResponse struct {
	ResponseMetadata ResponseMetadata `json:"ResponseMetadata"`
}

type DescribeCloudAssistantStatusResponse added in v0.2.4

type DescribeCloudAssistantStatusResponse struct {
	ResponseMetadata ResponseMetadata `json:"ResponseMetadata"`
	Result           struct {
		Instances  []ECSCloudAssistantInstance `json:"Instances"`
		PageNumber int32                       `json:"PageNumber"`
		PageSize   int32                       `json:"PageSize"`
		TotalCount int32                       `json:"TotalCount"`
	} `json:"Result"`
}

type DescribeInstancesResponse

type DescribeInstancesResponse struct {
	ResponseMetadata ResponseMetadata `json:"ResponseMetadata"`
	Result           struct {
		NextToken string        `json:"NextToken"`
		Instances []ECSInstance `json:"Instances"`
	} `json:"Result"`
}

type DescribeInvocationResultsResponse added in v0.2.4

type DescribeInvocationResultsResponse struct {
	ResponseMetadata ResponseMetadata `json:"ResponseMetadata"`
	Result           struct {
		InvocationResults []ECSInvocationResult `json:"InvocationResults"`
		PageNumber        int32                 `json:"PageNumber"`
		PageSize          int32                 `json:"PageSize"`
		TotalCount        int32                 `json:"TotalCount"`
	} `json:"Result"`
}

type DescribeRDSMySQLInstancesResponse added in v0.2.5

type DescribeRDSMySQLInstancesResponse struct {
	ResponseMetadata ResponseMetadata `json:"ResponseMetadata"`
	Result           struct {
		Instances []RDSMySQLInstance `json:"Instances"`
		Total     int32              `json:"Total"`
	} `json:"Result"`
}

type DescribeRDSPostgreSQLInstancesResponse added in v0.2.5

type DescribeRDSPostgreSQLInstancesResponse struct {
	ResponseMetadata ResponseMetadata `json:"ResponseMetadata"`
	Result           struct {
		Instances []RDSPostgreSQLInstance `json:"Instances"`
		Total     int32                   `json:"Total"`
	} `json:"Result"`
}

type DescribeRDSRegionsResponse added in v0.2.5

type DescribeRDSRegionsResponse struct {
	ResponseMetadata ResponseMetadata `json:"ResponseMetadata"`
	Result           struct {
		Regions []RDSRegion `json:"Regions"`
	} `json:"Result"`
}

type DescribeRDSSQLServerInstancesResponse added in v0.2.5

type DescribeRDSSQLServerInstancesResponse struct {
	ResponseMetadata ResponseMetadata `json:"ResponseMetadata"`
	Result           struct {
		InstancesInfo []RDSSQLServerInstance `json:"InstancesInfo"`
		Total         int32                  `json:"Total"`
	} `json:"Result"`
}

type DescribeRegionsResponse

type DescribeRegionsResponse struct {
	ResponseMetadata ResponseMetadata `json:"ResponseMetadata"`
	Result           struct {
		NextToken string      `json:"NextToken"`
		Regions   []ECSRegion `json:"Regions"`
	} `json:"Result"`
}

type DetachUserPolicyResponse added in v0.2.4

type DetachUserPolicyResponse struct {
	ResponseMetadata ResponseMetadata `json:"ResponseMetadata"`
}

type ECSCloudAssistantInstance added in v0.2.4

type ECSCloudAssistantInstance struct {
	ClientVersion     string `json:"ClientVersion"`
	HostName          string `json:"HostName"`
	InstanceID        string `json:"InstanceId"`
	InstanceName      string `json:"InstanceName"`
	LastHeartbeatTime string `json:"LastHeartbeatTime"`
	OSType            string `json:"OsType"`
	OSVersion         string `json:"OsVersion"`
	Status            string `json:"Status"`
}

type ECSEipAddress

type ECSEipAddress struct {
	IPAddress string `json:"IpAddress"`
}

type ECSInstance

type ECSInstance struct {
	InstanceID        string                `json:"InstanceId"`
	Hostname          string                `json:"Hostname"`
	Status            string                `json:"Status"`
	OSType            string                `json:"OsType"`
	EipAddress        ECSEipAddress         `json:"EipAddress"`
	NetworkInterfaces []ECSNetworkInterface `json:"NetworkInterfaces"`
}

type ECSInvocationResult added in v0.2.4

type ECSInvocationResult struct {
	CommandID              string `json:"CommandId"`
	InvocationID           string `json:"InvocationId"`
	InstanceID             string `json:"InstanceId"`
	InvocationStatus       string `json:"InvocationStatus"`
	InvocationResultStatus string `json:"InvocationResultStatus"`
	Output                 string `json:"Output"`
	ErrorInfo              string `json:"ErrorInfo"`
	ErrorMessage           string `json:"ErrorMessage"`
	ErrorCode              string `json:"ErrorCode"`
}

func (ECSInvocationResult) Message added in v0.2.4

func (r ECSInvocationResult) Message() string

func (ECSInvocationResult) Status added in v0.2.4

func (r ECSInvocationResult) Status() string

type ECSNetworkInterface

type ECSNetworkInterface struct {
	PrimaryIPAddress string `json:"PrimaryIpAddress"`
}

type ECSRegion

type ECSRegion struct {
	RegionID string `json:"RegionId"`
}

type ErrorBody

type ErrorBody struct {
	Code    string `json:"Code"`
	Message string `json:"Message"`
	CodeN   int    `json:"CodeN"`
}

type GetLoginProfileResponse

type GetLoginProfileResponse struct {
	ResponseMetadata ResponseMetadata `json:"ResponseMetadata"`
	Result           struct {
		LoginProfile IAMLoginProfile `json:"LoginProfile"`
	} `json:"Result"`
}

type IAMLoginProfile

type IAMLoginProfile struct {
	UserName              string `json:"UserName"`
	LastLoginDate         string `json:"LastLoginDate"`
	LoginAllowed          bool   `json:"LoginAllowed"`
	PasswordResetRequired bool   `json:"PasswordResetRequired"`
}

type IAMProject

type IAMProject struct {
	ProjectName string `json:"ProjectName"`
	AccountID   int64  `json:"AccountID"`
}

type IAMUserMetadata

type IAMUserMetadata struct {
	UserName   string `json:"UserName"`
	AccountID  int64  `json:"AccountId"`
	CreateDate string `json:"CreateDate"`
}

type InvokeCommandResponse added in v0.2.4

type InvokeCommandResponse struct {
	ResponseMetadata ResponseMetadata `json:"ResponseMetadata"`
	Result           struct {
		InvocationID string `json:"InvocationId"`
	} `json:"Result"`
}

type ListDNSRecordsResponse added in v0.2.5

type ListDNSRecordsResponse struct {
	PageNumber int32       `json:"PageNumber"`
	PageSize   int32       `json:"PageSize"`
	Records    []DNSRecord `json:"Records"`
	TotalCount int32       `json:"TotalCount"`
}

type ListDNSZonesResponse added in v0.2.5

type ListDNSZonesResponse struct {
	Total int32     `json:"Total"`
	Zones []DNSZone `json:"Zones"`
}

type ListProjectsResponse

type ListProjectsResponse struct {
	ResponseMetadata ResponseMetadata `json:"ResponseMetadata"`
	Result           struct {
		Projects []IAMProject `json:"Projects"`
		Total    int32        `json:"Total"`
	} `json:"Result"`
}

type ListUsersResponse

type ListUsersResponse struct {
	ResponseMetadata ResponseMetadata `json:"ResponseMetadata"`
	Result           struct {
		UserMetadata []IAMUserMetadata `json:"UserMetadata"`
		Total        int32             `json:"Total"`
		Limit        int32             `json:"Limit"`
		Offset       int32             `json:"Offset"`
	} `json:"Result"`
}

type Option

type Option func(*Client)

func WithBaseURL

func WithBaseURL(rawURL string) Option

func WithClock

func WithClock(now func() time.Time) Option

func WithHTTPClient

func WithHTTPClient(hc *http.Client) Option

func WithRetryPolicy

func WithRetryPolicy(p RetryPolicy) Option

func WithSiteStack

func WithSiteStack(siteStack string) Option

type QueryBalanceAcctResponse

type QueryBalanceAcctResponse struct {
	ResponseMetadata ResponseMetadata `json:"ResponseMetadata"`
	Result           struct {
		AvailableBalance string `json:"AvailableBalance"`
	} `json:"Result"`
}

type RDSAddressObject added in v0.2.5

type RDSAddressObject struct {
	Domain      string `json:"Domain"`
	IPAddress   string `json:"IPAddress"`
	NetworkType string `json:"NetworkType"`
	Port        string `json:"Port"`
}

type RDSMySQLInstance added in v0.2.5

type RDSMySQLInstance struct {
	AddressObject   []RDSAddressObject `json:"AddressObject"`
	DBEngineVersion string             `json:"DBEngineVersion"`
	InstanceID      string             `json:"InstanceId"`
	InstanceName    string             `json:"InstanceName"`
	InstanceStatus  string             `json:"InstanceStatus"`
	RegionID        string             `json:"RegionId"`
}

type RDSPostgreSQLInstance added in v0.2.5

type RDSPostgreSQLInstance struct {
	AddressObject   []RDSAddressObject `json:"AddressObject"`
	DBEngineVersion string             `json:"DBEngineVersion"`
	InstanceID      string             `json:"InstanceId"`
	InstanceName    string             `json:"InstanceName"`
	InstanceStatus  string             `json:"InstanceStatus"`
	RegionID        string             `json:"RegionId"`
}

type RDSRegion added in v0.2.5

type RDSRegion struct {
	RegionID   string `json:"RegionId"`
	RegionName string `json:"RegionName"`
}

type RDSSQLServerInstance added in v0.2.5

type RDSSQLServerInstance struct {
	DBEngineVersion string             `json:"DBEngineVersion"`
	InstanceID      string             `json:"InstanceId"`
	InstanceName    string             `json:"InstanceName"`
	InstanceStatus  string             `json:"InstanceStatus"`
	NodeDetailInfo  []RDSSQLServerNode `json:"NodeDetailInfo"`
	Port            string             `json:"Port"`
	RegionID        string             `json:"RegionId"`
}

type RDSSQLServerNode added in v0.2.5

type RDSSQLServerNode struct {
	NodeIP   string `json:"NodeIP"`
	NodeType string `json:"NodeType"`
}

type Request

type Request struct {
	Service    string
	Version    string
	Action     string
	Method     string
	Region     string
	Path       string
	Query      url.Values
	Body       []byte
	Headers    http.Header
	Idempotent bool
}

type ResponseMetadata

type ResponseMetadata struct {
	RequestID string     `json:"RequestId"`
	Error     *ErrorBody `json:"Error,omitempty"`
}

type RetryPolicy

type RetryPolicy = httpclient.RetryPolicy

func DefaultRetryPolicy

func DefaultRetryPolicy() RetryPolicy

type SignInput

type SignInput struct {
	Method       string
	Host         string
	Path         string
	Query        url.Values
	Body         []byte
	ContentType  string
	Service      string
	Region       string
	AccessKey    string
	SecretKey    string
	SessionToken string
	Headers      http.Header
	Timestamp    time.Time
}

type Signature

type Signature struct {
	Authorization    string
	SignedHeaders    string
	CredentialScope  string
	CanonicalRequest string
	StringToSign     string
	XDate            string
	XContentSHA256   string
}

func Sign

func Sign(input SignInput) (Signature, error)

Jump to

Keyboard shortcuts

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