@kubernetes-models/gke
Version:
978 lines • 124 kB
TypeScript
import { IObjectMeta } from "@kubernetes-models/apimachinery/apis/meta/v1/ObjectMeta";
import { Model, ModelData } from "@kubernetes-models/base";
export interface ICloudBuildTrigger {
/**
* apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources
*/
"apiVersion": "cloudbuild.cnrm.cloud.google.com/v1beta1";
/**
* kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
*/
"kind": "CloudBuildTrigger";
"metadata"?: IObjectMeta;
"spec"?: {
/**
* Configuration for manual approval to start a build invocation of this BuildTrigger.
* Builds created by this trigger will require approval before they execute.
* Any user with a Cloud Build Approver role for the project can approve a build.
*/
"approvalConfig"?: {
/**
* Whether or not approval is needed. If this is set on a build, it will become pending when run,
* and will need to be explicitly approved to start.
*/
"approvalRequired"?: boolean;
};
/**
* BitbucketServerTriggerConfig describes the configuration of a trigger that creates a build whenever a Bitbucket Server event is received.
*/
"bitbucketServerTriggerConfig"?: {
/**
* Only `external` field is supported to configure the reference.
*
* The full resource name of the bitbucket server config. Format:
* projects/{project}/locations/{location}/bitbucketServerConfigs/{id}.
*/
"bitbucketServerConfigResourceRef": {
/**
* Allowed value: The `name` field of a `CloudBuildBitbucketServerConfig` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
} & (Exclude<{
/**
* Allowed value: The `name` field of a `CloudBuildBitbucketServerConfig` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name": string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
}, {
/**
* Allowed value: The `name` field of a `CloudBuildBitbucketServerConfig` resource.
*/
"external": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
}> | Exclude<{
/**
* Allowed value: The `name` field of a `CloudBuildBitbucketServerConfig` resource.
*/
"external": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
}, {
/**
* Allowed value: The `name` field of a `CloudBuildBitbucketServerConfig` resource.
*/
"external": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
} & ({
/**
* Allowed value: The `name` field of a `CloudBuildBitbucketServerConfig` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name": string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
} | {
/**
* Allowed value: The `name` field of a `CloudBuildBitbucketServerConfig` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace": string;
})>);
/**
* Key of the project that the repo is in. For example: The key for https://mybitbucket.server/projects/TEST/repos/test-repo is "TEST".
*/
"projectKey": string;
/**
* Filter to match changes in pull requests.
*/
"pullRequest"?: {
/**
* Regex of branches to match.
* The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax.
*/
"branch": string;
/**
* Configure builds to run whether a repository owner or collaborator need to comment /gcbrun. Possible values: ["COMMENTS_DISABLED", "COMMENTS_ENABLED", "COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY"].
*/
"commentControl"?: string;
/**
* If true, branches that do NOT match the git_ref will trigger a build.
*/
"invertRegex"?: boolean;
};
/**
* Filter to match changes in refs like branches, tags.
*/
"push"?: {
/**
* Regex of branches to match. Specify only one of branch or tag.
*/
"branch"?: string;
/**
* When true, only trigger a build if the revision regex does NOT match the gitRef regex.
*/
"invertRegex"?: boolean;
/**
* Regex of tags to match. Specify only one of branch or tag.
*/
"tag"?: string;
};
/**
* Slug of the repository. A repository slug is a URL-friendly version of a repository name, automatically generated by Bitbucket for use in the URL.
* For example, if the repository name is 'test repo', in the URL it would become 'test-repo' as in https://mybitbucket.server/projects/TEST/repos/test-repo.
*/
"repoSlug": string;
};
/**
* Contents of the build template. Either a filename or build template must be provided.
*/
"build"?: {
/**
* Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
*/
"artifacts"?: {
/**
* A list of images to be pushed upon the successful completion of all build steps.
*
* The images will be pushed using the builder service account's credentials.
*
* The digests of the pushed images will be stored in the Build resource's results field.
*
* If any of the images fail to be pushed, the build is marked FAILURE.
*/
"images"?: Array<string>;
/**
* A list of objects to be uploaded to Cloud Storage upon successful completion of all build steps.
*
* Files in the workspace matching specified paths globs will be uploaded to the
* Cloud Storage location using the builder service account's credentials.
*
* The location and generation of the uploaded objects will be stored in the Build resource's results field.
*
* If any objects fail to be pushed, the build is marked FAILURE.
*/
"objects"?: {
/**
* Cloud Storage bucket and optional object path, in the form "gs://bucket/path/to/somewhere/".
*
* Files in the workspace matching any path pattern will be uploaded to Cloud Storage with
* this location as a prefix.
*/
"location"?: string;
/**
* Path globs used to match files in the build's workspace.
*/
"paths"?: Array<string>;
/**
* Output only. Stores timing information for pushing all artifact objects.
*/
"timing"?: Array<{
/**
* End of time span.
*
* A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to
* nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
*/
"endTime"?: string;
/**
* Start of time span.
*
* A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to
* nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
*/
"startTime"?: string;
}>;
};
};
/**
* Secrets and secret environment variables.
*/
"availableSecrets"?: {
/**
* Pairs a secret environment variable with a SecretVersion in Secret Manager.
*/
"secretManager": Array<{
/**
* Environment variable name to associate with the secret. Secret environment
* variables must be unique across all of a build's secrets, and must be used
* by at least one build step.
*/
"env": string;
"versionRef": {
/**
* Allowed value: The `name` field of a `SecretManagerSecretVersion` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
} & (Exclude<{
/**
* Allowed value: The `name` field of a `SecretManagerSecretVersion` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name": string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
}, {
/**
* Allowed value: The `name` field of a `SecretManagerSecretVersion` resource.
*/
"external": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
}> | Exclude<{
/**
* Allowed value: The `name` field of a `SecretManagerSecretVersion` resource.
*/
"external": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
}, {
/**
* Allowed value: The `name` field of a `SecretManagerSecretVersion` resource.
*/
"external": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
} & ({
/**
* Allowed value: The `name` field of a `SecretManagerSecretVersion` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name": string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
} | {
/**
* Allowed value: The `name` field of a `SecretManagerSecretVersion` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace": string;
})>);
}>;
};
/**
* A list of images to be pushed upon the successful completion of all build steps.
* The images are pushed using the builder service account's credentials.
* The digests of the pushed images will be stored in the Build resource's results field.
* If any of the images fail to be pushed, the build status is marked FAILURE.
*/
"images"?: Array<string>;
/**
* Google Cloud Storage bucket where logs should be written. Logs file
* names will be of the format ${logsBucket}/log-${build_id}.txt.
*/
"logsBucketRef"?: {
/**
* Allowed value: The `url` field of a `StorageBucket` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
} & (Exclude<{
/**
* Allowed value: The `url` field of a `StorageBucket` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name": string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
}, {
/**
* Allowed value: The `url` field of a `StorageBucket` resource.
*/
"external": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
}> | Exclude<{
/**
* Allowed value: The `url` field of a `StorageBucket` resource.
*/
"external": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
}, {
/**
* Allowed value: The `url` field of a `StorageBucket` resource.
*/
"external": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
} & ({
/**
* Allowed value: The `url` field of a `StorageBucket` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name": string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
} | {
/**
* Allowed value: The `url` field of a `StorageBucket` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace": string;
})>);
/**
* Special options for this build.
*/
"options"?: {
/**
* Requested disk size for the VM that runs the build. Note that this is NOT "disk free";
* some of the space will be used by the operating system and build utilities.
* Also note that this is the minimum disk size that will be allocated for the build --
* the build may run with a larger disk than requested. At present, the maximum disk size
* is 1000GB; builds that request more than the maximum are rejected with an error.
*/
"diskSizeGb"?: number;
/**
* Option to specify whether or not to apply bash style string operations to the substitutions.
*
* NOTE this is always enabled for triggered builds and cannot be overridden in the build configuration file.
*/
"dynamicSubstitutions"?: boolean;
/**
* A list of global environment variable definitions that will exist for all build steps
* in this build. If a variable is defined in both globally and in a build step,
* the variable will use the build step value.
*
* The elements are of the form "KEY=VALUE" for the environment variable "KEY" being given the value "VALUE".
*/
"env"?: Array<string>;
/**
* Option to define build log streaming behavior to Google Cloud Storage. Possible values: ["STREAM_DEFAULT", "STREAM_ON", "STREAM_OFF"].
*/
"logStreamingOption"?: string;
/**
* Option to specify the logging mode, which determines if and where build logs are stored. Possible values: ["LOGGING_UNSPECIFIED", "LEGACY", "GCS_ONLY", "STACKDRIVER_ONLY", "CLOUD_LOGGING_ONLY", "NONE"].
*/
"logging"?: string;
/**
* Compute Engine machine type on which to run the build.
*/
"machineType"?: string;
/**
* Requested verifiability options. Possible values: ["NOT_VERIFIED", "VERIFIED"].
*/
"requestedVerifyOption"?: string;
/**
* A list of global environment variables, which are encrypted using a Cloud Key Management
* Service crypto key. These values must be specified in the build's Secret. These variables
* will be available to all build steps in this build.
*/
"secretEnv"?: Array<string>;
/**
* Requested hash for SourceProvenance. Possible values: ["NONE", "SHA256", "MD5"].
*/
"sourceProvenanceHash"?: Array<string>;
/**
* Option to specify behavior when there is an error in the substitution checks.
*
* NOTE this is always set to ALLOW_LOOSE for triggered builds and cannot be overridden
* in the build configuration file. Possible values: ["MUST_MATCH", "ALLOW_LOOSE"].
*/
"substitutionOption"?: string;
/**
* Global list of volumes to mount for ALL build steps
*
* Each volume is created as an empty volume prior to starting the build process.
* Upon completion of the build, volumes and their contents are discarded. Global
* volume names and paths cannot conflict with the volumes defined a build step.
*
* Using a global volume in a build with only one step is not valid as it is indicative
* of a build request with an incorrect configuration.
*/
"volumes"?: Array<{
/**
* Name of the volume to mount.
*
* Volume names must be unique per build step and must be valid names for Docker volumes.
* Each named volume must be used by at least two build steps.
*/
"name"?: string;
/**
* Path at which to mount the volume.
*
* Paths must be absolute and cannot conflict with other volume paths on the same
* build step or with certain reserved volume paths.
*/
"path"?: string;
}>;
/**
* Option to specify a WorkerPool for the build. Format projects/{project}/workerPools/{workerPool}
*
* This field is experimental.
*/
"workerPool"?: string;
};
/**
* TTL in queue for this build. If provided and the build is enqueued longer than this value,
* the build will expire and the build status will be EXPIRED.
* The TTL starts ticking from createTime.
* A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
*/
"queueTtl"?: string;
/**
* Secrets to decrypt using Cloud Key Management Service.
*/
"secret"?: Array<{
/**
* KMS crypto key to use to decrypt these envs.
*/
"kmsKeyRef": {
/**
* Allowed value: The `selfLink` field of a `KMSCryptoKey` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
} & (Exclude<{
/**
* Allowed value: The `selfLink` field of a `KMSCryptoKey` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name": string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
}, {
/**
* Allowed value: The `selfLink` field of a `KMSCryptoKey` resource.
*/
"external": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
}> | Exclude<{
/**
* Allowed value: The `selfLink` field of a `KMSCryptoKey` resource.
*/
"external": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
}, {
/**
* Allowed value: The `selfLink` field of a `KMSCryptoKey` resource.
*/
"external": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
} & ({
/**
* Allowed value: The `selfLink` field of a `KMSCryptoKey` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name": string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
} | {
/**
* Allowed value: The `selfLink` field of a `KMSCryptoKey` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace": string;
})>);
/**
* Map of environment variable name to its encrypted value.
* Secret environment variables must be unique across all of a build's secrets,
* and must be used by at least one build step. Values can be at most 64 KB in size.
* There can be at most 100 secret values across all of a build's secrets.
*/
"secretEnv"?: {
[key: string]: string;
};
}>;
/**
* The location of the source files to build.
*
* One of 'storageSource' or 'repoSource' must be provided.
*/
"source"?: {
/**
* Location of the source in a Google Cloud Source Repository.
*/
"repoSource"?: {
/**
* Regex matching branches to build. Exactly one a of branch name, tag, or commit SHA must be provided.
* The syntax of the regular expressions accepted is the syntax accepted by RE2 and
* described at https://github.com/google/re2/wiki/Syntax.
*/
"branchName"?: string;
/**
* Explicit commit SHA to build. Exactly one a of branch name, tag, or commit SHA must be provided.
*/
"commitSha"?: string;
/**
* Directory, relative to the source root, in which to run the build.
* This must be a relative path. If a step's dir is specified and is an absolute path,
* this value is ignored for that step's execution.
*/
"dir"?: string;
/**
* Only trigger a build if the revision regex does NOT match the revision regex.
*/
"invertRegex"?: boolean;
/**
* ID of the project that owns the Cloud Source Repository.
* If omitted, the project ID requesting the build is assumed.
*/
"projectId"?: string;
/**
* The desired Cloud Source Repository. If omitted, "default" is
* assumed.
*/
"repoRef": {
/**
* Allowed value: The `name` field of a `SourceRepoRepository` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
} & (Exclude<{
/**
* Allowed value: The `name` field of a `SourceRepoRepository` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name": string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
}, {
/**
* Allowed value: The `name` field of a `SourceRepoRepository` resource.
*/
"external": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
}> | Exclude<{
/**
* Allowed value: The `name` field of a `SourceRepoRepository` resource.
*/
"external": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
}, {
/**
* Allowed value: The `name` field of a `SourceRepoRepository` resource.
*/
"external": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
} & ({
/**
* Allowed value: The `name` field of a `SourceRepoRepository` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name": string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
} | {
/**
* Allowed value: The `name` field of a `SourceRepoRepository` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace": string;
})>);
/**
* Substitutions to use in a triggered build. Should only be used with triggers.run.
*/
"substitutions"?: {
[key: string]: string;
};
/**
* Regex matching tags to build. Exactly one a of branch name, tag, or commit SHA must be provided.
* The syntax of the regular expressions accepted is the syntax accepted by RE2 and
* described at https://github.com/google/re2/wiki/Syntax.
*/
"tagName"?: string;
};
/**
* Location of the source in an archive file in Google Cloud Storage.
*/
"storageSource"?: {
/**
* Google Cloud Storage bucket containing the source.
*/
"bucketRef": {
/**
* Allowed value: The `name` field of a `StorageBucket` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
} & (Exclude<{
/**
* Allowed value: The `name` field of a `StorageBucket` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name": string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
}, {
/**
* Allowed value: The `name` field of a `StorageBucket` resource.
*/
"external": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
}> | Exclude<{
/**
* Allowed value: The `name` field of a `StorageBucket` resource.
*/
"external": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
}, {
/**
* Allowed value: The `name` field of a `StorageBucket` resource.
*/
"external": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
} & ({
/**
* Allowed value: The `name` field of a `StorageBucket` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name": string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace"?: string;
} | {
/**
* Allowed value: The `name` field of a `StorageBucket` resource.
*/
"external"?: string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
*/
"name"?: string;
/**
* Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
*/
"namespace": string;
})>);
/**
* Google Cloud Storage generation for the object.
* If the generation is omitted, the latest generation will be used.
*/
"generation"?: string;
/**
* Google Cloud Storage object containing the source.
* This object must be a gzipped archive file (.tar.gz) containing source to build.
*/
"object": string;
};
};
/**
* The operations to be performed on the workspace.
*/
"step": Array<{
/**
* Allow this build step to fail without failing the entire build if and
* only if the exit code is one of the specified codes.
*
* If 'allowFailure' is also specified, this field will take precedence.
*/
"allowExitCodes"?: Array<number>;
/**
* Allow this build step to fail without failing the entire build.
* If false, the entire build will fail if this step fails. Otherwise, the
* build will succeed, but this step will still have a failure status.
* Error information will be reported in the 'failureDetail' field.
*
* 'allowExitCodes' takes precedence over this field.
*/
"allowFailure"?: boolean;
/**
* A list of arguments that will be presented to the step when it is started.
*
* If the image used to run the step's container has an entrypoint, the args
* are used as arguments to that entrypoint. If the image does not define an
* entrypoint, the first element in args is used as the entrypoint, and the
* remainder will be used as arguments.
*/
"args"?: Array<string>;
/**
* Working directory to use when running this step's container.
*
* If this value is a relative path, it is relative to the build's working
* directory. If this value is absolute, it may be outside the build's working
* directory, in which case the contents of the path may not be persisted
* across build step executions, unless a 'volume' for that path is specified.
*
* If the build specifies a 'RepoSource' with 'dir' and a step with a
* 'dir',
* which specifies an absolute path, the 'RepoSource' 'dir' is ignored
* for the step's execution.
*/
"dir"?: string;
/**
* Entrypoint to be used instead of the build step image's
* default entrypoint.
* If unset, the image's default entrypoint is used.
*/
"entrypoint"?: string;
/**
* A list of environment variable definitions to be used when
* running a step.
*
* The elements are of the form "KEY=VALUE" for the environment variable
* "KEY" being given the value "VALUE".
*/
"env"?: Array<string>;
/**
* Unique identifier for this build step, used in 'wait_for' to
* reference this build step as a dependency.
*/
"id"?: string;
/**
* The name of the container image that will run this particular build step.
*
* If the image is available in the host's Docker daemon's cache, it will be
* run directly. If not, the host will attempt to pull the image first, using
* the builder service account's credentials if necessary.
*
* The Docker daemon's cache will already have the latest versions of all of
* the officially supported build steps (see https://github.com/GoogleCloudPlatform/cloud-bui