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  // }