github.com/morlay/goqcloud@v0.0.0-20181123023149-b00e0b0b9afc/clients/cbs/create_disks.go (about)

     1  package cbs
     2  
     3  import (
     4  	github_com_morlay_goqcloud "github.com/morlay/goqcloud"
     5  )
     6  
     7  // 创建云硬盘
     8  // https://cloud.tencent.com/document/api/362/16312
     9  
    10  type CreateDisksRequest struct {
    11  	// 用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。
    12  	ClientToken *string `name:"ClientToken,omitempty"`
    13  	// 可选参数,不传该参数则仅执行挂载操作。传入True时,新创建的云盘将设置为随云主机销毁模式,仅对按量计费云硬盘有效。
    14  	DeleteWithInstance *bool `name:"DeleteWithInstance,omitempty"`
    15  	// 预付费模式,即包年包月相关参数设置。通过该参数指定包年包月云盘的购买时长、是否设置自动续费等属性。创建预付费云盘该参数必传,创建按小时后付费云盘无需传该参数。
    16  	DiskChargePrepaid *DiskChargePrepaid `name:"DiskChargePrepaid,omitempty"`
    17  	// 云硬盘计费类型。PREPAID:预付费,即包年包月POSTPAID_BY_HOUR:按小时后付费各类型价格请参考云硬盘价格总览。
    18  	DiskChargeType string `name:"DiskChargeType"`
    19  	// 创建云硬盘数量,不传则默认为1。单次请求最多可创建的云盘数有限制,具体参见云硬盘使用限制。
    20  	DiskCount *int64 `name:"DiskCount,omitempty"`
    21  	// 云盘显示名称。不传则默认为“未命名”。最大长度不能超60个字节。
    22  	DiskName *string `name:"DiskName,omitempty"`
    23  	// 云硬盘大小,单位为GB。如果传入SnapshotId则可不传DiskSize,此时新建云盘的大小为快照大小如果传入SnapshotId同时传入DiskSize,则云盘大小必须大于或等于快照大小云盘大小取值范围参见云硬盘产品分类的说明。
    24  	DiskSize *int64 `name:"DiskSize,omitempty"`
    25  	// 硬盘介质类型。取值范围:CLOUD_BASIC:表示普通云硬盘CLOUD_PREMIUM:表示高性能云硬盘CLOUD_SSD:表示SSD云硬盘。
    26  	DiskType string `name:"DiskType"`
    27  	// 传入该参数用于创建加密云盘,取值固定为ENCRYPT。
    28  	Encrypt *string `name:"Encrypt,omitempty"`
    29  	// 实例所在的位置。通过该参数可以指定实例所属可用区,所属项目。若不指定项目,将在默认项目下进行创建。
    30  	Placement Placement `name:"Placement"`
    31  	// 区域
    32  	Region string `name:"Region"`
    33  	// 快照ID,如果传入则根据此快照创建云硬盘,快照类型必须为数据盘快照,可通过DescribeSnapshots接口查询快照,见输出参数DiskUsage解释。
    34  	SnapshotId *string `name:"SnapshotId,omitempty"`
    35  	// 云盘绑定的标签。
    36  	Tags []*Tag `name:"Tags,omitempty"`
    37  }
    38  
    39  func (req *CreateDisksRequest) Invoke(client github_com_morlay_goqcloud.Client) (*CreateDisksResponse, error) {
    40  	resp := &CreateDisksResponse{}
    41  	err := client.Request("cbs", "CreateDisks", "2017-03-12").Do(req, resp)
    42  	return resp, err
    43  }
    44  
    45  type CreateDisksResponse struct {
    46  	github_com_morlay_goqcloud.TencentCloudBaseResponse
    47  	// 创建的云硬盘ID列表。
    48  	DiskIdSet []*string `json:"DiskIdSet"`
    49  }