Package cloud.google.com/go/cloudbuild/apiv1 (v1.19.0)

Creates and manages builds on Google Cloud Platform.

Use of Context

The ctx passed to NewClient is used for authentication requests and for creating the underlying connection, but is not used for subsequent calls. Individual methods on the client use the ctx given to them.

To close the open connection, use the Close() method.

For information about setting deadlines, reusing contexts, and more please visit godoc.org/cloud.google.com/go.

Functions

func DefaultAuthScopes

func DefaultAuthScopes() []string

DefaultAuthScopes reports the default set of authentication scopes to use with this package.

BuildIterator

type BuildIterator struct {

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*cloudbuildpb.Build, nextPageToken string, err error)
	// contains filtered or unexported fields
}

BuildIterator manages a stream of *cloudbuildpb.Build.

func (*BuildIterator) Next

func (it *BuildIterator) Next() (*cloudbuildpb.Build, error)

Next returns the next result. Its second return value is iterator.Done if there are no more results. Once Next returns Done, all subsequent calls will return Done.

func (*BuildIterator) PageInfo

func (it *BuildIterator) PageInfo() *iterator.PageInfo

PageInfo supports pagination. See the google.golang.org/api/iterator package for details.

CallOptions

type CallOptions struct {
	CreateBuild        []gax.CallOption
	GetBuild           []gax.CallOption
	ListBuilds         []gax.CallOption
	CancelBuild        []gax.CallOption
	CreateBuildTrigger []gax.CallOption
	GetBuildTrigger    []gax.CallOption
	ListBuildTriggers  []gax.CallOption
	DeleteBuildTrigger []gax.CallOption
	UpdateBuildTrigger []gax.CallOption
	RunBuildTrigger    []gax.CallOption
	RetryBuild         []gax.CallOption
	CreateWorkerPool   []gax.CallOption
	GetWorkerPool      []gax.CallOption
	DeleteWorkerPool   []gax.CallOption
	UpdateWorkerPool   []gax.CallOption
	ListWorkerPools    []gax.CallOption
}

CallOptions contains the retry settings for each method of Client.

Client

type Client struct {

	// The call options for this service.
	CallOptions *CallOptions

	// LROClient is used internally to handle long-running operations.
	// It is exposed so that its CallOptions can be modified if required.
	// Users should not Close this client.
	LROClient *lroauto.OperationsClient
	// contains filtered or unexported fields
}

Client is a client for interacting with Cloud Build API.

Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.

func NewClient

func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error)

NewClient creates a new cloud build client.

Creates and manages builds on Google Cloud Platform.

The main concept used by this API is a Build, which describes the location of the source to build, how to build the source, and where to store the built artifacts, if any.

A user can list previously-requested builds or get builds by their ID to determine the status of the build.

Example

package main

import (
	"context"

	cloudbuild "cloud.google.com/go/cloudbuild/apiv1"
)

func main() {
	ctx := context.Background()
	c, err := cloudbuild.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use client.
	_ = c
}

func (*Client) CancelBuild

func (c *Client) CancelBuild(ctx context.Context, req *cloudbuildpb.CancelBuildRequest, opts ...gax.CallOption) (*cloudbuildpb.Build, error)

CancelBuild cancels a build in progress.

Example

package main

import (
	"context"

	cloudbuild "cloud.google.com/go/cloudbuild/apiv1"
	"cloud.google.com/go/cloudbuild/apiv1/v2/cloudbuildpb"
)

func main() {
	ctx := context.Background()
	c, err := cloudbuild.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}

	req := &cloudbuildpb.CancelBuildRequest{
		// TODO: Fill request struct fields.
	}
	resp, err := c.CancelBuild(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) Close

func (c *Client) Close() error

Close closes the connection to the API service. The user should invoke this when the client is no longer required.

func (*Client) Connection

func (c *Client) Connection() *grpc.ClientConn

Connection returns the client's connection to the API service.

func (*Client) CreateBuild

func (c *Client) CreateBuild(ctx context.Context, req *cloudbuildpb.CreateBuildRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error)

CreateBuild starts a build with the specified configuration.

This method returns a long-running Operation, which includes the build ID. Pass the build ID to GetBuild to determine the build status (such as SUCCESS or FAILURE).

Example

package main

import (
	"context"

	cloudbuild "cloud.google.com/go/cloudbuild/apiv1"
	"cloud.google.com/go/cloudbuild/apiv1/v2/cloudbuildpb"
)

