本文整理匯總了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
}