Files
kubernetes.core/library/k8s_v1_build.py
Chris Houseknecht f928690369 Initial commit
2017-03-22 18:08:20 -04:00

2121 lines
92 KiB
Python

#!/usr/bin/env python
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
DOCUMENTATION = '''
module: k8s_v1_build
short_description: Kubernetes Build
description:
- Manage the lifecycle of a build object. Supports check mode, and attempts to to
be idempotent.
version_added: 2.3.0
author: OpenShift (@openshift)
options:
annotations:
description:
- Annotations is an unstructured key value map stored with a resource that may
be set by external tools to store and retrieve arbitrary metadata. They are
not queryable and should be preserved when modifying objects.
type: dict
api_key:
description:
- Token used to connect to the API.
cert_file:
description:
- Path to a certificate used to authenticate with the API.
type: path
context:
description:
- The name of a context found in the Kubernetes config file.
debug:
description:
- Enable debug output from the OpenShift helper. Logging info is written to KubeObjHelper.log
default: false
type: bool
host:
description:
- Provide a URL for acessing the Kubernetes API.
key_file:
description:
- Path to a key file used to authenticate with the API.
type: path
kubeconfig:
description:
- Path to an existing Kubernetes config file. If not provided, and no other connection
options are provided, the openshift client will attempt to load the default
configuration file from I(~/.kube/config.json).
type: path
labels:
description:
- Map of string keys and values that can be used to organize and categorize (scope
and select) objects. May match selectors of replication controllers and services.
type: dict
name:
description:
- Name must be unique within a namespace. Is required when creating resources,
although some resources may allow a client to request the generation of an appropriate
name automatically. Name is primarily intended for creation idempotence and
configuration definition. Cannot be updated.
required: true
namespace:
description:
- Namespace defines the space within each name must be unique. An empty namespace
is equivalent to the "default" namespace, but "default" is the canonical representation.
Not all objects are required to be scoped to a namespace - the value of this
field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated.
password:
description:
- Provide a password for connecting to the API. Use in conjunction with I(username).
spec_completion_deadline_seconds:
description:
- completionDeadlineSeconds is an optional duration in seconds, counted from the
time when a build pod gets scheduled in the system, that the build may be active
on a node before the system actively tries to terminate the build; value must
be positive integer
aliases:
- completion_deadline_seconds
type: int
spec_node_selector:
description:
- nodeSelector is a selector which must be true for the build pod to fit on a
node If nil, it can be overridden by default build nodeselector values for the
cluster. If set to an empty map or a map with any values, default build nodeselector
values are ignored.
aliases:
- node_selector
type: dict
spec_output_image_labels:
description:
- imageLabels define a list of labels that are applied to the resulting image.
If there are multiple labels with the same name then the last one in the list
is used.
aliases:
- output_image_labels
type: list
spec_output_push_secret_name:
description:
- Name of the referent.
aliases:
- output_push_secret_name
spec_output_to_api_version:
description:
- API version of the referent.
aliases:
- output_to_api_version
spec_output_to_field_path:
description:
- 'If referring to a piece of an object instead of an entire object, this string
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within a pod, this would
take on a value like: "spec.containers{name}" (where "name" refers to the name
of the container that triggered the event) or if no container name is specified
"spec.containers[2]" (container with index 2 in this pod). This syntax is chosen
only to have some well-defined way of referencing a part of an object.'
aliases:
- output_to_field_path
spec_output_to_kind:
description:
- Kind of the referent.
aliases:
- output_to_kind
spec_output_to_name:
description:
- Name of the referent.
aliases:
- output_to_name
spec_output_to_namespace:
description:
- Namespace of the referent.
aliases:
- output_to_namespace
spec_output_to_resource_version:
description:
- Specific resourceVersion to which this reference is made, if any.
aliases:
- output_to_resource_version
spec_output_to_uid:
description:
- UID of the referent.
aliases:
- output_to_uid
spec_post_commit_args:
description:
- args is a list of arguments that are provided to either Command, Script or the
Docker image's default entrypoint. The arguments are placed immediately after
the command to be run.
aliases:
- post_commit_args
type: list
spec_post_commit_command:
description:
- command is the command to run. It may not be specified with Script. This might
be needed if the image doesn't have `/bin/sh`, or if you do not want to use
a shell. In all other cases, using Script might be more convenient.
aliases:
- post_commit_command
type: list
spec_post_commit_script:
description:
- script is a shell script to be run with `/bin/sh -ic`. It may not be specified
with Command. Use Script when a shell script is appropriate to execute the post
build hook, for example for running unit tests with `rake test`. If you need
control over the image entrypoint, or if the image does not have `/bin/sh`,
use Command and/or Args. The `-i` flag is needed to support CentOS and RHEL
images that use Software Collections (SCL), in order to have the appropriate
collections enabled in the shell. E.g., in the Ruby image, this is necessary
to make `ruby`, `bundle` and other binaries available in the PATH.
aliases:
- post_commit_script
spec_resources_limits:
description:
- Limits describes the maximum amount of compute resources allowed.
aliases:
- resources_limits
type: dict
spec_resources_requests:
description:
- Requests describes the minimum amount of compute resources required. If Requests
is omitted for a container, it defaults to Limits if that is explicitly specified,
otherwise to an implementation-defined value.
aliases:
- resources_requests
type: dict
spec_revision_git_author_email:
description:
- email of the source control user
aliases:
- revision_git_author_email
spec_revision_git_author_name:
description:
- name of the source control user
aliases:
- revision_git_author_name
spec_revision_git_commit:
description:
- commit is the commit hash identifying a specific commit
aliases:
- revision_git_commit
spec_revision_git_committer_email:
description:
- email of the source control user
aliases:
- revision_git_committer_email
spec_revision_git_committer_name:
description:
- name of the source control user
aliases:
- revision_git_committer_name
spec_revision_git_message:
description:
- message is the description of a specific commit
aliases:
- revision_git_message
spec_revision_type:
description:
- type of the build source, may be one of 'Source', 'Dockerfile', 'Binary', or
'Images'
aliases:
- revision_type
spec_service_account:
description:
- serviceAccount is the name of the ServiceAccount to use to run the pod created
by this build. The pod will be allowed to use secrets referenced by the ServiceAccount
aliases:
- service_account
spec_source_binary_as_file:
description:
- asFile indicates that the provided binary input should be considered a single
file within the build input. For example, specifying "webapp.war" would place
the provided binary as `/webapp.war` for the builder. If left empty, the Docker
and Source build strategies assume this file is a zip, tar, or tar.gz file and
extract it as the source. The custom strategy receives this binary as standard
input. This filename may not contain slashes or be '..' or '.'.
aliases:
- source_binary_as_file
spec_source_context_dir:
description:
- contextDir specifies the sub-directory where the source code for the application
exists. This allows to have buildable sources in directory other than root of
repository.
aliases:
- source_context_dir
spec_source_dockerfile:
description:
- dockerfile is the raw contents of a Dockerfile which should be built. When this
option is specified, the FROM may be modified based on your strategy base image
and additional ENV stanzas from your strategy environment will be added after
the FROM, but before the rest of your Dockerfile stanzas. The Dockerfile source
type may be used with other options like git - in those cases the Git repo will
have any innate Dockerfile replaced in the context dir.
aliases:
- source_dockerfile
spec_source_git_http_proxy:
description:
- httpProxy is a proxy used to reach the git repository over http
aliases:
- source_git_http_proxy
spec_source_git_https_proxy:
description:
- httpsProxy is a proxy used to reach the git repository over https
aliases:
- source_git_https_proxy
spec_source_git_no_proxy:
description:
- noProxy is the list of domains for which the proxy should not be used
aliases:
- source_git_no_proxy
spec_source_git_ref:
description:
- ref is the branch/tag/ref to build.
aliases:
- source_git_ref
spec_source_git_uri:
description:
- uri points to the source that will be built. The structure of the source will
depend on the type of build to run
aliases:
- source_git_uri
spec_source_images:
description:
- images describes a set of images to be used to provide source for the build
aliases:
- source_images
type: list
spec_source_secrets:
description:
- secrets represents a list of secrets and their destinations that will be used
only for the build.
aliases:
- source_secrets
type: list
spec_source_source_secret_name:
description:
- Name of the referent.
aliases:
- source_secret_name
spec_source_type:
description:
- type of build input to accept
aliases:
- source_type
spec_strategy_custom_strategy__from_api_version:
description:
- API version of the referent.
aliases:
- strategy_custom_strategy__from_api_version
spec_strategy_custom_strategy__from_field_path:
description:
- 'If referring to a piece of an object instead of an entire object, this string
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within a pod, this would
take on a value like: "spec.containers{name}" (where "name" refers to the name
of the container that triggered the event) or if no container name is specified
"spec.containers[2]" (container with index 2 in this pod). This syntax is chosen
only to have some well-defined way of referencing a part of an object.'
aliases:
- strategy_custom_strategy__from_field_path
spec_strategy_custom_strategy__from_kind:
description:
- Kind of the referent.
aliases:
- strategy_custom_strategy__from_kind
spec_strategy_custom_strategy__from_name:
description:
- Name of the referent.
aliases:
- strategy_custom_strategy__from_name
spec_strategy_custom_strategy__from_namespace:
description:
- Namespace of the referent.
aliases:
- strategy_custom_strategy__from_namespace
spec_strategy_custom_strategy__from_resource_version:
description:
- Specific resourceVersion to which this reference is made, if any.
aliases:
- strategy_custom_strategy__from_resource_version
spec_strategy_custom_strategy__from_uid:
description:
- UID of the referent.
aliases:
- strategy_custom_strategy__from_uid
spec_strategy_custom_strategy_build_api_version:
description:
- buildAPIVersion is the requested API version for the Build object serialized
and passed to the custom builder
aliases:
- strategy_custom_strategy_build_api_version
spec_strategy_custom_strategy_env:
description:
- env contains additional environment variables you want to pass into a builder
container
aliases:
- strategy_custom_strategy_env
type: list
spec_strategy_custom_strategy_expose_docker_socket:
description:
- exposeDockerSocket will allow running Docker commands (and build Docker images)
from inside the Docker container.
aliases:
- strategy_custom_strategy_expose_docker_socket
type: bool
spec_strategy_custom_strategy_force_pull:
description:
- forcePull describes if the controller should configure the build pod to always
pull the images for the builder or only pull if it is not present locally
aliases:
- strategy_custom_strategy_force_pull
type: bool
spec_strategy_custom_strategy_pull_secret_name:
description:
- Name of the referent.
aliases:
- strategy_custom_strategy_pull_secret_name
spec_strategy_custom_strategy_secrets:
description:
- secrets is a list of additional secrets that will be included in the build pod
aliases:
- strategy_custom_strategy_secrets
type: list
spec_strategy_docker_strategy__from_api_version:
description:
- API version of the referent.
aliases:
- strategy_docker_strategy__from_api_version
spec_strategy_docker_strategy__from_field_path:
description:
- 'If referring to a piece of an object instead of an entire object, this string
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within a pod, this would
take on a value like: "spec.containers{name}" (where "name" refers to the name
of the container that triggered the event) or if no container name is specified
"spec.containers[2]" (container with index 2 in this pod). This syntax is chosen
only to have some well-defined way of referencing a part of an object.'
aliases:
- strategy_docker_strategy__from_field_path
spec_strategy_docker_strategy__from_kind:
description:
- Kind of the referent.
aliases:
- strategy_docker_strategy__from_kind
spec_strategy_docker_strategy__from_name:
description:
- Name of the referent.
aliases:
- strategy_docker_strategy__from_name
spec_strategy_docker_strategy__from_namespace:
description:
- Namespace of the referent.
aliases:
- strategy_docker_strategy__from_namespace
spec_strategy_docker_strategy__from_resource_version:
description:
- Specific resourceVersion to which this reference is made, if any.
aliases:
- strategy_docker_strategy__from_resource_version
spec_strategy_docker_strategy__from_uid:
description:
- UID of the referent.
aliases:
- strategy_docker_strategy__from_uid
spec_strategy_docker_strategy_dockerfile_path:
description:
- dockerfilePath is the path of the Dockerfile that will be used to build the
Docker image, relative to the root of the context (contextDir).
aliases:
- strategy_docker_strategy_dockerfile_path
spec_strategy_docker_strategy_env:
description:
- env contains additional environment variables you want to pass into a builder
container
aliases:
- strategy_docker_strategy_env
type: list
spec_strategy_docker_strategy_force_pull:
description:
- forcePull describes if the builder should pull the images from registry prior
to building.
aliases:
- strategy_docker_strategy_force_pull
type: bool
spec_strategy_docker_strategy_no_cache:
description:
- noCache if set to true indicates that the docker build must be executed with
the --no-cache=true flag
aliases:
- strategy_docker_strategy_no_cache
type: bool
spec_strategy_docker_strategy_pull_secret_name:
description:
- Name of the referent.
aliases:
- strategy_docker_strategy_pull_secret_name
spec_strategy_jenkins_pipeline_strategy_jenkinsfile:
description:
- Jenkinsfile defines the optional raw contents of a Jenkinsfile which defines
a Jenkins pipeline build.
aliases:
- strategy_jenkins_pipeline_strategy_jenkinsfile
spec_strategy_jenkins_pipeline_strategy_jenkinsfile_path:
description:
- JenkinsfilePath is the optional path of the Jenkinsfile that will be used to
configure the pipeline relative to the root of the context (contextDir). If
both JenkinsfilePath & Jenkinsfile are both not specified, this defaults to
Jenkinsfile in the root of the specified contextDir.
aliases:
- strategy_jenkins_pipeline_strategy_jenkinsfile_path
spec_strategy_source_strategy__from_api_version:
description:
- API version of the referent.
aliases:
- strategy_source_strategy__from_api_version
spec_strategy_source_strategy__from_field_path:
description:
- 'If referring to a piece of an object instead of an entire object, this string
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within a pod, this would
take on a value like: "spec.containers{name}" (where "name" refers to the name
of the container that triggered the event) or if no container name is specified
"spec.containers[2]" (container with index 2 in this pod). This syntax is chosen
only to have some well-defined way of referencing a part of an object.'
aliases:
- strategy_source_strategy__from_field_path
spec_strategy_source_strategy__from_kind:
description:
- Kind of the referent.
aliases:
- strategy_source_strategy__from_kind
spec_strategy_source_strategy__from_name:
description:
- Name of the referent.
aliases:
- strategy_source_strategy__from_name
spec_strategy_source_strategy__from_namespace:
description:
- Namespace of the referent.
aliases:
- strategy_source_strategy__from_namespace
spec_strategy_source_strategy__from_resource_version:
description:
- Specific resourceVersion to which this reference is made, if any.
aliases:
- strategy_source_strategy__from_resource_version
spec_strategy_source_strategy__from_uid:
description:
- UID of the referent.
aliases:
- strategy_source_strategy__from_uid
spec_strategy_source_strategy_env:
description:
- env contains additional environment variables you want to pass into a builder
container
aliases:
- strategy_source_strategy_env
type: list
spec_strategy_source_strategy_force_pull:
description:
- forcePull describes if the builder should pull the images from registry prior
to building.
aliases:
- strategy_source_strategy_force_pull
type: bool
spec_strategy_source_strategy_incremental:
description:
- incremental flag forces the Source build to do incremental builds if true.
aliases:
- strategy_source_strategy_incremental
type: bool
spec_strategy_source_strategy_pull_secret_name:
description:
- Name of the referent.
aliases:
- strategy_source_strategy_pull_secret_name
spec_strategy_source_strategy_runtime_artifacts:
description:
- runtimeArtifacts specifies a list of source/destination pairs that will be copied
from the builder to the runtime image. sourcePath can be a file or directory.
destinationDir must be a directory. destinationDir can also be empty or equal
to ".", in this case it just refers to the root of WORKDIR. This field and the
feature it enables are in tech preview.
aliases:
- strategy_source_strategy_runtime_artifacts
type: list
spec_strategy_source_strategy_runtime_image_api_version:
description:
- API version of the referent.
aliases:
- strategy_source_strategy_runtime_image_api_version
spec_strategy_source_strategy_runtime_image_field_path:
description:
- 'If referring to a piece of an object instead of an entire object, this string
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within a pod, this would
take on a value like: "spec.containers{name}" (where "name" refers to the name
of the container that triggered the event) or if no container name is specified
"spec.containers[2]" (container with index 2 in this pod). This syntax is chosen
only to have some well-defined way of referencing a part of an object.'
aliases:
- strategy_source_strategy_runtime_image_field_path
spec_strategy_source_strategy_runtime_image_kind:
description:
- Kind of the referent.
aliases:
- strategy_source_strategy_runtime_image_kind
spec_strategy_source_strategy_runtime_image_name:
description:
- Name of the referent.
aliases:
- strategy_source_strategy_runtime_image_name
spec_strategy_source_strategy_runtime_image_namespace:
description:
- Namespace of the referent.
aliases:
- strategy_source_strategy_runtime_image_namespace
spec_strategy_source_strategy_runtime_image_resource_version:
description:
- Specific resourceVersion to which this reference is made, if any.
aliases:
- strategy_source_strategy_runtime_image_resource_version
spec_strategy_source_strategy_runtime_image_uid:
description:
- UID of the referent.
aliases:
- strategy_source_strategy_runtime_image_uid
spec_strategy_source_strategy_scripts:
description:
- scripts is the location of Source scripts
aliases:
- strategy_source_strategy_scripts
spec_strategy_type:
description:
- type is the kind of build strategy.
aliases:
- strategy_type
spec_triggered_by:
description:
- triggeredBy describes which triggers started the most recent update to the build
configuration and contains information about those triggers.
aliases:
- triggered_by
type: list
ssl_ca_cert:
description:
- Path to a CA certificate used to authenticate with the API.
type: path
state:
description:
- Determines if the object should be created, patched, deleted or replaced. When
set to C(present), the object will be created, if it does not exist, or patched,
if requested parameters differ from existing object attributes. If set to C(absent),
an existing object will be deleted, and if set to C(replaced), an existing object
will be completely replaced with a new object created from the supplied parameters.
default: present
choices:
- present
- absent
- replaced
username:
description:
- Provide a username for connecting to the API.
verify_ssl:
description:
- Whether or not to verify the API server's SSL certificates.
type: bool
requirements:
- openshift == 1.0.0-snapshot
'''
EXAMPLES = '''
'''
RETURN = '''
api_version:
type: string
description: Requested API version
build:
type: complex
returned: when I(state) = C(present)
contains:
api_version:
description:
- 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.
type: str
kind:
description:
- 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.
type: str
metadata:
description:
- Standard object's metadata.
type: complex
contains:
annotations:
description:
- Annotations is an unstructured key value map stored with a resource that
may be set by external tools to store and retrieve arbitrary metadata.
They are not queryable and should be preserved when modifying objects.
type: complex
contains: str, str
cluster_name:
description:
- The name of the cluster which the object belongs to. This is used to distinguish
resources with same name and namespace in different clusters. This field
is not set anywhere right now and apiserver is going to ignore it if set
in create or update request.
type: str
creation_timestamp:
description:
- CreationTimestamp is a timestamp representing the server time when this
object was created. It is not guaranteed to be set in happens-before order
across separate operations. Clients may not set this value. It is represented
in RFC3339 form and is in UTC. Populated by the system. Read-only. Null
for lists.
type: complex
contains: {}
deletion_grace_period_seconds:
description:
- Number of seconds allowed for this object to gracefully terminate before
it will be removed from the system. Only set when deletionTimestamp is
also set. May only be shortened. Read-only.
type: int
deletion_timestamp:
description:
- DeletionTimestamp is RFC 3339 date and time at which this resource will
be deleted. This field is set by the server when a graceful deletion is
requested by the user, and is not directly settable by a client. The resource
is expected to be deleted (no longer visible from resource lists, and
not reachable by name) after the time in this field. Once set, this value
may not be unset or be set further into the future, although it may be
shortened or the resource may be deleted prior to this time. For example,
a user may request that a pod is deleted in 30 seconds. The Kubelet will
react by sending a graceful termination signal to the containers in the
pod. After that 30 seconds, the Kubelet will send a hard termination signal
(SIGKILL) to the container and after cleanup, remove the pod from the
API. In the presence of network partitions, this object may still exist
after this timestamp, until an administrator or automated process can
determine the resource is fully terminated. If not set, graceful deletion
of the object has not been requested. Populated by the system when a graceful
deletion is requested. Read-only.
type: complex
contains: {}
finalizers:
description:
- Must be empty before the object is deleted from the registry. Each entry
is an identifier for the responsible component that will remove the entry
from the list. If the deletionTimestamp of the object is non-nil, entries
in this list can only be removed.
type: list
contains: str
generate_name:
description:
- GenerateName is an optional prefix, used by the server, to generate a
unique name ONLY IF the Name field has not been provided. If this field
is used, the name returned to the client will be different than the name
passed. This value will also be combined with a unique suffix. The provided
value has the same validation rules as the Name field, and may be truncated
by the length of the suffix required to make the value unique on the server.
If this field is specified and the generated name exists, the server will
NOT return a 409 - instead, it will either return 201 Created or 500 with
Reason ServerTimeout indicating a unique name could not be found in the
time allotted, and the client should retry (optionally after the time
indicated in the Retry-After header). Applied only if Name is not specified.
type: str
generation:
description:
- A sequence number representing a specific generation of the desired state.
Populated by the system. Read-only.
type: int
labels:
description:
- Map of string keys and values that can be used to organize and categorize
(scope and select) objects. May match selectors of replication controllers
and services.
type: complex
contains: str, str
name:
description:
- Name must be unique within a namespace. Is required when creating resources,
although some resources may allow a client to request the generation of
an appropriate name automatically. Name is primarily intended for creation
idempotence and configuration definition. Cannot be updated.
type: str
namespace:
description:
- Namespace defines the space within each name must be unique. An empty
namespace is equivalent to the "default" namespace, but "default" is the
canonical representation. Not all objects are required to be scoped to
a namespace - the value of this field for those objects will be empty.
Must be a DNS_LABEL. Cannot be updated.
type: str
owner_references:
description:
- List of objects depended by this object. If ALL objects in the list have
been deleted, this object will be garbage collected. If this object is
managed by a controller, then an entry in this list will point to this
controller, with the controller field set to true. There cannot be more
than one managing controller.
type: list
contains:
api_version:
description:
- API version of the referent.
type: str
controller:
description:
- If true, this reference points to the managing controller.
type: bool
kind:
description:
- Kind of the referent.
type: str
name:
description:
- Name of the referent.
type: str
uid:
description:
- UID of the referent.
type: str
resource_version:
description:
- An opaque value that represents the internal version of this object that
can be used by clients to determine when objects have changed. May be
used for optimistic concurrency, change detection, and the watch operation
on a resource or set of resources. Clients must treat these values as
opaque and passed unmodified back to the server. They may only be valid
for a particular resource or set of resources. Populated by the system.
Read-only. Value must be treated as opaque by clients and .
type: str
self_link:
description:
- SelfLink is a URL representing this object. Populated by the system. Read-only.
type: str
uid:
description:
- UID is the unique in time and space value for this object. It is typically
generated by the server on successful creation of a resource and is not
allowed to change on PUT operations. Populated by the system. Read-only.
type: str
spec:
description:
- spec is all the inputs used to execute the build.
type: complex
contains:
completion_deadline_seconds:
description:
- completionDeadlineSeconds is an optional duration in seconds, counted
from the time when a build pod gets scheduled in the system, that the
build may be active on a node before the system actively tries to terminate
the build; value must be positive integer
type: int
node_selector:
description:
- nodeSelector is a selector which must be true for the build pod to fit
on a node If nil, it can be overridden by default build nodeselector values
for the cluster. If set to an empty map or a map with any values, default
build nodeselector values are ignored.
type: complex
contains: str, str
output:
description:
- output describes the Docker image the Strategy should produce.
type: complex
contains:
image_labels:
description:
- imageLabels define a list of labels that are applied to the resulting
image. If there are multiple labels with the same name then the last
one in the list is used.
type: list
contains:
name:
description:
- name defines the name of the label. It must have non-zero length.
type: str
value:
description:
- value defines the literal value of the label.
type: str
push_secret:
description:
- PushSecret is the name of a Secret that would be used for setting
up the authentication for executing the Docker push to authentication
enabled Docker Registry (or Docker Hub).
type: complex
contains:
name:
description:
- Name of the referent.
type: str
to:
description:
- to defines an optional location to push the output of this build to.
Kind must be one of 'ImageStreamTag' or 'DockerImage'. This value
will be used to look up a Docker image repository to push to. In the
case of an ImageStreamTag, the ImageStreamTag will be looked for in
the namespace of the build unless Namespace is specified.
type: complex
contains:
api_version:
description:
- API version of the referent.
type: str
field_path:
description:
- 'If referring to a piece of an object instead of an entire object,
this string should contain a valid JSON/Go field access statement,
such as desiredState.manifest.containers[2]. For example, if the
object reference is to a container within a pod, this would take
on a value like: "spec.containers{name}" (where "name" refers
to the name of the container that triggered the event) or if no
container name is specified "spec.containers[2]" (container with
index 2 in this pod). This syntax is chosen only to have some
well-defined way of referencing a part of an object.'
type: str
kind:
description:
- Kind of the referent.
type: str
name:
description:
- Name of the referent.
type: str
namespace:
description:
- Namespace of the referent.
type: str
resource_version:
description:
- Specific resourceVersion to which this reference is made, if any.
type: str
uid:
description:
- UID of the referent.
type: str
post_commit:
description:
- postCommit is a build hook executed after the build output image is committed,
before it is pushed to a registry.
type: complex
contains:
args:
description:
- args is a list of arguments that are provided to either Command, Script
or the Docker image's default entrypoint. The arguments are placed
immediately after the command to be run.
type: list
contains: str
command:
description:
- command is the command to run. It may not be specified with Script.
This might be needed if the image doesn't have `/bin/sh`, or if you
do not want to use a shell. In all other cases, using Script might
be more convenient.
type: list
contains: str
script:
description:
- script is a shell script to be run with `/bin/sh -ic`. It may not
be specified with Command. Use Script when a shell script is appropriate
to execute the post build hook, for example for running unit tests
with `rake test`. If you need control over the image entrypoint, or
if the image does not have `/bin/sh`, use Command and/or Args. The
`-i` flag is needed to support CentOS and RHEL images that use Software
Collections (SCL), in order to have the appropriate collections enabled
in the shell. E.g., in the Ruby image, this is necessary to make `ruby`,
`bundle` and other binaries available in the PATH.
type: str
resources:
description:
- resources computes resource requirements to execute the build.
type: complex
contains:
limits:
description:
- Limits describes the maximum amount of compute resources allowed.
type: complex
contains: str, ResourceQuantity
requests:
description:
- Requests describes the minimum amount of compute resources required.
If Requests is omitted for a container, it defaults to Limits if that
is explicitly specified, otherwise to an implementation-defined value.
type: complex
contains: str, ResourceQuantity
revision:
description:
- revision is the information from the source for a specific repo snapshot.
This is optional.
type: complex
contains:
git:
description:
- Git contains information about git-based build source
type: complex
contains:
author:
description:
- author is the author of a specific commit
type: complex
contains:
email:
description:
- email of the source control user
type: str
name:
description:
- name of the source control user
type: str
commit:
description:
- commit is the commit hash identifying a specific commit
type: str
committer:
description:
- committer is the committer of a specific commit
type: complex
contains:
email:
description:
- email of the source control user
type: str
name:
description:
- name of the source control user
type: str
message:
description:
- message is the description of a specific commit
type: str
type:
description:
- type of the build source, may be one of 'Source', 'Dockerfile', 'Binary',
or 'Images'
type: str
service_account:
description:
- serviceAccount is the name of the ServiceAccount to use to run the pod
created by this build. The pod will be allowed to use secrets referenced
by the ServiceAccount
type: str
source:
description:
- source describes the SCM in use.
type: complex
contains:
binary:
description:
- binary builds accept a binary as their input. The binary is generally
assumed to be a tar, gzipped tar, or zip file depending on the strategy.
For Docker builds, this is the build context and an optional Dockerfile
may be specified to override any Dockerfile in the build context.
For Source builds, this is assumed to be an archive as described above.
For Source and Docker builds, if binary.asFile is set the build will
receive a directory with a single file. contextDir may be used when
an archive is provided. Custom builds will receive this binary as
input on STDIN.
type: complex
contains:
as_file:
description:
- asFile indicates that the provided binary input should be considered
a single file within the build input. For example, specifying
"webapp.war" would place the provided binary as `/webapp.war`
for the builder. If left empty, the Docker and Source build strategies
assume this file is a zip, tar, or tar.gz file and extract it
as the source. The custom strategy receives this binary as standard
input. This filename may not contain slashes or be '..' or '.'.
type: str
context_dir:
description:
- contextDir specifies the sub-directory where the source code for the
application exists. This allows to have buildable sources in directory
other than root of repository.
type: str
dockerfile:
description:
- dockerfile is the raw contents of a Dockerfile which should be built.
When this option is specified, the FROM may be modified based on your
strategy base image and additional ENV stanzas from your strategy
environment will be added after the FROM, but before the rest of your
Dockerfile stanzas. The Dockerfile source type may be used with other
options like git - in those cases the Git repo will have any innate
Dockerfile replaced in the context dir.
type: str
git:
description:
- git contains optional information about git build source
type: complex
contains:
http_proxy:
description:
- httpProxy is a proxy used to reach the git repository over http
type: str
https_proxy:
description:
- httpsProxy is a proxy used to reach the git repository over https
type: str
no_proxy:
description:
- noProxy is the list of domains for which the proxy should not
be used
type: str
ref:
description:
- ref is the branch/tag/ref to build.
type: str
uri:
description:
- uri points to the source that will be built. The structure of
the source will depend on the type of build to run
type: str
images:
description:
- images describes a set of images to be used to provide source for
the build
type: list
contains:
_from:
description:
- from is a reference to an ImageStreamTag, ImageStreamImage, or
DockerImage to copy source from.
type: complex
contains:
api_version:
description:
- API version of the referent.
type: str
field_path:
description:
- 'If referring to a piece of an object instead of an entire
object, this string should contain a valid JSON/Go field access
statement, such as desiredState.manifest.containers[2]. For
example, if the object reference is to a container within
a pod, this would take on a value like: "spec.containers{name}"
(where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]"
(container with index 2 in this pod). This syntax is chosen
only to have some well-defined way of referencing a part of
an object.'
type: str
kind:
description:
- Kind of the referent.
type: str
name:
description:
- Name of the referent.
type: str
namespace:
description:
- Namespace of the referent.
type: str
resource_version:
description:
- Specific resourceVersion to which this reference is made,
if any.
type: str
uid:
description:
- UID of the referent.
type: str
paths:
description:
- paths is a list of source and destination paths to copy from the
image.
type: list
contains:
destination_dir:
description:
- destinationDir is the relative directory within the build
directory where files copied from the image are placed.
type: str
source_path:
description:
- sourcePath is the absolute path of the file or directory inside
the image to copy to the build directory.
type: str
pull_secret:
description:
- pullSecret is a reference to a secret to be used to pull the image
from a registry If the image is pulled from the OpenShift registry,
this field does not need to be set.
type: complex
contains:
name:
description:
- Name of the referent.
type: str
secrets:
description:
- secrets represents a list of secrets and their destinations that will
be used only for the build.
type: list
contains:
destination_dir:
description:
- destinationDir is the directory where the files from the secret
should be available for the build time. For the Source build strategy,
these will be injected into a container where the assemble script
runs. Later, when the script finishes, all files injected will
be truncated to zero length. For the Docker build strategy, these
will be copied into the build directory, where the Dockerfile
is located, so users can ADD or COPY them during docker build.
type: str
secret:
description:
- secret is a reference to an existing secret that you want to use
in your build.
type: complex
contains:
name:
description:
- Name of the referent.
type: str
source_secret:
description:
- "sourceSecret is the name of a Secret that would be used for setting\
\ up the authentication for cloning private repository. The secret\
\ contains valid credentials for remote repository, where the data's\
\ key represent the authentication method to be used and value is\
\ the base64 encoded credentials. Supported auth methods are: ssh-privatekey."
type: complex
contains:
name:
description:
- Name of the referent.
type: str
type:
description:
- type of build input to accept
type: str
strategy:
description:
- strategy defines how to perform a build.
type: complex
contains:
custom_strategy:
description:
- customStrategy holds the parameters to the Custom build strategy
type: complex
contains:
_from:
description:
- from is reference to an DockerImage, ImageStreamTag, or ImageStreamImage
from which the docker image should be pulled
type: complex
contains:
api_version:
description:
- API version of the referent.
type: str
field_path:
description:
- 'If referring to a piece of an object instead of an entire
object, this string should contain a valid JSON/Go field access
statement, such as desiredState.manifest.containers[2]. For
example, if the object reference is to a container within
a pod, this would take on a value like: "spec.containers{name}"
(where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]"
(container with index 2 in this pod). This syntax is chosen
only to have some well-defined way of referencing a part of
an object.'
type: str
kind:
description:
- Kind of the referent.
type: str
name:
description:
- Name of the referent.
type: str
namespace:
description:
- Namespace of the referent.
type: str
resource_version:
description:
- Specific resourceVersion to which this reference is made,
if any.
type: str
uid:
description:
- UID of the referent.
type: str
build_api_version:
description:
- buildAPIVersion is the requested API version for the Build object
serialized and passed to the custom builder
type: str
env:
description:
- env contains additional environment variables you want to pass
into a builder container
type: list
contains:
name:
description:
- Name of the environment variable. Must be a C_IDENTIFIER.
type: str
value:
description:
- 'Variable references $(VAR_NAME) are expanded using the previous
defined environment variables in the container and any service
environment variables. If a variable cannot be resolved, the
reference in the input string will be unchanged. The $(VAR_NAME)
syntax can be escaped with a double $$, ie: $$(VAR_NAME).
Escaped references will never be expanded, regardless of whether
the variable exists or not. Defaults to "".'
type: str
value_from:
description:
- Source for the environment variable's value. Cannot be used
if value is not empty.
type: complex
contains:
config_map_key_ref:
description:
- Selects a key of a ConfigMap.
type: complex
contains:
key:
description:
- The key to select.
type: str
name:
description:
- Name of the referent.
type: str
field_ref:
description:
- 'Selects a field of the pod: supports metadata.name, metadata.namespace,
metadata.labels, metadata.annotations, spec.nodeName,
spec.serviceAccountName, status.podIP.'
type: complex
contains:
api_version:
description:
- Version of the schema the FieldPath is written in
terms of, defaults to "v1".
type: str
field_path:
description:
- Path of the field to select in the specified API version.
type: str
resource_field_ref:
description:
- 'Selects a resource of the container: only resources limits
and requests (limits.cpu, limits.memory, requests.cpu
and requests.memory) are currently supported.'
type: complex
contains:
container_name:
description:
- 'Container name: required for volumes, optional for
env vars'
type: str
divisor:
description:
- Specifies the output format of the exposed resources,
defaults to "1"
type: complex
contains: {}
resource:
description:
- 'Required: resource to select'
type: str
secret_key_ref:
description:
- Selects a key of a secret in the pod's namespace
type: complex
contains:
key:
description:
- The key of the secret to select from. Must be a valid
secret key.
type: str
name:
description:
- Name of the referent.
type: str
expose_docker_socket:
description:
- exposeDockerSocket will allow running Docker commands (and build
Docker images) from inside the Docker container.
type: bool
force_pull:
description:
- forcePull describes if the controller should configure the build
pod to always pull the images for the builder or only pull if
it is not present locally
type: bool
pull_secret:
description:
- pullSecret is the name of a Secret that would be used for setting
up the authentication for pulling the Docker images from the private
Docker registries
type: complex
contains:
name:
description:
- Name of the referent.
type: str
secrets:
description:
- secrets is a list of additional secrets that will be included
in the build pod
type: list
contains:
mount_path:
description:
- mountPath is the path at which to mount the secret
type: str
secret_source:
description:
- secretSource is a reference to the secret
type: complex
contains:
name:
description:
- Name of the referent.
type: str
docker_strategy:
description:
- dockerStrategy holds the parameters to the Docker build strategy.
type: complex
contains:
_from:
description:
- from is reference to an DockerImage, ImageStreamTag, or ImageStreamImage
from which the docker image should be pulled the resulting image
will be used in the FROM line of the Dockerfile for this build.
type: complex
contains:
api_version:
description:
- API version of the referent.
type: str
field_path:
description:
- 'If referring to a piece of an object instead of an entire
object, this string should contain a valid JSON/Go field access
statement, such as desiredState.manifest.containers[2]. For
example, if the object reference is to a container within
a pod, this would take on a value like: "spec.containers{name}"
(where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]"
(container with index 2 in this pod). This syntax is chosen
only to have some well-defined way of referencing a part of
an object.'
type: str
kind:
description:
- Kind of the referent.
type: str
name:
description:
- Name of the referent.
type: str
namespace:
description:
- Namespace of the referent.
type: str
resource_version:
description:
- Specific resourceVersion to which this reference is made,
if any.
type: str
uid:
description:
- UID of the referent.
type: str
dockerfile_path:
description:
- dockerfilePath is the path of the Dockerfile that will be used
to build the Docker image, relative to the root of the context
(contextDir).
type: str
env:
description:
- env contains additional environment variables you want to pass
into a builder container
type: list
contains:
name:
description:
- Name of the environment variable. Must be a C_IDENTIFIER.
type: str
value:
description:
- 'Variable references $(VAR_NAME) are expanded using the previous
defined environment variables in the container and any service
environment variables. If a variable cannot be resolved, the
reference in the input string will be unchanged. The $(VAR_NAME)
syntax can be escaped with a double $$, ie: $$(VAR_NAME).
Escaped references will never be expanded, regardless of whether
the variable exists or not. Defaults to "".'
type: str
value_from:
description:
- Source for the environment variable's value. Cannot be used
if value is not empty.
type: complex
contains:
config_map_key_ref:
description:
- Selects a key of a ConfigMap.
type: complex
contains:
key:
description:
- The key to select.
type: str
name:
description:
- Name of the referent.
type: str
field_ref:
description:
- 'Selects a field of the pod: supports metadata.name, metadata.namespace,
metadata.labels, metadata.annotations, spec.nodeName,
spec.serviceAccountName, status.podIP.'
type: complex
contains:
api_version:
description:
- Version of the schema the FieldPath is written in
terms of, defaults to "v1".
type: str
field_path:
description:
- Path of the field to select in the specified API version.
type: str
resource_field_ref:
description:
- 'Selects a resource of the container: only resources limits
and requests (limits.cpu, limits.memory, requests.cpu
and requests.memory) are currently supported.'
type: complex
contains:
container_name:
description:
- 'Container name: required for volumes, optional for
env vars'
type: str
divisor:
description:
- Specifies the output format of the exposed resources,
defaults to "1"
type: complex
contains: {}
resource:
description:
- 'Required: resource to select'
type: str
secret_key_ref:
description:
- Selects a key of a secret in the pod's namespace
type: complex
contains:
key:
description:
- The key of the secret to select from. Must be a valid
secret key.
type: str
name:
description:
- Name of the referent.
type: str
force_pull:
description:
- forcePull describes if the builder should pull the images from
registry prior to building.
type: bool
no_cache:
description:
- noCache if set to true indicates that the docker build must be
executed with the --no-cache=true flag
type: bool
pull_secret:
description:
- pullSecret is the name of a Secret that would be used for setting
up the authentication for pulling the Docker images from the private
Docker registries
type: complex
contains:
name:
description:
- Name of the referent.
type: str
jenkins_pipeline_strategy:
description:
- JenkinsPipelineStrategy holds the parameters to the Jenkins Pipeline
build strategy. This strategy is in tech preview.
type: complex
contains:
jenkinsfile:
description:
- Jenkinsfile defines the optional raw contents of a Jenkinsfile
which defines a Jenkins pipeline build.
type: str
jenkinsfile_path:
description:
- JenkinsfilePath is the optional path of the Jenkinsfile that will
be used to configure the pipeline relative to the root of the
context (contextDir). If both JenkinsfilePath & Jenkinsfile are
both not specified, this defaults to Jenkinsfile in the root of
the specified contextDir.
type: str
source_strategy:
description:
- sourceStrategy holds the parameters to the Source build strategy.
type: complex
contains:
_from:
description:
- from is reference to an DockerImage, ImageStreamTag, or ImageStreamImage
from which the docker image should be pulled
type: complex
contains:
api_version:
description:
- API version of the referent.
type: str
field_path:
description:
- 'If referring to a piece of an object instead of an entire
object, this string should contain a valid JSON/Go field access
statement, such as desiredState.manifest.containers[2]. For
example, if the object reference is to a container within
a pod, this would take on a value like: "spec.containers{name}"
(where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]"
(container with index 2 in this pod). This syntax is chosen
only to have some well-defined way of referencing a part of
an object.'
type: str
kind:
description:
- Kind of the referent.
type: str
name:
description:
- Name of the referent.
type: str
namespace:
description:
- Namespace of the referent.
type: str
resource_version:
description:
- Specific resourceVersion to which this reference is made,
if any.
type: str
uid:
description:
- UID of the referent.
type: str
env:
description:
- env contains additional environment variables you want to pass
into a builder container
type: list
contains:
name:
description:
- Name of the environment variable. Must be a C_IDENTIFIER.
type: str
value:
description:
- 'Variable references $(VAR_NAME) are expanded using the previous
defined environment variables in the container and any service
environment variables. If a variable cannot be resolved, the
reference in the input string will be unchanged. The $(VAR_NAME)
syntax can be escaped with a double $$, ie: $$(VAR_NAME).
Escaped references will never be expanded, regardless of whether
the variable exists or not. Defaults to "".'
type: str
value_from:
description:
- Source for the environment variable's value. Cannot be used
if value is not empty.
type: complex
contains:
config_map_key_ref:
description:
- Selects a key of a ConfigMap.
type: complex
contains:
key:
description:
- The key to select.
type: str
name:
description:
- Name of the referent.
type: str
field_ref:
description:
- 'Selects a field of the pod: supports metadata.name, metadata.namespace,
metadata.labels, metadata.annotations, spec.nodeName,
spec.serviceAccountName, status.podIP.'
type: complex
contains:
api_version:
description:
- Version of the schema the FieldPath is written in
terms of, defaults to "v1".
type: str
field_path:
description:
- Path of the field to select in the specified API version.
type: str
resource_field_ref:
description:
- 'Selects a resource of the container: only resources limits
and requests (limits.cpu, limits.memory, requests.cpu
and requests.memory) are currently supported.'
type: complex
contains:
container_name:
description:
- 'Container name: required for volumes, optional for
env vars'
type: str
divisor:
description:
- Specifies the output format of the exposed resources,
defaults to "1"
type: complex
contains: {}
resource:
description:
- 'Required: resource to select'
type: str
secret_key_ref:
description:
- Selects a key of a secret in the pod's namespace
type: complex
contains:
key:
description:
- The key of the secret to select from. Must be a valid
secret key.
type: str
name:
description:
- Name of the referent.
type: str
force_pull:
description:
- forcePull describes if the builder should pull the images from
registry prior to building.
type: bool
incremental:
description:
- incremental flag forces the Source build to do incremental builds
if true.
type: bool
pull_secret:
description:
- pullSecret is the name of a Secret that would be used for setting
up the authentication for pulling the Docker images from the private
Docker registries
type: complex
contains:
name:
description:
- Name of the referent.
type: str
runtime_artifacts:
description:
- runtimeArtifacts specifies a list of source/destination pairs
that will be copied from the builder to the runtime image. sourcePath
can be a file or directory. destinationDir must be a directory.
destinationDir can also be empty or equal to ".", in this case
it just refers to the root of WORKDIR. This field and the feature
it enables are in tech preview.
type: list
contains:
destination_dir:
description:
- destinationDir is the relative directory within the build
directory where files copied from the image are placed.
type: str
source_path:
description:
- sourcePath is the absolute path of the file or directory inside
the image to copy to the build directory.
type: str
runtime_image:
description:
- runtimeImage is an optional image that is used to run an application
without unneeded dependencies installed. The building of the application
is still done in the builder image but, post build, you can copy
the needed artifacts in the runtime image for use. This field
and the feature it enables are in tech preview.
type: complex
contains:
api_version:
description:
- API version of the referent.
type: str
field_path:
description:
- 'If referring to a piece of an object instead of an entire
object, this string should contain a valid JSON/Go field access
statement, such as desiredState.manifest.containers[2]. For
example, if the object reference is to a container within
a pod, this would take on a value like: "spec.containers{name}"
(where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]"
(container with index 2 in this pod). This syntax is chosen
only to have some well-defined way of referencing a part of
an object.'
type: str
kind:
description:
- Kind of the referent.
type: str
name:
description:
- Name of the referent.
type: str
namespace:
description:
- Namespace of the referent.
type: str
resource_version:
description:
- Specific resourceVersion to which this reference is made,
if any.
type: str
uid:
description:
- UID of the referent.
type: str
scripts:
description:
- scripts is the location of Source scripts
type: str
type:
description:
- type is the kind of build strategy.
type: str
triggered_by:
description:
- triggeredBy describes which triggers started the most recent update to
the build configuration and contains information about those triggers.
type: list
contains:
generic_web_hook:
description:
- genericWebHook holds data about a builds generic webhook trigger.
type: complex
contains:
revision:
description:
- revision is an optional field that stores the git source revision
information of the generic webhook trigger when it is available.
type: complex
contains:
git:
description:
- Git contains information about git-based build source
type: complex
contains:
author:
description:
- author is the author of a specific commit
type: complex
contains:
email:
description:
- email of the source control user
type: str
name:
description:
- name of the source control user
type: str
commit:
description:
- commit is the commit hash identifying a specific commit
type: str
committer:
description:
- committer is the committer of a specific commit
type: complex
contains:
email:
description:
- email of the source control user
type: str
name:
description:
- name of the source control user
type: str
message:
description:
- message is the description of a specific commit
type: str
type:
description:
- type of the build source, may be one of 'Source', 'Dockerfile',
'Binary', or 'Images'
type: str
secret:
description:
- secret is the obfuscated webhook secret that triggered a build.
type: str
github_web_hook:
description:
- gitHubWebHook represents data for a GitHub webhook that fired a specific
build.
type: complex
contains:
revision:
description:
- revision is the git revision information of the trigger.
type: complex
contains:
git:
description:
- Git contains information about git-based build source
type: complex
contains:
author:
description:
- author is the author of a specific commit
type: complex
contains:
email:
description:
- email of the source control user
type: str
name:
description:
- name of the source control user
type: str
commit:
description:
- commit is the commit hash identifying a specific commit
type: str
committer:
description:
- committer is the committer of a specific commit
type: complex
contains:
email:
description:
- email of the source control user
type: str
name:
description:
- name of the source control user
type: str
message:
description:
- message is the description of a specific commit
type: str
type:
description:
- type of the build source, may be one of 'Source', 'Dockerfile',
'Binary', or 'Images'
type: str
secret:
description:
- secret is the obfuscated webhook secret that triggered a build.
type: str
image_change_build:
description:
- imageChangeBuild stores information about an imagechange event that
triggered a new build.
type: complex
contains:
from_ref:
description:
- fromRef contains detailed information about an image that triggered
a build.
type: complex
contains:
api_version:
description:
- API version of the referent.
type: str
field_path:
description:
- 'If referring to a piece of an object instead of an entire
object, this string should contain a valid JSON/Go field access
statement, such as desiredState.manifest.containers[2]. For
example, if the object reference is to a container within
a pod, this would take on a value like: "spec.containers{name}"
(where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]"
(container with index 2 in this pod). This syntax is chosen
only to have some well-defined way of referencing a part of
an object.'
type: str
kind:
description:
- Kind of the referent.
type: str
name:
description:
- Name of the referent.
type: str
namespace:
description:
- Namespace of the referent.
type: str
resource_version:
description:
- Specific resourceVersion to which this reference is made,
if any.
type: str
uid:
description:
- UID of the referent.
type: str
image_id:
description:
- imageID is the ID of the image that triggered a a new build.
type: str
message:
description:
- 'message is used to store a human readable message for why the build
was triggered. E.g.: "Manually triggered by user", "Configuration
change",etc.'
type: str
status:
description:
- status is the current status of the build.
type: complex
contains:
cancelled:
description:
- cancelled describes if a cancel event was triggered for the build.
type: bool
completion_timestamp:
description:
- completionTimestamp is a timestamp representing the server time when this
Build was finished, whether that build failed or succeeded. It reflects
the time at which the Pod running the Build terminated. It is represented
in RFC3339 form and is in UTC.
type: complex
contains: {}
config:
description:
- config is an ObjectReference to the BuildConfig this Build is based on.
type: complex
contains:
api_version:
description:
- API version of the referent.
type: str
field_path:
description:
- 'If referring to a piece of an object instead of an entire object,
this string should contain a valid JSON/Go field access statement,
such as desiredState.manifest.containers[2]. For example, if the object
reference is to a container within a pod, this would take on a value
like: "spec.containers{name}" (where "name" refers to the name of
the container that triggered the event) or if no container name is
specified "spec.containers[2]" (container with index 2 in this pod).
This syntax is chosen only to have some well-defined way of referencing
a part of an object.'
type: str
kind:
description:
- Kind of the referent.
type: str
name:
description:
- Name of the referent.
type: str
namespace:
description:
- Namespace of the referent.
type: str
resource_version:
description:
- Specific resourceVersion to which this reference is made, if any.
type: str
uid:
description:
- UID of the referent.
type: str
duration:
description:
- duration contains time.Duration object describing build time.
type: int
message:
description:
- message is a human-readable message indicating details about why the build
has this status.
type: str
output:
description:
- output describes the Docker image the build has produced.
type: complex
contains:
to:
description:
- to describes the status of the built image being pushed to a registry.
type: complex
contains:
image_digest:
description:
- imageDigest is the digest of the built Docker image. The digest
uniquely identifies the image in the registry to which it was
pushed. Please note that this field may not always be set even
if the push completes successfully - e.g. when the registry returns
no digest or returns it in a format that the builder doesn't understand.
type: str
output_docker_image_reference:
description:
- outputDockerImageReference contains a reference to the Docker image that
will be built by this build. Its value is computed from Build.Spec.Output.To,
and should include the registry address, so that it can be used to push
and pull the image.
type: str
phase:
description:
- phase is the point in the build lifecycle.
type: str
reason:
description:
- reason is a brief CamelCase string that describes any failure and is meant
for machine parsing and tidy display in the CLI.
type: str
start_timestamp:
description:
- startTimestamp is a timestamp representing the server time when this Build
started running in a Pod. It is represented in RFC3339 form and is in
UTC.
type: complex
contains: {}
'''
def main():
try:
module = OpenShiftAnsibleModule('build', 'V1')
except OpenShiftAnsibleException as exc:
# The helper failed to init, so there is no module object. All we can do is raise the error.
raise Exception(exc.message)
try:
module.execute_module()
except OpenShiftAnsibleException as exc:
module.fail_json(msg="Module failed!", error=str(exc))
if __name__ == '__main__':
main()