Skip to content

Commit

Permalink
🎨 divided into several files because large struct
Browse files Browse the repository at this point in the history
  • Loading branch information
stormcat24 committed Jul 10, 2015
1 parent 27dc8aa commit 66f1592
Show file tree
Hide file tree
Showing 5 changed files with 105 additions and 23 deletions.
37 changes: 15 additions & 22 deletions aws/ecs.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,18 +29,25 @@ func NewECSManager(accessKey string, secretKey string, region string) *ECSManage
return manager
}

func (self *ECSManager) CreateCluster(clusterName string) (*ecs.CreateClusterOutput, error) {

svc := ecs.New(&aws.Config{
Region: self.Region,
func (self *ECSManager) ClusterApi() *EcsClusterApi {
return &EcsClusterApi{
Credentials: self.Credentials,
})
Region: self.Region,
}
}

params := &ecs.CreateClusterInput{
ClusterName: aws.String(clusterName),
func (self *EcsServiceApi) ServiceApi() *EcsServiceApi {
return &EcsServiceApi{
Credentials: self.Credentials,
Region: self.Region,
}
}

return svc.CreateCluster(params)
func (self *EcsServiceApi) TaskApi() *EcsTaskApi {
return &EcsTaskApi{
Credentials: self.Credentials,
Region: self.Region,
}
}

func (self *ECSManager) DescribeTaskDefinition(defName string) (*ecs.DescribeTaskDefinitionOutput, error) {
Expand Down Expand Up @@ -145,20 +152,6 @@ func (self *ECSManager) DeregisterTaskDefinition(taskName string) (*ecs.Deregist
return svc.DeregisterTaskDefinition(params)
}

func (self *ECSManager) DescribeClusters(clusterNames []*string) (*ecs.DescribeClustersOutput, error) {

svc := ecs.New(&aws.Config{
Region: self.Region,
Credentials: self.Credentials,
})

params := &ecs.DescribeClustersInput{
Clusters: clusterNames,
}

return svc.DescribeClusters(params)
}

func (self *ECSManager) CreateService(cluster string, service schema.Service) (*ecs.CreateServiceOutput, error) {

svc := ecs.New(&aws.Config{
Expand Down
68 changes: 68 additions & 0 deletions aws/ecs_cluster_api.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
package aws

import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/service/ecs"
"github.com/aws/aws-sdk-go/aws/credentials"
)

type EcsClusterApi struct {
Credentials *credentials.Credentials
Region string
}

func (self *EcsClusterApi) CreateCluster(clusterName string) (*ecs.CreateClusterOutput, error) {

svc := ecs.New(&aws.Config{
Region: self.Region,
Credentials: self.Credentials,
})

params := &ecs.CreateClusterInput{
ClusterName: aws.String(clusterName),
}

return svc.CreateCluster(params)
}

func (self *EcsClusterApi) DeleteCluster(clusterName string) (*ecs.DeleteClusterOutput, error) {

svc := ecs.New(&aws.Config{
Region: self.Region,
Credentials: self.Credentials,
})

params := &ecs.DeleteClusterInput{
Cluster: aws.String(clusterName),
}

return svc.DeleteCluster(params)
}

func (self *EcsClusterApi) DescribeClusters(clusterNames []*string) (*ecs.DescribeClustersOutput, error) {

svc := ecs.New(&aws.Config{
Region: self.Region,
Credentials: self.Credentials,
})

params := &ecs.DescribeClustersInput{
Clusters: clusterNames,
}

return svc.DescribeClusters(params)
}

func (self *EcsClusterApi) ListClusters(maxResult int64) (*ecs.ListClustersOutput, error) {

svc := ecs.New(&aws.Config{
Region: self.Region,
Credentials: self.Credentials,
})

params := &ecs.ListClustersInput{
MaxResults: aws.Long(maxResult),
}

return svc.ListClusters(params)
}
10 changes: 10 additions & 0 deletions aws/ecs_service_api.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package aws

import (
"github.com/aws/aws-sdk-go/aws/credentials"
)

type EcsServiceApi struct {
Credentials *credentials.Credentials
Region string
}
10 changes: 10 additions & 0 deletions aws/ecs_task_api.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package aws

import (
"github.com/aws/aws-sdk-go/aws/credentials"
)

type EcsTaskApi struct {
Credentials *credentials.Credentials
Region string
}
3 changes: 2 additions & 1 deletion cluster/cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,8 @@ func (self *ClusterControler) CreateClusterUpdatePlans(clusters []schema.Cluster
}

func (self *ClusterControler) CreateClusterUpdatePlan(cluster schema.Cluster) *plan.ClusterUpdatePlan {
output, err := self.Ecs.DescribeClusters([]*string{&cluster.Name})

output, err := self.Ecs.ClusterApi().DescribeClusters([]*string{&cluster.Name})

if err != nil {
fmt.Fprintln(os.Stderr, color.Red("[ERROR] discribe_cluster"))
Expand Down

0 comments on commit 66f1592

Please sign in to comment.