func main() {
	ctx := context.Background()
	c, err := cloudbuild.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}

	req := &cloudbuildpb.CreateBuildRequest{
		// TODO: Fill request struct fields.
	}
	resp, err := c.CreateBuild(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) CreateBuildTrigger

CreateBuildTrigger creates a new BuildTrigger.

This API is experimental.

Example

package main

import (
	"context"

	cloudbuild "cloud.google.com/go/cloudbuild/apiv1"
	"cloud.google.com/go/cloudbuild/apiv1/v2/cloudbuildpb"
)

func main() {
	ctx := context.Background()
	c, err := cloudbuild.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}

	req := &cloudbuildpb.CreateBuildTriggerRequest{
		// TODO: Fill request struct fields.
	}
	resp, err := c.CreateBuildTrigger(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) CreateWorkerPool

CreateWorkerPool creates a WorkerPool to run the builds, and returns the new worker pool.

This API is experimental.

Example

package main

import (
	"context"

	cloudbuild "cloud.google.com/go/cloudbuild/apiv1"
	"cloud.google.com/go/cloudbuild/apiv1/v2/cloudbuildpb"
)

func main() {
	ctx := context.Background()
	c, err := cloudbuild.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}

	req := &cloudbuildpb.CreateWorkerPoolRequest{
		// TODO: Fill request struct fields.
	}
	resp, err := c.CreateWorkerPool(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) CreateWorkerPoolOperation

func (c *Client) CreateWorkerPoolOperation(name string) *CreateWorkerPoolOperation

CreateWorkerPoolOperation returns a new CreateWorkerPoolOperation from a given name. The name must be that of a previously created CreateWorkerPoolOperation, possibly from a different process.

func (*Client) DeleteBuildTrigger

func (c *Client) DeleteBuildTrigger(ctx context.Context, req *cloudbuildpb.DeleteBuildTriggerRequest, opts ...gax.CallOption) error

DeleteBuildTrigger deletes a BuildTrigger by its project ID and trigger ID.

This API is experimental.

Example

package main

import (
	"context"

	cloudbuild "cloud.google.com/go/cloudbuild/apiv1"
	"cloud.google.com/go/cloudbuild/apiv1/v2/cloudbuildpb"
)

func main() {
	ctx := context.Background()
	c, err := cloudbuild.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}

	req := &cloudbuildpb.DeleteBuildTriggerRequest{
		// TODO: Fill request struct fields.
	}
	err = c.DeleteBuildTrigger(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
}

func (*Client) DeleteWorkerPool

func (c *Client) DeleteWorkerPool(ctx context.Context, req *cloudbuildpb.DeleteWorkerPoolRequest, opts ...gax.CallOption) error

DeleteWorkerPool deletes a WorkerPool by its project ID and WorkerPool name.

This API is experimental.

Example

package main

import (
	"context"

	cloudbuild "cloud.google.com/go/cloudbuild/apiv1"
	"cloud.google.com/go/cloudbuild/apiv1/v2/cloudbuildpb"
)

func main() {
	ctx := context.Background()
	c, err := cloudbuild.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}

	req := &cloudbuildpb.DeleteWorkerPoolRequest{
		// TODO: Fill request struct fields.
	}
	err = c.DeleteWorkerPool(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
}

func (*Client) GetBuild

GetBuild returns information about a previously requested build.

The Build that is returned includes its status (such as SUCCESS, FAILURE, or WORKING), and timing information.

Example

package main

import (
	"context"

	cloudbuild "cloud.google.com/go/cloudbuild/apiv1"
	"cloud.google.com/go/cloudbuild/apiv1/v2/cloudbuildpb"
)

func main() {
	ctx := context.Background()
	c, err := cloudbuild.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}

	req := &cloudbuildpb.GetBuildRequest{
		// TODO: Fill request struct fields.
	}
	resp, err := c.GetBuild(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) GetBuildTrigger

GetBuildTrigger returns information about a BuildTrigger.

This API is experimental.

Example

package main

import (
	"context"

	cloudbuild "cloud.google.com/go/cloudbuild/apiv1"
	"cloud.google.com/go/cloudbuild/apiv1/v2/cloudbuildpb"
)

func main() {
	ctx := context.Background()
	c, err := cloudbuild.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}

	req := &cloudbuildpb.GetBuildTriggerRequest{
		// TODO: Fill request struct fields.
	}
	resp, err := c.GetBuildTrigger(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) GetWorkerPool

GetWorkerPool returns information about a WorkerPool.

This API is experimental.

Example

