|
| 1 | +package bccsample |
| 2 | + |
| 3 | +import ( |
| 4 | + "encoding/json" |
| 5 | + "fmt" |
| 6 | + "github.com/baidubce/baiducloud-go-sdk/core/util" |
| 7 | + "github.com/baidubce/baiducloud-go-sdk/services/bcc" |
| 8 | +) |
| 9 | + |
| 10 | +func CreateVolume() { |
| 11 | + // 设置Client的Access Key ID和Secret Access Key,获取AKSK详见:https://cloud.baidu.com/doc/Reference/s/9jwvz2egb |
| 12 | + ak, sk, endpoint := "Your Ak", "Your Sk", "Your endpoint" |
| 13 | + client, err := bcc.NewClient(ak, sk, endpoint) |
| 14 | + if err != nil { |
| 15 | + fmt.Println("create client err:", err) |
| 16 | + return |
| 17 | + } |
| 18 | + Billing := &bcc.Billing{ |
| 19 | + PaymentTiming: util.PtrString(""), |
| 20 | + Reservation: &bcc.Reservation{ |
| 21 | + ReservationLength: util.PtrInt32(int32(0)), |
| 22 | + ReservationTimeUnit: util.PtrString(""), |
| 23 | + }, |
| 24 | + } |
| 25 | + AutoSnapshotPolicy := &bcc.AutoSnapshotPolicyModel{ |
| 26 | + Id: util.PtrString(""), |
| 27 | + Name: util.PtrString(""), |
| 28 | + TimePoints: []*int32{}, |
| 29 | + RepeatWeekdays: []*int32{}, |
| 30 | + Status: util.PtrString(""), |
| 31 | + RetentionDays: util.PtrInt32(int32(0)), |
| 32 | + CreatedTime: util.PtrString(""), |
| 33 | + UpdatedTime: util.PtrString(""), |
| 34 | + DeletedTime: util.PtrString(""), |
| 35 | + LastExecuteTime: util.PtrString(""), |
| 36 | + VolumeCount: util.PtrInt32(int32(0)), |
| 37 | + } |
| 38 | + createVolumeRequest := &bcc.CreateVolumeRequest{ |
| 39 | + ZoneName: util.PtrString(""), |
| 40 | + StorageType: util.PtrString(""), |
| 41 | + CdsSizeInGB: util.PtrInt32(int32(0)), |
| 42 | + CdsExtraIo: util.PtrInt32(int32(0)), |
| 43 | + SnapshotId: util.PtrString(""), |
| 44 | + ShareSnapshotId: util.PtrString(""), |
| 45 | + EnableDeleteProtection: util.PtrString(""), |
| 46 | + InstanceId: util.PtrString(""), |
| 47 | + EncryptKey: util.PtrString(""), |
| 48 | + Name: util.PtrString(""), |
| 49 | + Description: util.PtrString(""), |
| 50 | + RenewTimeUnit: util.PtrString(""), |
| 51 | + RenewTime: util.PtrInt32(int32(0)), |
| 52 | + RelationTag: util.PtrBool(false), |
| 53 | + Tags: []*bcc.TagModel{}, |
| 54 | + ResGroupId: util.PtrString(""), |
| 55 | + Billing: Billing, |
| 56 | + ClusterId: util.PtrString(""), |
| 57 | + ChargeType: util.PtrString(""), |
| 58 | + AutoSnapshotPolicy: AutoSnapshotPolicy, |
| 59 | + DeleteWithInstance: util.PtrBool(false), |
| 60 | + DeleteAutoSnapshot: util.PtrBool(false), |
| 61 | + PurchaseCount: util.PtrInt32(int32(0)), |
| 62 | + } |
| 63 | + result, err := client.CreateVolume(createVolumeRequest) |
| 64 | + if err != nil { |
| 65 | + // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。 |
| 66 | + fmt.Println("request failed:", err) |
| 67 | + return |
| 68 | + } |
| 69 | + data, err := json.MarshalIndent(result, "", " ") |
| 70 | + if err != nil { |
| 71 | + fmt.Println("json marshalIndent failed:", err) |
| 72 | + return |
| 73 | + } |
| 74 | + fmt.Println(string(data)) |
| 75 | +} |
0 commit comments