mirror of
https://github.com/ansible-collections/kubernetes.core.git
synced 2026-04-05 18:23:03 +00:00
1095 lines
52 KiB
Python
1095 lines
52 KiB
Python
#!/usr/bin/env python
|
|
|
|
from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
|
|
|
DOCUMENTATION = '''
|
|
module: openshift_v1_template_instance
|
|
short_description: OpenShift TemplateInstance
|
|
description:
|
|
- Manage the lifecycle of a template_instance 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
|
|
force:
|
|
description:
|
|
- If set to C(True), and I(state) is C(present), an existing object will updated,
|
|
and lists will be replaced, rather than merged.
|
|
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.
|
|
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).
|
|
resource_definition:
|
|
description:
|
|
- Provide the YAML definition for the object, bypassing any modules parameters
|
|
intended to define object attributes.
|
|
type: dict
|
|
spec_requester_extra:
|
|
description:
|
|
- extra holds additional information provided by the authenticator.
|
|
aliases:
|
|
- requester_extra
|
|
type: dict
|
|
spec_requester_groups:
|
|
description:
|
|
- groups represent the groups this user is a part of.
|
|
aliases:
|
|
- requester_groups
|
|
type: list
|
|
spec_requester_uid:
|
|
description:
|
|
- uid is a unique value that identifies this user across time; if this user is
|
|
deleted and another user by the same name is added, they will have different
|
|
UIDs.
|
|
aliases:
|
|
- requester_uid
|
|
spec_requester_username:
|
|
description:
|
|
- username uniquely identifies this user among all active users.
|
|
aliases:
|
|
- requester_username
|
|
spec_secret_name:
|
|
description:
|
|
- Name of the referent.
|
|
aliases:
|
|
- secret_name
|
|
spec_template_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.
|
|
aliases:
|
|
- api_version
|
|
spec_template_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.
|
|
aliases:
|
|
- kind
|
|
spec_template_labels:
|
|
description:
|
|
- labels is a optional set of labels that are applied to every object during the
|
|
Template to Config transformation.
|
|
aliases:
|
|
- labels
|
|
type: dict
|
|
spec_template_message:
|
|
description:
|
|
- message is an optional instructional message that will be displayed when this
|
|
template is instantiated. This field should inform the user how to utilize the
|
|
newly created resources. Parameter substitution will be performed on the message
|
|
before being displayed so that generated credentials and other parameters can
|
|
be included in the output.
|
|
aliases:
|
|
- message
|
|
spec_template_metadata_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
|
|
spec_template_metadata_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
|
|
spec_template_metadata_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.
|
|
spec_template_metadata_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.
|
|
spec_template_objects:
|
|
description:
|
|
- objects is an array of resources to include in this template. If a namespace
|
|
value is hardcoded in the object, it will be removed during template instantiation,
|
|
however if the namespace value is, or contains, a ${PARAMETER_REFERENCE}, the
|
|
resolved value after parameter substitution will be respected and the object
|
|
will be created in that namespace.
|
|
aliases:
|
|
- objects
|
|
type: list
|
|
spec_template_parameters:
|
|
description:
|
|
- parameters is an optional array of Parameters used during the Template to Config
|
|
transformation.
|
|
aliases:
|
|
- parameters
|
|
type: list
|
|
src:
|
|
description:
|
|
- Provide a path to a file containing the YAML definition of the object. Mutually
|
|
exclusive with I(resource_definition).
|
|
type: path
|
|
ssl_ca_cert:
|
|
description:
|
|
- Path to a CA certificate used to authenticate with the API.
|
|
type: path
|
|
state:
|
|
description:
|
|
- Determines if an object should be created, patched, or deleted. When set to
|
|
C(present), the object will be created, if it does not exist, or patched, if
|
|
parameter values differ from the existing object's attributes, and deleted,
|
|
if set to C(absent). A patch operation results in merging lists and updating
|
|
dictionaries, with lists being merged into a unique set of values. If a list
|
|
contains a dictionary with a I(name) or I(type) attribute, a strategic merge
|
|
is performed, where individual elements with a matching I(name_) or I(type)
|
|
are merged. To force the replacement of lists, set the I(force) option to C(True).
|
|
default: present
|
|
choices:
|
|
- present
|
|
- absent
|
|
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 == 0.3.1
|
|
'''
|
|
|
|
EXAMPLES = '''
|
|
'''
|
|
|
|
RETURN = '''
|
|
api_version:
|
|
type: string
|
|
description: Requested API version
|
|
template_instance:
|
|
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 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
|
|
initializers:
|
|
description:
|
|
- An initializer is a controller which enforces some system invariant at
|
|
object creation time. This field is a list of initializers that have not
|
|
yet acted on this object. If nil or empty, this object has been completely
|
|
initialized. Otherwise, the object is considered uninitialized and is
|
|
hidden (in list/watch and get calls) from clients that haven't explicitly
|
|
asked to observe uninitialized objects. When an object is created, the
|
|
system will populate this list with the current set of initializers. Only
|
|
privileged users may set or modify this list. Once it is empty, it may
|
|
not be modified further by any user.
|
|
type: complex
|
|
contains:
|
|
pending:
|
|
description:
|
|
- Pending is a list of initializers that must execute in order before
|
|
this object is visible. When the last pending initializer is removed,
|
|
and no failing result is set, the initializers struct will be set
|
|
to nil and the object is considered as initialized and visible to
|
|
all clients.
|
|
type: list
|
|
contains:
|
|
name:
|
|
description:
|
|
- name of the process that is responsible for initializing this
|
|
object.
|
|
type: str
|
|
result:
|
|
description:
|
|
- If result is set with the Failure field, the object will be persisted
|
|
to storage and then deleted, ensuring that other clients can observe
|
|
the deletion.
|
|
type: complex
|
|
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
|
|
code:
|
|
description:
|
|
- Suggested HTTP return code for this status, 0 if not set.
|
|
type: int
|
|
details:
|
|
description:
|
|
- Extended data associated with the reason. Each reason may define
|
|
its own extended details. This field is optional and the data
|
|
returned is not guaranteed to conform to any schema except that
|
|
defined by the reason type.
|
|
type: complex
|
|
contains:
|
|
causes:
|
|
description:
|
|
- The Causes array includes more details associated with the
|
|
StatusReason failure. Not all StatusReasons may provide detailed
|
|
causes.
|
|
type: list
|
|
contains:
|
|
field:
|
|
description:
|
|
- 'The field of the resource that has caused this error,
|
|
as named by its JSON serialization. May include dot and
|
|
postfix notation for nested attributes. Arrays are zero-indexed.
|
|
Fields may appear more than once in an array of causes
|
|
due to fields having multiple errors. Optional. Examples:
|
|
"name" - the field "name" on the current resource "items[0].name"
|
|
- the field "name" on the first array entry in "items"'
|
|
type: str
|
|
message:
|
|
description:
|
|
- A human-readable description of the cause of the error.
|
|
This field may be presented as-is to a reader.
|
|
type: str
|
|
reason:
|
|
description:
|
|
- A machine-readable description of the cause of the error.
|
|
If this value is empty there is no information available.
|
|
type: str
|
|
group:
|
|
description:
|
|
- The group attribute of the resource associated with the status
|
|
StatusReason.
|
|
type: str
|
|
kind:
|
|
description:
|
|
- The kind attribute of the resource associated with the status
|
|
StatusReason. On some operations may differ from the requested
|
|
resource Kind.
|
|
type: str
|
|
name:
|
|
description:
|
|
- The name attribute of the resource associated with the status
|
|
StatusReason (when there is a single name which can be described).
|
|
type: str
|
|
retry_after_seconds:
|
|
description:
|
|
- If specified, the time in seconds before the operation should
|
|
be retried.
|
|
type: int
|
|
uid:
|
|
description:
|
|
- UID of the resource. (when there is a single resource which
|
|
can be described).
|
|
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
|
|
message:
|
|
description:
|
|
- A human-readable description of the status of this operation.
|
|
type: str
|
|
metadata:
|
|
description:
|
|
- Standard list metadata.
|
|
type: complex
|
|
contains:
|
|
resource_version:
|
|
description:
|
|
- String that identifies the server's internal version of this
|
|
object that can be used by clients to determine when objects
|
|
have changed. Value must be treated as opaque by clients and
|
|
passed unmodified back to the server. Populated by the system.
|
|
Read-only.
|
|
type: str
|
|
self_link:
|
|
description:
|
|
- SelfLink is a URL representing this object. Populated by the
|
|
system. Read-only.
|
|
type: str
|
|
reason:
|
|
description:
|
|
- A machine-readable description of why this operation is in the
|
|
"Failure" status. If this value is empty there is no information
|
|
available. A Reason clarifies an HTTP status code but does not
|
|
override it.
|
|
type: str
|
|
status:
|
|
description:
|
|
- 'Status of the operation. One of: "Success" or "Failure".'
|
|
type: str
|
|
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
|
|
block_owner_deletion:
|
|
description:
|
|
- If true, AND if the owner has the "foregroundDeletion" finalizer,
|
|
then the owner cannot be deleted from the key-value store until this
|
|
reference is removed. Defaults to false. To set this field, a user
|
|
needs "delete" permission of the owner, otherwise 422 (Unprocessable
|
|
Entity) will be returned.
|
|
type: bool
|
|
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 describes the desired state of this TemplateInstance.
|
|
type: complex
|
|
contains:
|
|
requester:
|
|
description:
|
|
- requester holds the identity of the agent requesting the template instantiation.
|
|
type: complex
|
|
contains:
|
|
extra:
|
|
description:
|
|
- extra holds additional information provided by the authenticator.
|
|
type: complex
|
|
contains: str, list[str]
|
|
groups:
|
|
description:
|
|
- groups represent the groups this user is a part of.
|
|
type: list
|
|
contains: str
|
|
uid:
|
|
description:
|
|
- uid is a unique value that identifies this user across time; if this
|
|
user is deleted and another user by the same name is added, they will
|
|
have different UIDs.
|
|
type: str
|
|
username:
|
|
description:
|
|
- username uniquely identifies this user among all active users.
|
|
type: str
|
|
secret:
|
|
description:
|
|
- secret is a reference to a Secret object containing the necessary template
|
|
parameters.
|
|
type: complex
|
|
contains:
|
|
name:
|
|
description:
|
|
- Name of the referent.
|
|
type: str
|
|
template:
|
|
description:
|
|
- template is a full copy of the template for instantiation.
|
|
type: complex
|
|
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
|
|
labels:
|
|
description:
|
|
- labels is a optional set of labels that are applied to every object
|
|
during the Template to Config transformation.
|
|
type: complex
|
|
contains: str, str
|
|
message:
|
|
description:
|
|
- message is an optional instructional message that will be displayed
|
|
when this template is instantiated. This field should inform the user
|
|
how to utilize the newly created resources. Parameter substitution
|
|
will be performed on the message before being displayed so that generated
|
|
credentials and other parameters can be included in the output.
|
|
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
|
|
initializers:
|
|
description:
|
|
- An initializer is a controller which enforces some system invariant
|
|
at object creation time. This field is a list of initializers
|
|
that have not yet acted on this object. If nil or empty, this
|
|
object has been completely initialized. Otherwise, the object
|
|
is considered uninitialized and is hidden (in list/watch and get
|
|
calls) from clients that haven't explicitly asked to observe uninitialized
|
|
objects. When an object is created, the system will populate this
|
|
list with the current set of initializers. Only privileged users
|
|
may set or modify this list. Once it is empty, it may not be modified
|
|
further by any user.
|
|
type: complex
|
|
contains:
|
|
pending:
|
|
description:
|
|
- Pending is a list of initializers that must execute in order
|
|
before this object is visible. When the last pending initializer
|
|
is removed, and no failing result is set, the initializers
|
|
struct will be set to nil and the object is considered as
|
|
initialized and visible to all clients.
|
|
type: list
|
|
contains:
|
|
name:
|
|
description:
|
|
- name of the process that is responsible for initializing
|
|
this object.
|
|
type: str
|
|
result:
|
|
description:
|
|
- If result is set with the Failure field, the object will be
|
|
persisted to storage and then deleted, ensuring that other
|
|
clients can observe the deletion.
|
|
type: complex
|
|
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
|
|
code:
|
|
description:
|
|
- Suggested HTTP return code for this status, 0 if not set.
|
|
type: int
|
|
details:
|
|
description:
|
|
- Extended data associated with the reason. Each reason
|
|
may define its own extended details. This field is optional
|
|
and the data returned is not guaranteed to conform to
|
|
any schema except that defined by the reason type.
|
|
type: complex
|
|
contains:
|
|
causes:
|
|
description:
|
|
- The Causes array includes more details associated
|
|
with the StatusReason failure. Not all StatusReasons
|
|
may provide detailed causes.
|
|
type: list
|
|
contains:
|
|
field:
|
|
description:
|
|
- 'The field of the resource that has caused this
|
|
error, as named by its JSON serialization. May
|
|
include dot and postfix notation for nested attributes.
|
|
Arrays are zero-indexed. Fields may appear more
|
|
than once in an array of causes due to fields
|
|
having multiple errors. Optional. Examples: "name"
|
|
- the field "name" on the current resource "items[0].name"
|
|
- the field "name" on the first array entry in
|
|
"items"'
|
|
type: str
|
|
message:
|
|
description:
|
|
- A human-readable description of the cause of the
|
|
error. This field may be presented as-is to a
|
|
reader.
|
|
type: str
|
|
reason:
|
|
description:
|
|
- A machine-readable description of the cause of
|
|
the error. If this value is empty there is no
|
|
information available.
|
|
type: str
|
|
group:
|
|
description:
|
|
- The group attribute of the resource associated with
|
|
the status StatusReason.
|
|
type: str
|
|
kind:
|
|
description:
|
|
- The kind attribute of the resource associated with
|
|
the status StatusReason. On some operations may differ
|
|
from the requested resource Kind.
|
|
type: str
|
|
name:
|
|
description:
|
|
- The name attribute of the resource associated with
|
|
the status StatusReason (when there is a single name
|
|
which can be described).
|
|
type: str
|
|
retry_after_seconds:
|
|
description:
|
|
- If specified, the time in seconds before the operation
|
|
should be retried.
|
|
type: int
|
|
uid:
|
|
description:
|
|
- UID of the resource. (when there is a single resource
|
|
which can be described).
|
|
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
|
|
message:
|
|
description:
|
|
- A human-readable description of the status of this operation.
|
|
type: str
|
|
metadata:
|
|
description:
|
|
- Standard list metadata.
|
|
type: complex
|
|
contains:
|
|
resource_version:
|
|
description:
|
|
- String that identifies the server's internal version
|
|
of this object that can be used by clients to determine
|
|
when objects have changed. Value must be treated as
|
|
opaque by clients and passed unmodified back to the
|
|
server. Populated by the system. Read-only.
|
|
type: str
|
|
self_link:
|
|
description:
|
|
- SelfLink is a URL representing this object. Populated
|
|
by the system. Read-only.
|
|
type: str
|
|
reason:
|
|
description:
|
|
- A machine-readable description of why this operation is
|
|
in the "Failure" status. If this value is empty there
|
|
is no information available. A Reason clarifies an HTTP
|
|
status code but does not override it.
|
|
type: str
|
|
status:
|
|
description:
|
|
- 'Status of the operation. One of: "Success" or "Failure".'
|
|
type: str
|
|
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
|
|
block_owner_deletion:
|
|
description:
|
|
- If true, AND if the owner has the "foregroundDeletion" finalizer,
|
|
then the owner cannot be deleted from the key-value store
|
|
until this reference is removed. Defaults to false. To set
|
|
this field, a user needs "delete" permission of the owner,
|
|
otherwise 422 (Unprocessable Entity) will be returned.
|
|
type: bool
|
|
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
|
|
objects:
|
|
description:
|
|
- objects is an array of resources to include in this template. If a
|
|
namespace value is hardcoded in the object, it will be removed during
|
|
template instantiation, however if the namespace value is, or contains,
|
|
a ${PARAMETER_REFERENCE}, the resolved value after parameter substitution
|
|
will be respected and the object will be created in that namespace.
|
|
type: list
|
|
contains:
|
|
raw:
|
|
description:
|
|
- Raw is the underlying serialization of this object.
|
|
type: str
|
|
parameters:
|
|
description:
|
|
- parameters is an optional array of Parameters used during the Template
|
|
to Config transformation.
|
|
type: list
|
|
contains:
|
|
_from:
|
|
description:
|
|
- From is an input value for the generator. Optional.
|
|
type: str
|
|
description:
|
|
description:
|
|
- Description of a parameter. Optional.
|
|
type: str
|
|
display_name:
|
|
description:
|
|
- "Optional: The name that will show in UI instead of parameter\
|
|
\ 'Name'"
|
|
type: str
|
|
generate:
|
|
description:
|
|
- 'generate specifies the generator to be used to generate random
|
|
string from an input value specified by From field. The result
|
|
string is stored into Value field. If empty, no generator is being
|
|
used, leaving the result Value untouched. Optional. The only supported
|
|
generator is "expression", which accepts a "from" value in the
|
|
form of a simple regular expression containing the range expression
|
|
"[a-zA-Z0-9]", and the length expression "a{length}". Examples:
|
|
from | value ----------------------------- "test[0-9]{1}x" | "test7x"
|
|
"[0-1]{8}" | "01001100" "0x[A-F0-9]{4}" | "0xB3AF" "[a-zA-Z0-9]{8}"
|
|
| "hW4yQU5i"'
|
|
type: str
|
|
name:
|
|
description:
|
|
- Name must be set and it can be referenced in Template Items using
|
|
${PARAMETER_NAME}. Required.
|
|
type: str
|
|
required:
|
|
description:
|
|
- 'Optional: Indicates the parameter must have a value. Defaults
|
|
to false.'
|
|
type: bool
|
|
value:
|
|
description:
|
|
- Value holds the Parameter data. If specified, the generator will
|
|
be ignored. The value replaces all occurrences of the Parameter
|
|
${Name} expression during the Template to Config transformation.
|
|
Optional.
|
|
type: str
|
|
status:
|
|
description:
|
|
- status describes the current state of this TemplateInstance.
|
|
type: complex
|
|
contains:
|
|
conditions:
|
|
description:
|
|
- conditions represent the latest available observations of a TemplateInstance's
|
|
current state.
|
|
type: list
|
|
contains:
|
|
last_transition_time:
|
|
description:
|
|
- LastTransitionTime is the last time a condition status transitioned
|
|
from one state to another.
|
|
type: complex
|
|
contains: {}
|
|
message:
|
|
description:
|
|
- Message is a human readable description of the details of the last
|
|
transition, complementing reason.
|
|
type: str
|
|
reason:
|
|
description:
|
|
- Reason is a brief machine readable explanation for the condition's
|
|
last transition.
|
|
type: str
|
|
status:
|
|
description:
|
|
- Status of the condition, one of True, False or Unknown.
|
|
type: str
|
|
type:
|
|
description:
|
|
- Type of the condition, currently Ready or InstantiateFailure.
|
|
type: str
|
|
objects:
|
|
description:
|
|
- Objects references the objects created by the TemplateInstance.
|
|
type: list
|
|
contains:
|
|
ref:
|
|
description:
|
|
- ref is a reference to the created object. When used under .spec, only
|
|
name and namespace are used; these can contain references to parameters
|
|
which will be substituted following the usual rules.
|
|
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
|
|
'''
|
|
|
|
|
|
def main():
|
|
try:
|
|
module = OpenShiftAnsibleModule('template_instance', '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()
|