package main

import (
	"context"

	cloudbuild "cloud.google.com/go/cloudbuild/apiv1"
	"cloud.google.com/go/cloudbuild/apiv1/v2/cloudbuildpb"
)

func main() {
	ctx := context.Background()
	c, err := cloudbuild.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}

	req := &cloudbuildpb.GetWorkerPoolRequest{
		// TODO: Fill request struct fields.
	}
	resp, err := c.GetWorkerPool(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) ListBuildTriggers

ListBuildTriggers lists existing BuildTriggers.

This API is experimental.

Example

package main

import (
	"context"

	cloudbuild "cloud.google.com/go/cloudbuild/apiv1"
	"cloud.google.com/go/cloudbuild/apiv1/v2/cloudbuildpb"
)

func main() {
	ctx := context.Background()
	c, err := cloudbuild.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}

	req := &cloudbuildpb.ListBuildTriggersRequest{
		// TODO: Fill request struct fields.
	}
	resp, err := c.ListBuildTriggers(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) ListBuilds

func (c *Client) ListBuilds(ctx context.Context, req *cloudbuildpb.ListBuildsRequest, opts ...gax.CallOption) *BuildIterator

ListBuilds lists previously requested builds.

Previously requested builds may still be in-progress, or may have finished successfully or unsuccessfully.

Example

package main

import (
	"context"

	cloudbuild "cloud.google.com/go/cloudbuild/apiv1"
	"cloud.google.com/go/cloudbuild/apiv1/v2/cloudbuildpb"
	"google.golang.org/api/iterator"
)

func main() {
	ctx := context.Background()
	c, err := cloudbuild.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}

	req := &cloudbuildpb.ListBuildsRequest{
		// TODO: Fill request struct fields.
	}
	it := c.ListBuilds(ctx, req)
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			// TODO: Handle error.
		}
		// TODO: Use resp.
		_ = resp
	}
}

func (*Client) ListWorkerPools

ListWorkerPools list project's WorkerPools.

This API is experimental.

Example

package main

import (
	"context"

	cloudbuild "cloud.google.com/go/cloudbuild/apiv1"
	"cloud.google.com/go/cloudbuild/apiv1/v2/cloudbuildpb"
)

func main() {
	ctx := context.Background()
	c, err := cloudbuild.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}

	req := &cloudbuildpb.ListWorkerPoolsRequest{
		// TODO: Fill request struct fields.
	}
	resp, err := c.ListWorkerPools(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) RetryBuild

func (c *Client) RetryBuild(ctx context.Context, req *cloudbuildpb.RetryBuildRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error)

RetryBuild creates a new build based on the specified build.

This method creates a new build using the original build request, which may or may not result in an identical build.

For triggered builds:

Triggered builds resolve to a precise revision; therefore a retry of a
triggered build will result in a build that uses the same revision.

For non-triggered builds that specify RepoSource:

If the original build built from the tip of a branch, the retried build
will build from the tip of that branch, which may not be the same revision
as the original build.

If the original build specified a commit sha or revision ID, the retried
build will use the identical source.

For builds that specify StorageSource:

If the original build pulled source from Google Cloud Storage without
specifying the generation of the object, the new build will use the current
object, which may be different from the original build source.

If the original build pulled source from Cloud Storage and specified the
generation of the object, the new build will attempt to use the same
object, which may or may not be available depending on the bucket's
lifecycle management settings.

Example

package main

import (
	"context"

	cloudbuild "cloud.google.com/go/cloudbuild/apiv1"
	"cloud.google.com/go/cloudbuild/apiv1/v2/cloudbuildpb"
)

func main() {
	ctx := context.Background()
	c, err := cloudbuild.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}

	req := &cloudbuildpb.RetryBuildRequest{
		// TODO: Fill request struct fields.
	}
	resp, err := c.RetryBuild(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) RunBuildTrigger

func (c *Client) RunBuildTrigger(ctx context.Context, req *cloudbuildpb.RunBuildTriggerRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error)

RunBuildTrigger runs a BuildTrigger at a particular source revision.

Example

package main

import (
	"context"

	cloudbuild "cloud.google.com/go/cloudbuild/apiv1"
	"cloud.google.com/go/cloudbuild/apiv1/v2/cloudbuildpb"
)

func main() {
	ctx := context.Background()
	c, err := cloudbuild.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}

	req := &cloudbuildpb.RunBuildTriggerRequest{
		// TODO: Fill request struct fields.
	}
	resp, err := c.RunBuildTrigger(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) UpdateBuildTrigger

