google-cloud-build-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,4 @@
1
+ # Cloud Build V1 Protocol Buffer Documentation
2
+
3
+ These files are for the YARD documentation of the generated protobuf files.
4
+ They are not intended to be required or loaded at runtime.
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # An indicator of the behavior of a given field (for example, that a field
23
+ # is required in requests, or given as output but ignored as input).
24
+ # This **does not** change the behavior in protocol buffers itself; it only
25
+ # denotes the behavior and may affect how API tooling handles the field.
26
+ #
27
+ # Note: This enum **may** receive new values in the future.
28
+ module FieldBehavior
29
+ # Conventional default for enums. Do not use this.
30
+ FIELD_BEHAVIOR_UNSPECIFIED = 0
31
+
32
+ # Specifically denotes a field as optional.
33
+ # While all fields in protocol buffers are optional, this may be specified
34
+ # for emphasis if appropriate.
35
+ OPTIONAL = 1
36
+
37
+ # Denotes a field as required.
38
+ # This indicates that the field **must** be provided as part of the request,
39
+ # and failure to do so will cause an error (usually `INVALID_ARGUMENT`).
40
+ REQUIRED = 2
41
+
42
+ # Denotes a field as output only.
43
+ # This indicates that the field is provided in responses, but including the
44
+ # field in a request does nothing (the server *must* ignore it and
45
+ # *must not* throw an error as a result of the field's presence).
46
+ OUTPUT_ONLY = 3
47
+
48
+ # Denotes a field as input only.
49
+ # This indicates that the field is provided in requests, and the
50
+ # corresponding field is not included in output.
51
+ INPUT_ONLY = 4
52
+
53
+ # Denotes a field as immutable.
54
+ # This indicates that the field may be set once in a request to create a
55
+ # resource, but may not be changed thereafter.
56
+ IMMUTABLE = 5
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,247 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # A simple descriptor of a resource type.
23
+ #
24
+ # ResourceDescriptor annotates a resource message (either by means of a
25
+ # protobuf annotation or use in the service config), and associates the
26
+ # resource's schema, the resource type, and the pattern of the resource name.
27
+ #
28
+ # Example:
29
+ #
30
+ # message Topic {
31
+ # // Indicates this message defines a resource schema.
32
+ # // Declares the resource type in the format of {service}/{kind}.
33
+ # // For Kubernetes resources, the format is {api group}/{kind}.
34
+ # option (google.api.resource) = {
35
+ # type: "pubsub.googleapis.com/Topic"
36
+ # name_descriptor: {
37
+ # pattern: "projects/{project}/topics/{topic}"
38
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
39
+ # parent_name_extractor: "projects/{project}"
40
+ # }
41
+ # };
42
+ # }
43
+ #
44
+ # The ResourceDescriptor Yaml config will look like:
45
+ #
46
+ # resources:
47
+ # - type: "pubsub.googleapis.com/Topic"
48
+ # name_descriptor:
49
+ # - pattern: "projects/\\{project}/topics/\\{topic}"
50
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
51
+ # parent_name_extractor: "projects/\\{project}"
52
+ #
53
+ # Sometimes, resources have multiple patterns, typically because they can
54
+ # live under multiple parents.
55
+ #
56
+ # Example:
57
+ #
58
+ # message LogEntry {
59
+ # option (google.api.resource) = {
60
+ # type: "logging.googleapis.com/LogEntry"
61
+ # name_descriptor: {
62
+ # pattern: "projects/{project}/logs/{log}"
63
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
64
+ # parent_name_extractor: "projects/{project}"
65
+ # }
66
+ # name_descriptor: {
67
+ # pattern: "folders/{folder}/logs/{log}"
68
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
69
+ # parent_name_extractor: "folders/{folder}"
70
+ # }
71
+ # name_descriptor: {
72
+ # pattern: "organizations/{organization}/logs/{log}"
73
+ # parent_type: "cloudresourcemanager.googleapis.com/Organization"
74
+ # parent_name_extractor: "organizations/{organization}"
75
+ # }
76
+ # name_descriptor: {
77
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
78
+ # parent_type: "billing.googleapis.com/BillingAccount"
79
+ # parent_name_extractor: "billingAccounts/{billing_account}"
80
+ # }
81
+ # };
82
+ # }
83
+ #
84
+ # The ResourceDescriptor Yaml config will look like:
85
+ #
86
+ # resources:
87
+ # - type: 'logging.googleapis.com/LogEntry'
88
+ # name_descriptor:
89
+ # - pattern: "projects/{project}/logs/{log}"
90
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
91
+ # parent_name_extractor: "projects/{project}"
92
+ # - pattern: "folders/{folder}/logs/{log}"
93
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
94
+ # parent_name_extractor: "folders/{folder}"
95
+ # - pattern: "organizations/{organization}/logs/{log}"
96
+ # parent_type: "cloudresourcemanager.googleapis.com/Organization"
97
+ # parent_name_extractor: "organizations/{organization}"
98
+ # - pattern: "billingAccounts/{billing_account}/logs/{log}"
99
+ # parent_type: "billing.googleapis.com/BillingAccount"
100
+ # parent_name_extractor: "billingAccounts/{billing_account}"
101
+ #
102
+ # For flexible resources, the resource name doesn't contain parent names, but
103
+ # the resource itself has parents for policy evaluation.
104
+ #
105
+ # Example:
106
+ #
107
+ # message Shelf {
108
+ # option (google.api.resource) = {
109
+ # type: "library.googleapis.com/Shelf"
110
+ # name_descriptor: {
111
+ # pattern: "shelves/{shelf}"
112
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
113
+ # }
114
+ # name_descriptor: {
115
+ # pattern: "shelves/{shelf}"
116
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
117
+ # }
118
+ # };
119
+ # }
120
+ #
121
+ # The ResourceDescriptor Yaml config will look like:
122
+ #
123
+ # resources:
124
+ # - type: 'library.googleapis.com/Shelf'
125
+ # name_descriptor:
126
+ # - pattern: "shelves/{shelf}"
127
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
128
+ # - pattern: "shelves/{shelf}"
129
+ # parent_type: "cloudresourcemanager.googleapis.com/Folder"
130
+ # @!attribute [rw] type
131
+ # @return [::String]
132
+ # The resource type. It must be in the format of
133
+ # \\{service_name}/\\{resource_type_kind}. The `resource_type_kind` must be
134
+ # singular and must not include version numbers.
135
+ #
136
+ # Example: `storage.googleapis.com/Bucket`
137
+ #
138
+ # The value of the resource_type_kind must follow the regular expression
139
+ # /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and
140
+ # should use PascalCase (UpperCamelCase). The maximum number of
141
+ # characters allowed for the `resource_type_kind` is 100.
142
+ # @!attribute [rw] pattern
143
+ # @return [::Array<::String>]
144
+ # Optional. The relative resource name pattern associated with this resource
145
+ # type. The DNS prefix of the full resource name shouldn't be specified here.
146
+ #
147
+ # The path pattern must follow the syntax, which aligns with HTTP binding
148
+ # syntax:
149
+ #
150
+ # Template = Segment { "/" Segment } ;
151
+ # Segment = LITERAL | Variable ;
152
+ # Variable = "{" LITERAL "}" ;
153
+ #
154
+ # Examples:
155
+ #
156
+ # - "projects/\\{project}/topics/\\{topic}"
157
+ # - "projects/\\{project}/knowledgeBases/\\{knowledge_base}"
158
+ #
159
+ # The components in braces correspond to the IDs for each resource in the
160
+ # hierarchy. It is expected that, if multiple patterns are provided,
161
+ # the same component name (e.g. "project") refers to IDs of the same
162
+ # type of resource.
163
+ # @!attribute [rw] name_field
164
+ # @return [::String]
165
+ # Optional. The field on the resource that designates the resource name
166
+ # field. If omitted, this is assumed to be "name".
167
+ # @!attribute [rw] history
168
+ # @return [::Google::Api::ResourceDescriptor::History]
169
+ # Optional. The historical or future-looking state of the resource pattern.
170
+ #
171
+ # Example:
172
+ #
173
+ # // The InspectTemplate message originally only supported resource
174
+ # // names with organization, and project was added later.
175
+ # message InspectTemplate {
176
+ # option (google.api.resource) = {
177
+ # type: "dlp.googleapis.com/InspectTemplate"
178
+ # pattern:
179
+ # "organizations/{organization}/inspectTemplates/{inspect_template}"
180
+ # pattern: "projects/{project}/inspectTemplates/{inspect_template}"
181
+ # history: ORIGINALLY_SINGLE_PATTERN
182
+ # };
183
+ # }
184
+ # @!attribute [rw] plural
185
+ # @return [::String]
186
+ # The plural name used in the resource name, such as 'projects' for
187
+ # the name of 'projects/\\{project}'. It is the same concept of the `plural`
188
+ # field in k8s CRD spec
189
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
190
+ # @!attribute [rw] singular
191
+ # @return [::String]
192
+ # The same concept of the `singular` field in k8s CRD spec
193
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
194
+ # Such as "project" for the `resourcemanager.googleapis.com/Project` type.
195
+ class ResourceDescriptor
196
+ include ::Google::Protobuf::MessageExts
197
+ extend ::Google::Protobuf::MessageExts::ClassMethods
198
+
199
+ # A description of the historical or future-looking state of the
200
+ # resource pattern.
201
+ module History
202
+ # The "unset" value.
203
+ HISTORY_UNSPECIFIED = 0
204
+
205
+ # The resource originally had one pattern and launched as such, and
206
+ # additional patterns were added later.
207
+ ORIGINALLY_SINGLE_PATTERN = 1
208
+
209
+ # The resource has one pattern, but the API owner expects to add more
210
+ # later. (This is the inverse of ORIGINALLY_SINGLE_PATTERN, and prevents
211
+ # that from being necessary once there are multiple patterns.)
212
+ FUTURE_MULTI_PATTERN = 2
213
+ end
214
+ end
215
+
216
+ # Defines a proto annotation that describes a string field that refers to
217
+ # an API resource.
218
+ # @!attribute [rw] type
219
+ # @return [::String]
220
+ # The resource type that the annotated field references.
221
+ #
222
+ # Example:
223
+ #
224
+ # message Subscription {
225
+ # string topic = 2 [(google.api.resource_reference) = {
226
+ # type: "pubsub.googleapis.com/Topic"
227
+ # }];
228
+ # }
229
+ # @!attribute [rw] child_type
230
+ # @return [::String]
231
+ # The resource type of a child collection that the annotated field
232
+ # references. This is useful for annotating the `parent` field that
233
+ # doesn't have a fixed resource type.
234
+ #
235
+ # Example:
236
+ #
237
+ # message ListLogEntriesRequest {
238
+ # string parent = 1 [(google.api.resource_reference) = {
239
+ # child_type: "logging.googleapis.com/LogEntry"
240
+ # };
241
+ # }
242
+ class ResourceReference
243
+ include ::Google::Protobuf::MessageExts
244
+ extend ::Google::Protobuf::MessageExts::ClassMethods
245
+ end
246
+ end
247
+ end
@@ -0,0 +1,1299 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Build
23
+ module V1
24
+ # Specifies a build to retry.
25
+ # @!attribute [rw] project_id
26
+ # @return [::String]
27
+ # Required. ID of the project.
28
+ # @!attribute [rw] id
29
+ # @return [::String]
30
+ # Required. Build ID of the original build.
31
+ class RetryBuildRequest
32
+ include ::Google::Protobuf::MessageExts
33
+ extend ::Google::Protobuf::MessageExts::ClassMethods
34
+ end
35
+
36
+ # Specifies a build trigger to run and the source to use.
37
+ # @!attribute [rw] project_id
38
+ # @return [::String]
39
+ # Required. ID of the project.
40
+ # @!attribute [rw] trigger_id
41
+ # @return [::String]
42
+ # Required. ID of the trigger.
43
+ # @!attribute [rw] source
44
+ # @return [::Google::Cloud::Build::V1::RepoSource]
45
+ # Required. Source to build against this trigger.
46
+ class RunBuildTriggerRequest
47
+ include ::Google::Protobuf::MessageExts
48
+ extend ::Google::Protobuf::MessageExts::ClassMethods
49
+ end
50
+
51
+ # Location of the source in an archive file in Google Cloud Storage.
52
+ # @!attribute [rw] bucket
53
+ # @return [::String]
54
+ # Google Cloud Storage bucket containing the source (see
55
+ # [Bucket Name
56
+ # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
57
+ # @!attribute [rw] object
58
+ # @return [::String]
59
+ # Google Cloud Storage object containing the source.
60
+ #
61
+ # This object must be a gzipped archive file (`.tar.gz`) containing source to
62
+ # build.
63
+ # @!attribute [rw] generation
64
+ # @return [::Integer]
65
+ # Google Cloud Storage generation for the object. If the generation is
66
+ # omitted, the latest generation will be used.
67
+ class StorageSource
68
+ include ::Google::Protobuf::MessageExts
69
+ extend ::Google::Protobuf::MessageExts::ClassMethods
70
+ end
71
+
72
+ # Location of the source in a Google Cloud Source Repository.
73
+ # @!attribute [rw] project_id
74
+ # @return [::String]
75
+ # ID of the project that owns the Cloud Source Repository. If omitted, the
76
+ # project ID requesting the build is assumed.
77
+ # @!attribute [rw] repo_name
78
+ # @return [::String]
79
+ # Required. Name of the Cloud Source Repository.
80
+ # @!attribute [rw] branch_name
81
+ # @return [::String]
82
+ # Regex matching branches to build.
83
+ #
84
+ # The syntax of the regular expressions accepted is the syntax accepted by
85
+ # RE2 and described at https://github.com/google/re2/wiki/Syntax
86
+ # @!attribute [rw] tag_name
87
+ # @return [::String]
88
+ # Regex matching tags to build.
89
+ #
90
+ # The syntax of the regular expressions accepted is the syntax accepted by
91
+ # RE2 and described at https://github.com/google/re2/wiki/Syntax
92
+ # @!attribute [rw] commit_sha
93
+ # @return [::String]
94
+ # Explicit commit SHA to build.
95
+ # @!attribute [rw] dir
96
+ # @return [::String]
97
+ # Directory, relative to the source root, in which to run the build.
98
+ #
99
+ # This must be a relative path. If a step's `dir` is specified and is an
100
+ # absolute path, this value is ignored for that step's execution.
101
+ # @!attribute [rw] invert_regex
102
+ # @return [::Boolean]
103
+ # Only trigger a build if the revision regex does NOT match the revision
104
+ # regex.
105
+ # @!attribute [rw] substitutions
106
+ # @return [::Google::Protobuf::Map{::String => ::String}]
107
+ # Substitutions to use in a triggered build.
108
+ # Should only be used with RunBuildTrigger
109
+ class RepoSource
110
+ include ::Google::Protobuf::MessageExts
111
+ extend ::Google::Protobuf::MessageExts::ClassMethods
112
+
113
+ # @!attribute [rw] key
114
+ # @return [::String]
115
+ # @!attribute [rw] value
116
+ # @return [::String]
117
+ class SubstitutionsEntry
118
+ include ::Google::Protobuf::MessageExts
119
+ extend ::Google::Protobuf::MessageExts::ClassMethods
120
+ end
121
+ end
122
+
123
+ # Location of the source in a supported storage service.
124
+ # @!attribute [rw] storage_source
125
+ # @return [::Google::Cloud::Build::V1::StorageSource]
126
+ # If provided, get the source from this location in Google Cloud Storage.
127
+ # @!attribute [rw] repo_source
128
+ # @return [::Google::Cloud::Build::V1::RepoSource]
129
+ # If provided, get the source from this location in a Cloud Source
130
+ # Repository.
131
+ class Source
132
+ include ::Google::Protobuf::MessageExts
133
+ extend ::Google::Protobuf::MessageExts::ClassMethods
134
+ end
135
+
136
+ # An image built by the pipeline.
137
+ # @!attribute [rw] name
138
+ # @return [::String]
139
+ # Name used to push the container image to Google Container Registry, as
140
+ # presented to `docker push`.
141
+ # @!attribute [rw] digest
142
+ # @return [::String]
143
+ # Docker Registry 2.0 digest.
144
+ # @!attribute [r] push_timing
145
+ # @return [::Google::Cloud::Build::V1::TimeSpan]
146
+ # Output only. Stores timing information for pushing the specified image.
147
+ class BuiltImage
148
+ include ::Google::Protobuf::MessageExts
149
+ extend ::Google::Protobuf::MessageExts::ClassMethods
150
+ end
151
+
152
+ # A step in the build pipeline.
153
+ # @!attribute [rw] name
154
+ # @return [::String]
155
+ # Required. The name of the container image that will run this particular
156
+ # build step.
157
+ #
158
+ # If the image is available in the host's Docker daemon's cache, it
159
+ # will be run directly. If not, the host will attempt to pull the image
160
+ # first, using the builder service account's credentials if necessary.
161
+ #
162
+ # The Docker daemon's cache will already have the latest versions of all of
163
+ # the officially supported build steps
164
+ # ([https://github.com/GoogleCloudPlatform/cloud-builders](https://github.com/GoogleCloudPlatform/cloud-builders)).
165
+ # The Docker daemon will also have cached many of the layers for some popular
166
+ # images, like "ubuntu", "debian", but they will be refreshed at the time you
167
+ # attempt to use them.
168
+ #
169
+ # If you built an image in a previous build step, it will be stored in the
170
+ # host's Docker daemon's cache and is available to use as the name for a
171
+ # later build step.
172
+ # @!attribute [rw] env
173
+ # @return [::Array<::String>]
174
+ # A list of environment variable definitions to be used when running a step.
175
+ #
176
+ # The elements are of the form "KEY=VALUE" for the environment variable "KEY"
177
+ # being given the value "VALUE".
178
+ # @!attribute [rw] args
179
+ # @return [::Array<::String>]
180
+ # A list of arguments that will be presented to the step when it is started.
181
+ #
182
+ # If the image used to run the step's container has an entrypoint, the `args`
183
+ # are used as arguments to that entrypoint. If the image does not define
184
+ # an entrypoint, the first element in args is used as the entrypoint,
185
+ # and the remainder will be used as arguments.
186
+ # @!attribute [rw] dir
187
+ # @return [::String]
188
+ # Working directory to use when running this step's container.
189
+ #
190
+ # If this value is a relative path, it is relative to the build's working
191
+ # directory. If this value is absolute, it may be outside the build's working
192
+ # directory, in which case the contents of the path may not be persisted
193
+ # across build step executions, unless a `volume` for that path is specified.
194
+ #
195
+ # If the build specifies a `RepoSource` with `dir` and a step with a `dir`,
196
+ # which specifies an absolute path, the `RepoSource` `dir` is ignored for
197
+ # the step's execution.
198
+ # @!attribute [rw] id
199
+ # @return [::String]
200
+ # Unique identifier for this build step, used in `wait_for` to
201
+ # reference this build step as a dependency.
202
+ # @!attribute [rw] wait_for
203
+ # @return [::Array<::String>]
204
+ # The ID(s) of the step(s) that this build step depends on.
205
+ # This build step will not start until all the build steps in `wait_for`
206
+ # have completed successfully. If `wait_for` is empty, this build step will
207
+ # start when all previous build steps in the `Build.Steps` list have
208
+ # completed successfully.
209
+ # @!attribute [rw] entrypoint
210
+ # @return [::String]
211
+ # Entrypoint to be used instead of the build step image's default entrypoint.
212
+ # If unset, the image's default entrypoint is used.
213
+ # @!attribute [rw] secret_env
214
+ # @return [::Array<::String>]
215
+ # A list of environment variables which are encrypted using a Cloud Key
216
+ # Management Service crypto key. These values must be specified in the
217
+ # build's `Secret`.
218
+ # @!attribute [rw] volumes
219
+ # @return [::Array<::Google::Cloud::Build::V1::Volume>]
220
+ # List of volumes to mount into the build step.
221
+ #
222
+ # Each volume is created as an empty volume prior to execution of the
223
+ # build step. Upon completion of the build, volumes and their contents are
224
+ # discarded.
225
+ #
226
+ # Using a named volume in only one step is not valid as it is indicative
227
+ # of a build request with an incorrect configuration.
228
+ # @!attribute [r] timing
229
+ # @return [::Google::Cloud::Build::V1::TimeSpan]
230
+ # Output only. Stores timing information for executing this build step.
231
+ # @!attribute [rw] pull_timing
232
+ # @return [::Google::Cloud::Build::V1::TimeSpan]
233
+ # Output only. Stores timing information for pulling this build step's
234
+ # builder image only.
235
+ # @!attribute [rw] timeout
236
+ # @return [::Google::Protobuf::Duration]
237
+ # Time limit for executing this build step. If not defined, the step has no
238
+ # time limit and will be allowed to continue to run until either it completes
239
+ # or the build itself times out.
240
+ # @!attribute [rw] status
241
+ # @return [::Google::Cloud::Build::V1::Build::Status]
242
+ # Output only. Status of the build step. At this time, build step status is
243
+ # only updated on build completion; step status is not updated in real-time
244
+ # as the build progresses.
245
+ class BuildStep
246
+ include ::Google::Protobuf::MessageExts
247
+ extend ::Google::Protobuf::MessageExts::ClassMethods
248
+ end
249
+
250
+ # Volume describes a Docker container volume which is mounted into build steps
251
+ # in order to persist files across build step execution.
252
+ # @!attribute [rw] name
253
+ # @return [::String]
254
+ # Name of the volume to mount.
255
+ #
256
+ # Volume names must be unique per build step and must be valid names for
257
+ # Docker volumes. Each named volume must be used by at least two build steps.
258
+ # @!attribute [rw] path
259
+ # @return [::String]
260
+ # Path at which to mount the volume.
261
+ #
262
+ # Paths must be absolute and cannot conflict with other volume paths on the
263
+ # same build step or with certain reserved volume paths.
264
+ class Volume
265
+ include ::Google::Protobuf::MessageExts
266
+ extend ::Google::Protobuf::MessageExts::ClassMethods
267
+ end
268
+
269
+ # Artifacts created by the build pipeline.
270
+ # @!attribute [rw] images
271
+ # @return [::Array<::Google::Cloud::Build::V1::BuiltImage>]
272
+ # Container images that were built as a part of the build.
273
+ # @!attribute [rw] build_step_images
274
+ # @return [::Array<::String>]
275
+ # List of build step digests, in the order corresponding to build step
276
+ # indices.
277
+ # @!attribute [rw] artifact_manifest
278
+ # @return [::String]
279
+ # Path to the artifact manifest. Only populated when artifacts are uploaded.
280
+ # @!attribute [rw] num_artifacts
281
+ # @return [::Integer]
282
+ # Number of artifacts uploaded. Only populated when artifacts are uploaded.
283
+ # @!attribute [rw] build_step_outputs
284
+ # @return [::Array<::String>]
285
+ # List of build step outputs, produced by builder images, in the order
286
+ # corresponding to build step indices.
287
+ #
288
+ # [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders)
289
+ # can produce this output by writing to `$BUILDER_OUTPUT/output`.
290
+ # Only the first 4KB of data is stored.
291
+ # @!attribute [rw] artifact_timing
292
+ # @return [::Google::Cloud::Build::V1::TimeSpan]
293
+ # Time to push all non-container artifacts.
294
+ class Results
295
+ include ::Google::Protobuf::MessageExts
296
+ extend ::Google::Protobuf::MessageExts::ClassMethods
297
+ end
298
+
299
+ # An artifact that was uploaded during a build. This
300
+ # is a single record in the artifact manifest JSON file.
301
+ # @!attribute [rw] location
302
+ # @return [::String]
303
+ # The path of an artifact in a Google Cloud Storage bucket, with the
304
+ # generation number. For example,
305
+ # `gs://mybucket/path/to/output.jar#generation`.
306
+ # @!attribute [rw] file_hash
307
+ # @return [::Array<::Google::Cloud::Build::V1::FileHashes>]
308
+ # The file hash of the artifact.
309
+ class ArtifactResult
310
+ include ::Google::Protobuf::MessageExts
311
+ extend ::Google::Protobuf::MessageExts::ClassMethods
312
+ end
313
+
314
+ # A build resource in the Cloud Build API.
315
+ #
316
+ # At a high level, a `Build` describes where to find source code, how to build
317
+ # it (for example, the builder image to run on the source), and where to store
318
+ # the built artifacts.
319
+ #
320
+ # Fields can include the following variables, which will be expanded when the
321
+ # build is created:
322
+ #
323
+ # - $PROJECT_ID: the project ID of the build.
324
+ # - $BUILD_ID: the autogenerated ID of the build.
325
+ # - $REPO_NAME: the source repository name specified by RepoSource.
326
+ # - $BRANCH_NAME: the branch name specified by RepoSource.
327
+ # - $TAG_NAME: the tag name specified by RepoSource.
328
+ # - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or
329
+ # resolved from the specified branch or tag.
330
+ # - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.
331
+ # @!attribute [r] id
332
+ # @return [::String]
333
+ # Output only. Unique identifier of the build.
334
+ # @!attribute [r] project_id
335
+ # @return [::String]
336
+ # Output only. ID of the project.
337
+ # @!attribute [rw] status
338
+ # @return [::Google::Cloud::Build::V1::Build::Status]
339
+ # Output only. Status of the build.
340
+ # @!attribute [rw] status_detail
341
+ # @return [::String]
342
+ # Output only. Customer-readable message about the current status.
343
+ # @!attribute [rw] source
344
+ # @return [::Google::Cloud::Build::V1::Source]
345
+ # The location of the source files to build.
346
+ # @!attribute [rw] steps
347
+ # @return [::Array<::Google::Cloud::Build::V1::BuildStep>]
348
+ # Required. The operations to be performed on the workspace.
349
+ # @!attribute [r] results
350
+ # @return [::Google::Cloud::Build::V1::Results]
351
+ # Output only. Results of the build.
352
+ # @!attribute [r] create_time
353
+ # @return [::Google::Protobuf::Timestamp]
354
+ # Output only. Time at which the request to create the build was received.
355
+ # @!attribute [r] start_time
356
+ # @return [::Google::Protobuf::Timestamp]
357
+ # Output only. Time at which execution of the build was started.
358
+ # @!attribute [r] finish_time
359
+ # @return [::Google::Protobuf::Timestamp]
360
+ # Output only. Time at which execution of the build was finished.
361
+ #
362
+ # The difference between finish_time and start_time is the duration of the
363
+ # build's execution.
364
+ # @!attribute [rw] timeout
365
+ # @return [::Google::Protobuf::Duration]
366
+ # Amount of time that this build should be allowed to run, to second
367
+ # granularity. If this amount of time elapses, work on the build will cease
368
+ # and the build status will be `TIMEOUT`.
369
+ #
370
+ # Default time is ten minutes.
371
+ # @!attribute [rw] images
372
+ # @return [::Array<::String>]
373
+ # A list of images to be pushed upon the successful completion of all build
374
+ # steps.
375
+ #
376
+ # The images are pushed using the builder service account's credentials.
377
+ #
378
+ # The digests of the pushed images will be stored in the `Build` resource's
379
+ # results field.
380
+ #
381
+ # If any of the images fail to be pushed, the build status is marked
382
+ # `FAILURE`.
383
+ # @!attribute [rw] queue_ttl
384
+ # @return [::Google::Protobuf::Duration]
385
+ # TTL in queue for this build. If provided and the build is enqueued longer
386
+ # than this value, the build will expire and the build status will be
387
+ # `EXPIRED`.
388
+ #
389
+ # The TTL starts ticking from create_time.
390
+ # @!attribute [rw] artifacts
391
+ # @return [::Google::Cloud::Build::V1::Artifacts]
392
+ # Artifacts produced by the build that should be uploaded upon
393
+ # successful completion of all build steps.
394
+ # @!attribute [rw] logs_bucket
395
+ # @return [::String]
396
+ # Google Cloud Storage bucket where logs should be written (see
397
+ # [Bucket Name
398
+ # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
399
+ # Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`.
400
+ # @!attribute [rw] source_provenance
401
+ # @return [::Google::Cloud::Build::V1::SourceProvenance]
402
+ # Output only. A permanent fixed identifier for source.
403
+ # @!attribute [rw] build_trigger_id
404
+ # @return [::String]
405
+ # Output only. The ID of the `BuildTrigger` that triggered this build, if it
406
+ # was triggered automatically.
407
+ # @!attribute [rw] options
408
+ # @return [::Google::Cloud::Build::V1::BuildOptions]
409
+ # Special options for this build.
410
+ # @!attribute [r] log_url
411
+ # @return [::String]
412
+ # Output only. URL to logs for this build in Google Cloud Console.
413
+ # @!attribute [rw] substitutions
414
+ # @return [::Google::Protobuf::Map{::String => ::String}]
415
+ # Substitutions data for `Build` resource.
416
+ # @!attribute [rw] tags
417
+ # @return [::Array<::String>]
418
+ # Tags for annotation of a `Build`. These are not docker tags.
419
+ # @!attribute [rw] secrets
420
+ # @return [::Array<::Google::Cloud::Build::V1::Secret>]
421
+ # Secrets to decrypt using Cloud Key Management Service.
422
+ # @!attribute [r] timing
423
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Build::V1::TimeSpan}]
424
+ # Output only. Stores timing information for phases of the build. Valid keys
425
+ # are:
426
+ #
427
+ # * BUILD: time to execute all build steps
428
+ # * PUSH: time to push all specified images.
429
+ # * FETCHSOURCE: time to fetch source.
430
+ #
431
+ # If the build does not specify source or images,
432
+ # these keys will not be included.
433
+ class Build
434
+ include ::Google::Protobuf::MessageExts
435
+ extend ::Google::Protobuf::MessageExts::ClassMethods
436
+
437
+ # @!attribute [rw] key
438
+ # @return [::String]
439
+ # @!attribute [rw] value
440
+ # @return [::String]
441
+ class SubstitutionsEntry
442
+ include ::Google::Protobuf::MessageExts
443
+ extend ::Google::Protobuf::MessageExts::ClassMethods
444
+ end
445
+
446
+ # @!attribute [rw] key
447
+ # @return [::String]
448
+ # @!attribute [rw] value
449
+ # @return [::Google::Cloud::Build::V1::TimeSpan]
450
+ class TimingEntry
451
+ include ::Google::Protobuf::MessageExts
452
+ extend ::Google::Protobuf::MessageExts::ClassMethods
453
+ end
454
+
455
+ # Possible status of a build or build step.
456
+ module Status
457
+ # Status of the build is unknown.
458
+ STATUS_UNKNOWN = 0
459
+
460
+ # Build or step is queued; work has not yet begun.
461
+ QUEUED = 1
462
+
463
+ # Build or step is being executed.
464
+ WORKING = 2
465
+
466
+ # Build or step finished successfully.
467
+ SUCCESS = 3
468
+
469
+ # Build or step failed to complete successfully.
470
+ FAILURE = 4
471
+
472
+ # Build or step failed due to an internal cause.
473
+ INTERNAL_ERROR = 5
474
+
475
+ # Build or step took longer than was allowed.
476
+ TIMEOUT = 6
477
+
478
+ # Build or step was canceled by a user.
479
+ CANCELLED = 7
480
+
481
+ # Build was enqueued for longer than the value of `queue_ttl`.
482
+ EXPIRED = 9
483
+ end
484
+ end
485
+
486
+ # Artifacts produced by a build that should be uploaded upon
487
+ # successful completion of all build steps.
488
+ # @!attribute [rw] images
489
+ # @return [::Array<::String>]
490
+ # A list of images to be pushed upon the successful completion of all build
491
+ # steps.
492
+ #
493
+ # The images will be pushed using the builder service account's credentials.
494
+ #
495
+ # The digests of the pushed images will be stored in the Build resource's
496
+ # results field.
497
+ #
498
+ # If any of the images fail to be pushed, the build is marked FAILURE.
499
+ # @!attribute [rw] objects
500
+ # @return [::Google::Cloud::Build::V1::Artifacts::ArtifactObjects]
501
+ # A list of objects to be uploaded to Cloud Storage upon successful
502
+ # completion of all build steps.
503
+ #
504
+ # Files in the workspace matching specified paths globs will be uploaded to
505
+ # the specified Cloud Storage location using the builder service account's
506
+ # credentials.
507
+ #
508
+ # The location and generation of the uploaded objects will be stored in the
509
+ # Build resource's results field.
510
+ #
511
+ # If any objects fail to be pushed, the build is marked FAILURE.
512
+ class Artifacts
513
+ include ::Google::Protobuf::MessageExts
514
+ extend ::Google::Protobuf::MessageExts::ClassMethods
515
+
516
+ # Files in the workspace to upload to Cloud Storage upon successful
517
+ # completion of all build steps.
518
+ # @!attribute [rw] location
519
+ # @return [::String]
520
+ # Cloud Storage bucket and optional object path, in the form
521
+ # "gs://bucket/path/to/somewhere/". (see [Bucket Name
522
+ # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
523
+ #
524
+ # Files in the workspace matching any path pattern will be uploaded to
525
+ # Cloud Storage with this location as a prefix.
526
+ # @!attribute [rw] paths
527
+ # @return [::Array<::String>]
528
+ # Path globs used to match files in the build's workspace.
529
+ # @!attribute [rw] timing
530
+ # @return [::Google::Cloud::Build::V1::TimeSpan]
531
+ # Output only. Stores timing information for pushing all artifact objects.
532
+ class ArtifactObjects
533
+ include ::Google::Protobuf::MessageExts
534
+ extend ::Google::Protobuf::MessageExts::ClassMethods
535
+ end
536
+ end
537
+
538
+ # Start and end times for a build execution phase.
539
+ # @!attribute [rw] start_time
540
+ # @return [::Google::Protobuf::Timestamp]
541
+ # Start of time span.
542
+ # @!attribute [rw] end_time
543
+ # @return [::Google::Protobuf::Timestamp]
544
+ # End of time span.
545
+ class TimeSpan
546
+ include ::Google::Protobuf::MessageExts
547
+ extend ::Google::Protobuf::MessageExts::ClassMethods
548
+ end
549
+
550
+ # Metadata for build operations.
551
+ # @!attribute [rw] build
552
+ # @return [::Google::Cloud::Build::V1::Build]
553
+ # The build that the operation is tracking.
554
+ class BuildOperationMetadata
555
+ include ::Google::Protobuf::MessageExts
556
+ extend ::Google::Protobuf::MessageExts::ClassMethods
557
+ end
558
+
559
+ # Provenance of the source. Ways to find the original source, or verify that
560
+ # some source was used for this build.
561
+ # @!attribute [rw] resolved_storage_source
562
+ # @return [::Google::Cloud::Build::V1::StorageSource]
563
+ # A copy of the build's `source.storage_source`, if exists, with any
564
+ # generations resolved.
565
+ # @!attribute [rw] resolved_repo_source
566
+ # @return [::Google::Cloud::Build::V1::RepoSource]
567
+ # A copy of the build's `source.repo_source`, if exists, with any
568
+ # revisions resolved.
569
+ # @!attribute [r] file_hashes
570
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Build::V1::FileHashes}]
571
+ # Output only. Hash(es) of the build source, which can be used to verify that
572
+ # the original source integrity was maintained in the build. Note that
573
+ # `FileHashes` will only be populated if `BuildOptions` has requested a
574
+ # `SourceProvenanceHash`.
575
+ #
576
+ # The keys to this map are file paths used as build source and the values
577
+ # contain the hash values for those files.
578
+ #
579
+ # If the build source came in a single package such as a gzipped tarfile
580
+ # (`.tar.gz`), the `FileHash` will be for the single path to that file.
581
+ class SourceProvenance
582
+ include ::Google::Protobuf::MessageExts
583
+ extend ::Google::Protobuf::MessageExts::ClassMethods
584
+
585
+ # @!attribute [rw] key
586
+ # @return [::String]
587
+ # @!attribute [rw] value
588
+ # @return [::Google::Cloud::Build::V1::FileHashes]
589
+ class FileHashesEntry
590
+ include ::Google::Protobuf::MessageExts
591
+ extend ::Google::Protobuf::MessageExts::ClassMethods
592
+ end
593
+ end
594
+
595
+ # Container message for hashes of byte content of files, used in
596
+ # SourceProvenance messages to verify integrity of source input to the build.
597
+ # @!attribute [rw] file_hash
598
+ # @return [::Array<::Google::Cloud::Build::V1::Hash>]
599
+ # Collection of file hashes.
600
+ class FileHashes
601
+ include ::Google::Protobuf::MessageExts
602
+ extend ::Google::Protobuf::MessageExts::ClassMethods
603
+ end
604
+
605
+ # Container message for hash values.
606
+ # @!attribute [rw] type
607
+ # @return [::Google::Cloud::Build::V1::Hash::HashType]
608
+ # The type of hash that was performed.
609
+ # @!attribute [rw] value
610
+ # @return [::String]
611
+ # The hash value.
612
+ class Hash
613
+ include ::Google::Protobuf::MessageExts
614
+ extend ::Google::Protobuf::MessageExts::ClassMethods
615
+
616
+ # Specifies the hash algorithm, if any.
617
+ module HashType
618
+ # No hash requested.
619
+ NONE = 0
620
+
621
+ # Use a sha256 hash.
622
+ SHA256 = 1
623
+
624
+ # Use a md5 hash.
625
+ MD5 = 2
626
+ end
627
+ end
628
+
629
+ # Pairs a set of secret environment variables containing encrypted
630
+ # values with the Cloud KMS key to use to decrypt the value.
631
+ # @!attribute [rw] kms_key_name
632
+ # @return [::String]
633
+ # Cloud KMS key name to use to decrypt these envs.
634
+ # @!attribute [rw] secret_env
635
+ # @return [::Google::Protobuf::Map{::String => ::String}]
636
+ # Map of environment variable name to its encrypted value.
637
+ #
638
+ # Secret environment variables must be unique across all of a build's
639
+ # secrets, and must be used by at least one build step. Values can be at most
640
+ # 64 KB in size. There can be at most 100 secret values across all of a
641
+ # build's secrets.
642
+ class Secret
643
+ include ::Google::Protobuf::MessageExts
644
+ extend ::Google::Protobuf::MessageExts::ClassMethods
645
+
646
+ # @!attribute [rw] key
647
+ # @return [::String]
648
+ # @!attribute [rw] value
649
+ # @return [::String]
650
+ class SecretEnvEntry
651
+ include ::Google::Protobuf::MessageExts
652
+ extend ::Google::Protobuf::MessageExts::ClassMethods
653
+ end
654
+ end
655
+
656
+ # Request to create a new build.
657
+ # @!attribute [rw] project_id
658
+ # @return [::String]
659
+ # Required. ID of the project.
660
+ # @!attribute [rw] build
661
+ # @return [::Google::Cloud::Build::V1::Build]
662
+ # Required. Build resource to create.
663
+ class CreateBuildRequest
664
+ include ::Google::Protobuf::MessageExts
665
+ extend ::Google::Protobuf::MessageExts::ClassMethods
666
+ end
667
+
668
+ # Request to get a build.
669
+ # @!attribute [rw] project_id
670
+ # @return [::String]
671
+ # Required. ID of the project.
672
+ # @!attribute [rw] id
673
+ # @return [::String]
674
+ # Required. ID of the build.
675
+ class GetBuildRequest
676
+ include ::Google::Protobuf::MessageExts
677
+ extend ::Google::Protobuf::MessageExts::ClassMethods
678
+ end
679
+
680
+ # Request to list builds.
681
+ # @!attribute [rw] project_id
682
+ # @return [::String]
683
+ # Required. ID of the project.
684
+ # @!attribute [rw] page_size
685
+ # @return [::Integer]
686
+ # Number of results to return in the list.
687
+ # @!attribute [rw] page_token
688
+ # @return [::String]
689
+ # Token to provide to skip to a particular spot in the list.
690
+ # @!attribute [rw] filter
691
+ # @return [::String]
692
+ # The raw filter text to constrain the results.
693
+ class ListBuildsRequest
694
+ include ::Google::Protobuf::MessageExts
695
+ extend ::Google::Protobuf::MessageExts::ClassMethods
696
+ end
697
+
698
+ # Response including listed builds.
699
+ # @!attribute [rw] builds
700
+ # @return [::Array<::Google::Cloud::Build::V1::Build>]
701
+ # Builds will be sorted by `create_time`, descending.
702
+ # @!attribute [rw] next_page_token
703
+ # @return [::String]
704
+ # Token to receive the next page of results.
705
+ class ListBuildsResponse
706
+ include ::Google::Protobuf::MessageExts
707
+ extend ::Google::Protobuf::MessageExts::ClassMethods
708
+ end
709
+
710
+ # Request to cancel an ongoing build.
711
+ # @!attribute [rw] project_id
712
+ # @return [::String]
713
+ # Required. ID of the project.
714
+ # @!attribute [rw] id
715
+ # @return [::String]
716
+ # Required. ID of the build.
717
+ class CancelBuildRequest
718
+ include ::Google::Protobuf::MessageExts
719
+ extend ::Google::Protobuf::MessageExts::ClassMethods
720
+ end
721
+
722
+ # Configuration for an automated build in response to source repository
723
+ # changes.
724
+ # @!attribute [r] id
725
+ # @return [::String]
726
+ # Output only. Unique identifier of the trigger.
727
+ # @!attribute [rw] description
728
+ # @return [::String]
729
+ # Human-readable description of this trigger.
730
+ # @!attribute [rw] name
731
+ # @return [::String]
732
+ # User-assigned name of the trigger. Must be unique within the project.
733
+ # Trigger names must meet the following requirements:
734
+ #
735
+ # + They must contain only alphanumeric characters and dashes.
736
+ # + They can be 1-64 characters long.
737
+ # + They must begin and end with an alphanumeric character.
738
+ # @!attribute [rw] tags
739
+ # @return [::Array<::String>]
740
+ # Tags for annotation of a `BuildTrigger`
741
+ # @!attribute [rw] trigger_template
742
+ # @return [::Google::Cloud::Build::V1::RepoSource]
743
+ # Template describing the types of source changes to trigger a build.
744
+ #
745
+ # Branch and tag names in trigger templates are interpreted as regular
746
+ # expressions. Any branch or tag change that matches that regular expression
747
+ # will trigger a build.
748
+ #
749
+ # Mutually exclusive with `github`.
750
+ # @!attribute [rw] github
751
+ # @return [::Google::Cloud::Build::V1::GitHubEventsConfig]
752
+ # GitHubEventsConfig describes the configuration of a trigger that creates
753
+ # a build whenever a GitHub event is received.
754
+ #
755
+ # Mutually exclusive with `trigger_template`.
756
+ # @!attribute [rw] build
757
+ # @return [::Google::Cloud::Build::V1::Build]
758
+ # Contents of the build template.
759
+ # @!attribute [rw] filename
760
+ # @return [::String]
761
+ # Path, from the source root, to a file whose contents is used for the
762
+ # template.
763
+ # @!attribute [r] create_time
764
+ # @return [::Google::Protobuf::Timestamp]
765
+ # Output only. Time when the trigger was created.
766
+ # @!attribute [rw] disabled
767
+ # @return [::Boolean]
768
+ # If true, the trigger will never result in a build.
769
+ # @!attribute [rw] substitutions
770
+ # @return [::Google::Protobuf::Map{::String => ::String}]
771
+ # Substitutions for Build resource. The keys must match the following
772
+ # regular expression: `^_[A-Z0-9_]+$`.The keys cannot conflict with the
773
+ # keys in bindings.
774
+ # @!attribute [rw] ignored_files
775
+ # @return [::Array<::String>]
776
+ # ignored_files and included_files are file glob matches using
777
+ # https://golang.org/pkg/path/filepath/#Match extended with support for "**".
778
+ #
779
+ # If ignored_files and changed files are both empty, then they are
780
+ # not used to determine whether or not to trigger a build.
781
+ #
782
+ # If ignored_files is not empty, then we ignore any files that match
783
+ # any of the ignored_file globs. If the change has no files that are
784
+ # outside of the ignored_files globs, then we do not trigger a build.
785
+ # @!attribute [rw] included_files
786
+ # @return [::Array<::String>]
787
+ # If any of the files altered in the commit pass the ignored_files
788
+ # filter and included_files is empty, then as far as this filter is
789
+ # concerned, we should trigger the build.
790
+ #
791
+ # If any of the files altered in the commit pass the ignored_files
792
+ # filter and included_files is not empty, then we make sure that at
793
+ # least one of those files matches a included_files glob. If not,
794
+ # then we do not trigger a build.
795
+ class BuildTrigger
796
+ include ::Google::Protobuf::MessageExts
797
+ extend ::Google::Protobuf::MessageExts::ClassMethods
798
+
799
+ # @!attribute [rw] key
800
+ # @return [::String]
801
+ # @!attribute [rw] value
802
+ # @return [::String]
803
+ class SubstitutionsEntry
804
+ include ::Google::Protobuf::MessageExts
805
+ extend ::Google::Protobuf::MessageExts::ClassMethods
806
+ end
807
+ end
808
+
809
+ # GitHubEventsConfig describes the configuration of a trigger that creates a
810
+ # build whenever a GitHub event is received.
811
+ #
812
+ # This message is experimental.
813
+ # @!attribute [rw] installation_id
814
+ # @return [::Integer]
815
+ # The installationID that emits the GitHub event.
816
+ # @!attribute [rw] owner
817
+ # @return [::String]
818
+ # Owner of the repository. For example: The owner for
819
+ # https://github.com/googlecloudplatform/cloud-builders is
820
+ # "googlecloudplatform".
821
+ # @!attribute [rw] name
822
+ # @return [::String]
823
+ # Name of the repository. For example: The name for
824
+ # https://github.com/googlecloudplatform/cloud-builders is "cloud-builders".
825
+ # @!attribute [rw] pull_request
826
+ # @return [::Google::Cloud::Build::V1::PullRequestFilter]
827
+ # filter to match changes in pull requests.
828
+ # @!attribute [rw] push
829
+ # @return [::Google::Cloud::Build::V1::PushFilter]
830
+ # filter to match changes in refs like branches, tags.
831
+ class GitHubEventsConfig
832
+ include ::Google::Protobuf::MessageExts
833
+ extend ::Google::Protobuf::MessageExts::ClassMethods
834
+ end
835
+
836
+ # PullRequestFilter contains filter properties for matching GitHub Pull
837
+ # Requests.
838
+ # @!attribute [rw] branch
839
+ # @return [::String]
840
+ # Regex of branches to match.
841
+ #
842
+ # The syntax of the regular expressions accepted is the syntax accepted by
843
+ # RE2 and described at https://github.com/google/re2/wiki/Syntax
844
+ # @!attribute [rw] comment_control
845
+ # @return [::Google::Cloud::Build::V1::PullRequestFilter::CommentControl]
846
+ # Whether to block builds on a "/gcbrun" comment from a repository admin or
847
+ # collaborator.
848
+ # @!attribute [rw] invert_regex
849
+ # @return [::Boolean]
850
+ # If true, branches that do NOT match the git_ref will trigger a build.
851
+ class PullRequestFilter
852
+ include ::Google::Protobuf::MessageExts
853
+ extend ::Google::Protobuf::MessageExts::ClassMethods
854
+
855
+ # Controls behavior of Pull Request comments.
856
+ module CommentControl
857
+ # Do not require comments on Pull Requests before builds are triggered.
858
+ COMMENTS_DISABLED = 0
859
+
860
+ # Enforce that repository owners or collaborators must comment on Pull
861
+ # Requests before builds are triggered.
862
+ COMMENTS_ENABLED = 1
863
+ end
864
+ end
865
+
866
+ # Push contains filter properties for matching GitHub git pushes.
867
+ # @!attribute [rw] branch
868
+ # @return [::String]
869
+ # Regexes matching branches to build.
870
+ #
871
+ # The syntax of the regular expressions accepted is the syntax accepted by
872
+ # RE2 and described at https://github.com/google/re2/wiki/Syntax
873
+ # @!attribute [rw] tag
874
+ # @return [::String]
875
+ # Regexes matching tags to build.
876
+ #
877
+ # The syntax of the regular expressions accepted is the syntax accepted by
878
+ # RE2 and described at https://github.com/google/re2/wiki/Syntax
879
+ # @!attribute [rw] invert_regex
880
+ # @return [::Boolean]
881
+ # When true, only trigger a build if the revision regex does NOT match the
882
+ # git_ref regex.
883
+ class PushFilter
884
+ include ::Google::Protobuf::MessageExts
885
+ extend ::Google::Protobuf::MessageExts::ClassMethods
886
+ end
887
+
888
+ # Request to create a new `BuildTrigger`.
889
+ # @!attribute [rw] project_id
890
+ # @return [::String]
891
+ # Required. ID of the project for which to configure automatic builds.
892
+ # @!attribute [rw] trigger
893
+ # @return [::Google::Cloud::Build::V1::BuildTrigger]
894
+ # Required. `BuildTrigger` to create.
895
+ class CreateBuildTriggerRequest
896
+ include ::Google::Protobuf::MessageExts
897
+ extend ::Google::Protobuf::MessageExts::ClassMethods
898
+ end
899
+
900
+ # Returns the `BuildTrigger` with the specified ID.
901
+ # @!attribute [rw] project_id
902
+ # @return [::String]
903
+ # Required. ID of the project that owns the trigger.
904
+ # @!attribute [rw] trigger_id
905
+ # @return [::String]
906
+ # Required. Identifier (`id` or `name`) of the `BuildTrigger` to get.
907
+ class GetBuildTriggerRequest
908
+ include ::Google::Protobuf::MessageExts
909
+ extend ::Google::Protobuf::MessageExts::ClassMethods
910
+ end
911
+
912
+ # Request to list existing `BuildTriggers`.
913
+ # @!attribute [rw] project_id
914
+ # @return [::String]
915
+ # Required. ID of the project for which to list BuildTriggers.
916
+ # @!attribute [rw] page_size
917
+ # @return [::Integer]
918
+ # Number of results to return in the list.
919
+ # @!attribute [rw] page_token
920
+ # @return [::String]
921
+ # Token to provide to skip to a particular spot in the list.
922
+ class ListBuildTriggersRequest
923
+ include ::Google::Protobuf::MessageExts
924
+ extend ::Google::Protobuf::MessageExts::ClassMethods
925
+ end
926
+
927
+ # Response containing existing `BuildTriggers`.
928
+ # @!attribute [rw] triggers
929
+ # @return [::Array<::Google::Cloud::Build::V1::BuildTrigger>]
930
+ # `BuildTriggers` for the project, sorted by `create_time` descending.
931
+ # @!attribute [rw] next_page_token
932
+ # @return [::String]
933
+ # Token to receive the next page of results.
934
+ class ListBuildTriggersResponse
935
+ include ::Google::Protobuf::MessageExts
936
+ extend ::Google::Protobuf::MessageExts::ClassMethods
937
+ end
938
+
939
+ # Request to delete a `BuildTrigger`.
940
+ # @!attribute [rw] project_id
941
+ # @return [::String]
942
+ # Required. ID of the project that owns the trigger.
943
+ # @!attribute [rw] trigger_id
944
+ # @return [::String]
945
+ # Required. ID of the `BuildTrigger` to delete.
946
+ class DeleteBuildTriggerRequest
947
+ include ::Google::Protobuf::MessageExts
948
+ extend ::Google::Protobuf::MessageExts::ClassMethods
949
+ end
950
+
951
+ # Request to update an existing `BuildTrigger`.
952
+ # @!attribute [rw] project_id
953
+ # @return [::String]
954
+ # Required. ID of the project that owns the trigger.
955
+ # @!attribute [rw] trigger_id
956
+ # @return [::String]
957
+ # Required. ID of the `BuildTrigger` to update.
958
+ # @!attribute [rw] trigger
959
+ # @return [::Google::Cloud::Build::V1::BuildTrigger]
960
+ # Required. `BuildTrigger` to update.
961
+ class UpdateBuildTriggerRequest
962
+ include ::Google::Protobuf::MessageExts
963
+ extend ::Google::Protobuf::MessageExts::ClassMethods
964
+ end
965
+
966
+ # Optional arguments to enable specific features of builds.
967
+ # @!attribute [rw] source_provenance_hash
968
+ # @return [::Array<::Google::Cloud::Build::V1::Hash::HashType>]
969
+ # Requested hash for SourceProvenance.
970
+ # @!attribute [rw] requested_verify_option
971
+ # @return [::Google::Cloud::Build::V1::BuildOptions::VerifyOption]
972
+ # Requested verifiability options.
973
+ # @!attribute [rw] machine_type
974
+ # @return [::Google::Cloud::Build::V1::BuildOptions::MachineType]
975
+ # Compute Engine machine type on which to run the build.
976
+ # @!attribute [rw] disk_size_gb
977
+ # @return [::Integer]
978
+ # Requested disk size for the VM that runs the build. Note that this is *NOT*
979
+ # "disk free"; some of the space will be used by the operating system and
980
+ # build utilities. Also note that this is the minimum disk size that will be
981
+ # allocated for the build -- the build may run with a larger disk than
982
+ # requested. At present, the maximum disk size is 1000GB; builds that request
983
+ # more than the maximum are rejected with an error.
984
+ # @!attribute [rw] substitution_option
985
+ # @return [::Google::Cloud::Build::V1::BuildOptions::SubstitutionOption]
986
+ # Option to specify behavior when there is an error in the substitution
987
+ # checks.
988
+ # @!attribute [rw] log_streaming_option
989
+ # @return [::Google::Cloud::Build::V1::BuildOptions::LogStreamingOption]
990
+ # Option to define build log streaming behavior to Google Cloud
991
+ # Storage.
992
+ # @!attribute [rw] worker_pool
993
+ # @return [::String]
994
+ # Option to specify a `WorkerPool` for the build.
995
+ # Format: projects/\\{project}/workerPools/\\{workerPool}
996
+ #
997
+ # This field is experimental.
998
+ # @!attribute [rw] logging
999
+ # @return [::Google::Cloud::Build::V1::BuildOptions::LoggingMode]
1000
+ # Option to specify the logging mode, which determines where the logs are
1001
+ # stored.
1002
+ # @!attribute [rw] env
1003
+ # @return [::Array<::String>]
1004
+ # A list of global environment variable definitions that will exist for all
1005
+ # build steps in this build. If a variable is defined in both globally and in
1006
+ # a build step, the variable will use the build step value.
1007
+ #
1008
+ # The elements are of the form "KEY=VALUE" for the environment variable "KEY"
1009
+ # being given the value "VALUE".
1010
+ # @!attribute [rw] secret_env
1011
+ # @return [::Array<::String>]
1012
+ # A list of global environment variables, which are encrypted using a Cloud
1013
+ # Key Management Service crypto key. These values must be specified in the
1014
+ # build's `Secret`. These variables will be available to all build steps
1015
+ # in this build.
1016
+ # @!attribute [rw] volumes
1017
+ # @return [::Array<::Google::Cloud::Build::V1::Volume>]
1018
+ # Global list of volumes to mount for ALL build steps
1019
+ #
1020
+ # Each volume is created as an empty volume prior to starting the build
1021
+ # process. Upon completion of the build, volumes and their contents are
1022
+ # discarded. Global volume names and paths cannot conflict with the volumes
1023
+ # defined a build step.
1024
+ #
1025
+ # Using a global volume in a build with only one step is not valid as
1026
+ # it is indicative of a build request with an incorrect configuration.
1027
+ class BuildOptions
1028
+ include ::Google::Protobuf::MessageExts
1029
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1030
+
1031
+ # Specifies the manner in which the build should be verified, if at all.
1032
+ module VerifyOption
1033
+ # Not a verifiable build. (default)
1034
+ NOT_VERIFIED = 0
1035
+
1036
+ # Verified build.
1037
+ VERIFIED = 1
1038
+ end
1039
+
1040
+ # Supported VM sizes.
1041
+ module MachineType
1042
+ # Standard machine type.
1043
+ UNSPECIFIED = 0
1044
+
1045
+ # Highcpu machine with 8 CPUs.
1046
+ N1_HIGHCPU_8 = 1
1047
+
1048
+ # Highcpu machine with 32 CPUs.
1049
+ N1_HIGHCPU_32 = 2
1050
+ end
1051
+
1052
+ # Specifies the behavior when there is an error in the substitution checks.
1053
+ module SubstitutionOption
1054
+ # Fails the build if error in substitutions checks, like missing
1055
+ # a substitution in the template or in the map.
1056
+ MUST_MATCH = 0
1057
+
1058
+ # Do not fail the build if error in substitutions checks.
1059
+ ALLOW_LOOSE = 1
1060
+ end
1061
+
1062
+ # Specifies the behavior when writing build logs to Google Cloud Storage.
1063
+ module LogStreamingOption
1064
+ # Service may automatically determine build log streaming behavior.
1065
+ STREAM_DEFAULT = 0
1066
+
1067
+ # Build logs should be streamed to Google Cloud Storage.
1068
+ STREAM_ON = 1
1069
+
1070
+ # Build logs should not be streamed to Google Cloud Storage; they will be
1071
+ # written when the build is completed.
1072
+ STREAM_OFF = 2
1073
+ end
1074
+
1075
+ # Specifies the logging mode.
1076
+ module LoggingMode
1077
+ # The service determines the logging mode. The default is `LEGACY`. Do not
1078
+ # rely on the default logging behavior as it may change in the future.
1079
+ LOGGING_UNSPECIFIED = 0
1080
+
1081
+ # Stackdriver logging and Cloud Storage logging are enabled.
1082
+ LEGACY = 1
1083
+
1084
+ # Only Cloud Storage logging is enabled.
1085
+ GCS_ONLY = 2
1086
+ end
1087
+ end
1088
+
1089
+ # Configuration for a WorkerPool to run the builds.
1090
+ #
1091
+ # Workers are machines that Cloud Build uses to run your builds. By default,
1092
+ # all workers run in a project owned by Cloud Build. To have full control over
1093
+ # the workers that execute your builds -- such as enabling them to access
1094
+ # private resources on your private network -- you can request Cloud Build to
1095
+ # run the workers in your own project by creating a custom workers pool.
1096
+ # @!attribute [rw] name
1097
+ # @return [::String]
1098
+ # User-defined name of the `WorkerPool`.
1099
+ # @!attribute [rw] project_id
1100
+ # @return [::String]
1101
+ # The project ID of the GCP project for which the `WorkerPool` is created.
1102
+ # @!attribute [rw] service_account_email
1103
+ # @return [::String]
1104
+ # Output only. The service account used to manage the `WorkerPool`. The
1105
+ # service account must have the Compute Instance Admin (Beta) permission at
1106
+ # the project level.
1107
+ # @!attribute [rw] worker_count
1108
+ # @return [::Integer]
1109
+ # Total number of workers to be created across all requested regions.
1110
+ # @!attribute [rw] worker_config
1111
+ # @return [::Google::Cloud::Build::V1::WorkerConfig]
1112
+ # Configuration to be used for a creating workers in the `WorkerPool`.
1113
+ # @!attribute [rw] regions
1114
+ # @return [::Array<::Google::Cloud::Build::V1::WorkerPool::Region>]
1115
+ # List of regions to create the `WorkerPool`. Regions can't be empty.
1116
+ # If Cloud Build adds a new GCP region in the future, the existing
1117
+ # `WorkerPool` will not be enabled in the new region automatically;
1118
+ # you must add the new region to the `regions` field to enable the
1119
+ # `WorkerPool` in that region.
1120
+ # @!attribute [rw] create_time
1121
+ # @return [::Google::Protobuf::Timestamp]
1122
+ # Output only. Time at which the request to create the `WorkerPool` was
1123
+ # received.
1124
+ # @!attribute [rw] update_time
1125
+ # @return [::Google::Protobuf::Timestamp]
1126
+ # Output only. Time at which the request to update the `WorkerPool` was
1127
+ # received.
1128
+ # @!attribute [rw] delete_time
1129
+ # @return [::Google::Protobuf::Timestamp]
1130
+ # Output only. Time at which the request to delete the `WorkerPool` was
1131
+ # received.
1132
+ # @!attribute [rw] status
1133
+ # @return [::Google::Cloud::Build::V1::WorkerPool::Status]
1134
+ # Output only. WorkerPool Status.
1135
+ class WorkerPool
1136
+ include ::Google::Protobuf::MessageExts
1137
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1138
+
1139
+ # Supported GCP regions to create the `WorkerPool`.
1140
+ module Region
1141
+ # no region
1142
+ REGION_UNSPECIFIED = 0
1143
+
1144
+ # us-central1 region
1145
+ US_CENTRAL1 = 1
1146
+
1147
+ # us-west1 region
1148
+ US_WEST1 = 2
1149
+
1150
+ # us-east1 region
1151
+ US_EAST1 = 3
1152
+
1153
+ # us-east4 region
1154
+ US_EAST4 = 4
1155
+ end
1156
+
1157
+ # `WorkerPool` status
1158
+ module Status
1159
+ # Status of the `WorkerPool` is unknown.
1160
+ STATUS_UNSPECIFIED = 0
1161
+
1162
+ # `WorkerPool` is being created.
1163
+ CREATING = 1
1164
+
1165
+ # `WorkerPool` is running.
1166
+ RUNNING = 2
1167
+
1168
+ # `WorkerPool` is being deleted: cancelling builds and draining workers.
1169
+ DELETING = 3
1170
+
1171
+ # `WorkerPool` is deleted.
1172
+ DELETED = 4
1173
+ end
1174
+ end
1175
+
1176
+ # WorkerConfig defines the configuration to be used for a creating workers in
1177
+ # the pool.
1178
+ # @!attribute [rw] machine_type
1179
+ # @return [::String]
1180
+ # Machine Type of the worker, such as n1-standard-1.
1181
+ # See https://cloud.google.com/compute/docs/machine-types.
1182
+ # If left blank, Cloud Build will use a standard unspecified machine to
1183
+ # create the worker pool.
1184
+ # `machine_type` is overridden if you specify a different machine type in
1185
+ # `build_options`. In this case, the VM specified in the `build_options`
1186
+ # will be created on demand at build time. For more information see
1187
+ # https://cloud.google.com/cloud-build/docs/speeding-up-builds#using_custom_virtual_machine_sizes
1188
+ # @!attribute [rw] disk_size_gb
1189
+ # @return [::Integer]
1190
+ # Size of the disk attached to the worker, in GB.
1191
+ # See https://cloud.google.com/compute/docs/disks/
1192
+ # If `0` is specified, Cloud Build will use a standard disk size.
1193
+ # `disk_size` is overridden if you specify a different disk size in
1194
+ # `build_options`. In this case, a VM with a disk size specified in the
1195
+ # `build_options` will be created on demand at build time. For more
1196
+ # information see
1197
+ # https://cloud.google.com/cloud-build/docs/api/reference/rest/v1/projects.builds#buildoptions
1198
+ # @!attribute [rw] network
1199
+ # @return [::Google::Cloud::Build::V1::Network]
1200
+ # The network definition used to create the worker.
1201
+ # If this section is left empty, the workers will be created in
1202
+ # WorkerPool.project_id on the default network.
1203
+ # @!attribute [rw] tag
1204
+ # @return [::String]
1205
+ # The tag applied to the worker, and the same tag used by the firewall rule.
1206
+ # It is used to identify the Cloud Build workers among other VMs.
1207
+ # The default value for tag is `worker`.
1208
+ class WorkerConfig
1209
+ include ::Google::Protobuf::MessageExts
1210
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1211
+ end
1212
+
1213
+ # Network describes the GCP network used to create workers in.
1214
+ # @!attribute [rw] project_id
1215
+ # @return [::String]
1216
+ # Project id containing the defined network and subnetwork. For a peered VPC,
1217
+ # this will be the same as the project_id in which the workers are created.
1218
+ # For a shared VPC, this will be the project sharing the network with the
1219
+ # project_id project in which workers will be created. For custom workers
1220
+ # with no VPC, this will be the same as project_id.
1221
+ # @!attribute [rw] network
1222
+ # @return [::String]
1223
+ # Network on which the workers are created.
1224
+ # "default" network is used if empty.
1225
+ # @!attribute [rw] subnetwork
1226
+ # @return [::String]
1227
+ # Subnetwork on which the workers are created.
1228
+ # "default" subnetwork is used if empty.
1229
+ class Network
1230
+ include ::Google::Protobuf::MessageExts
1231
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1232
+ end
1233
+
1234
+ # Request to create a new `WorkerPool`.
1235
+ # @!attribute [rw] parent
1236
+ # @return [::String]
1237
+ # ID of the parent project.
1238
+ # @!attribute [rw] worker_pool
1239
+ # @return [::Google::Cloud::Build::V1::WorkerPool]
1240
+ # `WorkerPool` resource to create.
1241
+ class CreateWorkerPoolRequest
1242
+ include ::Google::Protobuf::MessageExts
1243
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1244
+ end
1245
+
1246
+ # Request to get a `WorkerPool` with the specified name.
1247
+ # @!attribute [rw] name
1248
+ # @return [::String]
1249
+ # The field will contain name of the resource requested, for example:
1250
+ # "projects/project-1/workerPools/workerpool-name"
1251
+ class GetWorkerPoolRequest
1252
+ include ::Google::Protobuf::MessageExts
1253
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1254
+ end
1255
+
1256
+ # Request to delete a `WorkerPool`.
1257
+ # @!attribute [rw] name
1258
+ # @return [::String]
1259
+ # The field will contain name of the resource requested, for example:
1260
+ # "projects/project-1/workerPools/workerpool-name"
1261
+ class DeleteWorkerPoolRequest
1262
+ include ::Google::Protobuf::MessageExts
1263
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1264
+ end
1265
+
1266
+ # Request to update a `WorkerPool`.
1267
+ # @!attribute [rw] name
1268
+ # @return [::String]
1269
+ # The field will contain name of the resource requested, for example:
1270
+ # "projects/project-1/workerPools/workerpool-name"
1271
+ # @!attribute [rw] worker_pool
1272
+ # @return [::Google::Cloud::Build::V1::WorkerPool]
1273
+ # `WorkerPool` resource to update.
1274
+ class UpdateWorkerPoolRequest
1275
+ include ::Google::Protobuf::MessageExts
1276
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1277
+ end
1278
+
1279
+ # Request to list `WorkerPool`s.
1280
+ # @!attribute [rw] parent
1281
+ # @return [::String]
1282
+ # ID of the parent project.
1283
+ class ListWorkerPoolsRequest
1284
+ include ::Google::Protobuf::MessageExts
1285
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1286
+ end
1287
+
1288
+ # Response containing existing `WorkerPools`.
1289
+ # @!attribute [rw] worker_pools
1290
+ # @return [::Array<::Google::Cloud::Build::V1::WorkerPool>]
1291
+ # `WorkerPools` for the project.
1292
+ class ListWorkerPoolsResponse
1293
+ include ::Google::Protobuf::MessageExts
1294
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1295
+ end
1296
+ end
1297
+ end
1298
+ end
1299
+ end