本文整理汇总了Golang中github.com/concourse/go-concourse/concourse.NewClient函数的典型用法代码示例。如果您正苦于以下问题:Golang NewClient函数的具体用法?Golang NewClient怎么用?Golang NewClient使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewClient函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: Execute
func (command *DestroyPipelineCommand) Execute(args []string) error {
pipelineName := command.Pipeline
fmt.Printf("!!! this will remove all data for pipeline `%s`\n\n", pipelineName)
confirm := false
err := interact.NewInteraction("are you sure?").Resolve(&confirm)
if err != nil || !confirm {
fmt.Println("bailing out")
return err
}
connection, err := rc.TargetConnection(Fly.Target)
if err != nil {
return err
}
client := concourse.NewClient(connection)
found, err := client.DeletePipeline(pipelineName)
if err != nil {
return err
}
if !found {
fmt.Printf("`%s` does not exist\n", pipelineName)
} else {
fmt.Printf("`%s` deleted\n", pipelineName)
}
return nil
}
开发者ID:aemengo,项目名称:fly,代码行数:32,代码来源:destroy_pipeline.go
示例2: newConcourseClient
func newConcourseClient(atcUrl, username, password string) concourse.Client {
var transport http.RoundTripper
var tlsConfig *tls.Config
tlsConfig = &tls.Config{InsecureSkipVerify: getSkipSSLValidation()}
transport = &http.Transport{
TLSClientConfig: tlsConfig,
Dial: (&net.Dialer{
Timeout: 10 * time.Second,
}).Dial,
Proxy: http.ProxyFromEnvironment,
}
client := concourse.NewClient(
atcUrl,
&http.Client{
Transport: basicAuthTransport{
username: username,
password: password,
base: transport,
},
},
)
return client
}
开发者ID:alphagov,项目名称:paas-cf,代码行数:26,代码来源:concourse.go
示例3: Execute
func (command *SetPipelineCommand) Execute(args []string) error {
configPath := command.Config
templateVariablesFiles := command.VarsFrom
pipelineName := command.Pipeline
templateVariables := template.Variables{}
for _, v := range command.Var {
templateVariables[v.Name] = v.Value
}
connection, err := rc.TargetConnection(Fly.Target)
if err != nil {
log.Fatalln(err)
return nil
}
client := concourse.NewClient(connection)
webRequestGenerator := rata.NewRequestGenerator(connection.URL(), web.Routes)
atcConfig := ATCConfig{
pipelineName: pipelineName,
webRequestGenerator: webRequestGenerator,
client: client,
}
atcConfig.Set(configPath, templateVariables, templateVariablesFiles)
return nil
}
开发者ID:mmb,项目名称:fly,代码行数:28,代码来源:set_pipeline.go
示例4: Execute
func (command *WatchCommand) Execute(args []string) error {
connection, err := rc.TargetConnection(Fly.Target)
if err != nil {
log.Fatalln(err)
return nil
}
client := concourse.NewClient(connection)
build, err := GetBuild(client, command.Job.JobName, command.Build, command.Job.PipelineName)
if err != nil {
log.Fatalln(err)
}
eventSource, err := client.BuildEvents(fmt.Sprintf("%d", build.ID))
if err != nil {
log.Println("failed to attach to stream:", err)
os.Exit(1)
}
exitCode := eventstream.Render(os.Stdout, eventSource)
eventSource.Close()
os.Exit(exitCode)
return nil
}
开发者ID:mmb,项目名称:fly,代码行数:29,代码来源:watch.go
示例5: Execute
func (command *WorkersCommand) Execute([]string) error {
connection, err := rc.TargetConnection(Fly.Target)
if err != nil {
log.Fatalln(err)
}
client := concourse.NewClient(connection)
workers, err := client.ListWorkers()
if err != nil {
log.Fatalln(err)
}
headers := ui.TableRow{
{Contents: "name", Color: color.New(color.Bold)},
{Contents: "containers", Color: color.New(color.Bold)},
{Contents: "platform", Color: color.New(color.Bold)},
{Contents: "tags", Color: color.New(color.Bold)},
}
if command.Details {
headers = append(headers,
ui.TableCell{Contents: "garden address", Color: color.New(color.Bold)},
ui.TableCell{Contents: "baggageclaim url", Color: color.New(color.Bold)},
ui.TableCell{Contents: "resource types", Color: color.New(color.Bold)},
)
}
table := ui.Table{Headers: headers}
sort.Sort(byWorkerName(workers))
for _, w := range workers {
row := ui.TableRow{
{Contents: w.Name},
{Contents: strconv.Itoa(w.ActiveContainers)},
{Contents: w.Platform},
stringOrNone(strings.Join(w.Tags, ", ")),
}
if command.Details {
var resourceTypes []string
for _, t := range w.ResourceTypes {
resourceTypes = append(resourceTypes, t.Type)
}
row = append(row, ui.TableCell{Contents: w.GardenAddr})
row = append(row, stringOrNone(w.BaggageclaimURL))
row = append(row, stringOrNone(strings.Join(resourceTypes, ", ")))
}
table.Data = append(table.Data, row)
}
return table.Render(os.Stdout)
}
开发者ID:zankich,项目名称:fly,代码行数:56,代码来源:workers.go
示例6: Execute
func (command *LoginCommand) Execute(args []string) error {
var connection concourse.Connection
var err error
if command.ATCURL != "" {
connection, err = rc.NewConnection(command.ATCURL, command.Insecure)
} else {
connection, err = rc.CommandTargetConnection(Fly.Target, &command.Insecure)
}
if err != nil {
return err
}
client := concourse.NewClient(connection)
authMethods, err := client.ListAuthMethods()
if err != nil {
return err
}
var chosenMethod atc.AuthMethod
switch len(authMethods) {
case 0:
fmt.Println("no auth methods configured; updating target data")
err := rc.SaveTarget(
Fly.Target,
connection.URL(),
command.Insecure,
&rc.TargetToken{},
)
if err != nil {
return err
}
return nil
case 1:
chosenMethod = authMethods[0]
default:
choices := make([]interact.Choice, len(authMethods))
for i, method := range authMethods {
choices[i] = interact.Choice{
Display: method.DisplayName,
Value: method,
}
}
err = interact.NewInteraction("choose an auth method", choices...).Resolve(&chosenMethod)
if err != nil {
return err
}
}
return command.loginWith(chosenMethod, connection)
}
开发者ID:zankich,项目名称:fly,代码行数:55,代码来源:login.go
示例7: Build
func (cf *clientFactory) Build(r *http.Request) concourse.Client {
transport := authorizationTransport{
Authorization: r.Header.Get("Authorization"),
Base: &http.Transport{
// disable connection pooling
DisableKeepAlives: true,
},
}
httpClient := &http.Client{
Transport: transport,
}
return concourse.NewClient(cf.apiEndpoint, httpClient)
}
开发者ID:xoebus,项目名称:checkin,代码行数:16,代码来源:client_factory.go
示例8: Execute
func (command *ContainersCommand) Execute([]string) error {
connection, err := rc.TargetConnection(Fly.Target)
if err != nil {
log.Fatalln(err)
}
client := concourse.NewClient(connection)
containers, err := client.ListContainers(map[string]string{})
if err != nil {
log.Fatalln(err)
}
table := ui.Table{
Headers: ui.TableRow{
{Contents: "handle", Color: color.New(color.Bold)},
{Contents: "worker", Color: color.New(color.Bold)},
{Contents: "pipeline", Color: color.New(color.Bold)},
{Contents: "job", Color: color.New(color.Bold)},
{Contents: "build #", Color: color.New(color.Bold)},
{Contents: "build id", Color: color.New(color.Bold)},
{Contents: "type", Color: color.New(color.Bold)},
{Contents: "name", Color: color.New(color.Bold)},
{Contents: "attempt", Color: color.New(color.Bold)},
},
}
sort.Sort(containersByHandle(containers))
for _, c := range containers {
row := ui.TableRow{
{Contents: c.ID},
{Contents: c.WorkerName},
stringOrDefault(c.PipelineName),
stringOrDefault(c.JobName),
stringOrDefault(c.BuildName),
buildIDOrNone(c.BuildID),
stringOrDefault(c.StepType, "check"),
{Contents: (c.StepName + c.ResourceName)},
stringOrDefault(SliceItoa(c.Attempts), "n/a"),
}
table.Data = append(table.Data, row)
}
return table.Render(os.Stdout)
}
开发者ID:aemengo,项目名称:fly,代码行数:47,代码来源:containers.go
示例9: Execute
func (command *GetPipelineCommand) Execute(args []string) error {
asJSON := command.JSON
pipelineName := command.Pipeline
connection, err := rc.TargetConnection(Fly.Target)
if err != nil {
log.Fatalln(err)
}
client := concourse.NewClient(connection)
config, _, _, err := client.PipelineConfig(pipelineName)
if err != nil {
log.Fatalln(err)
}
dump(config, asJSON)
return nil
}
开发者ID:aemengo,项目名称:fly,代码行数:18,代码来源:get_pipeline.go
示例10: Execute
func (command *ChecklistCommand) Execute([]string) error {
connection, err := rc.TargetConnection(Fly.Target)
if err != nil {
log.Fatalln(err)
}
pipelineName := command.Pipeline
client := concourse.NewClient(connection)
config, _, _, err := client.PipelineConfig(pipelineName)
if err != nil {
log.Fatalln(err)
}
printCheckfile(pipelineName, config, connection.URL())
return nil
}
开发者ID:aemengo,项目名称:fly,代码行数:18,代码来源:checklist.go
示例11: CommandTargetClient
func CommandTargetClient(selectedTarget TargetName, commandInsecure *bool) (concourse.Client, error) {
target, err := SelectTarget(selectedTarget)
if err != nil {
return nil, err
}
var token *oauth2.Token
if target.Token != nil {
token = &oauth2.Token{
TokenType: target.Token.Type,
AccessToken: target.Token.Value,
}
}
var tlsConfig *tls.Config
if commandInsecure != nil {
tlsConfig = &tls.Config{InsecureSkipVerify: *commandInsecure}
} else if target.Insecure {
tlsConfig = &tls.Config{InsecureSkipVerify: true}
}
var transport http.RoundTripper
transport = &http.Transport{
TLSClientConfig: tlsConfig,
Dial: (&net.Dialer{
Timeout: 10 * time.Second,
}).Dial,
Proxy: http.ProxyFromEnvironment,
}
if token != nil {
transport = &oauth2.Transport{
Source: oauth2.StaticTokenSource(token),
Base: transport,
}
}
httpClient := &http.Client{
Transport: transport,
}
return concourse.NewClient(target.API, httpClient), nil
}
开发者ID:ArthurHlt,项目名称:fly,代码行数:44,代码来源:targets.go
示例12: Execute
func (command *ContainersCommand) Execute([]string) error {
connection, err := rc.TargetConnection(Fly.Target)
if err != nil {
log.Fatalln(err)
}
client := concourse.NewClient(connection)
containers, err := client.ListContainers(map[string]string{})
if err != nil {
log.Fatalln(err)
}
table := ui.Table{
Headers: ui.TableRow{
{Contents: "handle", Color: color.New(color.Bold)},
{Contents: "name", Color: color.New(color.Bold)},
{Contents: "pipeline", Color: color.New(color.Bold)},
{Contents: "type", Color: color.New(color.Bold)},
{Contents: "build id", Color: color.New(color.Bold)},
{Contents: "worker", Color: color.New(color.Bold)},
},
}
sort.Sort(containersByHandle(containers))
for _, c := range containers {
row := ui.TableRow{
{Contents: c.ID},
{Contents: c.Name},
{Contents: c.PipelineName},
{Contents: c.Type},
buildIDOrNone(c.BuildID),
{Contents: c.WorkerName},
}
table.Data = append(table.Data, row)
}
return table.Render(os.Stdout)
}
开发者ID:zankich,项目名称:fly,代码行数:41,代码来源:containers.go
示例13: Execute
func (command *UnpausePipelineCommand) Execute(args []string) error {
pipelineName := command.Pipeline
connection, err := rc.TargetConnection(Fly.Target)
if err != nil {
log.Fatalln(err)
return nil
}
client := concourse.NewClient(connection)
found, err := client.UnpausePipeline(pipelineName)
if err != nil {
return err
}
if found {
fmt.Printf("unpaused '%s'\n", pipelineName)
} else {
failf("pipeline '%s' not found\n", pipelineName)
}
return nil
}
开发者ID:mmb,项目名称:fly,代码行数:21,代码来源:unpause_pipeline.go
示例14: getContainerIDs
func getContainerIDs(c *HijackCommand) []atc.Container {
var pipelineName string
if c.Job.PipelineName != "" {
pipelineName = c.Job.PipelineName
} else {
pipelineName = c.Check.PipelineName
}
buildNameOrID := c.Build
stepName := c.StepName
jobName := c.Job.JobName
check := c.Check.ResourceName
attempt := c.Attempt
fingerprint := containerFingerprint{
pipelineName: pipelineName,
jobName: jobName,
buildNameOrID: buildNameOrID,
stepName: stepName,
checkName: check,
attempt: attempt,
}
connection, err := rc.TargetConnection(Fly.Target)
if err != nil {
log.Fatalln("failed to create client:", err)
}
client := concourse.NewClient(connection)
reqValues, err := locateContainer(client, fingerprint)
if err != nil {
log.Fatalln(err)
}
containers, err := client.ListContainers(reqValues)
if err != nil {
log.Fatalln("failed to get containers:", err)
}
return containers
}
开发者ID:aemengo,项目名称:fly,代码行数:40,代码来源:hijack.go
示例15: NewUnauthenticatedClient
func NewUnauthenticatedClient(atcURL string, insecure bool) concourse.Client {
var tlsConfig *tls.Config
if insecure {
tlsConfig = &tls.Config{InsecureSkipVerify: insecure}
}
var transport http.RoundTripper
transport = &http.Transport{
TLSClientConfig: tlsConfig,
Dial: (&net.Dialer{
Timeout: 10 * time.Second,
}).Dial,
Proxy: http.ProxyFromEnvironment,
}
client := concourse.NewClient(atcURL, &http.Client{
Transport: transport,
})
return client
}
开发者ID:ArthurHlt,项目名称:fly,代码行数:22,代码来源:targets.go
示例16: Execute
func (command *VolumesCommand) Execute([]string) error {
connection, err := rc.TargetConnection(Fly.Target)
if err != nil {
log.Fatalln(err)
}
client := concourse.NewClient(connection)
volumes, err := client.ListVolumes()
if err != nil {
log.Fatalln(err)
}
table := ui.Table{
Headers: ui.TableRow{
{Contents: "handle", Color: color.New(color.Bold)},
{Contents: "ttl", Color: color.New(color.Bold)},
{Contents: "validity", Color: color.New(color.Bold)},
{Contents: "worker", Color: color.New(color.Bold)},
{Contents: "version", Color: color.New(color.Bold)},
},
}
sort.Sort(volumesByWorkerAndHandle(volumes))
for _, c := range volumes {
row := ui.TableRow{
{Contents: c.ID},
{Contents: formatTTL(c.TTLInSeconds)},
{Contents: formatTTL(c.ValidityInSeconds)},
{Contents: c.WorkerName},
versionCell(c.ResourceVersion),
}
table.Data = append(table.Data, row)
}
return table.Render(os.Stdout)
}
开发者ID:zankich,项目名称:fly,代码行数:39,代码来源:volumes.go
示例17: Build
func (cf *clientFactory) Build(r *http.Request) concourse.Client {
transport := authorizationTransport{
Authorization: r.Header.Get("Authorization"),
Base: &http.Transport{
// disable connection pooling
DisableKeepAlives: true,
},
}
httpClient := &http.Client{
Transport: transport,
}
connection, err := concourse.NewConnection(cf.apiEndpoint, httpClient)
if err != nil {
// TODO really just shouldn't have this error case in the first place
panic(err)
}
return concourse.NewClient(connection)
}
开发者ID:ACPK,项目名称:atc,代码行数:22,代码来源:client_factory.go
示例18: Execute
func (command *PipelinesCommand) Execute([]string) error {
connection, err := rc.TargetConnection(Fly.Target)
if err != nil {
log.Fatalln(err)
return nil
}
client := concourse.NewClient(connection)
pipelines, err := client.ListPipelines()
if err != nil {
log.Fatalln(err)
}
table := ui.Table{
Headers: ui.TableRow{
{Contents: "name", Color: color.New(color.Bold)},
{Contents: "paused", Color: color.New(color.Bold)},
},
}
for _, p := range pipelines {
var pausedColumn ui.TableCell
if p.Paused {
pausedColumn.Contents = "yes"
pausedColumn.Color = color.New(color.FgCyan)
} else {
pausedColumn.Contents = "no"
}
table.Data = append(table.Data, []ui.TableCell{
{Contents: p.Name},
pausedColumn,
})
}
return table.Render(os.Stdout)
}
开发者ID:aemengo,项目名称:fly,代码行数:38,代码来源:pipelines.go
示例19: Execute
func (command *SyncCommand) Execute(args []string) error {
connection, err := rc.TargetConnection(Fly.Target)
if err != nil {
log.Fatalln(err)
return nil
}
client := concourse.NewClient(connection)
body, err := client.GetCLIReader(runtime.GOARCH, runtime.GOOS)
if err != nil {
log.Fatalln(err)
}
fmt.Printf("downloading fly from %s... ", connection.URL())
err = update.Apply(body, update.Options{})
if err != nil {
failf("update failed: %s", err)
}
fmt.Println("update successful!")
return nil
}
开发者ID:mmb,项目名称:fly,代码行数:23,代码来源:sync.go
示例20: loginWith
func (command *LoginCommand) loginWith(method atc.AuthMethod, client concourse.Client) error {
var token atc.AuthToken
switch method.Type {
case atc.AuthTypeOAuth:
fmt.Println("navigate to the following URL in your browser:")
fmt.Println("")
fmt.Printf(" %s\n", method.AuthURL)
fmt.Println("")
for {
var tokenStr string
err := interact.NewInteraction("enter token").Resolve(interact.Required(&tokenStr))
if err != nil {
return err
}
segments := strings.SplitN(tokenStr, " ", 2)
if len(segments) != 2 {
fmt.Println("token must be of the format 'TYPE VALUE', e.g. 'Bearer ...'")
continue
}
token.Type = segments[0]
token.Value = segments[1]
break
}
case atc.AuthTypeBasic:
var username string
if command.Username != "" {
username = command.Username
} else {
err := interact.NewInteraction("username").Resolve(interact.Required(&username))
if err != nil {
return err
}
}
var password string
if command.Password != "" {
password = command.Password
} else {
var interactivePassword interact.Password
err := interact.NewInteraction("password").Resolve(interact.Required(&interactivePassword))
if err != nil {
return err
}
password = string(interactivePassword)
}
newUnauthedClient := rc.NewUnauthenticatedClient(client.URL(), command.Insecure)
basicAuthClient := concourse.NewClient(
newUnauthedClient.URL(),
&http.Client{
Transport: basicAuthTransport{
username: username,
password: password,
base: newUnauthedClient.HTTPClient().Transport,
},
},
)
var err error
token, err = basicAuthClient.AuthToken()
if err != nil {
return err
}
}
return command.saveTarget(
client.URL(),
&rc.TargetToken{
Type: token.Type,
Value: token.Value,
},
)
}
开发者ID:ArthurHlt,项目名称:fly,代码行数:81,代码来源:login.go
注:本文中的github.com/concourse/go-concourse/concourse.NewClient函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论