yunion.io/x/cloudmux@v0.3.10-0-alpha.1/pkg/multicloud/aws/shell/elasticache.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/multicloud/aws" 19 "yunion.io/x/onecloud/pkg/util/shellutils" 20 ) 21 22 func init() { 23 type ElasticacheClusterListOption struct { 24 } 25 shellutils.R(&ElasticacheClusterListOption{}, "elasticacheCluster-list", "List elasticacheCluster", func(cli *aws.SRegion, args *ElasticacheClusterListOption) error { 26 clusters, e := cli.DescribeElasticacheClusters() 27 if e != nil { 28 return e 29 } 30 printList(clusters, len(clusters), 0, len(clusters), []string{}) 31 return nil 32 }) 33 34 type ElasticacheReplicaGroupListOption struct { 35 Id string 36 } 37 shellutils.R(&ElasticacheReplicaGroupListOption{}, "elasticacheReplicaGroup-list", "List elasticaReplicaGroup", func(cli *aws.SRegion, args *ElasticacheReplicaGroupListOption) error { 38 clusters, e := cli.DescribeElasticacheReplicationGroups(args.Id) 39 if e != nil { 40 return e 41 } 42 printList(clusters, len(clusters), 0, len(clusters), []string{}) 43 return nil 44 }) 45 46 type ElasticacheSubnetGroupOption struct { 47 Id string `help:"subnetgroupId"` 48 } 49 shellutils.R(&ElasticacheSubnetGroupOption{}, "elasticacheSubnetGroup-show", "List elasticacheSubnetGroup", func(cli *aws.SRegion, args *ElasticacheSubnetGroupOption) error { 50 subnetGroups, e := cli.DescribeCacheSubnetGroups(args.Id) 51 if e != nil { 52 return e 53 } 54 printList(subnetGroups, len(subnetGroups), 0, len(subnetGroups), []string{}) 55 return nil 56 }) 57 58 type ElasticacheSnapshotOption struct { 59 ReplicaGroupId string `help:"replicaGroupId"` 60 SnapshotId string `help:"SnapshotId"` 61 } 62 shellutils.R(&ElasticacheSnapshotOption{}, "elasticacheSnapshot-list", "List elasticacheSnapshot", func(cli *aws.SRegion, args *ElasticacheSnapshotOption) error { 63 snapshots, e := cli.DescribeSnapshots(args.ReplicaGroupId, args.SnapshotId) 64 if e != nil { 65 return e 66 } 67 printList(snapshots, len(snapshots), 0, len(snapshots), []string{}) 68 return nil 69 }) 70 71 type ElasticacheParameterOption struct { 72 ParameterGroupId string 73 } 74 shellutils.R(&ElasticacheParameterOption{}, "elasticacheParameter-list", "List elasticacheParameter", func(cli *aws.SRegion, args *ElasticacheParameterOption) error { 75 parameters, e := cli.DescribeCacheParameters(args.ParameterGroupId) 76 if e != nil { 77 return e 78 } 79 printList(parameters, len(parameters), 0, len(parameters), []string{}) 80 return nil 81 }) 82 83 type ElasticacheUserOption struct { 84 Engine string `help:"redis"` 85 } 86 shellutils.R(&ElasticacheUserOption{}, "elasticacheUser-list", "List elasticacheUser", func(cli *aws.SRegion, args *ElasticacheUserOption) error { 87 users, e := cli.DescribeUsers(args.Engine) 88 if e != nil { 89 return e 90 } 91 printList(users, len(users), 0, len(users), []string{}) 92 return nil 93 }) 94 }