本文整理汇总了Golang中github.com/aws/aws-sdk-go/service/ecs.ECS.ListServices方法的典型用法代码示例。如果您正苦于以下问题:Golang ECS.ListServices方法的具体用法?Golang ECS.ListServices怎么用?Golang ECS.ListServices使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/aws/aws-sdk-go/service/ecs.ECS
的用法示例。
在下文中一共展示了ECS.ListServices方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: findServiceArn
// findServiceArn finds a service arn from a more human
// readable name
func findServiceArn(svc *ecs.ECS, clusterArn string, serviceName string) (string, error) {
params := &ecs.ListServicesInput{
Cluster: aws.String(clusterArn),
}
services, err := svc.ListServices(params)
if err != nil {
return "", err
}
for _, serviceId := range services.ServiceArns {
var pattern string = `/` + serviceName + `$`
matched, _ := regexp.MatchString(pattern, *serviceId)
if matched {
return *serviceId, nil
}
}
return "", errors.New("Could not find service with name: " + serviceName)
}
示例2: GetServices
// GetServices will return a slice of ECS Services for a given cluster
func GetServices(svc *ecs.ECS, cluster *string) ([]*ecs.Service, error) {
var serviceArns []*string
// List clusters
reqParams := &ecs.ListServicesInput{
Cluster: cluster,
MaxResults: aws.Int64(10),
NextToken: aws.String(""),
}
// Loop through tokens until no more results remain
for {
resp, err := svc.ListServices(reqParams)
// Error check
if err != nil {
return nil, fmt.Errorf("ecs.ListServices: %s", err.Error())
}
// Expand slice of services and append to our comprehensive list
serviceArns = append(serviceArns, resp.ServiceArns...)
// Cycle token
if resp.NextToken != nil {
reqParams.NextToken = resp.NextToken
} else {
// Kill loop ... out of response pages
break
}
}
// Describe the services that we just got back
resp, err := svc.DescribeServices(&ecs.DescribeServicesInput{
Cluster: cluster,
Services: serviceArns,
})
if err != nil {
return nil, fmt.Errorf("ecs.DescribeServices: %s", err.Error())
}
return resp.Services, nil
}