Documentation
¶
Index ¶
- Constants
- Variables
- func Contains(states []EMRClusterStatus, state EMRClusterStatus) bool
- func TimeParse(t string) (time.Time, error)
- type AddTagsInput
- type AttachVolumeInput
- type Attr
- type Box
- type Bucket
- type ClientIo
- type Cloud
- type CloudIO
- type Color
- type CommonContract
- type CommonDnsResponse
- type CommonFilter
- type CommonPictureRequest
- type CommonPictureResponse
- type Coord
- type CreateBucketLifecycleRequest
- type CreateBucketRequest
- type CreateEmrClusterInput
- type CreateEmrClusterResponse
- type CreateInstanceInput
- type CreateInstanceResponse
- type CreatePictureRequest
- type CreatePictureResponse
- type CreateRecordRequest
- type CreateRecordResponse
- type CreateSecurityGroupPoliciesInput
- type CreateSecurityGroupPoliciesResponse
- type CreateSecurityGroupWithPoliciesInput
- type CreateSecurityGroupWithPoliciesResponse
- type CreateSqsRequest
- type CreateTagsInput
- type CreateVolumeInput
- type DataPoint
- type DeleteBucketRequest
- type DeleteBucketResponse
- type DeleteInstanceInput
- type DeleteInstanceResponse
- type DeletePrivateRecordRequest
- type DeleteRecordRequest
- type DeleteVolumeInput
- type DescribeDomainListRequest
- type DescribeDomainListResponse
- type DescribeEmrCluster
- type DescribeInput
- type DescribeInstancePriceInput
- type DescribeInstancePriceResponse
- type DescribeInstancesInput
- type DescribePrivateDnsRecordListWithPageRequest
- type DescribePrivateDomainListResponse
- type DescribePrivateRecordListRequest
- type DescribePrivateRecordListResponse
- type DescribeRecordListRequest
- type DescribeRecordListResponse
- type DescribeRecordListWithPageRequest
- type DescribeRecordRequest
- type DescribeVolumesInput
- type DetachVolumeInput
- type Dimension
- type Disk
- type Domain
- type DomainCountInfo
- type EIP
- type EMRClusterStatus
- type EMRInstaceSpec
- type EmrCluster
- type EmrConfig
- type EmrConfigDetail
- type EmrContact
- type EmrFilter
- type EmrSubnet
- type Filter
- type FilterEmrResponse
- type GetBucketLifecycleRequest
- type GetBucketLifecycleResponse
- type GetMonitorMetricDataRequest
- type GetMonitorMetricDataResponse
- type GetPictureByNameResponse
- type Group
- type Image
- type ImageInfo
- type ImageRect
- type Instance
- type InstanceChargeType
- type InstanceFilter
- type InstancePolicy
- type InstanceResponse
- type InstanceStatus
- type InstanceType
- type KeyPair
- type Lifecycle
- type LifecycleAbortIncompleteMultipartUpload
- type LifecycleExpiration
- type LifecycleFilter
- type LifecycleNoncurrentVersionExpiration
- type LifecycleNoncurrentVersionTransition
- type LifecycleTransition
- type ListBucketRequest
- type ListBucketResponse
- type ListRecordsPageResponse
- type MetricData
- type MetricInstanceType
- type MetricName
- type MetricsType
- type ModifyAction
- type ModifyInstanceInput
- type ModifyInstanceResponse
- type ModifyRecordRequest
- type ModifyTagsInput
- type ModifyVolumeInput
- type NAT
- type Object
- type ObjectPregisnRequest
- type ObjectPregisnResponse
- type OcrRequest
- type OcrResponse
- type PolicySet
- type PrivateDomain
- type ProfileConfig
- type QueryPictureRequest
- type QueryPictureResponse
- type Record
- type RedrivePolicy
- type RemoveTagsInput
- type ResourceSpec
- type Role
- type SearchPictureRequest
- type SearchPictureResponse
- type SecurityGroup
- type SecurityGroupPolicy
- type SqsConfig
- type Subnet
- type Tag
- type Tags
- func AwsTagsToModelTags(tags []*ec2.Tag) *Tags
- func NewTagsFromAWSEmrTags(tags []*emr.Tag) Tags
- func NewTagsFromAWSS3Tags(tags []*s3.Tag) Tags
- func NewTagsFromTencentCosTags(tags []cos.BucketTaggingTag) Tags
- func NewTagsFromTencentEmrTags(tags []*tencentEmr.Tag) Tags
- func TencentTagsToModelTags(tags []*cvm.Tag) *Tags
- func TencentVpcTagsFmt(tags []*tencentVpc.Tag) *Tags
- func (t *Tags) Add(key, value string)
- func (t Tags) GetEnvType() *string
- func (t Tags) GetName() *string
- func (t Tags) GetOwner() *string
- func (t Tags) GetTagValueByKey(key string) *string
- func (t Tags) GetTeam() *string
- func (t Tags) GetTimeByKey(key string, location *time.Location) (*time.Time, error)
- func (t *Tags) Remove(key string)
- func (t *Tags) Scan(value interface{}) error
- func (t Tags) ToAWSEmrTags() []*emr.Tag
- func (t Tags) ToAWSS3Tags() []*s3.Tag
- func (t *Tags) ToRunInstanceTags() []*cvm.TagSpecification
- func (t Tags) ToString() string
- func (t Tags) ToTencentCosTags() []cos.BucketTaggingTag
- func (t *Tags) ToTencentEmrTags() []*tencentEmr.Tag
- func (t *Tags) ToTencentTags() []*tencentTag.Tag
- func (t Tags) Value() (driver.Value, error)
- type TencenteDiskType
- type TextDetection
- type UpdatePictureRequest
- type VPC
- type Volume
- type VolumeAttachment
- type VolumeAttachments
Constants ¶
const ( POSTPAID_BY_HOUR InstanceChargeType = "POSTPAID_BY_HOUR" ON_DEMAND InstanceChargeType = "ON_DEMAND" SPOT InstanceChargeType = "SPOT" PREPAID InstanceChargeType = "PREPAID" Terminate InstancePolicy = "Terminate" Reserve InstancePolicy = "Reserve" )
Variables ¶
var ( ErrCloudNotSupported = fmt.Errorf("profile cloud not supported") // 配置文件中的云不能匹配到 ErrProfileNotFound = fmt.Errorf("profile not found") )
Functions ¶
func Contains ¶
func Contains(states []EMRClusterStatus, state EMRClusterStatus) bool
Types ¶
type AddTagsInput ¶
type AttachVolumeInput ¶
type AttachVolumeInput struct {
VolumeID *string `json:"volume_id"`
InstanceID *string `json:"instance_id"`
DeleteWithInstance *bool `json:"delete_with_instance"`
}
AttachVolumeInput represents the input for attaching a volume to an instance
type ClientIo ¶
type ClientIo interface {
GetAwsEc2Client(profile, region string) (*ec2.EC2, error)
GetAwsEbsClient(profile, region string) (*ebs.EBS, error)
GetAwsSqsClient(profile, region string) (*sqs.SQS, error)
GetAWSEmrClient(profile, region string) (*emr.EMR, error)
GetAWSCredential(profile string) (*credentials.Credentials, error)
GetAWSS3Client(profile, region string) (*s3.S3, error)
GetAwsRoute53Client(profile, region string) (*route53.Route53, error)
GetAwsRoute53DomainClient(profile string) (*route53domains.Route53Domains, error)
GetTencentCvmClient(profile, region string) (*cvm.Client, error)
GetTencentCbsClient(profile, region string) (*cbs.Client, error)
GetTencentEmrClient(profile, region string) (*tencentEmr.Client, error)
GetTencentVpcClient(profile, region string) (*tencentVpc.Client, error)
GetTencentCosClient(profile, region string) (*cos.Client, error)
GetTencentCosLifecycleClient(profile, region, bucket string) (*cos.Client, error)
GetTencentTagsClient(profile, region string) (*tag.Client, error)
GetTencentOcrClient(profile, region string) (*ocr.Client, error)
GetTencentOcrTiiaClient(profile, region string) (*tiia.Client, error)
GetTencentDnsPodClient(profile string) (*dnspod.Client, error)
GetTencentPrivateDNSClient(profile string) (*privatedns.Client, error)
GetTencentMonitorClient(profile, region string) (*monitor.Client, error)
}
type CloudIO ¶
type CloudIO interface {
// monitor
GetMonitorMetricData(profile, region string, input GetMonitorMetricDataRequest) (*GetMonitorMetricDataResponse, error)
DescribeInstances(profile, region string, input DescribeInstancesInput) (InstanceResponse, error)
CreateInstance(profile, region string, input CreateInstanceInput) (CreateInstanceResponse, error)
ModifyInstance(profile, region string, input ModifyInstanceInput) (ModifyInstanceResponse, error)
DeleteInstance(profile, region string, input DeleteInstanceInput) (DeleteInstanceResponse, error)
DescribeKeyPairs(profile, region string, input CommonFilter) ([]KeyPair, error)
DescribeImages(profile, region string, input CommonFilter) ([]Image, error)
DescribeInstanceTypes(profile, region string) ([]InstanceType, error)
// 机器包年包月费用查询
DescribeInstancePrice(profile, region string, input DescribeInstancePriceInput) (DescribeInstancePriceResponse, error)
// Volume
DescribeVolumes(profile, region string, input DescribeVolumesInput) ([]Volume, error)
CreateVolume(profile, region string, input CreateVolumeInput) (string, error)
ModifyVolume(profile, region string, input ModifyVolumeInput) error
DeleteVolume(profile, region string, input DeleteVolumeInput) error
AttachVolume(profile, region string, input AttachVolumeInput) error
DetachVolume(profile, region string, input DetachVolumeInput) error
// VPC
QueryVPC(profile, region string, input CommonFilter) ([]VPC, error)
QuerySubnet(profile, region string, input CommonFilter) ([]Subnet, error)
QueryEIP(profile, region string, input CommonFilter) ([]EIP, error)
QueryNAT(profile, region string, input CommonFilter) ([]NAT, error)
QuerySecurityGroups(profile, region string, input CommonFilter) ([]SecurityGroup, error)
CreateSecurityGroupWithPolicies(profile, region string, input CreateSecurityGroupWithPoliciesInput) (CreateSecurityGroupWithPoliciesResponse, error) // 创建安全组并添加策略
CreateSecurityGroupPolicies(profile, region string, input CreateSecurityGroupPoliciesInput) (CreateSecurityGroupPoliciesResponse, error) // 创建安全组策略
// Tags
CreateTags(profile, region string, input CreateTagsInput) error
AddTagsToResource(profile, region string, input AddTagsInput) error
RemoveTagsFromResource(profile, region string, input RemoveTagsInput) error
ModifyTagsForResource(profile, region string, input ModifyTagsInput) error
// EMR
QueryEmrCluster(EmrFilter) (FilterEmrResponse, error) // 方便 Post使用,将Profile和Region放入filter
DescribeEmrCluster(DescribeInput) ([]DescribeEmrCluster, error)
CreateEmrCluster(profile, region string, input CreateEmrClusterInput) (CreateEmrClusterResponse, error)
// tencent region is not required
DescribeDomainList(profile, region string, input DescribeDomainListRequest) (DescribeDomainListResponse, error)
DescribeRecordList(profile, region string, input DescribeRecordListRequest) (DescribeRecordListResponse, error)
DescribeRecordListWithPages(profile, region string, input DescribeRecordListWithPageRequest) (ListRecordsPageResponse, error)
DescribeRecord(profile, region string, input DescribeRecordRequest) (Record, error)
CreateRecord(profile, region string, input CreateRecordRequest) (CreateRecordResponse, error)
ModifyRecord(profile, region string, ignoreType bool, input ModifyRecordRequest) error
DeleteRecord(profile, region string, input DeleteRecordRequest) (CommonDnsResponse, error)
// Private_Dns
DescribePrivateDomainList(profile string, input DescribeDomainListRequest) (DescribePrivateDomainListResponse, error)
CreatePrivateRecord(profile string, input CreateRecordRequest) (CreateRecordResponse, error)
DeletePrivateRecord(profile string, input DeletePrivateRecordRequest) error
ModifyPrivateRecord(profile string, input ModifyRecordRequest) error
DescribePrivateRecordList(profile string, input DescribePrivateRecordListRequest) (DescribePrivateRecordListResponse, error)
DescribePrivateRecordListWithPages(profile string, input DescribePrivateDnsRecordListWithPageRequest) (ListRecordsPageResponse, error)
// OCR
CommonOCR(profile, region string, input OcrRequest) (OcrResponse, error)
CreatePicture(profile, region string, input CreatePictureRequest) (CreatePictureResponse, error)
GetPictureByName(profile, region string, input CommonPictureRequest) (GetPictureByNameResponse, error)
QueryPicture(profile, region string, input QueryPictureRequest) (QueryPictureResponse, error)
DeletePicture(profile, region string, input CommonPictureRequest) (CommonPictureResponse, error)
UpdatePicture(profile, region string, input UpdatePictureRequest) (CommonPictureResponse, error)
SearchPicture(profile, region string, input SearchPictureRequest) (SearchPictureResponse, error)
// S3 COS
CreateBucket(profile, region string, input CreateBucketRequest) error
CreateBucketLifecycle(profile, region string, input CreateBucketLifecycleRequest) error
GetBucketLifecycle(profile, region string, input GetBucketLifecycleRequest) (GetBucketLifecycleResponse, error)
// DeleteBucketLifecycle(profile, region string, input DeleteBucketLifecycleRequest) error
DeleteBucket(profile, region string, input DeleteBucketRequest) (DeleteBucketResponse, error)
ListBucket(profile, region string, input ListBucketRequest) (ListBucketResponse, error) // 比官方多支持了 aws location 返回,并且都带上了tag返回。
GetObjectPregisn(profile, region string, input ObjectPregisnRequest) (ObjectPregisnResponse, error)
GetObjectPregisnWithAKSK(ak, sk, region string, input ObjectPregisnRequest) (ObjectPregisnResponse, error) // 支持AKSK的方式获取对象的预签名URL
// SQS
CreateSqs(profile, region string, input CreateSqsRequest) error
}
type CommonContract ¶
type CommonContract interface {
QueryOcr(profile, region string, input OcrRequest) (OcrResponse, error)
// monitor 获取监控指标
GetMonitorMetricData(profile, region string, input GetMonitorMetricDataRequest) (*GetMonitorMetricDataResponse, error)
// tiia
CreatePicture(profile, region string, input CreatePictureRequest) (CreatePictureResponse, error)
GetPictureByName(profile, region string, input CommonPictureRequest) (GetPictureByNameResponse, error)
QueryPicture(profile, region string, input QueryPictureRequest) (QueryPictureResponse, error)
DeletePicture(profile, region string, input CommonPictureRequest) (CommonPictureResponse, error)
UpdatePicture(profile, region string, input UpdatePictureRequest) (CommonPictureResponse, error)
SearchPicture(profile, region string, input SearchPictureRequest) (SearchPictureResponse, error)
PrivateDomainList(profile string, req DescribeDomainListRequest) (DescribePrivateDomainListResponse, error)
PrivateRecordList(profile string, req DescribePrivateRecordListRequest) (DescribePrivateRecordListResponse, error)
PrivateRecordListWithPages(profile string, req DescribePrivateDnsRecordListWithPageRequest) (ListRecordsPageResponse, error)
PrivateCreateRecord(profile string, req CreateRecordRequest) (CreateRecordResponse, error)
PrivateModifyRecord(profile string, req ModifyRecordRequest) error
PrivateDeleteRecord(profile string, req DeletePrivateRecordRequest) error
DescribeDomainList(profile, region string, req DescribeDomainListRequest) (DescribeDomainListResponse, error)
DescribeRecordList(profile, region string, req DescribeRecordListRequest) (DescribeRecordListResponse, error)
DescribeRecordListWithPages(profile, region string, req DescribeRecordListWithPageRequest) (ListRecordsPageResponse, error)
DescribeRecord(profile, region string, req DescribeRecordRequest) (Record, error)
CreateRecord(profile, region string, req CreateRecordRequest) (CreateRecordResponse, error)
ModifyRecord(profile, region string, ignoreType bool, req ModifyRecordRequest) error
DeleteRecord(profile, region string, req DeleteRecordRequest) (CommonDnsResponse, error)
DescribeEmrCluster(DescribeInput) ([]DescribeEmrCluster, error)
QueryEmrCluster(EmrFilter) (FilterEmrResponse, error)
DescribeInstances(profile, region string, input InstanceFilter) (InstanceResponse, error)
CreateInstance(profile, region string, input CreateInstanceInput) (CreateInstanceResponse, error)
ModifyInstance(profile, region string, input ModifyInstanceInput) (ModifyInstanceResponse, error)
DeleteInstance(profile, region string, input DeleteInstanceInput) (DeleteInstanceResponse, error)
DescribeImages(profile, region string, input CommonFilter) ([]Image, error)
DescribeKeyPairs(profile, region string, input CommonFilter) ([]KeyPair, error)
DescribeInstanceTypes(profile, region string) ([]InstanceType, error)
DescribeInstancePrice(profile, region string, input DescribeInstancePriceInput) (DescribeInstancePriceResponse, error)
// tags
CreateTags(profile, region string, input CreateTagsInput) error
AddTagsToResource(profile, region string, input AddTagsInput) error
RemoveTagsFromResource(profile, region string, input RemoveTagsInput) error
ModifyTagsForResource(profile, region string, input ModifyTagsInput) error
QueryVPCs(profile, region string, input CommonFilter) ([]VPC, error)
QuerySubnets(profile, region string, input CommonFilter) ([]Subnet, error)
QueryEIPs(profile, region string, input CommonFilter) ([]EIP, error)
QueryNATs(profile, region string, input CommonFilter) ([]NAT, error)
QuerySecurityGroups(profile, region string, input CommonFilter) ([]SecurityGroup, error)
CreateBucket(profile, region string, input CreateBucketRequest) error
DeleteBucket(profile, region string, input DeleteBucketRequest) (DeleteBucketResponse, error)
ListBuckets(profile, region string, input ListBucketRequest) (ListBucketResponse, error)
CreateBucketLifecycle(profile, region string, input CreateBucketLifecycleRequest) error
GetBucketLifecycle(profile, region string, input GetBucketLifecycleRequest) (GetBucketLifecycleResponse, error)
GetObjectPregisn(profile, region string, input ObjectPregisnRequest) (ObjectPregisnResponse, error)
GetObjectPregisnWithAKSK(cloud Cloud, ak, sk, region string, input ObjectPregisnRequest) (ObjectPregisnResponse, error)
DescribeVolumes(profile, region string, input DescribeVolumesInput) ([]Volume, error)
}
实现自动区分云的对象接口
type CommonDnsResponse ¶
type CommonDnsResponse struct {
Meta interface{} `json:"meta"`
}
type CommonFilter ¶
type CommonFilter struct {
ID string `json:"id"`
}
type CommonPictureRequest ¶
type CommonPictureResponse ¶
type CommonPictureResponse struct {
RequestId *string `json:"request_id"`
}
type CreateBucketLifecycleRequest ¶
func (*CreateBucketLifecycleRequest) ToCOSLifecycle ¶
func (c *CreateBucketLifecycleRequest) ToCOSLifecycle() (*cos.BucketPutLifecycleOptions, error)
<LifecycleConfiguration>
<Rule> <ID>huggingface模型定期删除</ID> <Filter> <Prefix>hg/</Prefix> </Filter> <Status>Enabled</Status> <Expiration> <Days>5</Days> </Expiration> </Rule> <Rule> <ID>OPS_BASE</ID> <Filter/> <Status>Enabled</Status> <AbortIncompleteMultipartUpload> <DaysAfterInitiation>30</DaysAfterInitiation> </AbortIncompleteMultipartUpload> </Rule>
</LifecycleConfiguration>
to COSLifecycle
func (*CreateBucketLifecycleRequest) ToS3Lifecycle ¶
func (c *CreateBucketLifecycleRequest) ToS3Lifecycle() (*s3.PutBucketLifecycleInput, error)
to aws lifecycle
type CreateBucketRequest ¶
type CreateEmrClusterInput ¶
type CreateEmrClusterInput struct {
Name *string `json:"name"`
Tags Tags `json:"tags"`
APPs []*string `json:"apps"` // hive、flink、spark
EMRVersion *string `json:"emr_version"`
InstanceChargeType *InstanceChargeType `json:"instance_charge_type"`
ResourceSpec *ResourceSpec `json:"resource_spec"`
}
func (*CreateEmrClusterInput) ToAwsRequest ¶
func (c *CreateEmrClusterInput) ToAwsRequest() (*emr.RunJobFlowInput, error)
func (*CreateEmrClusterInput) ToTencentEmrInstanceRequest ¶
func (c *CreateEmrClusterInput) ToTencentEmrInstanceRequest() (*txemr.CreateInstanceRequest, error)
type CreateEmrClusterResponse ¶
type CreateEmrClusterResponse struct {
ID string `json:"id"`
}
type CreateInstanceInput ¶
type CreateInstanceInput struct {
Name *string `json:"name"`
Count *int64 `json:"count" default:"1"` // 默认 1 个
ImageID *string `json:"image_id"`
InstanceType *string `json:"instance_type"`
InstanceChargeType *InstanceChargeType `json:"instance_charge_type"` // 默认按需
Zone *string `json:"zone"` // 这里写可用区 ID后台转换
SystemDisk *Disk `json:"system_disk"`
DataDisks []Disk `json:"data_disks"`
RoleName *string `json:"role_name"`
VpcID *string `json:"vpc_id"`
SecurityGroupIDs []*string `json:"security_group_ids"`
SubnetID *string `json:"subnet_id"`
UserData *string `json:"user_data"` // base64
Password *string `json:"password"`
KeyIds []*string `json:"key_ids"`
Tags Tags `json:"tags"`
}
Create
func (*CreateInstanceInput) ToTencentRunInstancesRequest ¶
func (i *CreateInstanceInput) ToTencentRunInstancesRequest() *cvm.RunInstancesRequest
set default
type CreateInstanceResponse ¶
type CreatePictureRequest ¶
type CreatePictureRequest struct {
GroupId *string `json:"group_id" binding:"required"`
EntityId *string `json:"entity_id" binding:"required"`
PicName *string `json:"pic_name" binding:"required"`
ImageUrl *string `json:"image_url"`
ImageBase64 *string `json:"image_base64"`
Tags *string `json:"tags"`
}
type CreatePictureResponse ¶
type CreateRecordRequest ¶
type CreateRecordRequest struct {
Domain *string `json:"domain" binding:"required"`
SubDomain *string `json:"sub_domain" binding:"required"` //主机记录,如 www,可选,如果不传,默认为 @。
RecordType *string `json:"record_type" binding:"required"` //记录类型,通过 API 记录类型获得,大写英文,比如:A 。
Value *string `json:"value" binding:"required"` //记录值,如 IP。
TTL *uint64 `json:"ttl"` //记录生效时间,默认(aws 300)(腾讯 600),最大值604800秒。
Info *string `json:"info"` //备注,主要描述创建原因用途(aws不支持,tencent支持,但是private dns 不支持)
}
type CreateRecordResponse ¶
type CreateRecordResponse struct {
RecordId *string `json:"record_id"`
Meta interface{} `json:"meta"`
}
type CreateSecurityGroupPoliciesResponse ¶
type CreateSecurityGroupPoliciesResponse struct {
Result any
}
type CreateSecurityGroupWithPoliciesResponse ¶
type CreateSecurityGroupWithPoliciesResponse struct {
Data any
}
type CreateSqsRequest ¶
type CreateSqsRequest struct {
QueueName string `json:"queue_name"`
Type string `json:"type"` // normal | fifo
Policy string `json:"policy"` // 策略
Config SqsConfig `json:"config"`
Encryption bool `json:"encryption"` // 是否开启加密
RedrivePolicy *RedrivePolicy `json:"redrive_policy"` // 死信队列策略
Tags map[string]string `json:"tags"` // 标签
}
func (*CreateSqsRequest) ToCreateQueueInput ¶
func (c *CreateSqsRequest) ToCreateQueueInput() (*sqs.CreateQueueInput, error)
to sqs.CreateQueueInput
type CreateTagsInput ¶
type CreateTagsInput struct {
Tags Tags
}
type CreateVolumeInput ¶
type CreateVolumeInput struct {
Name *string `json:"name"`
Size *int64 `json:"size"` // GB
Type *string `json:"type"` // volume type
Zone *string `json:"zone"` // availability zone
InstanceID *string `json:"instance_id"` // attach to instance
Tags Tags `json:"tags"` // volume tags
DeleteWithInstance *bool `json:"delete_with_instance"`
}
CreateVolumeInput represents the input for creating a volume
type DeleteBucketRequest ¶
type DeleteBucketRequest struct {
BucketName *string `json:"name" binding:"required"`
}
type DeleteBucketResponse ¶
type DeleteBucketResponse struct {
Meta any `json:"meta"`
}
type DeleteInstanceInput ¶
type DeleteInstanceInput struct {
InstanceIds []*string `json:"instance_ids"`
ReleaseDisk *bool `json:"release_disk"`
}
func (*DeleteInstanceInput) ToTencentTerminateInstancesRequest ¶
func (i *DeleteInstanceInput) ToTencentTerminateInstancesRequest() *cvm.TerminateInstancesRequest
默认不释放
type DeleteInstanceResponse ¶
type DeleteInstanceResponse struct {
Meta any `json:"meta"`
}
type DeleteRecordRequest ¶
type DeleteVolumeInput ¶
type DeleteVolumeInput struct {
VolumeID *string `json:"volume_id"`
Force *bool `json:"force"` // force delete if volume is in-use
}
DeleteVolumeInput represents the input for deleting a volume
type DescribeDomainListRequest ¶
type DescribeDomainListRequest struct {
DomainKeyword *string `json:"keyword"`
}
type DescribeDomainListResponse ¶
type DescribeDomainListResponse struct {
RequestId *string `json:"request_id"`
DomainList []Domain `json:"domain_list"`
DomainCountInfo *DomainCountInfo `json:"domain_count_info"`
}
type DescribeEmrCluster ¶
type DescribeInput ¶
type DescribeInstancePriceInput ¶
type DescribeInstancePriceInput struct {
Zone *string `json:"zone" binding:"required"` // 可用区
ImageId *string `json:"imageId" binding:"required"` // 镜像ID
InstanceType *string `json:"instanceType" binding:"required"` // 实例规格
Period *int64 `json:"period" binding:"required"` // 购买时长,单位:月
SystemDisk *Disk `json:"systemDisk" binding:"required"` // 系统盘类型
DataDisks []Disk `json:"dataDisks"` // 数据盘类型
}
DescribeInstancePriceInput 定义查询实例价格的输入参数
type DescribeInstancePriceResponse ¶
type DescribeInstancePriceResponse struct {
OriginalPrice *float64 `json:"originalPrice"` // 原价,单位:元
DiscountPrice *float64 `json:"discountPrice"` // 折扣价,单位:元
Discount *float64 `json:"discount"` // 折扣,单位:%
Currency *string `json:"currency"` // 货币类型:CNY
}
DescribeInstancePriceResponse 定义查询实例价格的返回结果
type DescribeInstancesInput ¶
type DescribeInstancesInput struct {
InstanceIds []*string
Filters []*Filter
Size *int64
NextMarker *string
}
每次请求的`Filters`的上限为10,`Filter.Values`的上限为5。参数不支持同时指定`InstanceIds`和`Filters`。
type DescribePrivateDomainListResponse ¶
type DescribePrivateDomainListResponse struct {
DomainList []PrivateDomain `json:"domain_list"`
TotalCount *int64 `json:"total_count"`
}
type DescribeRecordRequest ¶
type DescribeVolumesInput ¶
type DescribeVolumesInput struct {
VolumeIDs []string `json:"volume_ids"`
InstanceID *string `json:"instance_id"`
}
DescribeVolumesInput represents the input for describing volumes
type DetachVolumeInput ¶
type DetachVolumeInput struct {
VolumeID *string `json:"volume_id"`
InstanceID *string `json:"instance_id"`
Force *bool `json:"force"` // force detach
}
DetachVolumeInput represents the input for detaching a volume from an instance
type DomainCountInfo ¶
type DomainCountInfo struct {
Total *int64 `json:"total"`
}
type EIP ¶
type EIP struct {
ID *string `json:"id"`
Region string `json:"region"`
CloudProvider Cloud `json:"cloud_provider"`
Account string `json:"account"`
Tags *Tags `json:"tags"`
Name *string `json:"name"`
// `EIP`状态,包含'CREATING'(创建中),'BINDING'(绑定中),'BIND'(已绑定),'UNBINDING'(解绑中),'UNBIND'(已解绑),'OFFLINING'(释放中),'BIND_ENI'(绑定悬空弹性网卡)
Status *string `json:"status"`
AddressIp *string `json:"address_ip"`
InstanceId *string `json:"instance_id"`
CreatedTime *time.Time `json:"created_time"`
NetworkInterfaceId string `json:"network_interface_id"`
PrivateAddressIp string `json:"private_address_ip"`
Bandwidth *int64 `json:"bandwidth"`
InternetChargeType *string `json:"internet_charge_type"`
}
type EMRClusterStatus ¶
type EMRClusterStatus string
const ( EMRClusterWaiting EMRClusterStatus = "WAITING" EMRClusterStarting EMRClusterStatus = "STARTING" EMRClusterBootstrapping EMRClusterStatus = "BOOTSTRAPPING" EMRClusterRunning EMRClusterStatus = "RUNNING" EMRClusterTerminated EMRClusterStatus = "TERMINATED" EMRClusterTerminating EMRClusterStatus = "TERMINATING" EMRClusterTerminatedWithErrors EMRClusterStatus = "TERMINATED_WITH_ERRORS" EMRClusterUnknown EMRClusterStatus = "UNKNOWN" )
func EMRClusterStatusList ¶
func EMRClusterStatusList() []EMRClusterStatus
func FmtTencentState ¶
func FmtTencentState(state *int64) EMRClusterStatus
fmtState 转换 EMR 集群状态 接入腾讯云 实例的状态码。取值范围: <li>2:表示集群运行中。</li> <li>3:表示集群创建中。</li> <li>4:表示集群扩容中。 </li> <li>5:表示集群增加router节点中。</li> <li>6:表示集群安装组件中。</li> <li>7:表示集群执行命令中。 </li> <li>8:表示重启服务中。</li> <li>9:表示进入维护中。</li> <li>10:表示服务暂停中。</li> <li>11:表示退出维护中。 </li> <li>12:表示退出暂停中。</li> <li>13:表示配置下发中。</li> <li>14:表示销毁集群中。</li> <li>15:表示销毁core节点中。 </li> <li>16:销毁task节点中。</li> <li>17:表示销毁router节点中。</li> <li>18:表示更改webproxy密码中。</li> <li>19:表示集群隔离中。 </li> <li>20:表示集群冲正中。</li> <li>21:表示集群回收中。</li> <li>22:表示变配等待中。</li> <li>23:表示集群已隔离。 </li> <li>24:表示缩容节点中。</li> <li>33:表示集群等待退费中。</li> <li>34:表示集群已退费。</li> <li>301:表示创建失败。 </li> <li>302:表示扩容失败。</li> 注意:此字段可能返回 null,表示取不到有效值。 201 集群隔离中
type EMRInstaceSpec ¶
type EMRInstaceSpec struct {
InstanceCount *int64 `json:"instance_count"`
InstanceType *string `json:"instance_type"`
DiskType *string `json:"disk_type"`
DiskSize *int64 `json:"disk_size"`
DiskNum *int64 `json:"disk_num"`
RootSize *int64 `json:"root_size"`
}
tencent https://cloud.tencent.com/document/api/589/33981#Resource
type EmrCluster ¶
type EmrCluster struct {
ID, Name *string
Status EMRClusterStatus
AddTime time.Time
}
更详细的信息用Describe接口查询
type EmrConfig ¶
type EmrConfig struct {
Private EmrConfigDetail `mapstructure:"private"`
Public EmrConfigDetail `mapstructure:"public"`
EmrTidbPrivate EmrConfigDetail `mapstructure:"tidb-private"`
}
type EmrConfigDetail ¶
type EmrConfigDetail struct {
KeyId string `mapstructure:"key_id"` // 云账号的key_id
VpcId string `mapstructure:"vpc_id"` // vpc_id
SubnetId string `mapstructure:"subnet_id"` // 子网id
SgId string `mapstructure:"sg_id" ` // 安全组id
SgSlave string `mapstructure:"sg_slave"` // 安全组id
SgServiceAccess string `mapstructure:"sg_service_access"` // 安全组id aws 特有私有子网需要
Zone string `mapstructure:"zone"` // 可用区
LogUri string `mapstructure:"log_uri"` // 日志路径 cosn://xxxxx/xxx
Role Role `mapstructure:"role"` // 角色
}
type EmrContact ¶
type EmrContact interface {
}
type FilterEmrResponse ¶
type FilterEmrResponse struct {
NextMarker *string
Clusters []EmrCluster
}
type GetBucketLifecycleRequest ¶
type GetBucketLifecycleRequest struct {
Bucket *string
}
type GetBucketLifecycleResponse ¶
type GetBucketLifecycleResponse struct {
Lifecycle []Lifecycle
}
type GetMonitorMetricDataRequest ¶
type GetMonitorMetricDataRequest struct {
InstanceType MetricInstanceType `json:"instance_type"`
// 存储类型,仅当 InstanceType 为 MetricInstanceTypeCOS 时有效
MetricsType *MetricsType `json:"storage_type,omitempty"`
Instances []string `json:"instances,omitempty"` // cos 的 bucket 列表 一次最多 10个对象
}
只封装几个常用的数据获取,其他需要的可以自己扩展
func (*GetMonitorMetricDataRequest) ToTencentRequest ¶
func (r *GetMonitorMetricDataRequest) ToTencentRequest() (*monitor.GetMonitorDataRequest, error)
toTencentRequest
type GetMonitorMetricDataResponse ¶
type GetMonitorMetricDataResponse struct {
MetricName string `json:"metric_name"`
MetricDatas []MetricData `json:"metric_datas"`
Period int64 `json:"period"`
}
type Group ¶
type Group struct {
CreateTime *string `json:"create_time"` // "2023-02-02 18:04:08"
UpdateTime *string `json:"update_time"` // "2023-02-02 18:04:08"
GroupId *string `json:"group_id"`
GroupName *string `json:"group_name"`
GroupType *int64 `json:"group_type"`
MaxCapacity *int64 `json:"max_capacity"`
MaxQps *int64 `json:"max_qps"`
PicCount *int64 `json:"pic_count"`
Brief *string `json:"brief"`
}
type Instance ¶
type Instance struct {
Name *string `json:"name"`
InstanceID *string `json:"instance_id" gorm:"primarykey"`
Profile string `json:"profile"`
Zone *string `json:"zone"`
KeyIDs []*string `json:"key_ids" gorm:"serializer:json"`
Region *string `json:"region"`
PrivateIP []*string `json:"private_ip" gorm:"serializer:json"`
Platform *string `json:"platform"`
PublicIP []*string `json:"public_ip" gorm:"serializer:json"`
Status InstanceStatus `json:"status"`
Owner *string `json:"owner"`
InstanceType *string `json:"instance_type"`
Tags *Tags `json:"tags" gorm:"serializer:json"`
InstanceChargeType *string `json:"instance_charge_type"`
CreatedTime *time.Time `json:"created_time"` // UTC 时间
}
type InstanceChargeType ¶
type InstanceChargeType string
func (InstanceChargeType) IsValidForTencent ¶
func (t InstanceChargeType) IsValidForTencent() bool
IsValid 判断是否是有效的实例计费类型,腾讯只支持 2 个类型 按量和包年包月
func (InstanceChargeType) String ¶
func (t InstanceChargeType) String() *InstanceChargeType
func (InstanceChargeType) TString ¶
func (t InstanceChargeType) TString() *string
func (InstanceChargeType) ToTencentEmrChargeType ¶
func (t InstanceChargeType) ToTencentEmrChargeType() *uint64
*uint64 实例计费模式。取值范围: <li>0:表示按量计费。</li> <li>1:表示包年包月。</li>
type InstanceFilter ¶
type InstanceFilter struct {
Name *string `json:"name"` // 机器名称,使用字符串包含匹配方式
IDs []*string `json:"ids"` // 机器ID列表,使用字符串包含匹配方式
PrivateIp *string `json:"private_ip"` // 私有IP
PublicIp *string `json:"public_ip"` // 公有IP
Status *InstanceStatus `json:"status"` // 机器状态
Owner *string `json:"owner"` // 机器所有者,tags的Owner
Size *int64 `json:"size"` // 分页大小
NextMarker *string `json:"next_marker"` // 如果没有下一页,返回nil 腾讯云直接返回所有数据,不需要分页
}
func (*InstanceFilter) ToAwsDescribeInstancesInput ¶
func (q *InstanceFilter) ToAwsDescribeInstancesInput() DescribeInstancesInput
func (*InstanceFilter) ToTxDescribeInstancesInput ¶
func (q *InstanceFilter) ToTxDescribeInstancesInput() DescribeInstancesInput
type InstancePolicy ¶
type InstancePolicy string
type InstanceResponse ¶
type InstanceStatus ¶
type InstanceStatus string
const ( InstanceStatusRunning InstanceStatus = "RUNNING" InstanceStatusStopped InstanceStatus = "STOPPED" InstanceStatusPending InstanceStatus = "PENDING" InstanceStatusUnknown InstanceStatus = "UNKNOWN" // STARTING InstanceStatusStarting InstanceStatus = "STARTING" // REBOOTING InstanceStatusRebooting InstanceStatus = "REBOOTING" // TERMINATED InstanceStatusTerminated InstanceStatus = "TERMINATED" // STOPPING InstanceStatusStopping InstanceStatus = "STOPPING" )
func ToInstanceStatus ¶
func ToInstanceStatus(s string) InstanceStatus
func (InstanceStatus) TString ¶
func (i InstanceStatus) TString() *InstanceStatus
func (InstanceStatus) ToString ¶
func (i InstanceStatus) ToString() string
type InstanceType ¶
type Lifecycle ¶
type Lifecycle struct {
ID *string `xml:"ID" json:"id" binding:"required"`
Filter *LifecycleFilter `xml:"Filter" json:"filter"`
Status *bool `xml:"Status" json:"status"`
Expiration *LifecycleExpiration `xml:"Expiration" json:"expiration"`
NoncurrentVersionExpiration *LifecycleNoncurrentVersionExpiration `xml:"NoncurrentVersionExpiration" json:"noncurrent_version_expiration"`
Transitions []LifecycleTransition `xml:"Transition" json:"transition"`
NoncurrentVersionTransitions []LifecycleNoncurrentVersionTransition `xml:"NoncurrentVersionTransition" json:"noncurrent_version_transition"`
AbortIncompleteMultipartUpload *LifecycleAbortIncompleteMultipartUpload `xml:"AbortIncompleteMultipartUpload" json:"abort_incomplete_multipart_upload"`
}
type LifecycleAbortIncompleteMultipartUpload ¶
type LifecycleAbortIncompleteMultipartUpload struct {
DaysAfterInitiation *int `xml:"DaysAfterInitiation" json:"days_after_initiation"`
}
type LifecycleExpiration ¶
type LifecycleFilter ¶
type LifecycleFilter struct {
Prefix *string `xml:"Prefix" json:"prefix"` // "" 表示整个存储桶
}
type LifecycleTransition ¶
type ListBucketRequest ¶
type ListBucketRequest struct {
KeyWord *string `json:"keyword"`
}
type ListBucketResponse ¶
type ListRecordsPageResponse ¶
type MetricData ¶
type MetricInstanceType ¶
type MetricInstanceType int
MetricInstanceType 监控指标实例类型
const ( // 云服务器实例 MetricInstanceTypeCVM MetricInstanceType = iota // 云数据库实例 MetricInstanceTypeCDB // 负载均衡实例 MetricInstanceTypeLB // 对象存储实例 MetricInstanceTypeCOS // 内容分发网络实例 MetricInstanceTypeCDN )
type MetricName ¶
type MetricName string
MetricName 监控指标名称
const ( // 对象存储总量 MetricNameCOSStorage MetricName = "cos_storage" // 机器磁盘使用率 MetricNameDiskUsage MetricName = "disk_usage" )
type MetricsType ¶
type MetricsType int
MetricsType 存储类型
const ( // 标准存储 MetricsTypeStandard MetricsType = iota // 低频存储 MetricsTypeInfrequent // 归档存储 MetricsTypeArchive // PUT类请求 QPS MetricsTypePutQps // GET类请求 QPS MetricsTypeGetQps // 删除对象请求 QPS DeleteObjectRequestsPs MetricsTypeDeleteQps // 批量删除对象请求 QPS MetricsTypeDeleteMultiObjQps // 磁盘使用率 MetricsTypeCvmDiskUsage )
type ModifyAction ¶
type ModifyAction string
const ( StartInstance ModifyAction = "start_instance" StopInstance ModifyAction = "stop_instance" RebootInstance ModifyAction = "reboot_instance" ResetInstance ModifyAction = "reset_instance" ChangeInstanceType ModifyAction = "change_instance_type" ChangeInstanceTags ModifyAction = "change_instance_tags" ChangeInstanceChargeType ModifyAction = "change_instance_charge_type" ChangeInstanceDiskType ModifyAction = "change_instance_disk_type" )
type ModifyInstanceInput ¶
type ModifyInstanceInput struct {
Action ModifyAction
InstanceIDs []string `json:"instance_ids"` // ["ins-r8hr2upy","ins-5d8a23rs"]
InstanceType *string `json:"instance_type"` // Action="change_instance_type" 时必填
InstanceChargeType *InstanceChargeType `json:"instance_charge_type"` // Action="change_instance_charge_type" 时必填
ModifyTagsInput *struct {
Key *string `json:"key"`
Value *string `json:"value"`
} `json:"modify_tags_input"` // Action="change_instance_tags" 时必填
ForceStop *bool `json:"force_stop"` // Action="stop_instance" 时可选,是否强制关机,默认 false
}
type ModifyInstanceResponse ¶
type ModifyInstanceResponse struct {
Meta any `json:"meta"`
}
type ModifyRecordRequest ¶
type ModifyRecordRequest struct {
Domain *string `json:"domain" binding:"required"`
RecordType *string `json:"record_type" binding:"required"` //记录类型,通过 API 记录类型获得,大写英文,比如:A 。
Value *string `json:"value" binding:"required"` //记录值,如 IP。
RecordId *uint64 `json:"record_id"` //记录ID。
SubDomain *string `json:"sub_domain" binding:"required"` //主机记录,如 www,可选,如果不传,默认为 @。
TTL *uint64 `json:"ttl"` //记录生效时间,默认600秒(10分钟),最大值604800秒。
Weight *uint64 `json:"weight"` //记录权重,值为1-100。
Status *bool `json:"status"` //AWS该参数无效。腾讯该参数为是否启用,true 启用,false 禁用。
Info *string `json:"info"` //备注,主要描述修改原因用途(aws不支持,tencent支持)
}
type ModifyTagsInput ¶
type ModifyVolumeInput ¶
type ModifyVolumeInput struct {
VolumeID *string `json:"volume_id"`
Size *int64 `json:"size"` // new size in GB
Type *string `json:"type"` // new volume type
}
ModifyVolumeInput represents the input for modifying a volume
type NAT ¶
type NAT struct {
ID string `json:"id"`
Region string `json:"region"`
Account string `json:"account"`
CloudProvider Cloud `json:"cloud_provider"`
Tags *Tags `json:"tags"`
Name string `json:"name"`
CreatedTime time.Time `json:"created_time"`
Status string `json:"status"`
AddressIps []string `json:"address_ips"`
VpcID string `json:"vpc_id"`
Zone *string `json:"zone"`
SubnetID string `json:"subnet_id"`
}
type ObjectPregisnRequest ¶
type ObjectPregisnResponse ¶
type ObjectPregisnResponse struct {
Url string `json:"url"`
}
type OcrRequest ¶
type OcrResponse ¶
type OcrResponse struct {
TextDetections []TextDetection `json:"text_detections"`
}
type PolicySet ¶
type PolicySet struct {
Egress []SecurityGroupPolicy `json:"egress"` // 出站规则
Ingress []SecurityGroupPolicy `json:"ingress"` // 入站规则
}
func (*PolicySet) ToTencentPolicySet ¶
func (p *PolicySet) ToTencentPolicySet() *tencentVpc.SecurityGroupPolicySet
to *tencentVpc.SecurityGroupPolicySet
type PrivateDomain ¶
type ProfileConfig ¶
type ProfileConfig struct {
Name string `mapstructure:"name" binding:"required"`
AK string `mapstructure:"ak" binding:"required"`
SK string `mapstructure:"sk" binding:"required"`
// Regions []string `mapstructure:"regions" binding:"required"` // init clinet must have region
Cloud Cloud `mapstructure:"cloud" binding:"required"`
}
type QueryPictureRequest ¶
type QueryPictureResponse ¶
type Record ¶
type Record struct {
RecordId *string `json:"record_id"`
Value *string `json:"value"` // aws []string 腾讯 string,aws取 1 个可能会有 bug.
SubDomain *string `json:"sub_domain"`
RecordLine *string `json:"record_line"`
RecordType *string `json:"record_type"`
TTL *uint64 `json:"ttl"`
Status *string `json:"status"` // ENABLE 和 DISABLE
UpdatedOn *string `json:"updated_on"`
Weight *uint64 `json:"weight"`
DomainId *uint64 `json:"domain_id"`
Remark *string `json:"remark"`
}
type RedrivePolicy ¶
type RemoveTagsInput ¶
type ResourceSpec ¶
type ResourceSpec struct {
HA *bool `json:"ha"`
VPC *string `json:"vpc"`
Subnet *string `json:"subnet"`
SgId *string `json:"sg_id"`
Passwd *string `json:"passwd"`
KeyID *string `json:"key_id"`
MasterResourceSpec *EMRInstaceSpec `json:"master_resource_spec"`
CoreResourceSpec *EMRInstaceSpec `json:"core_resource_spec"`
TaskResourceSpec *EMRInstaceSpec `json:"task_resource_spec"`
}
type SearchPictureRequest ¶
type SearchPictureRequest struct {
GroupId *string `json:"group_id" binding:"required"`
ImageUrl *string `json:"image_url"`
ImageBase64 *string `json:"image_base64"`
Limit *int64 `json:"limit"`
Offset *int64 `json:"offset"`
MatchThreshold *int64 `json:"match_threshold"`
Filter *string `json:"filter"`
ImageRect *ImageRect `json:"image_rect"`
EnableDetect *bool `json:"enable_detect"` // 是否需要启用主体识别,默认为TRUE 。
CategoryId *int64 `json:"category_id"` // 识别的商品类别ID,若不填则为全部类别。
}
type SearchPictureResponse ¶
type SecurityGroup ¶
type SecurityGroupPolicy ¶
type SecurityGroupPolicy struct {
SecurityGroupId *string `json:"security_group_id"`
Protocol *string `json:"protocol" binding:"required"` // 协议,取值: TCP,UDP,ICMP,ICMPv6,ALL。
Port *string `json:"port" binding:"required"` // 端口范围,取值:1~65535。示例值:22
CidrBlock *string `json:"cidr_block" binding:"required"` // 来源IP或CIDR 示例值:0.0.0.0/16
Action *string `json:"action" binding:"required"` // ACCEPT 或者 DROP
PolicyDescription *string `json:"policy_description"` // 描述
ModifyTime *string `json:"modify_time"` // 修改时间
}
func (*SecurityGroupPolicy) ToTencentPolicy ¶
func (policy *SecurityGroupPolicy) ToTencentPolicy() *tencentVpc.SecurityGroupPolicy
to *tencentVpc.SecurityGroupPolicy
type SqsConfig ¶
type SqsConfig struct {
// 可见性超时 0-12小时 from 0 to 43,200 (12 hours). Default: 30.
VisibilityTimeout int `json:"visibility_timeout"`
// 消息保留时间 应介于 60 秒至 1209600 秒之间。
MessageRetention int `json:"message_retention"`
// 最大消息大小 KB 应介于 1024-262144
MaximumMessageSize int `json:"max_message_size"`
// 接收消息等待时间 0-20秒
ReceiveWaitTime int `json:"receive_wait_time"`
// 交付延迟 0-15分钟
DelaySeconds int `json:"delay_seconds"`
}
type Subnet ¶
type Subnet struct {
ID *string `json:"id"`
Region string `json:"region"`
Account string `json:"account"`
CloudProvider Cloud `json:"cloud_provider"`
Tags *Tags `json:"tags"`
VpcID *string `json:"vpc_id"`
Name *string `json:"name"`
CidrBlock *string `json:"cidr_block"`
AvailableIpAddressCount int64 `json:"available_ip_address_count"`
IsDefault *bool `json:"is_default"`
Zone *string `json:"zone"`
RouteTableId *string `json:"route_table_id"`
CreatedTime *time.Time `json:"created_time"`
NetworkAclId *string `json:"network_acl_id"`
}
type Tags ¶
type Tags []Tag
func AwsTagsToModelTags ¶
aws tags to model tags []*ec2.Tag
func NewTagsFromAWSEmrTags ¶
func NewTagsFromAWSS3Tags ¶
func NewTagsFromTencentCosTags ¶
func NewTagsFromTencentCosTags(tags []cos.BucketTaggingTag) Tags
func NewTagsFromTencentEmrTags ¶
func NewTagsFromTencentEmrTags(tags []*tencentEmr.Tag) Tags
func TencentTagsToModelTags ¶
tencent tags to model tags
func TencentVpcTagsFmt ¶
func TencentVpcTagsFmt(tags []*tencentVpc.Tag) *Tags
func (Tags) GetTimeByKey ¶
获取到期时间ExpireTime 格式支持 202506101220 2025061012 20250610
func (*Tags) ToRunInstanceTags ¶
func (t *Tags) ToRunInstanceTags() []*cvm.TagSpecification
func (Tags) ToTencentCosTags ¶
func (t Tags) ToTencentCosTags() []cos.BucketTaggingTag
to tencent cos tags
func (*Tags) ToTencentTags ¶
func (t *Tags) ToTencentTags() []*tencentTag.Tag
type TencenteDiskType ¶
type TencenteDiskType string
硬盘介质类型。取值范围: CLOUD_BASIC:表示普通云硬盘 CLOUD_PREMIUM:表示高性能云硬盘 CLOUD_BSSD:表示通用型SSD云硬盘 CLOUD_SSD:表示SSD云硬盘 CLOUD_HSSD:表示增强型SSD云硬盘 CLOUD_TSSD:表示极速型SSD云硬盘。
const ( TencenteDiskTypeCLOUD_BASIC TencenteDiskType = "CLOUD_BASIC" TencenteDiskTypeCLOUD_PREMIUM TencenteDiskType = "CLOUD_PREMIUM" TencenteDiskTypeCLOUD_BSSD TencenteDiskType = "CLOUD_BSSD" TencenteDiskTypeCLOUD_SSD TencenteDiskType = "CLOUD_SSD" TencenteDiskTypeCLOUD_HSSD TencenteDiskType = "CLOUD_HSSD" TencenteDiskTypeCLOUD_TSSD TencenteDiskType = "CLOUD_TSSD" )
type TextDetection ¶
type UpdatePictureRequest ¶
type Volume ¶
type Volume struct {
VolumeID *string `json:"volume_id" gorm:"column:volume_id;primary_key"`
Attachments VolumeAttachments `json:"attachments" gorm:"column:attachments;type:json"`
Name *string `json:"name" gorm:"column:name"`
Size *int64 `json:"size" gorm:"column:size"` // GB
Type *string `json:"type" gorm:"column:type"` // volume type
Status *string `json:"status" gorm:"column:status"` // volume status
Zone *string `json:"zone" gorm:"column:zone"` // availability zone
Profile string `json:"profile" gorm:"column:profile"` // cloud profile
Region string `json:"region" gorm:"column:region"` // cloud region
Tags *Tags `json:"tags" gorm:"column:tags;type:json"` // volume tags
CreatedTime *time.Time `json:"created_time" gorm:"column:created_time"` // creation time
}
Volume represents a cloud disk volume
type VolumeAttachment ¶
type VolumeAttachments ¶
type VolumeAttachments []*VolumeAttachment
func (*VolumeAttachments) Scan ¶
func (v *VolumeAttachments) Scan(value interface{}) error