"description":"Starts a build with the specified configuration.\n\nThe long-running Operation returned by this method will include the ID of\nthe build, which can be passed to GetBuild to determine its status (e.g.,\nsuccess or failure).",
"description":"Lists previously requested builds.\n\nPreviously requested builds may still be in-progress, or may have finished\nsuccessfully or unsuccessfully.",
"description":"Returns information about a previously requested build.\n\nThe Build that is returned includes its status (e.g., success or failure,\nor in-progress), and timing information.",
"description":"Gets information about a BuildTrigger.\n\nThis API is experimental."
}
}
}
}
},
"operations":{
"methods":{
"get":{
"description":"Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
"httpMethod":"GET",
"parameterOrder":[
"name"
],
"response":{
"$ref":"Operation"
},
"scopes":[
"https://www.googleapis.com/auth/cloud-platform"
],
"parameters":{
"name":{
"description":"The name of the operation resource.",
"type":"string",
"required":true,
"pattern":"^operations/.+$",
"location":"path"
}
},
"flatPath":"v1/operations/{operationsId}",
"path":"v1/{+name}",
"id":"cloudbuild.operations.get"
},
"list":{
"description":"Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
"parameterOrder":[
"name"
],
"response":{
"$ref":"ListOperationsResponse"
},
"httpMethod":"GET",
"scopes":[
"https://www.googleapis.com/auth/cloud-platform"
],
"parameters":{
"filter":{
"location":"query",
"description":"The standard list filter.",
"type":"string"
},
"pageToken":{
"location":"query",
"description":"The standard list page token.",
"type":"string"
},
"name":{
"description":"The name of the operation's parent resource.",
"description":"The name of the operation resource to be cancelled.",
"type":"string",
"required":true,
"pattern":"^operations/.+$"
}
},
"scopes":[
"https://www.googleapis.com/auth/cloud-platform"
],
"flatPath":"v1/operations/{operationsId}:cancel",
"id":"cloudbuild.operations.cancel",
"path":"v1/{+name}:cancel",
"description":"Starts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`. Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
"description":"API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
"description":"Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
"description":"Hash(es) of the build source, which can be used to verify that the original\nsource integrity was maintained in the build. Note that FileHashes will\nonly be populated if BuildOptions has requested a SourceProvenanceHash.\n\nThe keys to this map are file paths used as build source and the values\ncontain the hash values for those files.\n\nIf the build source came in a single package such as a gzipped tarfile\n(.tar.gz), the FileHash will be for the single path to that file.\n@OutputOnly"
"description":"The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
"type":"object",
"additionalProperties":{
"description":"Properties of the object. Contains field @type with type URL.",
"description":"The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`.",
"description":"Properties of the object. Contains field @type with type URL.",
"type":"any"
},
"description":"Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.",
"description":"If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
"description":"BuildStep describes a step to perform in the build pipeline.",
"type":"object",
"properties":{
"entrypoint":{
"type":"string",
"description":"Optional entrypoint to be used instead of the build step image's default\nIf unset, the image's default will be used."
},
"secretEnv":{
"items":{
"type":"string"
},
"type":"array",
"description":"A list of environment variables which are encrypted using a Cloud KMS\ncrypto key. These values must be specified in the build's secrets."
},
"id":{
"description":"Optional unique identifier for this build step, used in wait_for to\nreference this build step as a dependency.",
"type":"string"
},
"volumes":{
"description":"List of volumes to mount into the build step.\n\nEach volume will be created as an empty volume prior to execution of the\nbuild step. Upon completion of the build, volumes and their contents will\nbe discarded.\n\nUsing a named volume in only one step is not valid as it is indicative\nof a mis-configured build request.",
"items":{
"$ref":"Volume"
},
"type":"array"
},
"dir":{
"description":"Working directory (relative to project source root) to use when running\nthis operation's container.",
"type":"string"
},
"waitFor":{
"description":"The ID(s) of the step(s) that this build step depends on.\nThis build step will not start until all the build steps in wait_for\nhave completed successfully. If wait_for is empty, this build step will\nstart when all previous build steps in the Build.Steps list have completed\nsuccessfully.",
"items":{
"type":"string"
},
"type":"array"
},
"env":{
"description":"A list of environment variable definitions to be used when running a step.\n\nThe elements are of the form \"KEY=VALUE\" for the environment variable \"KEY\"\nbeing given the value \"VALUE\".",
"items":{
"type":"string"
},
"type":"array"
},
"args":{
"description":"A list of arguments that will be presented to the step when it is started.\n\nIf the image used to run the step's container has an entrypoint, these args\nwill be used as arguments to that entrypoint. If the image does not define\nan entrypoint, the first element in args will be used as the entrypoint,\nand the remainder will be used as arguments.",
"items":{
"type":"string"
},
"type":"array"
},
"name":{
"description":"The name of the container image that will run this particular build step.\n\nIf the image is already available in the host's Docker daemon's cache, it\nwill be run directly. If not, the host will attempt to pull the image\nfirst, using the builder service account's credentials if necessary.\n\nThe Docker daemon's cache will already have the latest versions of all of\nthe officially supported build steps\n([https://github.com/GoogleCloudPlatform/cloud-builders](https://github.com/GoogleCloudPlatform/cloud-builders)).\nThe Docker daemon will also have cached many of the layers for some popular\nimages, like \"ubuntu\", \"debian\", but they will be refreshed at the time you\nattempt to use them.\n\nIf you built an image in a previous build step, it will be stored in the\nhost's Docker daemon's cache and is available to use as the name for a\nlater build step.",
"type":"string"
}
},
"id":"BuildStep"
},
"RepoSource":{
"id":"RepoSource",
"description":"RepoSource describes the location of the source in a Google Cloud Source\nRepository.",
"type":"object",
"properties":{
"commitSha":{
"description":"Explicit commit SHA to build.",
"type":"string"
},
"tagName":{
"description":"Name of the tag to build.",
"type":"string"
},
"branchName":{
"type":"string",
"description":"Name of the branch to build."
},
"repoName":{
"description":"Name of the repo. If omitted, the name \"default\" is assumed.",
"type":"string"
},
"projectId":{
"description":"ID of the project that owns the repo. If omitted, the project ID requesting\nthe build is assumed.",
"description":"Container message for hashes of byte content of files, used in\nSourceProvenance messages to verify integrity of source input to the build.",
"type":"object",
"properties":{
"fileHash":{
"description":"Collection of file hashes.",
"items":{
"$ref":"Hash"
},
"type":"array"
}
},
"id":"FileHashes"
},
"Secret":{
"id":"Secret",
"description":"Secret pairs a set of secret environment variables containing encrypted\nvalues with the Cloud KMS key to use to decrypt the value.",
"type":"object",
"properties":{
"secretEnv":{
"additionalProperties":{
"format":"byte",
"type":"string"
},
"description":"Map of environment variable name to its encrypted value.\n\nSecret environment variables must be unique across all of a build's\nsecrets, and must be used by at least one build step. Values can be at most\n1 KB in size. There can be at most ten secret values across all of a\nbuild's secrets.",
"type":"object"
},
"kmsKeyName":{
"type":"string",
"description":"Cloud KMS key name to use to decrypt these envs."
}
}
},
"Status":{
"id":"Status",
"description":"The `Status` type defines a logical error model that is suitable for different\nprogramming environments, including REST APIs and RPC APIs. It is used by\n[gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message,\nand error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed. The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n it may embed the `Status` in the normal response to indicate the partial\n errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n `Status` message should be used directly inside batch response, one for\n each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n results in its response, the status of those operations should be\n represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n be used directly after any stripping needed for security/privacy reasons.",
"type":"object",
"properties":{
"details":{
"items":{
"additionalProperties":{
"description":"Properties of the object. Contains field @type with type URL.",
"type":"any"
},
"type":"object"
},
"type":"array",
"description":"A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use."
},
"code":{
"format":"int32",
"description":"The status code, which should be an enum value of google.rpc.Code.",
"type":"integer"
},
"message":{
"description":"A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
"type":"string"
}
}
},
"Empty":{
"description":"A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
"type":"object",
"properties":{},
"id":"Empty"
},
"BuildTrigger":{
"id":"BuildTrigger",
"description":"Configuration for an automated build in response to source repository\nchanges.",
"description":"Template describing the types of source changes to trigger a build.\n\nBranch and tag names in trigger templates are interpreted as regular\nexpressions. Any branch or tag change that matches that regular expression\nwill trigger a build.",
"$ref":"RepoSource"
},
"filename":{
"description":"Path, from the source root, to a file whose contents is used for the\ntemplate.",
"description":"A build resource in the Container Builder API.\n\nAt a high level, a Build describes where to find source code, how to build\nit (for example, the builder image to run on the source), and what tag to\napply to the built image when it is pushed to Google Container Registry.\n\nFields can include the following variables which will be expanded when the\nbuild is created:\n\n- $PROJECT_ID: the project ID of the build.\n- $BUILD_ID: the autogenerated ID of the build.\n- $REPO_NAME: the source repository name specified by RepoSource.\n- $BRANCH_NAME: the branch name specified by RepoSource.\n- $TAG_NAME: the tag name specified by RepoSource.\n- $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or\n resolved from the specified branch or tag.\n- $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.",
"description":"Status of the build.\n@OutputOnly",
"type":"string",
"enumDescriptions":[
"Status of the build is unknown.",
"Build is queued; work has not yet begun.",
"Build is being executed.",
"Build finished successfully.",
"Build failed to complete successfully.",
"Build failed due to an internal cause.",
"Build took longer than was allowed.",
"Build was canceled by a user."
]
},
"timeout":{
"format":"google-duration",
"description":"Amount of time that this build should be allowed to run, to second\ngranularity. If this amount of time elapses, work on the build will cease\nand the build status will be TIMEOUT.\n\nDefault time is ten minutes.",
"type":"string"
},
"secrets":{
"description":"Secrets to decrypt using Cloud KMS.",
"description":"Google Cloud Storage bucket where logs should be written (see\n[Bucket Name\nRequirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).\nLogs file names will be of the format `${logs_bucket}/log-${build_id}.txt`.",
"description":"Time at which execution of the build was started.\n@OutputOnly",
"type":"string"
},
"sourceProvenance":{
"description":"A permanent fixed identifier for source.\n@OutputOnly",
"$ref":"SourceProvenance"
},
"createTime":{
"format":"google-datetime",
"description":"Time at which the request to create the build was received.\n@OutputOnly",
"type":"string"
},
"images":{
"description":"A list of images to be pushed upon the successful completion of all build\nsteps.\n\nThe images will be pushed using the builder service account's credentials.\n\nThe digests of the pushed images will be stored in the Build resource's\nresults field.\n\nIf any of the images fail to be pushed, the build is marked FAILURE.",
"description":"URL to logs for this build in Google Cloud Logging.\n@OutputOnly",
"type":"string"
},
"finishTime":{
"type":"string",
"format":"google-datetime",
"description":"Time at which execution of the build was finished.\n\nThe difference between finish_time and start_time is the duration of the\nbuild's execution.\n@OutputOnly"
},
"options":{
"$ref":"BuildOptions",
"description":"Special options for this build."
},
"source":{
"$ref":"Source",
"description":"Describes where to find the source files to build."
}
},
"id":"Build"
},
"CancelBuildRequest":{
"description":"Request to cancel an ongoing build.",
"type":"object",
"properties":{},
"id":"CancelBuildRequest"
},
"Volume":{
"description":"Volume describes a Docker container volume which is mounted into build steps\nin order to persist files across build step execution.",
"description":"Name of the volume to mount.\n\nVolume names must be unique per build step and must be valid names for\nDocker volumes. Each named volume must be used by at least two build steps.",
"type":"string"
},
"path":{
"description":"Path at which to mount the volume.\n\nPaths must be absolute and cannot conflict with other volume paths on the\nsame build step or with certain reserved volume paths.",