yunion.io/x/cloudmux@v0.3.10-0-alpha.1/cmd/cmx/shell/vpc.go (about) 1 // Copyright 2019 Yunion 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 package shell 16 17 // import ( 18 // "yunion.io/x/cloudmux/pkg/cloudprovider" 19 // ) 20 // 21 // func init() { 22 // type VpcListOptions struct { 23 // // Limit int `help:"page size"` 24 // // Offset int `help:"page offset"` 25 // } 26 // RegionRList(&VpcListOptions{}, "vpc-list", "List vpcs", func(cli cloudprovider.ICloudRegion, args *VpcListOptions) error { 27 // vpcs, e := cli.GetIVpcs() 28 // if e != nil { 29 // return e 30 // } 31 // PrintList(vpcs, 0, 0, 0, []string{}) 32 // return nil 33 // }) 34 // 35 // type VpcCreateOptions struct { 36 // Name string 37 // Desc string 38 // CIDR string 39 // } 40 // 41 // RegionR(&VpcCreateOptions{}, "vpc-create", "Create vpc", func(cli cloudprovider.ICloudRegion, args *VpcCreateOptions) error { 42 // opts := cloudprovider.VpcCreateOptions{ 43 // NAME: args.Name, 44 // CIDR: args.CIDR, 45 // Desc: args.Desc, 46 // } 47 // vpc, err := cli.CreateIVpc(&opts) 48 // if err != nil { 49 // return err 50 // } 51 // PrintObject(vpc) 52 // return nil 53 // }) 54 // 55 // type VpcOptions struct { 56 // ID string `help:"VPC id"` 57 // } 58 // 59 // RegionR(&VpcOptions{}, "vpc-delete", "Delete vpc", func(cli cloudprovider.ICloudRegion, args *VpcOptions) error { 60 // vpc, err := cli.GetIVpcById(args.ID) 61 // if err != nil { 62 // return err 63 // } 64 // return vpc.Delete() 65 // }) 66 // 67 // // type VpcMoveResourceGroup struct { 68 // // ResourceType string `choices:"vpc|eip|bandwidthpackage" default:"vpc"` 69 // // ResourceGroupId string 70 // // ResourceId string 71 // // } 72 // // 73 // // R(&VpcMoveResourceGroup{}, "vpc-mv-resource-group", "Delete vpc", func(cli *aliyun.SRegion, args *VpcMoveResourceGroup) error { 74 // // return cli.VpcMoveResourceGroup(args.ResourceType, args.ResourceGroupId, args.ResourceId) 75 // // }) 76 // 77 // }