UpdateBuildTrigger updates a BuildTrigger by its project ID and trigger ID.

This API is experimental.

Example

package main

import (
	"context"

	cloudbuild "cloud.google.com/go/cloudbuild/apiv1"
	"cloud.google.com/go/cloudbuild/apiv1/v2/cloudbuildpb"
)

func main() {
	ctx := context.Background()
	c, err := cloudbuild.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}

	req := &cloudbuildpb.UpdateBuildTriggerRequest{
		// TODO: Fill request struct fields.
	}
	resp, err := c.UpdateBuildTrigger(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) UpdateWorkerPool

UpdateWorkerPool update a WorkerPool.

This API is experimental.

Example

package main

import (
	"context"

	cloudbuild "cloud.google.com/go/cloudbuild/apiv1"
	"cloud.google.com/go/cloudbuild/apiv1/v2/cloudbuildpb"
)

func main() {
	ctx := context.Background()
	c, err := cloudbuild.NewClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}

	req := &cloudbuildpb.UpdateWorkerPoolRequest{
		// TODO: Fill request struct fields.
	}
	resp, err := c.UpdateWorkerPool(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

func (*Client) UpdateWorkerPoolOperation

func (c *Client) UpdateWorkerPoolOperation(name string) *UpdateWorkerPoolOperation

UpdateWorkerPoolOperation returns a new UpdateWorkerPoolOperation from a given name. The name must be that of a previously created UpdateWorkerPoolOperation, possibly from a different process.

CreateWorkerPoolOperation

type CreateWorkerPoolOperation struct {
	// contains filtered or unexported fields
}

CreateWorkerPoolOperation manages a long-running operation from CreateWorkerPool.

func (*CreateWorkerPoolOperation) Done

func (op *CreateWorkerPoolOperation) Done() bool

Done reports whether the long-running operation has completed.

func (*CreateWorkerPoolOperation) Metadata

Metadata returns metadata associated with the long-running operation. Metadata itself does not contact the server, but Poll does. To get the latest metadata, call this method after a successful call to Poll. If the metadata is not available, the returned metadata and error are both nil.

func (*CreateWorkerPoolOperation) Name

func (op *CreateWorkerPoolOperation) Name() string

Name returns the name of the long-running operation. The name is assigned by the server and is unique within the service from which the operation is created.

func (*CreateWorkerPoolOperation) Poll

Poll fetches the latest state of the long-running operation.

Poll also fetches the latest metadata, which can be retrieved by Metadata.

If Poll fails, the error is returned and op is unmodified. If Poll succeeds and the operation has completed with failure, the error is returned and op.Done will return true. If Poll succeeds and the operation has completed successfully, op.Done will return true, and the response of the operation is returned. If Poll succeeds and the operation has not completed, the returned response and error are both nil.

func (*CreateWorkerPoolOperation) Wait

Wait blocks until the long-running operation is completed, returning the response and any errors encountered.

See documentation of Poll for error-handling information.

UpdateWorkerPoolOperation

type UpdateWorkerPoolOperation struct {
	// contains filtered or unexported fields
}

UpdateWorkerPoolOperation manages a long-running operation from UpdateWorkerPool.

func (*UpdateWorkerPoolOperation) Done

func (op *UpdateWorkerPoolOperation) Done() bool

Done reports whether the long-running operation has completed.

func (*UpdateWorkerPoolOperation) Metadata

Metadata returns metadata associated with the long-running operation. Metadata itself does not contact the server, but Poll does. To get the latest metadata, call this method after a successful call to Poll. If the metadata is not available, the returned metadata and error are both nil.

func (*UpdateWorkerPoolOperation) Name

func (op *UpdateWorkerPoolOperation) Name() string

Name returns the name of the long-running operation. The name is assigned by the server and is unique within the service from which the operation is created.

func (*UpdateWorkerPoolOperation) Poll

Poll fetches the latest state of the long-running operation.

Poll also fetches the latest metadata, which can be retrieved by Metadata.

If Poll fails, the error is returned and op is unmodified. If Poll succeeds and the operation has completed with failure, the error is returned and op.Done will return true. If Poll succeeds and the operation has completed successfully, op.Done will return true, and the response of the operation is returned. If Poll succeeds and the operation has not completed, the returned response and error are both nil.

func (*UpdateWorkerPoolOperation) Wait

Wait blocks until the long-running operation is completed, returning the response and any errors encountered.

See documentation of Poll for error-handling information.