mirror of
https://github.com/ansible-collections/kubernetes.core.git
synced 2026-04-19 23:31:05 +00:00
Initial commit
This commit is contained in:
29
.travis.yml
Normal file
29
.travis.yml
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
language: python
|
||||
python: "2.7"
|
||||
|
||||
# Use the new container infrastructure
|
||||
sudo: false
|
||||
|
||||
# Install ansible
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- python-pip
|
||||
|
||||
install:
|
||||
# Install ansible
|
||||
- pip install ansible
|
||||
|
||||
# Check ansible version
|
||||
- ansible --version
|
||||
|
||||
# Create ansible.cfg with correct roles_path
|
||||
- printf '[defaults]\nroles_path=../' >ansible.cfg
|
||||
|
||||
script:
|
||||
# Basic role syntax check
|
||||
- ansible-playbook tests/test.yml -i tests/inventory --syntax-check
|
||||
|
||||
notifications:
|
||||
webhooks: https://galaxy.ansible.com/api/v1/notifications/
|
||||
38
README.md
Normal file
38
README.md
Normal file
@@ -0,0 +1,38 @@
|
||||
Role Name
|
||||
=========
|
||||
|
||||
A brief description of the role goes here.
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
|
||||
|
||||
Role Variables
|
||||
--------------
|
||||
|
||||
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
||||
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
|
||||
|
||||
Example Playbook
|
||||
----------------
|
||||
|
||||
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
|
||||
|
||||
- hosts: servers
|
||||
roles:
|
||||
- { role: username.rolename, x: 42 }
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
BSD
|
||||
|
||||
Author Information
|
||||
------------------
|
||||
|
||||
An optional section for the role authors to include contact information, or a website (HTML is not allowed).
|
||||
2
defaults/main.yml
Normal file
2
defaults/main.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
---
|
||||
install_python_requirements: no
|
||||
431
library/k8s_v1_applied_cluster_resource_quota.py
Normal file
431
library/k8s_v1_applied_cluster_resource_quota.py
Normal file
@@ -0,0 +1,431 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_applied_cluster_resource_quota
|
||||
short_description: Kubernetes AppliedClusterResourceQuota
|
||||
description:
|
||||
- Manage the lifecycle of a applied_cluster_resource_quota 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_quota_hard:
|
||||
description:
|
||||
- Hard is the set of desired hard limits for each named resource.
|
||||
aliases:
|
||||
- quota_hard
|
||||
type: dict
|
||||
spec_quota_scopes:
|
||||
description:
|
||||
- A collection of filters that must match each object tracked by a quota. If not
|
||||
specified, the quota matches all objects.
|
||||
aliases:
|
||||
- quota_scopes
|
||||
type: list
|
||||
spec_selector_annotations:
|
||||
description:
|
||||
- AnnotationSelector is used to select projects by annotation.
|
||||
aliases:
|
||||
- selector_annotations
|
||||
type: dict
|
||||
spec_selector_labels_match_expressions:
|
||||
description:
|
||||
- matchExpressions is a list of label selector requirements. The requirements
|
||||
are ANDed.
|
||||
aliases:
|
||||
- selector_labels_match_expressions
|
||||
type: list
|
||||
spec_selector_labels_match_labels:
|
||||
description:
|
||||
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
|
||||
map is equivalent to an element of matchExpressions, whose key field is "key",
|
||||
the operator is "In", and the values array contains only "value". The requirements
|
||||
are ANDed.
|
||||
aliases:
|
||||
- selector_labels_match_labels
|
||||
type: dict
|
||||
ssl_ca_cert:
|
||||
description:
|
||||
- Path to a CA certificate used to authenticate with the API.
|
||||
type: path
|
||||
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
|
||||
applied_cluster_resource_quota:
|
||||
type: complex
|
||||
returned: on success
|
||||
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 defines the desired quota
|
||||
type: complex
|
||||
contains:
|
||||
quota:
|
||||
description:
|
||||
- Quota defines the desired quota
|
||||
type: complex
|
||||
contains:
|
||||
hard:
|
||||
description:
|
||||
- Hard is the set of desired hard limits for each named resource.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
scopes:
|
||||
description:
|
||||
- A collection of filters that must match each object tracked by a quota.
|
||||
If not specified, the quota matches all objects.
|
||||
type: list
|
||||
contains: str
|
||||
selector:
|
||||
description:
|
||||
- Selector is the selector used to match projects. It should only select
|
||||
active projects on the scale of dozens (though it can select many more
|
||||
less active projects). These projects will contend on object creation
|
||||
through this resource.
|
||||
type: complex
|
||||
contains:
|
||||
annotations:
|
||||
description:
|
||||
- AnnotationSelector is used to select projects by annotation.
|
||||
type: complex
|
||||
contains: str, str
|
||||
labels:
|
||||
description:
|
||||
- LabelSelector is used to select projects by label.
|
||||
type: complex
|
||||
contains:
|
||||
match_expressions:
|
||||
description:
|
||||
- matchExpressions is a list of label selector requirements. The
|
||||
requirements are ANDed.
|
||||
type: list
|
||||
contains:
|
||||
key:
|
||||
description:
|
||||
- key is the label key that the selector applies to.
|
||||
type: str
|
||||
operator:
|
||||
description:
|
||||
- operator represents a key's relationship to a set of values.
|
||||
Valid operators ard In, NotIn, Exists and DoesNotExist.
|
||||
type: str
|
||||
values:
|
||||
description:
|
||||
- values is an array of string values. If the operator is In
|
||||
or NotIn, the values array must be non-empty. If the operator
|
||||
is Exists or DoesNotExist, the values array must be empty.
|
||||
This array is replaced during a strategic merge patch.
|
||||
type: list
|
||||
contains: str
|
||||
match_labels:
|
||||
description:
|
||||
- matchLabels is a map of {key,value} pairs. A single {key,value}
|
||||
in the matchLabels map is equivalent to an element of matchExpressions,
|
||||
whose key field is "key", the operator is "In", and the values
|
||||
array contains only "value". The requirements are ANDed.
|
||||
type: complex
|
||||
contains: str, str
|
||||
status:
|
||||
description:
|
||||
- Status defines the actual enforced quota and its current usage
|
||||
type: complex
|
||||
contains:
|
||||
namespaces:
|
||||
description:
|
||||
- Namespaces slices the usage by project. This division allows for quick
|
||||
resolution of deletion reconciliation inside of a single project without
|
||||
requiring a recalculation across all projects. This can be used to pull
|
||||
the deltas for a given project.
|
||||
type: list
|
||||
contains:
|
||||
namespace:
|
||||
description:
|
||||
- Namespace the project this status applies to
|
||||
type: str
|
||||
status:
|
||||
description:
|
||||
- Status indicates how many resources have been consumed by this project
|
||||
type: complex
|
||||
contains:
|
||||
hard:
|
||||
description:
|
||||
- Hard is the set of enforced hard limits for each named resource.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
used:
|
||||
description:
|
||||
- Used is the current observed total usage of the resource in the
|
||||
namespace.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
total:
|
||||
description:
|
||||
- Total defines the actual enforced quota and its current usage across all
|
||||
projects
|
||||
type: complex
|
||||
contains:
|
||||
hard:
|
||||
description:
|
||||
- Hard is the set of enforced hard limits for each named resource.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
used:
|
||||
description:
|
||||
- Used is the current observed total usage of the resource in the namespace.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('applied_cluster_resource_quota', '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()
|
||||
|
||||
420
library/k8s_v1_applied_cluster_resource_quota_list.py
Normal file
420
library/k8s_v1_applied_cluster_resource_quota_list.py
Normal file
@@ -0,0 +1,420 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_applied_cluster_resource_quota_list
|
||||
short_description: Kubernetes AppliedClusterResourceQuotaList
|
||||
description:
|
||||
- Retrieve a list of applied_cluster_resource_quotas. List operations provide a snapshot
|
||||
read of the underlying objects, returning a resource_version representing a consistent
|
||||
version of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
ssl_ca_cert:
|
||||
description:
|
||||
- Path to a CA certificate used to authenticate with the API.
|
||||
type: path
|
||||
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
|
||||
applied_cluster_resource_quota_list:
|
||||
type: complex
|
||||
returned: on success
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is a list of AppliedClusterResourceQuota
|
||||
type: list
|
||||
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 defines the desired quota
|
||||
type: complex
|
||||
contains:
|
||||
quota:
|
||||
description:
|
||||
- Quota defines the desired quota
|
||||
type: complex
|
||||
contains:
|
||||
hard:
|
||||
description:
|
||||
- Hard is the set of desired hard limits for each named resource.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
scopes:
|
||||
description:
|
||||
- A collection of filters that must match each object tracked by
|
||||
a quota. If not specified, the quota matches all objects.
|
||||
type: list
|
||||
contains: str
|
||||
selector:
|
||||
description:
|
||||
- Selector is the selector used to match projects. It should only select
|
||||
active projects on the scale of dozens (though it can select many
|
||||
more less active projects). These projects will contend on object
|
||||
creation through this resource.
|
||||
type: complex
|
||||
contains:
|
||||
annotations:
|
||||
description:
|
||||
- AnnotationSelector is used to select projects by annotation.
|
||||
type: complex
|
||||
contains: str, str
|
||||
labels:
|
||||
description:
|
||||
- LabelSelector is used to select projects by label.
|
||||
type: complex
|
||||
contains:
|
||||
match_expressions:
|
||||
description:
|
||||
- matchExpressions is a list of label selector requirements.
|
||||
The requirements are ANDed.
|
||||
type: list
|
||||
contains:
|
||||
key:
|
||||
description:
|
||||
- key is the label key that the selector applies to.
|
||||
type: str
|
||||
operator:
|
||||
description:
|
||||
- operator represents a key's relationship to a set of values.
|
||||
Valid operators ard In, NotIn, Exists and DoesNotExist.
|
||||
type: str
|
||||
values:
|
||||
description:
|
||||
- values is an array of string values. If the operator is
|
||||
In or NotIn, the values array must be non-empty. If the
|
||||
operator is Exists or DoesNotExist, the values array must
|
||||
be empty. This array is replaced during a strategic merge
|
||||
patch.
|
||||
type: list
|
||||
contains: str
|
||||
match_labels:
|
||||
description:
|
||||
- matchLabels is a map of {key,value} pairs. A single {key,value}
|
||||
in the matchLabels map is equivalent to an element of matchExpressions,
|
||||
whose key field is "key", the operator is "In", and the values
|
||||
array contains only "value". The requirements are ANDed.
|
||||
type: complex
|
||||
contains: str, str
|
||||
status:
|
||||
description:
|
||||
- Status defines the actual enforced quota and its current usage
|
||||
type: complex
|
||||
contains:
|
||||
namespaces:
|
||||
description:
|
||||
- Namespaces slices the usage by project. This division allows for quick
|
||||
resolution of deletion reconciliation inside of a single project without
|
||||
requiring a recalculation across all projects. This can be used to
|
||||
pull the deltas for a given project.
|
||||
type: list
|
||||
contains:
|
||||
namespace:
|
||||
description:
|
||||
- Namespace the project this status applies to
|
||||
type: str
|
||||
status:
|
||||
description:
|
||||
- Status indicates how many resources have been consumed by this
|
||||
project
|
||||
type: complex
|
||||
contains:
|
||||
hard:
|
||||
description:
|
||||
- Hard is the set of enforced hard limits for each named resource.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
used:
|
||||
description:
|
||||
- Used is the current observed total usage of the resource in
|
||||
the namespace.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
total:
|
||||
description:
|
||||
- Total defines the actual enforced quota and its current usage across
|
||||
all projects
|
||||
type: complex
|
||||
contains:
|
||||
hard:
|
||||
description:
|
||||
- Hard is the set of enforced hard limits for each named resource.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
used:
|
||||
description:
|
||||
- Used is the current observed total usage of the resource in the
|
||||
namespace.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
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:
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('applied_cluster_resource_quota_list', '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()
|
||||
|
||||
358
library/k8s_v1_binding.py
Normal file
358
library/k8s_v1_binding.py
Normal file
@@ -0,0 +1,358 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_binding
|
||||
short_description: Kubernetes Binding
|
||||
description:
|
||||
- Manage the lifecycle of a binding 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).
|
||||
ssl_ca_cert:
|
||||
description:
|
||||
- Path to a CA certificate used to authenticate with the API.
|
||||
type: path
|
||||
target_api_version:
|
||||
description:
|
||||
- API version of the referent.
|
||||
aliases:
|
||||
- api_version
|
||||
target_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:
|
||||
- field_path
|
||||
target_kind:
|
||||
description:
|
||||
- Kind of the referent.
|
||||
aliases:
|
||||
- kind
|
||||
target_name:
|
||||
description:
|
||||
- Name of the referent.
|
||||
aliases:
|
||||
- name
|
||||
target_namespace:
|
||||
description:
|
||||
- Namespace of the referent.
|
||||
aliases:
|
||||
- namespace
|
||||
target_resource_version:
|
||||
description:
|
||||
- Specific resourceVersion to which this reference is made, if any.
|
||||
aliases:
|
||||
- resource_version
|
||||
target_uid:
|
||||
description:
|
||||
- UID of the referent.
|
||||
aliases:
|
||||
- uid
|
||||
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
|
||||
binding:
|
||||
type: complex
|
||||
returned: on success
|
||||
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
|
||||
target:
|
||||
description:
|
||||
- The target object that you want to bind to the standard object.
|
||||
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('binding', '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()
|
||||
|
||||
2120
library/k8s_v1_build.py
Normal file
2120
library/k8s_v1_build.py
Normal file
File diff suppressed because it is too large
Load Diff
1947
library/k8s_v1_build_config.py
Normal file
1947
library/k8s_v1_build_config.py
Normal file
File diff suppressed because it is too large
Load Diff
1448
library/k8s_v1_build_config_list.py
Normal file
1448
library/k8s_v1_build_config_list.py
Normal file
File diff suppressed because it is too large
Load Diff
1629
library/k8s_v1_build_list.py
Normal file
1629
library/k8s_v1_build_list.py
Normal file
File diff suppressed because it is too large
Load Diff
840
library/k8s_v1_build_request.py
Normal file
840
library/k8s_v1_build_request.py
Normal file
@@ -0,0 +1,840 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_build_request
|
||||
short_description: Kubernetes BuildRequest
|
||||
description:
|
||||
- Manage the lifecycle of a build_request object. Supports check mode, and attempts
|
||||
to to be idempotent.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
_from_api_version:
|
||||
description:
|
||||
- API version of the referent.
|
||||
aliases:
|
||||
- api_version
|
||||
_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:
|
||||
- field_path
|
||||
_from_kind:
|
||||
description:
|
||||
- Kind of the referent.
|
||||
aliases:
|
||||
- kind
|
||||
_from_name:
|
||||
description:
|
||||
- Name of the referent.
|
||||
aliases:
|
||||
- name
|
||||
_from_namespace:
|
||||
description:
|
||||
- Namespace of the referent.
|
||||
aliases:
|
||||
- namespace
|
||||
_from_resource_version:
|
||||
description:
|
||||
- Specific resourceVersion to which this reference is made, if any.
|
||||
aliases:
|
||||
- resource_version
|
||||
_from_uid:
|
||||
description:
|
||||
- UID of the referent.
|
||||
aliases:
|
||||
- uid
|
||||
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.
|
||||
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:
|
||||
- as_file
|
||||
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
|
||||
env:
|
||||
description:
|
||||
- env contains additional environment variables you want to pass into a builder
|
||||
container
|
||||
type: list
|
||||
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
|
||||
last_version:
|
||||
description:
|
||||
- lastVersion (optional) is the LastVersion of the BuildConfig that was used to
|
||||
generate the build. If the BuildConfig in the generator doesn't match, a build
|
||||
will not be generated.
|
||||
type: int
|
||||
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).
|
||||
revision_git_author_email:
|
||||
description:
|
||||
- email of the source control user
|
||||
aliases:
|
||||
- email
|
||||
revision_git_author_name:
|
||||
description:
|
||||
- name of the source control user
|
||||
aliases:
|
||||
- name
|
||||
revision_git_commit:
|
||||
description:
|
||||
- commit is the commit hash identifying a specific commit
|
||||
aliases:
|
||||
- commit
|
||||
revision_git_committer_email:
|
||||
description:
|
||||
- email of the source control user
|
||||
aliases:
|
||||
- email
|
||||
revision_git_committer_name:
|
||||
description:
|
||||
- name of the source control user
|
||||
aliases:
|
||||
- name
|
||||
revision_git_message:
|
||||
description:
|
||||
- message is the description of a specific commit
|
||||
aliases:
|
||||
- message
|
||||
revision_type:
|
||||
description:
|
||||
- type of the build source, may be one of 'Source', 'Dockerfile', 'Binary', or
|
||||
'Images'
|
||||
aliases:
|
||||
- type
|
||||
ssl_ca_cert:
|
||||
description:
|
||||
- Path to a CA certificate used to authenticate with the API.
|
||||
type: path
|
||||
triggered_by:
|
||||
description:
|
||||
- triggeredBy describes which triggers started the most recent update to the build
|
||||
configuration and contains information about those triggers.
|
||||
type: list
|
||||
triggered_by_image_api_version:
|
||||
description:
|
||||
- API version of the referent.
|
||||
aliases:
|
||||
- api_version
|
||||
triggered_by_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:
|
||||
- field_path
|
||||
triggered_by_image_kind:
|
||||
description:
|
||||
- Kind of the referent.
|
||||
aliases:
|
||||
- kind
|
||||
triggered_by_image_name:
|
||||
description:
|
||||
- Name of the referent.
|
||||
aliases:
|
||||
- name
|
||||
triggered_by_image_namespace:
|
||||
description:
|
||||
- Namespace of the referent.
|
||||
aliases:
|
||||
- namespace
|
||||
triggered_by_image_resource_version:
|
||||
description:
|
||||
- Specific resourceVersion to which this reference is made, if any.
|
||||
aliases:
|
||||
- resource_version
|
||||
triggered_by_image_uid:
|
||||
description:
|
||||
- UID of the referent.
|
||||
aliases:
|
||||
- uid
|
||||
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_request:
|
||||
type: complex
|
||||
returned: on success
|
||||
contains:
|
||||
_from:
|
||||
description:
|
||||
- from is the reference to the ImageStreamTag that triggered the 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
|
||||
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
|
||||
binary:
|
||||
description:
|
||||
- binary indicates a request to build from a binary provided to the builder
|
||||
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
|
||||
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
|
||||
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
|
||||
last_version:
|
||||
description:
|
||||
- lastVersion (optional) is the LastVersion of the BuildConfig that was used
|
||||
to generate the build. If the BuildConfig in the generator doesn't match,
|
||||
a build will not be generated.
|
||||
type: int
|
||||
metadata:
|
||||
description:
|
||||
- metadata for BuildRequest.
|
||||
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
|
||||
revision:
|
||||
description:
|
||||
- revision is the information from the source for a specific repo snapshot.
|
||||
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
|
||||
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
|
||||
triggered_by_image:
|
||||
description:
|
||||
- triggeredByImage is the Image that triggered 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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('build_request', '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()
|
||||
|
||||
322
library/k8s_v1_cluster_network.py
Normal file
322
library/k8s_v1_cluster_network.py
Normal file
@@ -0,0 +1,322 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_cluster_network
|
||||
short_description: Kubernetes ClusterNetwork
|
||||
description:
|
||||
- Manage the lifecycle of a cluster_network 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.
|
||||
hostsubnetlength:
|
||||
description:
|
||||
- HostSubnetLength is the number of bits of network to allocate to each node.
|
||||
eg, 8 would mean that each node would have a /24 slice of the overlay network
|
||||
for its pods
|
||||
type: int
|
||||
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.
|
||||
network:
|
||||
description:
|
||||
- Network is a CIDR string specifying the global overlay network's L3 space
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
plugin_name:
|
||||
description:
|
||||
- PluginName is the name of the network plugin being used
|
||||
service_network:
|
||||
description:
|
||||
- ServiceNetwork is the CIDR range that Service IP addresses are allocated from
|
||||
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
|
||||
cluster_network:
|
||||
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
|
||||
hostsubnetlength:
|
||||
description:
|
||||
- HostSubnetLength is the number of bits of network to allocate to each node.
|
||||
eg, 8 would mean that each node would have a /24 slice of the overlay network
|
||||
for its pods
|
||||
type: int
|
||||
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
|
||||
network:
|
||||
description:
|
||||
- Network is a CIDR string specifying the global overlay network's L3 space
|
||||
type: str
|
||||
plugin_name:
|
||||
description:
|
||||
- PluginName is the name of the network plugin being used
|
||||
type: str
|
||||
service_network:
|
||||
description:
|
||||
- ServiceNetwork is the CIDR range that Service IP addresses are allocated from
|
||||
type: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('cluster_network', '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()
|
||||
|
||||
329
library/k8s_v1_cluster_network_list.py
Normal file
329
library/k8s_v1_cluster_network_list.py
Normal file
@@ -0,0 +1,329 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_cluster_network_list
|
||||
short_description: Kubernetes ClusterNetworkList
|
||||
description:
|
||||
- Retrieve a list of cluster_networks. List operations provide a snapshot read of
|
||||
the underlying objects, returning a resource_version representing a consistent version
|
||||
of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
cluster_network_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is the list of cluster networks
|
||||
type: list
|
||||
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
|
||||
hostsubnetlength:
|
||||
description:
|
||||
- HostSubnetLength is the number of bits of network to allocate to each
|
||||
node. eg, 8 would mean that each node would have a /24 slice of the overlay
|
||||
network for its pods
|
||||
type: int
|
||||
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
|
||||
network:
|
||||
description:
|
||||
- Network is a CIDR string specifying the global overlay network's L3 space
|
||||
type: str
|
||||
plugin_name:
|
||||
description:
|
||||
- PluginName is the name of the network plugin being used
|
||||
type: str
|
||||
service_network:
|
||||
description:
|
||||
- ServiceNetwork is the CIDR range that Service IP addresses are allocated
|
||||
from
|
||||
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:
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('cluster_network_list', '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()
|
||||
|
||||
540
library/k8s_v1_cluster_policy.py
Normal file
540
library/k8s_v1_cluster_policy.py
Normal file
@@ -0,0 +1,540 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_cluster_policy
|
||||
short_description: Kubernetes ClusterPolicy
|
||||
description:
|
||||
- Manage the lifecycle of a cluster_policy 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).
|
||||
roles:
|
||||
description:
|
||||
- Roles holds all the ClusterRoles held by this ClusterPolicy, mapped by ClusterRole.Name
|
||||
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
|
||||
cluster_policy:
|
||||
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
|
||||
last_modified:
|
||||
description:
|
||||
- LastModified is the last time that any part of the ClusterPolicy was created,
|
||||
updated, or deleted
|
||||
type: complex
|
||||
contains: {}
|
||||
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
|
||||
roles:
|
||||
description:
|
||||
- Roles holds all the ClusterRoles held by this ClusterPolicy, mapped by ClusterRole.Name
|
||||
type: list
|
||||
contains:
|
||||
name:
|
||||
description:
|
||||
- Name is the name of the cluster role
|
||||
type: str
|
||||
role:
|
||||
description:
|
||||
- Role is the cluster role being named
|
||||
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
|
||||
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
|
||||
rules:
|
||||
description:
|
||||
- Rules holds all the PolicyRules for this ClusterRole
|
||||
type: list
|
||||
contains:
|
||||
api_groups:
|
||||
description:
|
||||
- APIGroups is the name of the APIGroup that contains the resources.
|
||||
If this field is empty, then both kubernetes and origin API groups
|
||||
are assumed. That means that if an action is requested against
|
||||
one of the enumerated resources in either the kubernetes or the
|
||||
origin API group, the request will be allowed
|
||||
type: list
|
||||
contains: str
|
||||
attribute_restrictions:
|
||||
description:
|
||||
- AttributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder
|
||||
pair supports. If the Authorizer does not recognize how to handle
|
||||
the AttributeRestrictions, the Authorizer should report an error.
|
||||
type: complex
|
||||
contains:
|
||||
raw:
|
||||
description:
|
||||
- Raw is the underlying serialization of this object.
|
||||
type: str
|
||||
non_resource_ur_ls:
|
||||
description:
|
||||
- NonResourceURLsSlice is a set of partial urls that a user should
|
||||
have access to. *s are allowed, but only as the full, final step
|
||||
in the path This name is intentionally different than the internal
|
||||
type so that the DefaultConvert works nicely and because the ordering
|
||||
may be different.
|
||||
type: list
|
||||
contains: str
|
||||
resource_names:
|
||||
description:
|
||||
- ResourceNames is an optional white list of names that the rule
|
||||
applies to. An empty set means that everything is allowed.
|
||||
type: list
|
||||
contains: str
|
||||
resources:
|
||||
description:
|
||||
- Resources is a list of resources this rule applies to. ResourceAll
|
||||
represents all resources.
|
||||
type: list
|
||||
contains: str
|
||||
verbs:
|
||||
description:
|
||||
- Verbs is a list of Verbs that apply to ALL the ResourceKinds and
|
||||
AttributeRestrictions contained in this rule. VerbAll represents
|
||||
all kinds.
|
||||
type: list
|
||||
contains: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('cluster_policy', '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()
|
||||
|
||||
676
library/k8s_v1_cluster_policy_binding.py
Normal file
676
library/k8s_v1_cluster_policy_binding.py
Normal file
@@ -0,0 +1,676 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_cluster_policy_binding
|
||||
short_description: Kubernetes ClusterPolicyBinding
|
||||
description:
|
||||
- Manage the lifecycle of a cluster_policy_binding 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).
|
||||
policy_ref_api_version:
|
||||
description:
|
||||
- API version of the referent.
|
||||
aliases:
|
||||
- api_version
|
||||
policy_ref_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:
|
||||
- field_path
|
||||
policy_ref_kind:
|
||||
description:
|
||||
- Kind of the referent.
|
||||
aliases:
|
||||
- kind
|
||||
policy_ref_name:
|
||||
description:
|
||||
- Name of the referent.
|
||||
aliases:
|
||||
- name
|
||||
policy_ref_namespace:
|
||||
description:
|
||||
- Namespace of the referent.
|
||||
aliases:
|
||||
- namespace
|
||||
policy_ref_resource_version:
|
||||
description:
|
||||
- Specific resourceVersion to which this reference is made, if any.
|
||||
aliases:
|
||||
- resource_version
|
||||
policy_ref_uid:
|
||||
description:
|
||||
- UID of the referent.
|
||||
aliases:
|
||||
- uid
|
||||
role_bindings:
|
||||
description:
|
||||
- RoleBindings holds all the ClusterRoleBindings held by this ClusterPolicyBinding,
|
||||
mapped by ClusterRoleBinding.Name
|
||||
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
|
||||
cluster_policy_binding:
|
||||
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
|
||||
last_modified:
|
||||
description:
|
||||
- LastModified is the last time that any part of the ClusterPolicyBinding was
|
||||
created, updated, or deleted
|
||||
type: complex
|
||||
contains: {}
|
||||
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
|
||||
policy_ref:
|
||||
description:
|
||||
- PolicyRef is a reference to the ClusterPolicy that contains all the ClusterRoles
|
||||
that this ClusterPolicyBinding's RoleBindings may reference
|
||||
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
|
||||
role_bindings:
|
||||
description:
|
||||
- RoleBindings holds all the ClusterRoleBindings held by this ClusterPolicyBinding,
|
||||
mapped by ClusterRoleBinding.Name
|
||||
type: list
|
||||
contains:
|
||||
name:
|
||||
description:
|
||||
- Name is the name of the cluster role binding
|
||||
type: str
|
||||
role_binding:
|
||||
description:
|
||||
- RoleBinding is the cluster role binding being named
|
||||
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
|
||||
group_names:
|
||||
description:
|
||||
- GroupNames holds all the groups directly bound to the role. This field
|
||||
should only be specified when supporting legacy clients and servers.
|
||||
See Subjects for further details.
|
||||
type: list
|
||||
contains: 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
|
||||
role_ref:
|
||||
description:
|
||||
- RoleRef can only reference the current namespace and the global namespace.
|
||||
If the ClusterRoleRef cannot be resolved, the Authorizer must return
|
||||
an error. Since Policy is a singleton, this is sufficient knowledge
|
||||
to locate a role.
|
||||
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
|
||||
subjects:
|
||||
description:
|
||||
- Subjects hold object references to authorize with this rule. This
|
||||
field is ignored if UserNames or GroupNames are specified to support
|
||||
legacy clients and servers. Thus newer clients that do not need to
|
||||
support backwards compatibility should send only fully qualified Subjects
|
||||
and should omit the UserNames and GroupNames fields. Clients that
|
||||
need to support backwards compatibility can use this field to build
|
||||
the UserNames and GroupNames.
|
||||
type: list
|
||||
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
|
||||
user_names:
|
||||
description:
|
||||
- UserNames holds all the usernames directly bound to the role. This
|
||||
field should only be specified when supporting legacy clients and
|
||||
servers. See Subjects for further details.
|
||||
type: list
|
||||
contains: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('cluster_policy_binding', '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()
|
||||
|
||||
663
library/k8s_v1_cluster_policy_binding_list.py
Normal file
663
library/k8s_v1_cluster_policy_binding_list.py
Normal file
@@ -0,0 +1,663 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_cluster_policy_binding_list
|
||||
short_description: Kubernetes ClusterPolicyBindingList
|
||||
description:
|
||||
- Retrieve a list of cluster_policy_bindings. List operations provide a snapshot read
|
||||
of the underlying objects, returning a resource_version representing a consistent
|
||||
version of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
cluster_policy_binding_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is a list of ClusterPolicyBindings
|
||||
type: list
|
||||
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
|
||||
last_modified:
|
||||
description:
|
||||
- LastModified is the last time that any part of the ClusterPolicyBinding
|
||||
was created, updated, or deleted
|
||||
type: complex
|
||||
contains: {}
|
||||
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
|
||||
policy_ref:
|
||||
description:
|
||||
- PolicyRef is a reference to the ClusterPolicy that contains all the ClusterRoles
|
||||
that this ClusterPolicyBinding's RoleBindings may reference
|
||||
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
|
||||
role_bindings:
|
||||
description:
|
||||
- RoleBindings holds all the ClusterRoleBindings held by this ClusterPolicyBinding,
|
||||
mapped by ClusterRoleBinding.Name
|
||||
type: list
|
||||
contains:
|
||||
name:
|
||||
description:
|
||||
- Name is the name of the cluster role binding
|
||||
type: str
|
||||
role_binding:
|
||||
description:
|
||||
- RoleBinding is the cluster role binding being named
|
||||
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
|
||||
group_names:
|
||||
description:
|
||||
- GroupNames holds all the groups directly bound to the role. This
|
||||
field should only be specified when supporting legacy clients
|
||||
and servers. See Subjects for further details.
|
||||
type: list
|
||||
contains: 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
|
||||
role_ref:
|
||||
description:
|
||||
- RoleRef can only reference the current namespace and the global
|
||||
namespace. If the ClusterRoleRef cannot be resolved, the Authorizer
|
||||
must return an error. Since Policy is a singleton, this is sufficient
|
||||
knowledge to locate a role.
|
||||
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
|
||||
subjects:
|
||||
description:
|
||||
- Subjects hold object references to authorize with this rule. This
|
||||
field is ignored if UserNames or GroupNames are specified to support
|
||||
legacy clients and servers. Thus newer clients that do not need
|
||||
to support backwards compatibility should send only fully qualified
|
||||
Subjects and should omit the UserNames and GroupNames fields.
|
||||
Clients that need to support backwards compatibility can use this
|
||||
field to build the UserNames and GroupNames.
|
||||
type: list
|
||||
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
|
||||
user_names:
|
||||
description:
|
||||
- UserNames holds all the usernames directly bound to the role.
|
||||
This field should only be specified when supporting legacy clients
|
||||
and servers. See Subjects for further details.
|
||||
type: list
|
||||
contains: 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:
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('cluster_policy_binding_list', '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()
|
||||
|
||||
566
library/k8s_v1_cluster_policy_list.py
Normal file
566
library/k8s_v1_cluster_policy_list.py
Normal file
@@ -0,0 +1,566 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_cluster_policy_list
|
||||
short_description: Kubernetes ClusterPolicyList
|
||||
description:
|
||||
- Retrieve a list of cluster_policys. List operations provide a snapshot read of the
|
||||
underlying objects, returning a resource_version representing a consistent version
|
||||
of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
cluster_policy_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is a list of ClusterPolicies
|
||||
type: list
|
||||
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
|
||||
last_modified:
|
||||
description:
|
||||
- LastModified is the last time that any part of the ClusterPolicy was created,
|
||||
updated, or deleted
|
||||
type: complex
|
||||
contains: {}
|
||||
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
|
||||
roles:
|
||||
description:
|
||||
- Roles holds all the ClusterRoles held by this ClusterPolicy, mapped by
|
||||
ClusterRole.Name
|
||||
type: list
|
||||
contains:
|
||||
name:
|
||||
description:
|
||||
- Name is the name of the cluster role
|
||||
type: str
|
||||
role:
|
||||
description:
|
||||
- Role is the cluster role being named
|
||||
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
|
||||
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
|
||||
rules:
|
||||
description:
|
||||
- Rules holds all the PolicyRules for this ClusterRole
|
||||
type: list
|
||||
contains:
|
||||
api_groups:
|
||||
description:
|
||||
- APIGroups is the name of the APIGroup that contains the resources.
|
||||
If this field is empty, then both kubernetes and origin API
|
||||
groups are assumed. That means that if an action is requested
|
||||
against one of the enumerated resources in either the kubernetes
|
||||
or the origin API group, the request will be allowed
|
||||
type: list
|
||||
contains: str
|
||||
attribute_restrictions:
|
||||
description:
|
||||
- AttributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder
|
||||
pair supports. If the Authorizer does not recognize how to
|
||||
handle the AttributeRestrictions, the Authorizer should report
|
||||
an error.
|
||||
type: complex
|
||||
contains:
|
||||
raw:
|
||||
description:
|
||||
- Raw is the underlying serialization of this object.
|
||||
type: str
|
||||
non_resource_ur_ls:
|
||||
description:
|
||||
- NonResourceURLsSlice is a set of partial urls that a user
|
||||
should have access to. *s are allowed, but only as the full,
|
||||
final step in the path This name is intentionally different
|
||||
than the internal type so that the DefaultConvert works nicely
|
||||
and because the ordering may be different.
|
||||
type: list
|
||||
contains: str
|
||||
resource_names:
|
||||
description:
|
||||
- ResourceNames is an optional white list of names that the
|
||||
rule applies to. An empty set means that everything is allowed.
|
||||
type: list
|
||||
contains: str
|
||||
resources:
|
||||
description:
|
||||
- Resources is a list of resources this rule applies to. ResourceAll
|
||||
represents all resources.
|
||||
type: list
|
||||
contains: str
|
||||
verbs:
|
||||
description:
|
||||
- Verbs is a list of Verbs that apply to ALL the ResourceKinds
|
||||
and AttributeRestrictions contained in this rule. VerbAll
|
||||
represents all kinds.
|
||||
type: list
|
||||
contains: 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:
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('cluster_policy_list', '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()
|
||||
|
||||
443
library/k8s_v1_cluster_resource_quota.py
Normal file
443
library/k8s_v1_cluster_resource_quota.py
Normal file
@@ -0,0 +1,443 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_cluster_resource_quota
|
||||
short_description: Kubernetes ClusterResourceQuota
|
||||
description:
|
||||
- Manage the lifecycle of a cluster_resource_quota 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_quota_hard:
|
||||
description:
|
||||
- Hard is the set of desired hard limits for each named resource.
|
||||
aliases:
|
||||
- quota_hard
|
||||
type: dict
|
||||
spec_quota_scopes:
|
||||
description:
|
||||
- A collection of filters that must match each object tracked by a quota. If not
|
||||
specified, the quota matches all objects.
|
||||
aliases:
|
||||
- quota_scopes
|
||||
type: list
|
||||
spec_selector_annotations:
|
||||
description:
|
||||
- AnnotationSelector is used to select projects by annotation.
|
||||
aliases:
|
||||
- selector_annotations
|
||||
type: dict
|
||||
spec_selector_labels_match_expressions:
|
||||
description:
|
||||
- matchExpressions is a list of label selector requirements. The requirements
|
||||
are ANDed.
|
||||
aliases:
|
||||
- selector_labels_match_expressions
|
||||
type: list
|
||||
spec_selector_labels_match_labels:
|
||||
description:
|
||||
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
|
||||
map is equivalent to an element of matchExpressions, whose key field is "key",
|
||||
the operator is "In", and the values array contains only "value". The requirements
|
||||
are ANDed.
|
||||
aliases:
|
||||
- selector_labels_match_labels
|
||||
type: dict
|
||||
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
|
||||
cluster_resource_quota:
|
||||
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 defines the desired quota
|
||||
type: complex
|
||||
contains:
|
||||
quota:
|
||||
description:
|
||||
- Quota defines the desired quota
|
||||
type: complex
|
||||
contains:
|
||||
hard:
|
||||
description:
|
||||
- Hard is the set of desired hard limits for each named resource.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
scopes:
|
||||
description:
|
||||
- A collection of filters that must match each object tracked by a quota.
|
||||
If not specified, the quota matches all objects.
|
||||
type: list
|
||||
contains: str
|
||||
selector:
|
||||
description:
|
||||
- Selector is the selector used to match projects. It should only select
|
||||
active projects on the scale of dozens (though it can select many more
|
||||
less active projects). These projects will contend on object creation
|
||||
through this resource.
|
||||
type: complex
|
||||
contains:
|
||||
annotations:
|
||||
description:
|
||||
- AnnotationSelector is used to select projects by annotation.
|
||||
type: complex
|
||||
contains: str, str
|
||||
labels:
|
||||
description:
|
||||
- LabelSelector is used to select projects by label.
|
||||
type: complex
|
||||
contains:
|
||||
match_expressions:
|
||||
description:
|
||||
- matchExpressions is a list of label selector requirements. The
|
||||
requirements are ANDed.
|
||||
type: list
|
||||
contains:
|
||||
key:
|
||||
description:
|
||||
- key is the label key that the selector applies to.
|
||||
type: str
|
||||
operator:
|
||||
description:
|
||||
- operator represents a key's relationship to a set of values.
|
||||
Valid operators ard In, NotIn, Exists and DoesNotExist.
|
||||
type: str
|
||||
values:
|
||||
description:
|
||||
- values is an array of string values. If the operator is In
|
||||
or NotIn, the values array must be non-empty. If the operator
|
||||
is Exists or DoesNotExist, the values array must be empty.
|
||||
This array is replaced during a strategic merge patch.
|
||||
type: list
|
||||
contains: str
|
||||
match_labels:
|
||||
description:
|
||||
- matchLabels is a map of {key,value} pairs. A single {key,value}
|
||||
in the matchLabels map is equivalent to an element of matchExpressions,
|
||||
whose key field is "key", the operator is "In", and the values
|
||||
array contains only "value". The requirements are ANDed.
|
||||
type: complex
|
||||
contains: str, str
|
||||
status:
|
||||
description:
|
||||
- Status defines the actual enforced quota and its current usage
|
||||
type: complex
|
||||
contains:
|
||||
namespaces:
|
||||
description:
|
||||
- Namespaces slices the usage by project. This division allows for quick
|
||||
resolution of deletion reconciliation inside of a single project without
|
||||
requiring a recalculation across all projects. This can be used to pull
|
||||
the deltas for a given project.
|
||||
type: list
|
||||
contains:
|
||||
namespace:
|
||||
description:
|
||||
- Namespace the project this status applies to
|
||||
type: str
|
||||
status:
|
||||
description:
|
||||
- Status indicates how many resources have been consumed by this project
|
||||
type: complex
|
||||
contains:
|
||||
hard:
|
||||
description:
|
||||
- Hard is the set of enforced hard limits for each named resource.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
used:
|
||||
description:
|
||||
- Used is the current observed total usage of the resource in the
|
||||
namespace.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
total:
|
||||
description:
|
||||
- Total defines the actual enforced quota and its current usage across all
|
||||
projects
|
||||
type: complex
|
||||
contains:
|
||||
hard:
|
||||
description:
|
||||
- Hard is the set of enforced hard limits for each named resource.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
used:
|
||||
description:
|
||||
- Used is the current observed total usage of the resource in the namespace.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('cluster_resource_quota', '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()
|
||||
|
||||
432
library/k8s_v1_cluster_resource_quota_list.py
Normal file
432
library/k8s_v1_cluster_resource_quota_list.py
Normal file
@@ -0,0 +1,432 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_cluster_resource_quota_list
|
||||
short_description: Kubernetes ClusterResourceQuotaList
|
||||
description:
|
||||
- Retrieve a list of cluster_resource_quotas. List operations provide a snapshot read
|
||||
of the underlying objects, returning a resource_version representing a consistent
|
||||
version of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
cluster_resource_quota_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is a list of ClusterResourceQuotas
|
||||
type: list
|
||||
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 defines the desired quota
|
||||
type: complex
|
||||
contains:
|
||||
quota:
|
||||
description:
|
||||
- Quota defines the desired quota
|
||||
type: complex
|
||||
contains:
|
||||
hard:
|
||||
description:
|
||||
- Hard is the set of desired hard limits for each named resource.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
scopes:
|
||||
description:
|
||||
- A collection of filters that must match each object tracked by
|
||||
a quota. If not specified, the quota matches all objects.
|
||||
type: list
|
||||
contains: str
|
||||
selector:
|
||||
description:
|
||||
- Selector is the selector used to match projects. It should only select
|
||||
active projects on the scale of dozens (though it can select many
|
||||
more less active projects). These projects will contend on object
|
||||
creation through this resource.
|
||||
type: complex
|
||||
contains:
|
||||
annotations:
|
||||
description:
|
||||
- AnnotationSelector is used to select projects by annotation.
|
||||
type: complex
|
||||
contains: str, str
|
||||
labels:
|
||||
description:
|
||||
- LabelSelector is used to select projects by label.
|
||||
type: complex
|
||||
contains:
|
||||
match_expressions:
|
||||
description:
|
||||
- matchExpressions is a list of label selector requirements.
|
||||
The requirements are ANDed.
|
||||
type: list
|
||||
contains:
|
||||
key:
|
||||
description:
|
||||
- key is the label key that the selector applies to.
|
||||
type: str
|
||||
operator:
|
||||
description:
|
||||
- operator represents a key's relationship to a set of values.
|
||||
Valid operators ard In, NotIn, Exists and DoesNotExist.
|
||||
type: str
|
||||
values:
|
||||
description:
|
||||
- values is an array of string values. If the operator is
|
||||
In or NotIn, the values array must be non-empty. If the
|
||||
operator is Exists or DoesNotExist, the values array must
|
||||
be empty. This array is replaced during a strategic merge
|
||||
patch.
|
||||
type: list
|
||||
contains: str
|
||||
match_labels:
|
||||
description:
|
||||
- matchLabels is a map of {key,value} pairs. A single {key,value}
|
||||
in the matchLabels map is equivalent to an element of matchExpressions,
|
||||
whose key field is "key", the operator is "In", and the values
|
||||
array contains only "value". The requirements are ANDed.
|
||||
type: complex
|
||||
contains: str, str
|
||||
status:
|
||||
description:
|
||||
- Status defines the actual enforced quota and its current usage
|
||||
type: complex
|
||||
contains:
|
||||
namespaces:
|
||||
description:
|
||||
- Namespaces slices the usage by project. This division allows for quick
|
||||
resolution of deletion reconciliation inside of a single project without
|
||||
requiring a recalculation across all projects. This can be used to
|
||||
pull the deltas for a given project.
|
||||
type: list
|
||||
contains:
|
||||
namespace:
|
||||
description:
|
||||
- Namespace the project this status applies to
|
||||
type: str
|
||||
status:
|
||||
description:
|
||||
- Status indicates how many resources have been consumed by this
|
||||
project
|
||||
type: complex
|
||||
contains:
|
||||
hard:
|
||||
description:
|
||||
- Hard is the set of enforced hard limits for each named resource.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
used:
|
||||
description:
|
||||
- Used is the current observed total usage of the resource in
|
||||
the namespace.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
total:
|
||||
description:
|
||||
- Total defines the actual enforced quota and its current usage across
|
||||
all projects
|
||||
type: complex
|
||||
contains:
|
||||
hard:
|
||||
description:
|
||||
- Hard is the set of enforced hard limits for each named resource.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
used:
|
||||
description:
|
||||
- Used is the current observed total usage of the resource in the
|
||||
namespace.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
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:
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('cluster_resource_quota_list', '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()
|
||||
|
||||
344
library/k8s_v1_cluster_role.py
Normal file
344
library/k8s_v1_cluster_role.py
Normal file
@@ -0,0 +1,344 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_cluster_role
|
||||
short_description: Kubernetes ClusterRole
|
||||
description:
|
||||
- Manage the lifecycle of a cluster_role 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).
|
||||
rules:
|
||||
description:
|
||||
- Rules holds all the PolicyRules for this ClusterRole
|
||||
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
|
||||
cluster_role:
|
||||
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
|
||||
rules:
|
||||
description:
|
||||
- Rules holds all the PolicyRules for this ClusterRole
|
||||
type: list
|
||||
contains:
|
||||
api_groups:
|
||||
description:
|
||||
- APIGroups is the name of the APIGroup that contains the resources. If
|
||||
this field is empty, then both kubernetes and origin API groups are assumed.
|
||||
That means that if an action is requested against one of the enumerated
|
||||
resources in either the kubernetes or the origin API group, the request
|
||||
will be allowed
|
||||
type: list
|
||||
contains: str
|
||||
attribute_restrictions:
|
||||
description:
|
||||
- AttributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder
|
||||
pair supports. If the Authorizer does not recognize how to handle the
|
||||
AttributeRestrictions, the Authorizer should report an error.
|
||||
type: complex
|
||||
contains:
|
||||
raw:
|
||||
description:
|
||||
- Raw is the underlying serialization of this object.
|
||||
type: str
|
||||
non_resource_ur_ls:
|
||||
description:
|
||||
- NonResourceURLsSlice is a set of partial urls that a user should have
|
||||
access to. *s are allowed, but only as the full, final step in the path
|
||||
This name is intentionally different than the internal type so that the
|
||||
DefaultConvert works nicely and because the ordering may be different.
|
||||
type: list
|
||||
contains: str
|
||||
resource_names:
|
||||
description:
|
||||
- ResourceNames is an optional white list of names that the rule applies
|
||||
to. An empty set means that everything is allowed.
|
||||
type: list
|
||||
contains: str
|
||||
resources:
|
||||
description:
|
||||
- Resources is a list of resources this rule applies to. ResourceAll represents
|
||||
all resources.
|
||||
type: list
|
||||
contains: str
|
||||
verbs:
|
||||
description:
|
||||
- Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions
|
||||
contained in this rule. VerbAll represents all kinds.
|
||||
type: list
|
||||
contains: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('cluster_role', '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()
|
||||
|
||||
452
library/k8s_v1_cluster_role_binding.py
Normal file
452
library/k8s_v1_cluster_role_binding.py
Normal file
@@ -0,0 +1,452 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_cluster_role_binding
|
||||
short_description: Kubernetes ClusterRoleBinding
|
||||
description:
|
||||
- Manage the lifecycle of a cluster_role_binding 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
|
||||
group_names:
|
||||
description:
|
||||
- GroupNames holds all the groups directly bound to the role. This field should
|
||||
only be specified when supporting legacy clients and servers. See Subjects for
|
||||
further details.
|
||||
type: list
|
||||
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).
|
||||
role_ref_api_version:
|
||||
description:
|
||||
- API version of the referent.
|
||||
aliases:
|
||||
- api_version
|
||||
role_ref_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:
|
||||
- field_path
|
||||
role_ref_kind:
|
||||
description:
|
||||
- Kind of the referent.
|
||||
aliases:
|
||||
- kind
|
||||
role_ref_name:
|
||||
description:
|
||||
- Name of the referent.
|
||||
aliases:
|
||||
- name
|
||||
role_ref_namespace:
|
||||
description:
|
||||
- Namespace of the referent.
|
||||
aliases:
|
||||
- namespace
|
||||
role_ref_resource_version:
|
||||
description:
|
||||
- Specific resourceVersion to which this reference is made, if any.
|
||||
aliases:
|
||||
- resource_version
|
||||
role_ref_uid:
|
||||
description:
|
||||
- UID of the referent.
|
||||
aliases:
|
||||
- uid
|
||||
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
|
||||
subjects:
|
||||
description:
|
||||
- Subjects hold object references to authorize with this rule. This field is ignored
|
||||
if UserNames or GroupNames are specified to support legacy clients and servers.
|
||||
Thus newer clients that do not need to support backwards compatibility should
|
||||
send only fully qualified Subjects and should omit the UserNames and GroupNames
|
||||
fields. Clients that need to support backwards compatibility can use this field
|
||||
to build the UserNames and GroupNames.
|
||||
type: list
|
||||
user_names:
|
||||
description:
|
||||
- UserNames holds all the usernames directly bound to the role. This field should
|
||||
only be specified when supporting legacy clients and servers. See Subjects for
|
||||
further details.
|
||||
type: list
|
||||
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
|
||||
cluster_role_binding:
|
||||
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
|
||||
group_names:
|
||||
description:
|
||||
- GroupNames holds all the groups directly bound to the role. This field should
|
||||
only be specified when supporting legacy clients and servers. See Subjects
|
||||
for further details.
|
||||
type: list
|
||||
contains: 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
|
||||
role_ref:
|
||||
description:
|
||||
- RoleRef can only reference the current namespace and the global namespace.
|
||||
If the ClusterRoleRef cannot be resolved, the Authorizer must return an error.
|
||||
Since Policy is a singleton, this is sufficient knowledge to locate a role.
|
||||
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
|
||||
subjects:
|
||||
description:
|
||||
- Subjects hold object references to authorize with this rule. This field is
|
||||
ignored if UserNames or GroupNames are specified to support legacy clients
|
||||
and servers. Thus newer clients that do not need to support backwards compatibility
|
||||
should send only fully qualified Subjects and should omit the UserNames and
|
||||
GroupNames fields. Clients that need to support backwards compatibility can
|
||||
use this field to build the UserNames and GroupNames.
|
||||
type: list
|
||||
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
|
||||
user_names:
|
||||
description:
|
||||
- UserNames holds all the usernames directly bound to the role. This field should
|
||||
only be specified when supporting legacy clients and servers. See Subjects
|
||||
for further details.
|
||||
type: list
|
||||
contains: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('cluster_role_binding', '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()
|
||||
|
||||
414
library/k8s_v1_cluster_role_binding_list.py
Normal file
414
library/k8s_v1_cluster_role_binding_list.py
Normal file
@@ -0,0 +1,414 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_cluster_role_binding_list
|
||||
short_description: Kubernetes ClusterRoleBindingList
|
||||
description:
|
||||
- Retrieve a list of cluster_role_bindings. List operations provide a snapshot read
|
||||
of the underlying objects, returning a resource_version representing a consistent
|
||||
version of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
cluster_role_binding_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is a list of ClusterRoleBindings
|
||||
type: list
|
||||
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
|
||||
group_names:
|
||||
description:
|
||||
- GroupNames holds all the groups directly bound to the role. This field
|
||||
should only be specified when supporting legacy clients and servers. See
|
||||
Subjects for further details.
|
||||
type: list
|
||||
contains: 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
|
||||
role_ref:
|
||||
description:
|
||||
- RoleRef can only reference the current namespace and the global namespace.
|
||||
If the ClusterRoleRef cannot be resolved, the Authorizer must return an
|
||||
error. Since Policy is a singleton, this is sufficient knowledge to locate
|
||||
a role.
|
||||
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
|
||||
subjects:
|
||||
description:
|
||||
- Subjects hold object references to authorize with this rule. This field
|
||||
is ignored if UserNames or GroupNames are specified to support legacy
|
||||
clients and servers. Thus newer clients that do not need to support backwards
|
||||
compatibility should send only fully qualified Subjects and should omit
|
||||
the UserNames and GroupNames fields. Clients that need to support backwards
|
||||
compatibility can use this field to build the UserNames and GroupNames.
|
||||
type: list
|
||||
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
|
||||
user_names:
|
||||
description:
|
||||
- UserNames holds all the usernames directly bound to the role. This field
|
||||
should only be specified when supporting legacy clients and servers. See
|
||||
Subjects for further details.
|
||||
type: list
|
||||
contains: 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:
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('cluster_role_binding_list', '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()
|
||||
|
||||
362
library/k8s_v1_cluster_role_list.py
Normal file
362
library/k8s_v1_cluster_role_list.py
Normal file
@@ -0,0 +1,362 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_cluster_role_list
|
||||
short_description: Kubernetes ClusterRoleList
|
||||
description:
|
||||
- Retrieve a list of cluster_roles. List operations provide a snapshot read of the
|
||||
underlying objects, returning a resource_version representing a consistent version
|
||||
of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
cluster_role_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is a list of ClusterRoles
|
||||
type: list
|
||||
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
|
||||
rules:
|
||||
description:
|
||||
- Rules holds all the PolicyRules for this ClusterRole
|
||||
type: list
|
||||
contains:
|
||||
api_groups:
|
||||
description:
|
||||
- APIGroups is the name of the APIGroup that contains the resources.
|
||||
If this field is empty, then both kubernetes and origin API groups
|
||||
are assumed. That means that if an action is requested against one
|
||||
of the enumerated resources in either the kubernetes or the origin
|
||||
API group, the request will be allowed
|
||||
type: list
|
||||
contains: str
|
||||
attribute_restrictions:
|
||||
description:
|
||||
- AttributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder
|
||||
pair supports. If the Authorizer does not recognize how to handle
|
||||
the AttributeRestrictions, the Authorizer should report an error.
|
||||
type: complex
|
||||
contains:
|
||||
raw:
|
||||
description:
|
||||
- Raw is the underlying serialization of this object.
|
||||
type: str
|
||||
non_resource_ur_ls:
|
||||
description:
|
||||
- NonResourceURLsSlice is a set of partial urls that a user should have
|
||||
access to. *s are allowed, but only as the full, final step in the
|
||||
path This name is intentionally different than the internal type so
|
||||
that the DefaultConvert works nicely and because the ordering may
|
||||
be different.
|
||||
type: list
|
||||
contains: str
|
||||
resource_names:
|
||||
description:
|
||||
- ResourceNames is an optional white list of names that the rule applies
|
||||
to. An empty set means that everything is allowed.
|
||||
type: list
|
||||
contains: str
|
||||
resources:
|
||||
description:
|
||||
- Resources is a list of resources this rule applies to. ResourceAll
|
||||
represents all resources.
|
||||
type: list
|
||||
contains: str
|
||||
verbs:
|
||||
description:
|
||||
- Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions
|
||||
contained in this rule. VerbAll represents all kinds.
|
||||
type: list
|
||||
contains: 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:
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('cluster_role_list', '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()
|
||||
|
||||
305
library/k8s_v1_component_status.py
Normal file
305
library/k8s_v1_component_status.py
Normal file
@@ -0,0 +1,305 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_component_status
|
||||
short_description: Kubernetes ComponentStatus
|
||||
description:
|
||||
- Manage the lifecycle of a component_status 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
|
||||
conditions:
|
||||
description:
|
||||
- List of component conditions observed
|
||||
type: list
|
||||
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).
|
||||
ssl_ca_cert:
|
||||
description:
|
||||
- Path to a CA certificate used to authenticate with the API.
|
||||
type: path
|
||||
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
|
||||
component_status:
|
||||
type: complex
|
||||
returned: on success
|
||||
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
|
||||
conditions:
|
||||
description:
|
||||
- List of component conditions observed
|
||||
type: list
|
||||
contains:
|
||||
error:
|
||||
description:
|
||||
- Condition error code for a component. For example, a health check error
|
||||
code.
|
||||
type: str
|
||||
message:
|
||||
description:
|
||||
- Message about the condition for a component. For example, information
|
||||
about a health check.
|
||||
type: str
|
||||
status:
|
||||
description:
|
||||
- 'Status of the condition for a component. Valid values for "Healthy":
|
||||
"True", "False", or "Unknown".'
|
||||
type: str
|
||||
type:
|
||||
description:
|
||||
- 'Type of condition for a component. Valid value: "Healthy"'
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('component_status', '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()
|
||||
|
||||
322
library/k8s_v1_component_status_list.py
Normal file
322
library/k8s_v1_component_status_list.py
Normal file
@@ -0,0 +1,322 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_component_status_list
|
||||
short_description: Kubernetes ComponentStatusList
|
||||
description:
|
||||
- Retrieve a list of component_status. List operations provide a snapshot read of
|
||||
the underlying objects, returning a resource_version representing a consistent version
|
||||
of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
ssl_ca_cert:
|
||||
description:
|
||||
- Path to a CA certificate used to authenticate with the API.
|
||||
type: path
|
||||
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
|
||||
component_status_list:
|
||||
type: complex
|
||||
returned: on success
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- List of ComponentStatus objects.
|
||||
type: list
|
||||
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
|
||||
conditions:
|
||||
description:
|
||||
- List of component conditions observed
|
||||
type: list
|
||||
contains:
|
||||
error:
|
||||
description:
|
||||
- Condition error code for a component. For example, a health check
|
||||
error code.
|
||||
type: str
|
||||
message:
|
||||
description:
|
||||
- Message about the condition for a component. For example, information
|
||||
about a health check.
|
||||
type: str
|
||||
status:
|
||||
description:
|
||||
- 'Status of the condition for a component. Valid values for "Healthy":
|
||||
"True", "False", or "Unknown".'
|
||||
type: str
|
||||
type:
|
||||
description:
|
||||
- 'Type of condition for a component. Valid value: "Healthy"'
|
||||
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
|
||||
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 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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('component_status_list', '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()
|
||||
|
||||
300
library/k8s_v1_config_map.py
Normal file
300
library/k8s_v1_config_map.py
Normal file
@@ -0,0 +1,300 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_config_map
|
||||
short_description: Kubernetes ConfigMap
|
||||
description:
|
||||
- Manage the lifecycle of a config_map 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.
|
||||
data:
|
||||
description:
|
||||
- Data contains the configuration data. Each key must be a valid DNS_SUBDOMAIN
|
||||
with an optional leading dot.
|
||||
type: dict
|
||||
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).
|
||||
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
|
||||
config_map:
|
||||
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
|
||||
data:
|
||||
description:
|
||||
- Data contains the configuration data. Each key must be a valid DNS_SUBDOMAIN
|
||||
with an optional leading dot.
|
||||
type: complex
|
||||
contains: str, 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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('config_map', '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()
|
||||
|
||||
316
library/k8s_v1_config_map_list.py
Normal file
316
library/k8s_v1_config_map_list.py
Normal file
@@ -0,0 +1,316 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_config_map_list
|
||||
short_description: Kubernetes ConfigMapList
|
||||
description:
|
||||
- Retrieve a list of config_maps. List operations provide a snapshot read of the underlying
|
||||
objects, returning a resource_version representing a consistent version of the listed
|
||||
objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
config_map_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is the list of ConfigMaps.
|
||||
type: list
|
||||
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
|
||||
data:
|
||||
description:
|
||||
- Data contains the configuration data. Each key must be a valid DNS_SUBDOMAIN
|
||||
with an optional leading dot.
|
||||
type: complex
|
||||
contains: str, 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
|
||||
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:
|
||||
- ''
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('config_map_list', '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()
|
||||
|
||||
2751
library/k8s_v1_deployment_config.py
Normal file
2751
library/k8s_v1_deployment_config.py
Normal file
File diff suppressed because it is too large
Load Diff
2431
library/k8s_v1_deployment_config_list.py
Normal file
2431
library/k8s_v1_deployment_config_list.py
Normal file
File diff suppressed because it is too large
Load Diff
257
library/k8s_v1_deployment_config_rollback.py
Normal file
257
library/k8s_v1_deployment_config_rollback.py
Normal file
@@ -0,0 +1,257 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_deployment_config_rollback
|
||||
short_description: Kubernetes DeploymentConfigRollback
|
||||
description:
|
||||
- Manage the lifecycle of a deployment_config_rollback object. Supports check mode,
|
||||
and attempts to to be idempotent.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
name:
|
||||
description:
|
||||
- Name of the deployment config that will be rolled back.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
spec__from_api_version:
|
||||
description:
|
||||
- API version of the referent.
|
||||
aliases:
|
||||
- _from_api_version
|
||||
spec__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:
|
||||
- _from_field_path
|
||||
spec__from_kind:
|
||||
description:
|
||||
- Kind of the referent.
|
||||
aliases:
|
||||
- _from_kind
|
||||
spec__from_name:
|
||||
description:
|
||||
- Name of the referent.
|
||||
aliases:
|
||||
- _from_name
|
||||
spec__from_namespace:
|
||||
description:
|
||||
- Namespace of the referent.
|
||||
aliases:
|
||||
- _from_namespace
|
||||
spec__from_resource_version:
|
||||
description:
|
||||
- Specific resourceVersion to which this reference is made, if any.
|
||||
aliases:
|
||||
- _from_resource_version
|
||||
spec__from_uid:
|
||||
description:
|
||||
- UID of the referent.
|
||||
aliases:
|
||||
- _from_uid
|
||||
spec_include_replication_meta:
|
||||
description:
|
||||
- IncludeReplicationMeta specifies whether to include the replica count and selector.
|
||||
aliases:
|
||||
- include_replication_meta
|
||||
type: bool
|
||||
spec_include_strategy:
|
||||
description:
|
||||
- IncludeStrategy specifies whether to include the deployment Strategy.
|
||||
aliases:
|
||||
- include_strategy
|
||||
type: bool
|
||||
spec_include_template:
|
||||
description:
|
||||
- IncludeTemplate specifies whether to include the PodTemplateSpec.
|
||||
aliases:
|
||||
- include_template
|
||||
type: bool
|
||||
spec_include_triggers:
|
||||
description:
|
||||
- IncludeTriggers specifies whether to include config Triggers.
|
||||
aliases:
|
||||
- include_triggers
|
||||
type: bool
|
||||
spec_revision:
|
||||
description:
|
||||
- Revision to rollback to. If set to 0, rollback to the last revision.
|
||||
aliases:
|
||||
- revision
|
||||
type: int
|
||||
ssl_ca_cert:
|
||||
description:
|
||||
- Path to a CA certificate used to authenticate with the API.
|
||||
type: path
|
||||
updated_annotations:
|
||||
description:
|
||||
- UpdatedAnnotations is a set of new annotations that will be added in the deployment
|
||||
config.
|
||||
type: dict
|
||||
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
|
||||
deployment_config_rollback:
|
||||
type: complex
|
||||
returned: on success
|
||||
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
|
||||
name:
|
||||
description:
|
||||
- Name of the deployment config that will be rolled back.
|
||||
type: str
|
||||
spec:
|
||||
description:
|
||||
- Spec defines the options to rollback generation.
|
||||
type: complex
|
||||
contains:
|
||||
_from:
|
||||
description:
|
||||
- From points to a ReplicationController which is a deployment.
|
||||
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
|
||||
include_replication_meta:
|
||||
description:
|
||||
- IncludeReplicationMeta specifies whether to include the replica count
|
||||
and selector.
|
||||
type: bool
|
||||
include_strategy:
|
||||
description:
|
||||
- IncludeStrategy specifies whether to include the deployment Strategy.
|
||||
type: bool
|
||||
include_template:
|
||||
description:
|
||||
- IncludeTemplate specifies whether to include the PodTemplateSpec.
|
||||
type: bool
|
||||
include_triggers:
|
||||
description:
|
||||
- IncludeTriggers specifies whether to include config Triggers.
|
||||
type: bool
|
||||
revision:
|
||||
description:
|
||||
- Revision to rollback to. If set to 0, rollback to the last revision.
|
||||
type: int
|
||||
updated_annotations:
|
||||
description:
|
||||
- UpdatedAnnotations is a set of new annotations that will be added in the deployment
|
||||
config.
|
||||
type: complex
|
||||
contains: str, str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('deployment_config_rollback', '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()
|
||||
|
||||
318
library/k8s_v1_egress_network_policy.py
Normal file
318
library/k8s_v1_egress_network_policy.py
Normal file
@@ -0,0 +1,318 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_egress_network_policy
|
||||
short_description: Kubernetes EgressNetworkPolicy
|
||||
description:
|
||||
- Manage the lifecycle of a egress_network_policy 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_egress:
|
||||
description:
|
||||
- egress contains the list of egress policy rules
|
||||
aliases:
|
||||
- egress
|
||||
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
|
||||
egress_network_policy:
|
||||
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:
|
||||
- metadata for EgressNetworkPolicy
|
||||
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 the specification of the current egress network policy
|
||||
type: complex
|
||||
contains:
|
||||
egress:
|
||||
description:
|
||||
- egress contains the list of egress policy rules
|
||||
type: list
|
||||
contains:
|
||||
to:
|
||||
description:
|
||||
- to is the target that traffic is allowed/denied to
|
||||
type: complex
|
||||
contains:
|
||||
cidr_selector:
|
||||
description:
|
||||
- cidrSelector is the CIDR range to allow/deny traffic to
|
||||
type: str
|
||||
type:
|
||||
description:
|
||||
- type marks this as an "Allow" or "Deny" rule
|
||||
type: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('egress_network_policy', '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()
|
||||
|
||||
333
library/k8s_v1_egress_network_policy_list.py
Normal file
333
library/k8s_v1_egress_network_policy_list.py
Normal file
@@ -0,0 +1,333 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_egress_network_policy_list
|
||||
short_description: Kubernetes EgressNetworkPolicyList
|
||||
description:
|
||||
- Retrieve a list of egress_network_policys. List operations provide a snapshot read
|
||||
of the underlying objects, returning a resource_version representing a consistent
|
||||
version of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
egress_network_policy_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- items is the list of policies
|
||||
type: list
|
||||
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:
|
||||
- metadata for EgressNetworkPolicy
|
||||
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 the specification of the current egress network policy
|
||||
type: complex
|
||||
contains:
|
||||
egress:
|
||||
description:
|
||||
- egress contains the list of egress policy rules
|
||||
type: list
|
||||
contains:
|
||||
to:
|
||||
description:
|
||||
- to is the target that traffic is allowed/denied to
|
||||
type: complex
|
||||
contains:
|
||||
cidr_selector:
|
||||
description:
|
||||
- cidrSelector is the CIDR range to allow/deny traffic to
|
||||
type: str
|
||||
type:
|
||||
description:
|
||||
- type marks this as an "Allow" or "Deny" rule
|
||||
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:
|
||||
- metadata for EgressNetworkPolicyList
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('egress_network_policy_list', '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()
|
||||
|
||||
455
library/k8s_v1_endpoints.py
Normal file
455
library/k8s_v1_endpoints.py
Normal file
@@ -0,0 +1,455 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_endpoints
|
||||
short_description: Kubernetes Endpoints
|
||||
description:
|
||||
- Manage the lifecycle of a endpoints 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).
|
||||
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
|
||||
subsets:
|
||||
description:
|
||||
- The set of all endpoints is the union of all subsets. Addresses are placed into
|
||||
subsets according to the IPs they share. A single address with multiple ports,
|
||||
some of which are ready and some of which are not (because they come from different
|
||||
containers) will result in the address being displayed in different subsets
|
||||
for the different ports. No address will appear in both Addresses and NotReadyAddresses
|
||||
in the same subset. Sets of addresses and ports that comprise a service.
|
||||
type: list
|
||||
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
|
||||
endpoints:
|
||||
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
|
||||
subsets:
|
||||
description:
|
||||
- The set of all endpoints is the union of all subsets. Addresses are placed
|
||||
into subsets according to the IPs they share. A single address with multiple
|
||||
ports, some of which are ready and some of which are not (because they come
|
||||
from different containers) will result in the address being displayed in different
|
||||
subsets for the different ports. No address will appear in both Addresses
|
||||
and NotReadyAddresses in the same subset. Sets of addresses and ports that
|
||||
comprise a service.
|
||||
type: list
|
||||
contains:
|
||||
addresses:
|
||||
description:
|
||||
- IP addresses which offer the related ports that are marked as ready. These
|
||||
endpoints should be considered safe for load balancers and clients to
|
||||
utilize.
|
||||
type: list
|
||||
contains:
|
||||
hostname:
|
||||
description:
|
||||
- The Hostname of this endpoint
|
||||
type: str
|
||||
ip:
|
||||
description:
|
||||
- The IP of this endpoint. May not be loopback (127.0.0.0/8), link-local
|
||||
(169.254.0.0/16), or link-local multicast ((224.0.0.0/24). IPv6 is
|
||||
also accepted but not fully supported on all platforms. Also, certain
|
||||
kubernetes components, like kube-proxy, are not IPv6 ready.
|
||||
type: str
|
||||
node_name:
|
||||
description:
|
||||
- 'Optional: Node hosting this endpoint. This can be used to determine
|
||||
endpoints local to a node.'
|
||||
type: str
|
||||
target_ref:
|
||||
description:
|
||||
- Reference to object providing the endpoint.
|
||||
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
|
||||
not_ready_addresses:
|
||||
description:
|
||||
- IP addresses which offer the related ports but are not currently marked
|
||||
as ready because they have not yet finished starting, have recently failed
|
||||
a readiness check, or have recently failed a liveness check.
|
||||
type: list
|
||||
contains:
|
||||
hostname:
|
||||
description:
|
||||
- The Hostname of this endpoint
|
||||
type: str
|
||||
ip:
|
||||
description:
|
||||
- The IP of this endpoint. May not be loopback (127.0.0.0/8), link-local
|
||||
(169.254.0.0/16), or link-local multicast ((224.0.0.0/24). IPv6 is
|
||||
also accepted but not fully supported on all platforms. Also, certain
|
||||
kubernetes components, like kube-proxy, are not IPv6 ready.
|
||||
type: str
|
||||
node_name:
|
||||
description:
|
||||
- 'Optional: Node hosting this endpoint. This can be used to determine
|
||||
endpoints local to a node.'
|
||||
type: str
|
||||
target_ref:
|
||||
description:
|
||||
- Reference to object providing the endpoint.
|
||||
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
|
||||
ports:
|
||||
description:
|
||||
- Port numbers available on the related IP addresses.
|
||||
type: list
|
||||
contains:
|
||||
name:
|
||||
description:
|
||||
- The name of this port (corresponds to ServicePort.Name). Must be a
|
||||
DNS_LABEL. Optional only if one port is defined.
|
||||
type: str
|
||||
port:
|
||||
description:
|
||||
- The port number of the endpoint.
|
||||
type: int
|
||||
protocol:
|
||||
description:
|
||||
- The IP protocol for this port. Must be UDP or TCP. Default is TCP.
|
||||
type: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('endpoints', '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()
|
||||
|
||||
472
library/k8s_v1_endpoints_list.py
Normal file
472
library/k8s_v1_endpoints_list.py
Normal file
@@ -0,0 +1,472 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_endpoints_list
|
||||
short_description: Kubernetes EndpointsList
|
||||
description:
|
||||
- Retrieve a list of endpoints. List operations provide a snapshot read of the underlying
|
||||
objects, returning a resource_version representing a consistent version of the listed
|
||||
objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
endpoints_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- List of endpoints.
|
||||
type: list
|
||||
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
|
||||
subsets:
|
||||
description:
|
||||
- The set of all endpoints is the union of all subsets. Addresses are placed
|
||||
into subsets according to the IPs they share. A single address with multiple
|
||||
ports, some of which are ready and some of which are not (because they
|
||||
come from different containers) will result in the address being displayed
|
||||
in different subsets for the different ports. No address will appear in
|
||||
both Addresses and NotReadyAddresses in the same subset. Sets of addresses
|
||||
and ports that comprise a service.
|
||||
type: list
|
||||
contains:
|
||||
addresses:
|
||||
description:
|
||||
- IP addresses which offer the related ports that are marked as ready.
|
||||
These endpoints should be considered safe for load balancers and clients
|
||||
to utilize.
|
||||
type: list
|
||||
contains:
|
||||
hostname:
|
||||
description:
|
||||
- The Hostname of this endpoint
|
||||
type: str
|
||||
ip:
|
||||
description:
|
||||
- The IP of this endpoint. May not be loopback (127.0.0.0/8), link-local
|
||||
(169.254.0.0/16), or link-local multicast ((224.0.0.0/24). IPv6
|
||||
is also accepted but not fully supported on all platforms. Also,
|
||||
certain kubernetes components, like kube-proxy, are not IPv6 ready.
|
||||
type: str
|
||||
node_name:
|
||||
description:
|
||||
- 'Optional: Node hosting this endpoint. This can be used to determine
|
||||
endpoints local to a node.'
|
||||
type: str
|
||||
target_ref:
|
||||
description:
|
||||
- Reference to object providing the endpoint.
|
||||
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
|
||||
not_ready_addresses:
|
||||
description:
|
||||
- IP addresses which offer the related ports but are not currently marked
|
||||
as ready because they have not yet finished starting, have recently
|
||||
failed a readiness check, or have recently failed a liveness check.
|
||||
type: list
|
||||
contains:
|
||||
hostname:
|
||||
description:
|
||||
- The Hostname of this endpoint
|
||||
type: str
|
||||
ip:
|
||||
description:
|
||||
- The IP of this endpoint. May not be loopback (127.0.0.0/8), link-local
|
||||
(169.254.0.0/16), or link-local multicast ((224.0.0.0/24). IPv6
|
||||
is also accepted but not fully supported on all platforms. Also,
|
||||
certain kubernetes components, like kube-proxy, are not IPv6 ready.
|
||||
type: str
|
||||
node_name:
|
||||
description:
|
||||
- 'Optional: Node hosting this endpoint. This can be used to determine
|
||||
endpoints local to a node.'
|
||||
type: str
|
||||
target_ref:
|
||||
description:
|
||||
- Reference to object providing the endpoint.
|
||||
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
|
||||
ports:
|
||||
description:
|
||||
- Port numbers available on the related IP addresses.
|
||||
type: list
|
||||
contains:
|
||||
name:
|
||||
description:
|
||||
- The name of this port (corresponds to ServicePort.Name). Must
|
||||
be a DNS_LABEL. Optional only if one port is defined.
|
||||
type: str
|
||||
port:
|
||||
description:
|
||||
- The port number of the endpoint.
|
||||
type: int
|
||||
protocol:
|
||||
description:
|
||||
- The IP protocol for this port. Must be UDP or TCP. Default is
|
||||
TCP.
|
||||
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 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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('endpoints_list', '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()
|
||||
|
||||
436
library/k8s_v1_event.py
Normal file
436
library/k8s_v1_event.py
Normal file
@@ -0,0 +1,436 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_event
|
||||
short_description: Kubernetes Event
|
||||
description:
|
||||
- Manage the lifecycle of a event 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.
|
||||
count:
|
||||
description:
|
||||
- The number of times this event has occurred.
|
||||
type: int
|
||||
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.
|
||||
involved_object_api_version:
|
||||
description:
|
||||
- API version of the referent.
|
||||
aliases:
|
||||
- api_version
|
||||
involved_object_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:
|
||||
- field_path
|
||||
involved_object_kind:
|
||||
description:
|
||||
- Kind of the referent.
|
||||
aliases:
|
||||
- kind
|
||||
involved_object_name:
|
||||
description:
|
||||
- Name of the referent.
|
||||
aliases:
|
||||
- name
|
||||
involved_object_namespace:
|
||||
description:
|
||||
- Namespace of the referent.
|
||||
aliases:
|
||||
- namespace
|
||||
involved_object_resource_version:
|
||||
description:
|
||||
- Specific resourceVersion to which this reference is made, if any.
|
||||
aliases:
|
||||
- resource_version
|
||||
involved_object_uid:
|
||||
description:
|
||||
- UID of the referent.
|
||||
aliases:
|
||||
- uid
|
||||
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
|
||||
message:
|
||||
description:
|
||||
- A human-readable description of the status of this operation.
|
||||
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).
|
||||
reason:
|
||||
description:
|
||||
- This should be a short, machine understandable string that gives the reason
|
||||
for the transition into the object's current status.
|
||||
source_component:
|
||||
description:
|
||||
- Component from which the event is generated.
|
||||
aliases:
|
||||
- component
|
||||
source_host:
|
||||
description:
|
||||
- Node name on which the event is generated.
|
||||
aliases:
|
||||
- host
|
||||
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
|
||||
type:
|
||||
description:
|
||||
- Type of this event (Normal, Warning), new types could be added in the future
|
||||
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
|
||||
event:
|
||||
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
|
||||
count:
|
||||
description:
|
||||
- The number of times this event has occurred.
|
||||
type: int
|
||||
first_timestamp:
|
||||
description:
|
||||
- The time at which the event was first recorded. (Time of server receipt is
|
||||
in TypeMeta.)
|
||||
type: complex
|
||||
contains: {}
|
||||
involved_object:
|
||||
description:
|
||||
- The object that this event is about.
|
||||
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
|
||||
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
|
||||
last_timestamp:
|
||||
description:
|
||||
- The time at which the most recent occurrence of this event was recorded.
|
||||
type: complex
|
||||
contains: {}
|
||||
message:
|
||||
description:
|
||||
- A human-readable description of the status of this operation.
|
||||
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
|
||||
reason:
|
||||
description:
|
||||
- This should be a short, machine understandable string that gives the reason
|
||||
for the transition into the object's current status.
|
||||
type: str
|
||||
source:
|
||||
description:
|
||||
- The component reporting this event. Should be a short machine understandable
|
||||
string.
|
||||
type: complex
|
||||
contains:
|
||||
component:
|
||||
description:
|
||||
- Component from which the event is generated.
|
||||
type: str
|
||||
host:
|
||||
description:
|
||||
- Node name on which the event is generated.
|
||||
type: str
|
||||
type:
|
||||
description:
|
||||
- Type of this event (Normal, Warning), new types could be added in the future
|
||||
type: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('event', '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()
|
||||
|
||||
394
library/k8s_v1_event_list.py
Normal file
394
library/k8s_v1_event_list.py
Normal file
@@ -0,0 +1,394 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_event_list
|
||||
short_description: Kubernetes EventList
|
||||
description:
|
||||
- Retrieve a list of events. List operations provide a snapshot read of the underlying
|
||||
objects, returning a resource_version representing a consistent version of the listed
|
||||
objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
event_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- List of events
|
||||
type: list
|
||||
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
|
||||
count:
|
||||
description:
|
||||
- The number of times this event has occurred.
|
||||
type: int
|
||||
first_timestamp:
|
||||
description:
|
||||
- The time at which the event was first recorded. (Time of server receipt
|
||||
is in TypeMeta.)
|
||||
type: complex
|
||||
contains: {}
|
||||
involved_object:
|
||||
description:
|
||||
- The object that this event is about.
|
||||
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
|
||||
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
|
||||
last_timestamp:
|
||||
description:
|
||||
- The time at which the most recent occurrence of this event was recorded.
|
||||
type: complex
|
||||
contains: {}
|
||||
message:
|
||||
description:
|
||||
- A human-readable description of the status of this operation.
|
||||
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
|
||||
reason:
|
||||
description:
|
||||
- This should be a short, machine understandable string that gives the reason
|
||||
for the transition into the object's current status.
|
||||
type: str
|
||||
source:
|
||||
description:
|
||||
- The component reporting this event. Should be a short machine understandable
|
||||
string.
|
||||
type: complex
|
||||
contains:
|
||||
component:
|
||||
description:
|
||||
- Component from which the event is generated.
|
||||
type: str
|
||||
host:
|
||||
description:
|
||||
- Node name on which the event is generated.
|
||||
type: str
|
||||
type:
|
||||
description:
|
||||
- Type of this event (Normal, Warning), new types could be added in the
|
||||
future
|
||||
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 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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('event_list', '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()
|
||||
|
||||
298
library/k8s_v1_group.py
Normal file
298
library/k8s_v1_group.py
Normal file
@@ -0,0 +1,298 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_group
|
||||
short_description: Kubernetes Group
|
||||
description:
|
||||
- Manage the lifecycle of a group 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).
|
||||
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.
|
||||
users:
|
||||
description:
|
||||
- Users is the list of users in this group.
|
||||
type: list
|
||||
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
|
||||
group:
|
||||
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
|
||||
users:
|
||||
description:
|
||||
- Users is the list of users in this group.
|
||||
type: list
|
||||
contains: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('group', '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()
|
||||
|
||||
315
library/k8s_v1_group_list.py
Normal file
315
library/k8s_v1_group_list.py
Normal file
@@ -0,0 +1,315 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_group_list
|
||||
short_description: Kubernetes GroupList
|
||||
description:
|
||||
- Retrieve a list of groups. List operations provide a snapshot read of the underlying
|
||||
objects, returning a resource_version representing a consistent version of the listed
|
||||
objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
group_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is the list of groups
|
||||
type: list
|
||||
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
|
||||
users:
|
||||
description:
|
||||
- Users is the list of users in this group.
|
||||
type: list
|
||||
contains: 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:
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('group_list', '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()
|
||||
|
||||
394
library/k8s_v1_horizontal_pod_autoscaler.py
Normal file
394
library/k8s_v1_horizontal_pod_autoscaler.py
Normal file
@@ -0,0 +1,394 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_horizontal_pod_autoscaler
|
||||
short_description: Kubernetes HorizontalPodAutoscaler
|
||||
description:
|
||||
- Manage the lifecycle of a horizontal_pod_autoscaler 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_max_replicas:
|
||||
description:
|
||||
- upper limit for the number of pods that can be set by the autoscaler; cannot
|
||||
be smaller than MinReplicas.
|
||||
aliases:
|
||||
- max_replicas
|
||||
type: int
|
||||
spec_min_replicas:
|
||||
description:
|
||||
- lower limit for the number of pods that can be set by the autoscaler, default
|
||||
1.
|
||||
aliases:
|
||||
- min_replicas
|
||||
type: int
|
||||
spec_scale_target_ref_api_version:
|
||||
description:
|
||||
- API version of the referent
|
||||
aliases:
|
||||
- scale_target_ref_api_version
|
||||
spec_scale_target_ref_kind:
|
||||
description:
|
||||
- Kind of the referent;
|
||||
aliases:
|
||||
- scale_target_ref_kind
|
||||
spec_scale_target_ref_name:
|
||||
description:
|
||||
- Name of the referent;
|
||||
aliases:
|
||||
- scale_target_ref_name
|
||||
spec_target_cpu_utilization_percentage:
|
||||
description:
|
||||
- target average CPU utilization (represented as a percentage of requested CPU)
|
||||
over all the pods; if not specified the default autoscaling policy will be used.
|
||||
aliases:
|
||||
- target_cpu_utilization_percentage
|
||||
type: int
|
||||
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
|
||||
horizontal_pod_autoscaler:
|
||||
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
|
||||
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:
|
||||
- behaviour of autoscaler.
|
||||
type: complex
|
||||
contains:
|
||||
max_replicas:
|
||||
description:
|
||||
- upper limit for the number of pods that can be set by the autoscaler;
|
||||
cannot be smaller than MinReplicas.
|
||||
type: int
|
||||
min_replicas:
|
||||
description:
|
||||
- lower limit for the number of pods that can be set by the autoscaler,
|
||||
default 1.
|
||||
type: int
|
||||
scale_target_ref:
|
||||
description:
|
||||
- reference to scaled resource; horizontal pod autoscaler will learn the
|
||||
current resource consumption and will set the desired number of pods by
|
||||
using its Scale subresource.
|
||||
type: complex
|
||||
contains:
|
||||
api_version:
|
||||
description:
|
||||
- API version of the referent
|
||||
type: str
|
||||
kind:
|
||||
description:
|
||||
- Kind of the referent;
|
||||
type: str
|
||||
name:
|
||||
description:
|
||||
- Name of the referent;
|
||||
type: str
|
||||
target_cpu_utilization_percentage:
|
||||
description:
|
||||
- target average CPU utilization (represented as a percentage of requested
|
||||
CPU) over all the pods; if not specified the default autoscaling policy
|
||||
will be used.
|
||||
type: int
|
||||
status:
|
||||
description:
|
||||
- current information about the autoscaler.
|
||||
type: complex
|
||||
contains:
|
||||
current_cpu_utilization_percentage:
|
||||
description:
|
||||
- current average CPU utilization over all pods, represented as a percentage
|
||||
of requested CPU, e.g. 70 means that an average pod is using now 70% of
|
||||
its requested CPU.
|
||||
type: int
|
||||
current_replicas:
|
||||
description:
|
||||
- current number of replicas of pods managed by this autoscaler.
|
||||
type: int
|
||||
desired_replicas:
|
||||
description:
|
||||
- desired number of replicas of pods managed by this autoscaler.
|
||||
type: int
|
||||
last_scale_time:
|
||||
description:
|
||||
- last time the HorizontalPodAutoscaler scaled the number of pods; used
|
||||
by the autoscaler to control how often the number of pods is changed.
|
||||
type: complex
|
||||
contains: {}
|
||||
observed_generation:
|
||||
description:
|
||||
- most recent generation observed by this autoscaler.
|
||||
type: int
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('horizontal_pod_autoscaler', '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()
|
||||
|
||||
379
library/k8s_v1_horizontal_pod_autoscaler_list.py
Normal file
379
library/k8s_v1_horizontal_pod_autoscaler_list.py
Normal file
@@ -0,0 +1,379 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_horizontal_pod_autoscaler_list
|
||||
short_description: Kubernetes HorizontalPodAutoscalerList
|
||||
description:
|
||||
- Retrieve a list of horizontal_pod_autoscalers. List operations provide a snapshot
|
||||
read of the underlying objects, returning a resource_version representing a consistent
|
||||
version of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
horizontal_pod_autoscaler_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- list of horizontal pod autoscaler objects.
|
||||
type: list
|
||||
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
|
||||
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:
|
||||
- behaviour of autoscaler.
|
||||
type: complex
|
||||
contains:
|
||||
max_replicas:
|
||||
description:
|
||||
- upper limit for the number of pods that can be set by the autoscaler;
|
||||
cannot be smaller than MinReplicas.
|
||||
type: int
|
||||
min_replicas:
|
||||
description:
|
||||
- lower limit for the number of pods that can be set by the autoscaler,
|
||||
default 1.
|
||||
type: int
|
||||
scale_target_ref:
|
||||
description:
|
||||
- reference to scaled resource; horizontal pod autoscaler will learn
|
||||
the current resource consumption and will set the desired number of
|
||||
pods by using its Scale subresource.
|
||||
type: complex
|
||||
contains:
|
||||
api_version:
|
||||
description:
|
||||
- API version of the referent
|
||||
type: str
|
||||
kind:
|
||||
description:
|
||||
- Kind of the referent;
|
||||
type: str
|
||||
name:
|
||||
description:
|
||||
- Name of the referent;
|
||||
type: str
|
||||
target_cpu_utilization_percentage:
|
||||
description:
|
||||
- target average CPU utilization (represented as a percentage of requested
|
||||
CPU) over all the pods; if not specified the default autoscaling policy
|
||||
will be used.
|
||||
type: int
|
||||
status:
|
||||
description:
|
||||
- current information about the autoscaler.
|
||||
type: complex
|
||||
contains:
|
||||
current_cpu_utilization_percentage:
|
||||
description:
|
||||
- current average CPU utilization over all pods, represented as a percentage
|
||||
of requested CPU, e.g. 70 means that an average pod is using now 70%
|
||||
of its requested CPU.
|
||||
type: int
|
||||
current_replicas:
|
||||
description:
|
||||
- current number of replicas of pods managed by this autoscaler.
|
||||
type: int
|
||||
desired_replicas:
|
||||
description:
|
||||
- desired number of replicas of pods managed by this autoscaler.
|
||||
type: int
|
||||
last_scale_time:
|
||||
description:
|
||||
- last time the HorizontalPodAutoscaler scaled the number of pods; used
|
||||
by the autoscaler to control how often the number of pods is changed.
|
||||
type: complex
|
||||
contains: {}
|
||||
observed_generation:
|
||||
description:
|
||||
- most recent generation observed by this autoscaler.
|
||||
type: int
|
||||
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 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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('horizontal_pod_autoscaler_list', '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()
|
||||
|
||||
313
library/k8s_v1_host_subnet.py
Normal file
313
library/k8s_v1_host_subnet.py
Normal file
@@ -0,0 +1,313 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_host_subnet
|
||||
short_description: Kubernetes HostSubnet
|
||||
description:
|
||||
- Manage the lifecycle of a host_subnet 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:
|
||||
- Host is the name of the node. (This is redundant with the object's name, and
|
||||
this field is not actually used any more.)
|
||||
host_ip:
|
||||
description:
|
||||
- HostIP is the IP address to be used as a VTEP by other nodes in the overlay
|
||||
network
|
||||
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).
|
||||
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
|
||||
subnet:
|
||||
description:
|
||||
- Subnet is the CIDR range of the overlay network assigned to the node for its
|
||||
pods
|
||||
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
|
||||
host_subnet:
|
||||
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
|
||||
host:
|
||||
description:
|
||||
- Host is the name of the node. (This is redundant with the object's name, and
|
||||
this field is not actually used any more.)
|
||||
type: str
|
||||
host_ip:
|
||||
description:
|
||||
- HostIP is the IP address to be used as a VTEP by other nodes in the overlay
|
||||
network
|
||||
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
|
||||
subnet:
|
||||
description:
|
||||
- Subnet is the CIDR range of the overlay network assigned to the node for its
|
||||
pods
|
||||
type: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('host_subnet', '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()
|
||||
|
||||
325
library/k8s_v1_host_subnet_list.py
Normal file
325
library/k8s_v1_host_subnet_list.py
Normal file
@@ -0,0 +1,325 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_host_subnet_list
|
||||
short_description: Kubernetes HostSubnetList
|
||||
description:
|
||||
- Retrieve a list of host_subnets. List operations provide a snapshot read of the
|
||||
underlying objects, returning a resource_version representing a consistent version
|
||||
of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
host_subnet_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is the list of host subnets
|
||||
type: list
|
||||
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
|
||||
host:
|
||||
description:
|
||||
- Host is the name of the node. (This is redundant with the object's name,
|
||||
and this field is not actually used any more.)
|
||||
type: str
|
||||
host_ip:
|
||||
description:
|
||||
- HostIP is the IP address to be used as a VTEP by other nodes in the overlay
|
||||
network
|
||||
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
|
||||
subnet:
|
||||
description:
|
||||
- Subnet is the CIDR range of the overlay network assigned to the node for
|
||||
its pods
|
||||
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:
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('host_subnet_list', '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()
|
||||
|
||||
394
library/k8s_v1_identity.py
Normal file
394
library/k8s_v1_identity.py
Normal file
@@ -0,0 +1,394 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_identity
|
||||
short_description: Kubernetes Identity
|
||||
description:
|
||||
- Manage the lifecycle of a identity 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
|
||||
extra:
|
||||
description:
|
||||
- Extra holds extra information about this identity
|
||||
type: dict
|
||||
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).
|
||||
provider_name:
|
||||
description:
|
||||
- ProviderName is the source of identity information
|
||||
provider_user_name:
|
||||
description:
|
||||
- ProviderUserName uniquely represents this identity in the scope of the provider
|
||||
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
|
||||
user_api_version:
|
||||
description:
|
||||
- API version of the referent.
|
||||
aliases:
|
||||
- api_version
|
||||
user_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:
|
||||
- field_path
|
||||
user_kind:
|
||||
description:
|
||||
- Kind of the referent.
|
||||
aliases:
|
||||
- kind
|
||||
user_name:
|
||||
description:
|
||||
- Name of the referent.
|
||||
aliases:
|
||||
- name
|
||||
user_namespace:
|
||||
description:
|
||||
- Namespace of the referent.
|
||||
aliases:
|
||||
- namespace
|
||||
user_resource_version:
|
||||
description:
|
||||
- Specific resourceVersion to which this reference is made, if any.
|
||||
aliases:
|
||||
- resource_version
|
||||
user_uid:
|
||||
description:
|
||||
- UID of the referent.
|
||||
aliases:
|
||||
- uid
|
||||
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
|
||||
identity:
|
||||
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
|
||||
extra:
|
||||
description:
|
||||
- Extra holds extra information about this identity
|
||||
type: complex
|
||||
contains: str, 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
|
||||
provider_name:
|
||||
description:
|
||||
- ProviderName is the source of identity information
|
||||
type: str
|
||||
provider_user_name:
|
||||
description:
|
||||
- ProviderUserName uniquely represents this identity in the scope of the provider
|
||||
type: str
|
||||
user:
|
||||
description:
|
||||
- User is a reference to the user this identity is associated with Both Name
|
||||
and UID must be set
|
||||
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('identity', '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()
|
||||
|
||||
366
library/k8s_v1_identity_list.py
Normal file
366
library/k8s_v1_identity_list.py
Normal file
@@ -0,0 +1,366 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_identity_list
|
||||
short_description: Kubernetes IdentityList
|
||||
description:
|
||||
- Retrieve a list of identitys. List operations provide a snapshot read of the underlying
|
||||
objects, returning a resource_version representing a consistent version of the listed
|
||||
objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
identity_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is the list of identities
|
||||
type: list
|
||||
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
|
||||
extra:
|
||||
description:
|
||||
- Extra holds extra information about this identity
|
||||
type: complex
|
||||
contains: str, 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
|
||||
provider_name:
|
||||
description:
|
||||
- ProviderName is the source of identity information
|
||||
type: str
|
||||
provider_user_name:
|
||||
description:
|
||||
- ProviderUserName uniquely represents this identity in the scope of the
|
||||
provider
|
||||
type: str
|
||||
user:
|
||||
description:
|
||||
- User is a reference to the user this identity is associated with Both
|
||||
Name and UID must be set
|
||||
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
|
||||
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:
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('identity_list', '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()
|
||||
|
||||
647
library/k8s_v1_image.py
Normal file
647
library/k8s_v1_image.py
Normal file
@@ -0,0 +1,647 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_image
|
||||
short_description: Kubernetes Image
|
||||
description:
|
||||
- Manage the lifecycle of a image 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
|
||||
docker_image_config:
|
||||
description:
|
||||
- DockerImageConfig is a JSON blob that the runtime uses to set up the container.
|
||||
This is a part of manifest schema v2.
|
||||
docker_image_layers:
|
||||
description:
|
||||
- DockerImageLayers represents the layers in the image. May not be set if the
|
||||
image does not define that data.
|
||||
type: list
|
||||
docker_image_manifest:
|
||||
description:
|
||||
- DockerImageManifest is the raw JSON of the manifest
|
||||
docker_image_manifest_media_type:
|
||||
description:
|
||||
- DockerImageManifestMediaType specifies the mediaType of manifest. This is a
|
||||
part of manifest schema v2.
|
||||
docker_image_metadata_raw:
|
||||
description:
|
||||
- Raw is the underlying serialization of this object.
|
||||
aliases:
|
||||
- raw
|
||||
docker_image_metadata_version:
|
||||
description:
|
||||
- DockerImageMetadataVersion conveys the version of the object, which if empty
|
||||
defaults to "1.0"
|
||||
docker_image_reference:
|
||||
description:
|
||||
- DockerImageReference is the string that can be used to pull this image.
|
||||
docker_image_signatures:
|
||||
description:
|
||||
- DockerImageSignatures provides the signatures as opaque blobs. This is a part
|
||||
of manifest schema v1.
|
||||
type: list
|
||||
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).
|
||||
signatures:
|
||||
description:
|
||||
- Signatures holds all signatures of the image.
|
||||
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
|
||||
image:
|
||||
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
|
||||
docker_image_config:
|
||||
description:
|
||||
- DockerImageConfig is a JSON blob that the runtime uses to set up the container.
|
||||
This is a part of manifest schema v2.
|
||||
type: str
|
||||
docker_image_layers:
|
||||
description:
|
||||
- DockerImageLayers represents the layers in the image. May not be set if the
|
||||
image does not define that data.
|
||||
type: list
|
||||
contains:
|
||||
media_type:
|
||||
description:
|
||||
- MediaType of the referenced object.
|
||||
type: str
|
||||
name:
|
||||
description:
|
||||
- Name of the layer as defined by the underlying store.
|
||||
type: str
|
||||
size:
|
||||
description:
|
||||
- Size of the layer in bytes as defined by the underlying store.
|
||||
type: int
|
||||
docker_image_manifest:
|
||||
description:
|
||||
- DockerImageManifest is the raw JSON of the manifest
|
||||
type: str
|
||||
docker_image_manifest_media_type:
|
||||
description:
|
||||
- DockerImageManifestMediaType specifies the mediaType of manifest. This is
|
||||
a part of manifest schema v2.
|
||||
type: str
|
||||
docker_image_metadata:
|
||||
description:
|
||||
- DockerImageMetadata contains metadata about this image
|
||||
type: complex
|
||||
contains:
|
||||
raw:
|
||||
description:
|
||||
- Raw is the underlying serialization of this object.
|
||||
type: str
|
||||
docker_image_metadata_version:
|
||||
description:
|
||||
- DockerImageMetadataVersion conveys the version of the object, which if empty
|
||||
defaults to "1.0"
|
||||
type: str
|
||||
docker_image_reference:
|
||||
description:
|
||||
- DockerImageReference is the string that can be used to pull this image.
|
||||
type: str
|
||||
docker_image_signatures:
|
||||
description:
|
||||
- DockerImageSignatures provides the signatures as opaque blobs. This is a part
|
||||
of manifest schema v1.
|
||||
type: list
|
||||
contains: 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
|
||||
signatures:
|
||||
description:
|
||||
- Signatures holds all signatures of the image.
|
||||
type: list
|
||||
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
|
||||
conditions:
|
||||
description:
|
||||
- Conditions represent the latest available observations of a signature's
|
||||
current state.
|
||||
type: list
|
||||
contains:
|
||||
last_probe_time:
|
||||
description:
|
||||
- Last time the condition was checked.
|
||||
type: complex
|
||||
contains: {}
|
||||
last_transition_time:
|
||||
description:
|
||||
- Last time the condition transit from one status to another.
|
||||
type: complex
|
||||
contains: {}
|
||||
message:
|
||||
description:
|
||||
- Human readable message indicating details about last transition.
|
||||
type: str
|
||||
reason:
|
||||
description:
|
||||
- (brief) reason for the condition's last transition.
|
||||
type: str
|
||||
status:
|
||||
description:
|
||||
- Status of the condition, one of True, False, Unknown.
|
||||
type: str
|
||||
type:
|
||||
description:
|
||||
- Type of signature condition, Complete or Failed.
|
||||
type: str
|
||||
content:
|
||||
description:
|
||||
- "Required: An opaque binary string which is an image's signature."
|
||||
type: str
|
||||
created:
|
||||
description:
|
||||
- If specified, it is the time of signature's creation.
|
||||
type: complex
|
||||
contains: {}
|
||||
image_identity:
|
||||
description:
|
||||
- A human readable string representing image's identity. It could be a product
|
||||
name and version, or an image pull spec (e.g. "registry.access.redhat.com/rhel7/rhel:7.2").
|
||||
type: str
|
||||
issued_by:
|
||||
description:
|
||||
- If specified, it holds information about an issuer of signing certificate
|
||||
or key (a person or entity who signed the signing certificate or key).
|
||||
type: complex
|
||||
contains:
|
||||
common_name:
|
||||
description:
|
||||
- Common name (e.g. openshift-signing-service).
|
||||
type: str
|
||||
organization:
|
||||
description:
|
||||
- Organization name.
|
||||
type: str
|
||||
issued_to:
|
||||
description:
|
||||
- If specified, it holds information about a subject of signing certificate
|
||||
or key (a person or entity who signed the image).
|
||||
type: complex
|
||||
contains:
|
||||
common_name:
|
||||
description:
|
||||
- Common name (e.g. openshift-signing-service).
|
||||
type: str
|
||||
organization:
|
||||
description:
|
||||
- Organization name.
|
||||
type: str
|
||||
public_key_id:
|
||||
description:
|
||||
- If present, it is a human readable key id of public key belonging
|
||||
to the subject used to verify image signature. It should contain at
|
||||
least 64 lowest bits of public key's fingerprint (e.g. 0x685ebe62bf278440).
|
||||
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
|
||||
signed_claims:
|
||||
description:
|
||||
- Contains claims from the signature.
|
||||
type: complex
|
||||
contains: str, str
|
||||
type:
|
||||
description:
|
||||
- 'Required: Describes a type of stored blob.'
|
||||
type: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('image', '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()
|
||||
|
||||
634
library/k8s_v1_image_list.py
Normal file
634
library/k8s_v1_image_list.py
Normal file
@@ -0,0 +1,634 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_image_list
|
||||
short_description: Kubernetes ImageList
|
||||
description:
|
||||
- Retrieve a list of images. List operations provide a snapshot read of the underlying
|
||||
objects, returning a resource_version representing a consistent version of the listed
|
||||
objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
image_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is a list of images
|
||||
type: list
|
||||
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
|
||||
docker_image_config:
|
||||
description:
|
||||
- DockerImageConfig is a JSON blob that the runtime uses to set up the container.
|
||||
This is a part of manifest schema v2.
|
||||
type: str
|
||||
docker_image_layers:
|
||||
description:
|
||||
- DockerImageLayers represents the layers in the image. May not be set if
|
||||
the image does not define that data.
|
||||
type: list
|
||||
contains:
|
||||
media_type:
|
||||
description:
|
||||
- MediaType of the referenced object.
|
||||
type: str
|
||||
name:
|
||||
description:
|
||||
- Name of the layer as defined by the underlying store.
|
||||
type: str
|
||||
size:
|
||||
description:
|
||||
- Size of the layer in bytes as defined by the underlying store.
|
||||
type: int
|
||||
docker_image_manifest:
|
||||
description:
|
||||
- DockerImageManifest is the raw JSON of the manifest
|
||||
type: str
|
||||
docker_image_manifest_media_type:
|
||||
description:
|
||||
- DockerImageManifestMediaType specifies the mediaType of manifest. This
|
||||
is a part of manifest schema v2.
|
||||
type: str
|
||||
docker_image_metadata:
|
||||
description:
|
||||
- DockerImageMetadata contains metadata about this image
|
||||
type: complex
|
||||
contains:
|
||||
raw:
|
||||
description:
|
||||
- Raw is the underlying serialization of this object.
|
||||
type: str
|
||||
docker_image_metadata_version:
|
||||
description:
|
||||
- DockerImageMetadataVersion conveys the version of the object, which if
|
||||
empty defaults to "1.0"
|
||||
type: str
|
||||
docker_image_reference:
|
||||
description:
|
||||
- DockerImageReference is the string that can be used to pull this image.
|
||||
type: str
|
||||
docker_image_signatures:
|
||||
description:
|
||||
- DockerImageSignatures provides the signatures as opaque blobs. This is
|
||||
a part of manifest schema v1.
|
||||
type: list
|
||||
contains: 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
|
||||
signatures:
|
||||
description:
|
||||
- Signatures holds all signatures of the image.
|
||||
type: list
|
||||
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
|
||||
conditions:
|
||||
description:
|
||||
- Conditions represent the latest available observations of a signature's
|
||||
current state.
|
||||
type: list
|
||||
contains:
|
||||
last_probe_time:
|
||||
description:
|
||||
- Last time the condition was checked.
|
||||
type: complex
|
||||
contains: {}
|
||||
last_transition_time:
|
||||
description:
|
||||
- Last time the condition transit from one status to another.
|
||||
type: complex
|
||||
contains: {}
|
||||
message:
|
||||
description:
|
||||
- Human readable message indicating details about last transition.
|
||||
type: str
|
||||
reason:
|
||||
description:
|
||||
- (brief) reason for the condition's last transition.
|
||||
type: str
|
||||
status:
|
||||
description:
|
||||
- Status of the condition, one of True, False, Unknown.
|
||||
type: str
|
||||
type:
|
||||
description:
|
||||
- Type of signature condition, Complete or Failed.
|
||||
type: str
|
||||
content:
|
||||
description:
|
||||
- "Required: An opaque binary string which is an image's signature."
|
||||
type: str
|
||||
created:
|
||||
description:
|
||||
- If specified, it is the time of signature's creation.
|
||||
type: complex
|
||||
contains: {}
|
||||
image_identity:
|
||||
description:
|
||||
- A human readable string representing image's identity. It could be
|
||||
a product name and version, or an image pull spec (e.g. "registry.access.redhat.com/rhel7/rhel:7.2").
|
||||
type: str
|
||||
issued_by:
|
||||
description:
|
||||
- If specified, it holds information about an issuer of signing certificate
|
||||
or key (a person or entity who signed the signing certificate or key).
|
||||
type: complex
|
||||
contains:
|
||||
common_name:
|
||||
description:
|
||||
- Common name (e.g. openshift-signing-service).
|
||||
type: str
|
||||
organization:
|
||||
description:
|
||||
- Organization name.
|
||||
type: str
|
||||
issued_to:
|
||||
description:
|
||||
- If specified, it holds information about a subject of signing certificate
|
||||
or key (a person or entity who signed the image).
|
||||
type: complex
|
||||
contains:
|
||||
common_name:
|
||||
description:
|
||||
- Common name (e.g. openshift-signing-service).
|
||||
type: str
|
||||
organization:
|
||||
description:
|
||||
- Organization name.
|
||||
type: str
|
||||
public_key_id:
|
||||
description:
|
||||
- If present, it is a human readable key id of public key belonging
|
||||
to the subject used to verify image signature. It should contain
|
||||
at least 64 lowest bits of public key's fingerprint (e.g. 0x685ebe62bf278440).
|
||||
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
|
||||
signed_claims:
|
||||
description:
|
||||
- Contains claims from the signature.
|
||||
type: complex
|
||||
contains: str, str
|
||||
type:
|
||||
description:
|
||||
- 'Required: Describes a type of stored blob.'
|
||||
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:
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('image_list', '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()
|
||||
|
||||
424
library/k8s_v1_image_signature.py
Normal file
424
library/k8s_v1_image_signature.py
Normal file
@@ -0,0 +1,424 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_image_signature
|
||||
short_description: Kubernetes ImageSignature
|
||||
description:
|
||||
- Manage the lifecycle of a image_signature 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
|
||||
conditions:
|
||||
description:
|
||||
- Conditions represent the latest available observations of a signature's current
|
||||
state.
|
||||
type: list
|
||||
content:
|
||||
description:
|
||||
- "Required: An opaque binary string which is an image's signature."
|
||||
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.
|
||||
image_identity:
|
||||
description:
|
||||
- A human readable string representing image's identity. It could be a product
|
||||
name and version, or an image pull spec (e.g. "registry.access.redhat.com/rhel7/rhel:7.2").
|
||||
issued_by_common_name:
|
||||
description:
|
||||
- Common name (e.g. openshift-signing-service).
|
||||
aliases:
|
||||
- common_name
|
||||
issued_by_organization:
|
||||
description:
|
||||
- Organization name.
|
||||
aliases:
|
||||
- organization
|
||||
issued_to_common_name:
|
||||
description:
|
||||
- Common name (e.g. openshift-signing-service).
|
||||
aliases:
|
||||
- common_name
|
||||
issued_to_organization:
|
||||
description:
|
||||
- Organization name.
|
||||
aliases:
|
||||
- organization
|
||||
issued_to_public_key_id:
|
||||
description:
|
||||
- If present, it is a human readable key id of public key belonging to the subject
|
||||
used to verify image signature. It should contain at least 64 lowest bits of
|
||||
public key's fingerprint (e.g. 0x685ebe62bf278440).
|
||||
aliases:
|
||||
- public_key_id
|
||||
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).
|
||||
signed_claims:
|
||||
description:
|
||||
- Contains claims from the signature.
|
||||
type: dict
|
||||
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
|
||||
type:
|
||||
description:
|
||||
- 'Required: Describes a type of stored blob.'
|
||||
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
|
||||
image_signature:
|
||||
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
|
||||
conditions:
|
||||
description:
|
||||
- Conditions represent the latest available observations of a signature's current
|
||||
state.
|
||||
type: list
|
||||
contains:
|
||||
last_probe_time:
|
||||
description:
|
||||
- Last time the condition was checked.
|
||||
type: complex
|
||||
contains: {}
|
||||
last_transition_time:
|
||||
description:
|
||||
- Last time the condition transit from one status to another.
|
||||
type: complex
|
||||
contains: {}
|
||||
message:
|
||||
description:
|
||||
- Human readable message indicating details about last transition.
|
||||
type: str
|
||||
reason:
|
||||
description:
|
||||
- (brief) reason for the condition's last transition.
|
||||
type: str
|
||||
status:
|
||||
description:
|
||||
- Status of the condition, one of True, False, Unknown.
|
||||
type: str
|
||||
type:
|
||||
description:
|
||||
- Type of signature condition, Complete or Failed.
|
||||
type: str
|
||||
content:
|
||||
description:
|
||||
- "Required: An opaque binary string which is an image's signature."
|
||||
type: str
|
||||
created:
|
||||
description:
|
||||
- If specified, it is the time of signature's creation.
|
||||
type: complex
|
||||
contains: {}
|
||||
image_identity:
|
||||
description:
|
||||
- A human readable string representing image's identity. It could be a product
|
||||
name and version, or an image pull spec (e.g. "registry.access.redhat.com/rhel7/rhel:7.2").
|
||||
type: str
|
||||
issued_by:
|
||||
description:
|
||||
- If specified, it holds information about an issuer of signing certificate
|
||||
or key (a person or entity who signed the signing certificate or key).
|
||||
type: complex
|
||||
contains:
|
||||
common_name:
|
||||
description:
|
||||
- Common name (e.g. openshift-signing-service).
|
||||
type: str
|
||||
organization:
|
||||
description:
|
||||
- Organization name.
|
||||
type: str
|
||||
issued_to:
|
||||
description:
|
||||
- If specified, it holds information about a subject of signing certificate
|
||||
or key (a person or entity who signed the image).
|
||||
type: complex
|
||||
contains:
|
||||
common_name:
|
||||
description:
|
||||
- Common name (e.g. openshift-signing-service).
|
||||
type: str
|
||||
organization:
|
||||
description:
|
||||
- Organization name.
|
||||
type: str
|
||||
public_key_id:
|
||||
description:
|
||||
- If present, it is a human readable key id of public key belonging to the
|
||||
subject used to verify image signature. It should contain at least 64
|
||||
lowest bits of public key's fingerprint (e.g. 0x685ebe62bf278440).
|
||||
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
|
||||
signed_claims:
|
||||
description:
|
||||
- Contains claims from the signature.
|
||||
type: complex
|
||||
contains: str, str
|
||||
type:
|
||||
description:
|
||||
- 'Required: Describes a type of stored blob.'
|
||||
type: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('image_signature', '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()
|
||||
|
||||
495
library/k8s_v1_image_stream.py
Normal file
495
library/k8s_v1_image_stream.py
Normal file
@@ -0,0 +1,495 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_image_stream
|
||||
short_description: Kubernetes ImageStream
|
||||
description:
|
||||
- Manage the lifecycle of a image_stream 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_docker_image_repository:
|
||||
description:
|
||||
- DockerImageRepository is optional, if specified this stream is backed by a Docker
|
||||
repository on this server
|
||||
aliases:
|
||||
- docker_image_repository
|
||||
spec_tags:
|
||||
description:
|
||||
- Tags map arbitrary string values to specific image locators
|
||||
aliases:
|
||||
- tags
|
||||
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
|
||||
image_stream:
|
||||
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 describes the desired state of this stream
|
||||
type: complex
|
||||
contains:
|
||||
docker_image_repository:
|
||||
description:
|
||||
- DockerImageRepository is optional, if specified this stream is backed
|
||||
by a Docker repository on this server
|
||||
type: str
|
||||
tags:
|
||||
description:
|
||||
- Tags map arbitrary string values to specific image locators
|
||||
type: list
|
||||
contains:
|
||||
_from:
|
||||
description:
|
||||
- From is a reference to an image stream tag or image stream this tag
|
||||
should track
|
||||
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
|
||||
annotations:
|
||||
description:
|
||||
- Annotations associated with images using this tag
|
||||
type: complex
|
||||
contains: str, str
|
||||
generation:
|
||||
description:
|
||||
- Generation is the image stream generation that updated this tag -
|
||||
setting it to 0 is an indication that the generation must be updated.
|
||||
Legacy clients will send this as nil, which means the client doesn't
|
||||
know or care.
|
||||
type: int
|
||||
import_policy:
|
||||
description:
|
||||
- Import is information that controls how images may be imported by
|
||||
the server.
|
||||
type: complex
|
||||
contains:
|
||||
insecure:
|
||||
description:
|
||||
- Insecure is true if the server may bypass certificate verification
|
||||
or connect directly over HTTP during image import.
|
||||
type: bool
|
||||
scheduled:
|
||||
description:
|
||||
- Scheduled indicates to the server that this tag should be periodically
|
||||
checked to ensure it is up to date, and imported
|
||||
type: bool
|
||||
name:
|
||||
description:
|
||||
- Name of the tag
|
||||
type: str
|
||||
reference:
|
||||
description:
|
||||
- Reference states if the tag will be imported. Default value is false,
|
||||
which means the tag will be imported.
|
||||
type: bool
|
||||
reference_policy:
|
||||
description:
|
||||
- ReferencePolicy defines how other components should consume the image
|
||||
type: complex
|
||||
contains:
|
||||
type:
|
||||
description:
|
||||
- Type determines how the image pull spec should be transformed
|
||||
when the image stream tag is used in deployment config triggers
|
||||
or new builds. The default value is `Source`, indicating the original
|
||||
location of the image should be used (if imported). The user may
|
||||
also specify `Local`, indicating that the pull spec should point
|
||||
to the integrated Docker registry and leverage the registry's
|
||||
ability to proxy the pull to an upstream registry. `Local` allows
|
||||
the credentials used to pull this image to be managed from the
|
||||
image stream's namespace, so others on the platform can access
|
||||
a remote image but have no access to the remote secret. It also
|
||||
allows the image layers to be mirrored into the local registry
|
||||
which the images can still be pulled even if the upstream registry
|
||||
is unavailable.
|
||||
type: str
|
||||
status:
|
||||
description:
|
||||
- Status describes the current state of this stream
|
||||
type: complex
|
||||
contains:
|
||||
docker_image_repository:
|
||||
description:
|
||||
- DockerImageRepository represents the effective location this stream may
|
||||
be accessed at. May be empty until the server determines where the repository
|
||||
is located
|
||||
type: str
|
||||
tags:
|
||||
description:
|
||||
- Tags are a historical record of images associated with each tag. The first
|
||||
entry in the TagEvent array is the currently tagged image.
|
||||
type: list
|
||||
contains:
|
||||
conditions:
|
||||
description:
|
||||
- Conditions is an array of conditions that apply to the tag event list.
|
||||
type: list
|
||||
contains:
|
||||
generation:
|
||||
description:
|
||||
- Generation is the spec tag generation that this status corresponds
|
||||
to
|
||||
type: int
|
||||
last_transition_time:
|
||||
description:
|
||||
- LastTransitionTIme is the time the condition transitioned from
|
||||
one status to another.
|
||||
type: complex
|
||||
contains: {}
|
||||
message:
|
||||
description:
|
||||
- Message is a human readable description of the details about 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, Unknown.
|
||||
type: str
|
||||
type:
|
||||
description:
|
||||
- Type of tag event condition, currently only ImportSuccess
|
||||
type: str
|
||||
items:
|
||||
description:
|
||||
- Standard object's metadata.
|
||||
type: list
|
||||
contains:
|
||||
created:
|
||||
description:
|
||||
- Created holds the time the TagEvent was created
|
||||
type: complex
|
||||
contains: {}
|
||||
docker_image_reference:
|
||||
description:
|
||||
- DockerImageReference is the string that can be used to pull this
|
||||
image
|
||||
type: str
|
||||
generation:
|
||||
description:
|
||||
- Generation is the spec tag generation that resulted in this tag
|
||||
being updated
|
||||
type: int
|
||||
image:
|
||||
description:
|
||||
- Image is the image
|
||||
type: str
|
||||
tag:
|
||||
description:
|
||||
- Tag is the tag for which the history is recorded
|
||||
type: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('image_stream', '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()
|
||||
|
||||
868
library/k8s_v1_image_stream_image.py
Normal file
868
library/k8s_v1_image_stream_image.py
Normal file
@@ -0,0 +1,868 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_image_stream_image
|
||||
short_description: Kubernetes ImageStreamImage
|
||||
description:
|
||||
- Manage the lifecycle of a image_stream_image 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.
|
||||
image_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
|
||||
image_docker_image_config:
|
||||
description:
|
||||
- DockerImageConfig is a JSON blob that the runtime uses to set up the container.
|
||||
This is a part of manifest schema v2.
|
||||
aliases:
|
||||
- docker_image_config
|
||||
image_docker_image_layers:
|
||||
description:
|
||||
- DockerImageLayers represents the layers in the image. May not be set if the
|
||||
image does not define that data.
|
||||
aliases:
|
||||
- docker_image_layers
|
||||
type: list
|
||||
image_docker_image_manifest:
|
||||
description:
|
||||
- DockerImageManifest is the raw JSON of the manifest
|
||||
aliases:
|
||||
- docker_image_manifest
|
||||
image_docker_image_manifest_media_type:
|
||||
description:
|
||||
- DockerImageManifestMediaType specifies the mediaType of manifest. This is a
|
||||
part of manifest schema v2.
|
||||
aliases:
|
||||
- docker_image_manifest_media_type
|
||||
image_docker_image_metadata_raw:
|
||||
description:
|
||||
- Raw is the underlying serialization of this object.
|
||||
aliases:
|
||||
- image_docker_metadata_raw
|
||||
image_docker_image_metadata_version:
|
||||
description:
|
||||
- DockerImageMetadataVersion conveys the version of the object, which if empty
|
||||
defaults to "1.0"
|
||||
aliases:
|
||||
- docker_image_metadata_version
|
||||
image_docker_image_reference:
|
||||
description:
|
||||
- DockerImageReference is the string that can be used to pull this image.
|
||||
aliases:
|
||||
- docker_image_reference
|
||||
image_docker_image_signatures:
|
||||
description:
|
||||
- DockerImageSignatures provides the signatures as opaque blobs. This is a part
|
||||
of manifest schema v1.
|
||||
aliases:
|
||||
- docker_image_signatures
|
||||
type: list
|
||||
image_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
|
||||
image_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
|
||||
image_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
|
||||
image_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.
|
||||
required: true
|
||||
image_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.
|
||||
image_signatures:
|
||||
description:
|
||||
- Signatures holds all signatures of the image.
|
||||
aliases:
|
||||
- signatures
|
||||
type: list
|
||||
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).
|
||||
ssl_ca_cert:
|
||||
description:
|
||||
- Path to a CA certificate used to authenticate with the API.
|
||||
type: path
|
||||
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
|
||||
image_stream_image:
|
||||
type: complex
|
||||
returned: on success
|
||||
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
|
||||
image:
|
||||
description:
|
||||
- Image associated with the ImageStream and image name.
|
||||
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
|
||||
docker_image_config:
|
||||
description:
|
||||
- DockerImageConfig is a JSON blob that the runtime uses to set up the container.
|
||||
This is a part of manifest schema v2.
|
||||
type: str
|
||||
docker_image_layers:
|
||||
description:
|
||||
- DockerImageLayers represents the layers in the image. May not be set if
|
||||
the image does not define that data.
|
||||
type: list
|
||||
contains:
|
||||
media_type:
|
||||
description:
|
||||
- MediaType of the referenced object.
|
||||
type: str
|
||||
name:
|
||||
description:
|
||||
- Name of the layer as defined by the underlying store.
|
||||
type: str
|
||||
size:
|
||||
description:
|
||||
- Size of the layer in bytes as defined by the underlying store.
|
||||
type: int
|
||||
docker_image_manifest:
|
||||
description:
|
||||
- DockerImageManifest is the raw JSON of the manifest
|
||||
type: str
|
||||
docker_image_manifest_media_type:
|
||||
description:
|
||||
- DockerImageManifestMediaType specifies the mediaType of manifest. This
|
||||
is a part of manifest schema v2.
|
||||
type: str
|
||||
docker_image_metadata:
|
||||
description:
|
||||
- DockerImageMetadata contains metadata about this image
|
||||
type: complex
|
||||
contains:
|
||||
raw:
|
||||
description:
|
||||
- Raw is the underlying serialization of this object.
|
||||
type: str
|
||||
docker_image_metadata_version:
|
||||
description:
|
||||
- DockerImageMetadataVersion conveys the version of the object, which if
|
||||
empty defaults to "1.0"
|
||||
type: str
|
||||
docker_image_reference:
|
||||
description:
|
||||
- DockerImageReference is the string that can be used to pull this image.
|
||||
type: str
|
||||
docker_image_signatures:
|
||||
description:
|
||||
- DockerImageSignatures provides the signatures as opaque blobs. This is
|
||||
a part of manifest schema v1.
|
||||
type: list
|
||||
contains: 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
|
||||
signatures:
|
||||
description:
|
||||
- Signatures holds all signatures of the image.
|
||||
type: list
|
||||
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
|
||||
conditions:
|
||||
description:
|
||||
- Conditions represent the latest available observations of a signature's
|
||||
current state.
|
||||
type: list
|
||||
contains:
|
||||
last_probe_time:
|
||||
description:
|
||||
- Last time the condition was checked.
|
||||
type: complex
|
||||
contains: {}
|
||||
last_transition_time:
|
||||
description:
|
||||
- Last time the condition transit from one status to another.
|
||||
type: complex
|
||||
contains: {}
|
||||
message:
|
||||
description:
|
||||
- Human readable message indicating details about last transition.
|
||||
type: str
|
||||
reason:
|
||||
description:
|
||||
- (brief) reason for the condition's last transition.
|
||||
type: str
|
||||
status:
|
||||
description:
|
||||
- Status of the condition, one of True, False, Unknown.
|
||||
type: str
|
||||
type:
|
||||
description:
|
||||
- Type of signature condition, Complete or Failed.
|
||||
type: str
|
||||
content:
|
||||
description:
|
||||
- "Required: An opaque binary string which is an image's signature."
|
||||
type: str
|
||||
created:
|
||||
description:
|
||||
- If specified, it is the time of signature's creation.
|
||||
type: complex
|
||||
contains: {}
|
||||
image_identity:
|
||||
description:
|
||||
- A human readable string representing image's identity. It could be
|
||||
a product name and version, or an image pull spec (e.g. "registry.access.redhat.com/rhel7/rhel:7.2").
|
||||
type: str
|
||||
issued_by:
|
||||
description:
|
||||
- If specified, it holds information about an issuer of signing certificate
|
||||
or key (a person or entity who signed the signing certificate or key).
|
||||
type: complex
|
||||
contains:
|
||||
common_name:
|
||||
description:
|
||||
- Common name (e.g. openshift-signing-service).
|
||||
type: str
|
||||
organization:
|
||||
description:
|
||||
- Organization name.
|
||||
type: str
|
||||
issued_to:
|
||||
description:
|
||||
- If specified, it holds information about a subject of signing certificate
|
||||
or key (a person or entity who signed the image).
|
||||
type: complex
|
||||
contains:
|
||||
common_name:
|
||||
description:
|
||||
- Common name (e.g. openshift-signing-service).
|
||||
type: str
|
||||
organization:
|
||||
description:
|
||||
- Organization name.
|
||||
type: str
|
||||
public_key_id:
|
||||
description:
|
||||
- If present, it is a human readable key id of public key belonging
|
||||
to the subject used to verify image signature. It should contain
|
||||
at least 64 lowest bits of public key's fingerprint (e.g. 0x685ebe62bf278440).
|
||||
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
|
||||
signed_claims:
|
||||
description:
|
||||
- Contains claims from the signature.
|
||||
type: complex
|
||||
contains: str, str
|
||||
type:
|
||||
description:
|
||||
- 'Required: Describes a type of stored blob.'
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('image_stream_image', '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()
|
||||
|
||||
2330
library/k8s_v1_image_stream_import.py
Normal file
2330
library/k8s_v1_image_stream_import.py
Normal file
File diff suppressed because it is too large
Load Diff
508
library/k8s_v1_image_stream_list.py
Normal file
508
library/k8s_v1_image_stream_list.py
Normal file
@@ -0,0 +1,508 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_image_stream_list
|
||||
short_description: Kubernetes ImageStreamList
|
||||
description:
|
||||
- Retrieve a list of image_streams. List operations provide a snapshot read of the
|
||||
underlying objects, returning a resource_version representing a consistent version
|
||||
of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
image_stream_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is a list of imageStreams
|
||||
type: list
|
||||
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 describes the desired state of this stream
|
||||
type: complex
|
||||
contains:
|
||||
docker_image_repository:
|
||||
description:
|
||||
- DockerImageRepository is optional, if specified this stream is backed
|
||||
by a Docker repository on this server
|
||||
type: str
|
||||
tags:
|
||||
description:
|
||||
- Tags map arbitrary string values to specific image locators
|
||||
type: list
|
||||
contains:
|
||||
_from:
|
||||
description:
|
||||
- From is a reference to an image stream tag or image stream this
|
||||
tag should track
|
||||
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
|
||||
annotations:
|
||||
description:
|
||||
- Annotations associated with images using this tag
|
||||
type: complex
|
||||
contains: str, str
|
||||
generation:
|
||||
description:
|
||||
- Generation is the image stream generation that updated this tag
|
||||
- setting it to 0 is an indication that the generation must be
|
||||
updated. Legacy clients will send this as nil, which means the
|
||||
client doesn't know or care.
|
||||
type: int
|
||||
import_policy:
|
||||
description:
|
||||
- Import is information that controls how images may be imported
|
||||
by the server.
|
||||
type: complex
|
||||
contains:
|
||||
insecure:
|
||||
description:
|
||||
- Insecure is true if the server may bypass certificate verification
|
||||
or connect directly over HTTP during image import.
|
||||
type: bool
|
||||
scheduled:
|
||||
description:
|
||||
- Scheduled indicates to the server that this tag should be
|
||||
periodically checked to ensure it is up to date, and imported
|
||||
type: bool
|
||||
name:
|
||||
description:
|
||||
- Name of the tag
|
||||
type: str
|
||||
reference:
|
||||
description:
|
||||
- Reference states if the tag will be imported. Default value is
|
||||
false, which means the tag will be imported.
|
||||
type: bool
|
||||
reference_policy:
|
||||
description:
|
||||
- ReferencePolicy defines how other components should consume the
|
||||
image
|
||||
type: complex
|
||||
contains:
|
||||
type:
|
||||
description:
|
||||
- Type determines how the image pull spec should be transformed
|
||||
when the image stream tag is used in deployment config triggers
|
||||
or new builds. The default value is `Source`, indicating the
|
||||
original location of the image should be used (if imported).
|
||||
The user may also specify `Local`, indicating that the pull
|
||||
spec should point to the integrated Docker registry and leverage
|
||||
the registry's ability to proxy the pull to an upstream registry.
|
||||
`Local` allows the credentials used to pull this image to
|
||||
be managed from the image stream's namespace, so others on
|
||||
the platform can access a remote image but have no access
|
||||
to the remote secret. It also allows the image layers to be
|
||||
mirrored into the local registry which the images can still
|
||||
be pulled even if the upstream registry is unavailable.
|
||||
type: str
|
||||
status:
|
||||
description:
|
||||
- Status describes the current state of this stream
|
||||
type: complex
|
||||
contains:
|
||||
docker_image_repository:
|
||||
description:
|
||||
- DockerImageRepository represents the effective location this stream
|
||||
may be accessed at. May be empty until the server determines where
|
||||
the repository is located
|
||||
type: str
|
||||
tags:
|
||||
description:
|
||||
- Tags are a historical record of images associated with each tag. The
|
||||
first entry in the TagEvent array is the currently tagged image.
|
||||
type: list
|
||||
contains:
|
||||
conditions:
|
||||
description:
|
||||
- Conditions is an array of conditions that apply to the tag event
|
||||
list.
|
||||
type: list
|
||||
contains:
|
||||
generation:
|
||||
description:
|
||||
- Generation is the spec tag generation that this status corresponds
|
||||
to
|
||||
type: int
|
||||
last_transition_time:
|
||||
description:
|
||||
- LastTransitionTIme is the time the condition transitioned
|
||||
from one status to another.
|
||||
type: complex
|
||||
contains: {}
|
||||
message:
|
||||
description:
|
||||
- Message is a human readable description of the details about
|
||||
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, Unknown.
|
||||
type: str
|
||||
type:
|
||||
description:
|
||||
- Type of tag event condition, currently only ImportSuccess
|
||||
type: str
|
||||
items:
|
||||
description:
|
||||
- Standard object's metadata.
|
||||
type: list
|
||||
contains:
|
||||
created:
|
||||
description:
|
||||
- Created holds the time the TagEvent was created
|
||||
type: complex
|
||||
contains: {}
|
||||
docker_image_reference:
|
||||
description:
|
||||
- DockerImageReference is the string that can be used to pull
|
||||
this image
|
||||
type: str
|
||||
generation:
|
||||
description:
|
||||
- Generation is the spec tag generation that resulted in this
|
||||
tag being updated
|
||||
type: int
|
||||
image:
|
||||
description:
|
||||
- Image is the image
|
||||
type: str
|
||||
tag:
|
||||
description:
|
||||
- Tag is the tag for which the history is recorded
|
||||
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:
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('image_stream_list', '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()
|
||||
|
||||
875
library/k8s_v1_image_stream_mapping.py
Normal file
875
library/k8s_v1_image_stream_mapping.py
Normal file
@@ -0,0 +1,875 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_image_stream_mapping
|
||||
short_description: Kubernetes ImageStreamMapping
|
||||
description:
|
||||
- Manage the lifecycle of a image_stream_mapping 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.
|
||||
image_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
|
||||
image_docker_image_config:
|
||||
description:
|
||||
- DockerImageConfig is a JSON blob that the runtime uses to set up the container.
|
||||
This is a part of manifest schema v2.
|
||||
aliases:
|
||||
- docker_image_config
|
||||
image_docker_image_layers:
|
||||
description:
|
||||
- DockerImageLayers represents the layers in the image. May not be set if the
|
||||
image does not define that data.
|
||||
aliases:
|
||||
- docker_image_layers
|
||||
type: list
|
||||
image_docker_image_manifest:
|
||||
description:
|
||||
- DockerImageManifest is the raw JSON of the manifest
|
||||
aliases:
|
||||
- docker_image_manifest
|
||||
image_docker_image_manifest_media_type:
|
||||
description:
|
||||
- DockerImageManifestMediaType specifies the mediaType of manifest. This is a
|
||||
part of manifest schema v2.
|
||||
aliases:
|
||||
- docker_image_manifest_media_type
|
||||
image_docker_image_metadata_raw:
|
||||
description:
|
||||
- Raw is the underlying serialization of this object.
|
||||
aliases:
|
||||
- image_docker_metadata_raw
|
||||
image_docker_image_metadata_version:
|
||||
description:
|
||||
- DockerImageMetadataVersion conveys the version of the object, which if empty
|
||||
defaults to "1.0"
|
||||
aliases:
|
||||
- docker_image_metadata_version
|
||||
image_docker_image_reference:
|
||||
description:
|
||||
- DockerImageReference is the string that can be used to pull this image.
|
||||
aliases:
|
||||
- docker_image_reference
|
||||
image_docker_image_signatures:
|
||||
description:
|
||||
- DockerImageSignatures provides the signatures as opaque blobs. This is a part
|
||||
of manifest schema v1.
|
||||
aliases:
|
||||
- docker_image_signatures
|
||||
type: list
|
||||
image_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
|
||||
image_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
|
||||
image_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
|
||||
image_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.
|
||||
required: true
|
||||
image_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.
|
||||
image_signatures:
|
||||
description:
|
||||
- Signatures holds all signatures of the image.
|
||||
aliases:
|
||||
- signatures
|
||||
type: list
|
||||
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).
|
||||
ssl_ca_cert:
|
||||
description:
|
||||
- Path to a CA certificate used to authenticate with the API.
|
||||
type: path
|
||||
tag:
|
||||
description:
|
||||
- Tag is a string value this image can be located with inside the stream.
|
||||
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
|
||||
image_stream_mapping:
|
||||
type: complex
|
||||
returned: on success
|
||||
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
|
||||
image:
|
||||
description:
|
||||
- Image is a Docker image.
|
||||
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
|
||||
docker_image_config:
|
||||
description:
|
||||
- DockerImageConfig is a JSON blob that the runtime uses to set up the container.
|
||||
This is a part of manifest schema v2.
|
||||
type: str
|
||||
docker_image_layers:
|
||||
description:
|
||||
- DockerImageLayers represents the layers in the image. May not be set if
|
||||
the image does not define that data.
|
||||
type: list
|
||||
contains:
|
||||
media_type:
|
||||
description:
|
||||
- MediaType of the referenced object.
|
||||
type: str
|
||||
name:
|
||||
description:
|
||||
- Name of the layer as defined by the underlying store.
|
||||
type: str
|
||||
size:
|
||||
description:
|
||||
- Size of the layer in bytes as defined by the underlying store.
|
||||
type: int
|
||||
docker_image_manifest:
|
||||
description:
|
||||
- DockerImageManifest is the raw JSON of the manifest
|
||||
type: str
|
||||
docker_image_manifest_media_type:
|
||||
description:
|
||||
- DockerImageManifestMediaType specifies the mediaType of manifest. This
|
||||
is a part of manifest schema v2.
|
||||
type: str
|
||||
docker_image_metadata:
|
||||
description:
|
||||
- DockerImageMetadata contains metadata about this image
|
||||
type: complex
|
||||
contains:
|
||||
raw:
|
||||
description:
|
||||
- Raw is the underlying serialization of this object.
|
||||
type: str
|
||||
docker_image_metadata_version:
|
||||
description:
|
||||
- DockerImageMetadataVersion conveys the version of the object, which if
|
||||
empty defaults to "1.0"
|
||||
type: str
|
||||
docker_image_reference:
|
||||
description:
|
||||
- DockerImageReference is the string that can be used to pull this image.
|
||||
type: str
|
||||
docker_image_signatures:
|
||||
description:
|
||||
- DockerImageSignatures provides the signatures as opaque blobs. This is
|
||||
a part of manifest schema v1.
|
||||
type: list
|
||||
contains: 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
|
||||
signatures:
|
||||
description:
|
||||
- Signatures holds all signatures of the image.
|
||||
type: list
|
||||
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
|
||||
conditions:
|
||||
description:
|
||||
- Conditions represent the latest available observations of a signature's
|
||||
current state.
|
||||
type: list
|
||||
contains:
|
||||
last_probe_time:
|
||||
description:
|
||||
- Last time the condition was checked.
|
||||
type: complex
|
||||
contains: {}
|
||||
last_transition_time:
|
||||
description:
|
||||
- Last time the condition transit from one status to another.
|
||||
type: complex
|
||||
contains: {}
|
||||
message:
|
||||
description:
|
||||
- Human readable message indicating details about last transition.
|
||||
type: str
|
||||
reason:
|
||||
description:
|
||||
- (brief) reason for the condition's last transition.
|
||||
type: str
|
||||
status:
|
||||
description:
|
||||
- Status of the condition, one of True, False, Unknown.
|
||||
type: str
|
||||
type:
|
||||
description:
|
||||
- Type of signature condition, Complete or Failed.
|
||||
type: str
|
||||
content:
|
||||
description:
|
||||
- "Required: An opaque binary string which is an image's signature."
|
||||
type: str
|
||||
created:
|
||||
description:
|
||||
- If specified, it is the time of signature's creation.
|
||||
type: complex
|
||||
contains: {}
|
||||
image_identity:
|
||||
description:
|
||||
- A human readable string representing image's identity. It could be
|
||||
a product name and version, or an image pull spec (e.g. "registry.access.redhat.com/rhel7/rhel:7.2").
|
||||
type: str
|
||||
issued_by:
|
||||
description:
|
||||
- If specified, it holds information about an issuer of signing certificate
|
||||
or key (a person or entity who signed the signing certificate or key).
|
||||
type: complex
|
||||
contains:
|
||||
common_name:
|
||||
description:
|
||||
- Common name (e.g. openshift-signing-service).
|
||||
type: str
|
||||
organization:
|
||||
description:
|
||||
- Organization name.
|
||||
type: str
|
||||
issued_to:
|
||||
description:
|
||||
- If specified, it holds information about a subject of signing certificate
|
||||
or key (a person or entity who signed the image).
|
||||
type: complex
|
||||
contains:
|
||||
common_name:
|
||||
description:
|
||||
- Common name (e.g. openshift-signing-service).
|
||||
type: str
|
||||
organization:
|
||||
description:
|
||||
- Organization name.
|
||||
type: str
|
||||
public_key_id:
|
||||
description:
|
||||
- If present, it is a human readable key id of public key belonging
|
||||
to the subject used to verify image signature. It should contain
|
||||
at least 64 lowest bits of public key's fingerprint (e.g. 0x685ebe62bf278440).
|
||||
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
|
||||
signed_claims:
|
||||
description:
|
||||
- Contains claims from the signature.
|
||||
type: complex
|
||||
contains: str, str
|
||||
type:
|
||||
description:
|
||||
- 'Required: Describes a type of stored blob.'
|
||||
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
|
||||
tag:
|
||||
description:
|
||||
- Tag is a string value this image can be located with inside the stream.
|
||||
type: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('image_stream_mapping', '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()
|
||||
|
||||
1129
library/k8s_v1_image_stream_tag.py
Normal file
1129
library/k8s_v1_image_stream_tag.py
Normal file
File diff suppressed because it is too large
Load Diff
969
library/k8s_v1_image_stream_tag_list.py
Normal file
969
library/k8s_v1_image_stream_tag_list.py
Normal file
@@ -0,0 +1,969 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_image_stream_tag_list
|
||||
short_description: Kubernetes ImageStreamTagList
|
||||
description:
|
||||
- Retrieve a list of image_stream_tags. List operations provide a snapshot read of
|
||||
the underlying objects, returning a resource_version representing a consistent version
|
||||
of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
image_stream_tag_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is the list of image stream tags
|
||||
type: list
|
||||
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
|
||||
conditions:
|
||||
description:
|
||||
- Conditions is an array of conditions that apply to the image stream tag.
|
||||
type: list
|
||||
contains:
|
||||
generation:
|
||||
description:
|
||||
- Generation is the spec tag generation that this status corresponds
|
||||
to
|
||||
type: int
|
||||
last_transition_time:
|
||||
description:
|
||||
- LastTransitionTIme is the time the condition transitioned from one
|
||||
status to another.
|
||||
type: complex
|
||||
contains: {}
|
||||
message:
|
||||
description:
|
||||
- Message is a human readable description of the details about 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, Unknown.
|
||||
type: str
|
||||
type:
|
||||
description:
|
||||
- Type of tag event condition, currently only ImportSuccess
|
||||
type: str
|
||||
generation:
|
||||
description:
|
||||
- Generation is the current generation of the tagged image - if tag is provided
|
||||
and this value is not equal to the tag generation, a user has requested
|
||||
an import that has not completed, or Conditions will be filled out indicating
|
||||
any error.
|
||||
type: int
|
||||
image:
|
||||
description:
|
||||
- Image associated with the ImageStream and tag.
|
||||
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
|
||||
docker_image_config:
|
||||
description:
|
||||
- DockerImageConfig is a JSON blob that the runtime uses to set up the
|
||||
container. This is a part of manifest schema v2.
|
||||
type: str
|
||||
docker_image_layers:
|
||||
description:
|
||||
- DockerImageLayers represents the layers in the image. May not be set
|
||||
if the image does not define that data.
|
||||
type: list
|
||||
contains:
|
||||
media_type:
|
||||
description:
|
||||
- MediaType of the referenced object.
|
||||
type: str
|
||||
name:
|
||||
description:
|
||||
- Name of the layer as defined by the underlying store.
|
||||
type: str
|
||||
size:
|
||||
description:
|
||||
- Size of the layer in bytes as defined by the underlying store.
|
||||
type: int
|
||||
docker_image_manifest:
|
||||
description:
|
||||
- DockerImageManifest is the raw JSON of the manifest
|
||||
type: str
|
||||
docker_image_manifest_media_type:
|
||||
description:
|
||||
- DockerImageManifestMediaType specifies the mediaType of manifest.
|
||||
This is a part of manifest schema v2.
|
||||
type: str
|
||||
docker_image_metadata:
|
||||
description:
|
||||
- DockerImageMetadata contains metadata about this image
|
||||
type: complex
|
||||
contains:
|
||||
raw:
|
||||
description:
|
||||
- Raw is the underlying serialization of this object.
|
||||
type: str
|
||||
docker_image_metadata_version:
|
||||
description:
|
||||
- DockerImageMetadataVersion conveys the version of the object, which
|
||||
if empty defaults to "1.0"
|
||||
type: str
|
||||
docker_image_reference:
|
||||
description:
|
||||
- DockerImageReference is the string that can be used to pull this image.
|
||||
type: str
|
||||
docker_image_signatures:
|
||||
description:
|
||||
- DockerImageSignatures provides the signatures as opaque blobs. This
|
||||
is a part of manifest schema v1.
|
||||
type: list
|
||||
contains: 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
|
||||
signatures:
|
||||
description:
|
||||
- Signatures holds all signatures of the image.
|
||||
type: list
|
||||
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
|
||||
conditions:
|
||||
description:
|
||||
- Conditions represent the latest available observations of a signature's
|
||||
current state.
|
||||
type: list
|
||||
contains:
|
||||
last_probe_time:
|
||||
description:
|
||||
- Last time the condition was checked.
|
||||
type: complex
|
||||
contains: {}
|
||||
last_transition_time:
|
||||
description:
|
||||
- Last time the condition transit from one status to another.
|
||||
type: complex
|
||||
contains: {}
|
||||
message:
|
||||
description:
|
||||
- Human readable message indicating details about last transition.
|
||||
type: str
|
||||
reason:
|
||||
description:
|
||||
- (brief) reason for the condition's last transition.
|
||||
type: str
|
||||
status:
|
||||
description:
|
||||
- Status of the condition, one of True, False, Unknown.
|
||||
type: str
|
||||
type:
|
||||
description:
|
||||
- Type of signature condition, Complete or Failed.
|
||||
type: str
|
||||
content:
|
||||
description:
|
||||
- "Required: An opaque binary string which is an image's signature."
|
||||
type: str
|
||||
created:
|
||||
description:
|
||||
- If specified, it is the time of signature's creation.
|
||||
type: complex
|
||||
contains: {}
|
||||
image_identity:
|
||||
description:
|
||||
- A human readable string representing image's identity. It could
|
||||
be a product name and version, or an image pull spec (e.g. "registry.access.redhat.com/rhel7/rhel:7.2").
|
||||
type: str
|
||||
issued_by:
|
||||
description:
|
||||
- If specified, it holds information about an issuer of signing
|
||||
certificate or key (a person or entity who signed the signing
|
||||
certificate or key).
|
||||
type: complex
|
||||
contains:
|
||||
common_name:
|
||||
description:
|
||||
- Common name (e.g. openshift-signing-service).
|
||||
type: str
|
||||
organization:
|
||||
description:
|
||||
- Organization name.
|
||||
type: str
|
||||
issued_to:
|
||||
description:
|
||||
- If specified, it holds information about a subject of signing
|
||||
certificate or key (a person or entity who signed the image).
|
||||
type: complex
|
||||
contains:
|
||||
common_name:
|
||||
description:
|
||||
- Common name (e.g. openshift-signing-service).
|
||||
type: str
|
||||
organization:
|
||||
description:
|
||||
- Organization name.
|
||||
type: str
|
||||
public_key_id:
|
||||
description:
|
||||
- If present, it is a human readable key id of public key belonging
|
||||
to the subject used to verify image signature. It should contain
|
||||
at least 64 lowest bits of public key's fingerprint (e.g.
|
||||
0x685ebe62bf278440).
|
||||
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
|
||||
signed_claims:
|
||||
description:
|
||||
- Contains claims from the signature.
|
||||
type: complex
|
||||
contains: str, str
|
||||
type:
|
||||
description:
|
||||
- 'Required: Describes a type of stored blob.'
|
||||
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
|
||||
tag:
|
||||
description:
|
||||
- Tag is the spec tag associated with this image stream tag, and it may
|
||||
be null if only pushes have occurred to this image stream.
|
||||
type: complex
|
||||
contains:
|
||||
_from:
|
||||
description:
|
||||
- From is a reference to an image stream tag or image stream this tag
|
||||
should track
|
||||
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
|
||||
annotations:
|
||||
description:
|
||||
- Annotations associated with images using this tag
|
||||
type: complex
|
||||
contains: str, str
|
||||
generation:
|
||||
description:
|
||||
- Generation is the image stream generation that updated this tag -
|
||||
setting it to 0 is an indication that the generation must be updated.
|
||||
Legacy clients will send this as nil, which means the client doesn't
|
||||
know or care.
|
||||
type: int
|
||||
import_policy:
|
||||
description:
|
||||
- Import is information that controls how images may be imported by
|
||||
the server.
|
||||
type: complex
|
||||
contains:
|
||||
insecure:
|
||||
description:
|
||||
- Insecure is true if the server may bypass certificate verification
|
||||
or connect directly over HTTP during image import.
|
||||
type: bool
|
||||
scheduled:
|
||||
description:
|
||||
- Scheduled indicates to the server that this tag should be periodically
|
||||
checked to ensure it is up to date, and imported
|
||||
type: bool
|
||||
name:
|
||||
description:
|
||||
- Name of the tag
|
||||
type: str
|
||||
reference:
|
||||
description:
|
||||
- Reference states if the tag will be imported. Default value is false,
|
||||
which means the tag will be imported.
|
||||
type: bool
|
||||
reference_policy:
|
||||
description:
|
||||
- ReferencePolicy defines how other components should consume the image
|
||||
type: complex
|
||||
contains:
|
||||
type:
|
||||
description:
|
||||
- Type determines how the image pull spec should be transformed
|
||||
when the image stream tag is used in deployment config triggers
|
||||
or new builds. The default value is `Source`, indicating the original
|
||||
location of the image should be used (if imported). The user may
|
||||
also specify `Local`, indicating that the pull spec should point
|
||||
to the integrated Docker registry and leverage the registry's
|
||||
ability to proxy the pull to an upstream registry. `Local` allows
|
||||
the credentials used to pull this image to be managed from the
|
||||
image stream's namespace, so others on the platform can access
|
||||
a remote image but have no access to the remote secret. It also
|
||||
allows the image layers to be mirrored into the local registry
|
||||
which the images can still be pulled even if the upstream registry
|
||||
is unavailable.
|
||||
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:
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('image_stream_tag_list', '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()
|
||||
|
||||
2486
library/k8s_v1_job.py
Normal file
2486
library/k8s_v1_job.py
Normal file
File diff suppressed because it is too large
Load Diff
2306
library/k8s_v1_job_list.py
Normal file
2306
library/k8s_v1_job_list.py
Normal file
File diff suppressed because it is too large
Load Diff
339
library/k8s_v1_limit_range.py
Normal file
339
library/k8s_v1_limit_range.py
Normal file
@@ -0,0 +1,339 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_limit_range
|
||||
short_description: Kubernetes LimitRange
|
||||
description:
|
||||
- Manage the lifecycle of a limit_range 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_limits:
|
||||
description:
|
||||
- Limits is the list of LimitRangeItem objects that are enforced.
|
||||
aliases:
|
||||
- limits
|
||||
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
|
||||
limit_range:
|
||||
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 defines the limits enforced.
|
||||
type: complex
|
||||
contains:
|
||||
limits:
|
||||
description:
|
||||
- Limits is the list of LimitRangeItem objects that are enforced.
|
||||
type: list
|
||||
contains:
|
||||
default:
|
||||
description:
|
||||
- Default resource requirement limit value by resource name if resource
|
||||
limit is omitted.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
default_request:
|
||||
description:
|
||||
- DefaultRequest is the default resource requirement request value by
|
||||
resource name if resource request is omitted.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
max:
|
||||
description:
|
||||
- Max usage constraints on this kind by resource name.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
max_limit_request_ratio:
|
||||
description:
|
||||
- MaxLimitRequestRatio if specified, the named resource must have a
|
||||
request and limit that are both non-zero where limit divided by request
|
||||
is less than or equal to the enumerated value; this represents the
|
||||
max burst for the named resource.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
min:
|
||||
description:
|
||||
- Min usage constraints on this kind by resource name.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
type:
|
||||
description:
|
||||
- Type of resource that this limit applies to.
|
||||
type: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('limit_range', '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()
|
||||
|
||||
354
library/k8s_v1_limit_range_list.py
Normal file
354
library/k8s_v1_limit_range_list.py
Normal file
@@ -0,0 +1,354 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_limit_range_list
|
||||
short_description: Kubernetes LimitRangeList
|
||||
description:
|
||||
- Retrieve a list of limit_ranges. List operations provide a snapshot read of the
|
||||
underlying objects, returning a resource_version representing a consistent version
|
||||
of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
limit_range_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is a list of LimitRange objects.
|
||||
type: list
|
||||
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 defines the limits enforced.
|
||||
type: complex
|
||||
contains:
|
||||
limits:
|
||||
description:
|
||||
- Limits is the list of LimitRangeItem objects that are enforced.
|
||||
type: list
|
||||
contains:
|
||||
default:
|
||||
description:
|
||||
- Default resource requirement limit value by resource name if resource
|
||||
limit is omitted.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
default_request:
|
||||
description:
|
||||
- DefaultRequest is the default resource requirement request value
|
||||
by resource name if resource request is omitted.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
max:
|
||||
description:
|
||||
- Max usage constraints on this kind by resource name.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
max_limit_request_ratio:
|
||||
description:
|
||||
- MaxLimitRequestRatio if specified, the named resource must have
|
||||
a request and limit that are both non-zero where limit divided
|
||||
by request is less than or equal to the enumerated value; this
|
||||
represents the max burst for the named resource.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
min:
|
||||
description:
|
||||
- Min usage constraints on this kind by resource name.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
type:
|
||||
description:
|
||||
- Type of resource that this limit applies to.
|
||||
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 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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('limit_range_list', '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()
|
||||
|
||||
367
library/k8s_v1_namespace.py
Normal file
367
library/k8s_v1_namespace.py
Normal file
@@ -0,0 +1,367 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_namespace
|
||||
short_description: Kubernetes Namespace
|
||||
description:
|
||||
- Manage the lifecycle of a namespace 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_finalizers:
|
||||
description:
|
||||
- Finalizers is an opaque list of values that must be empty to permanently remove
|
||||
object from storage.
|
||||
aliases:
|
||||
- finalizers
|
||||
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 = '''
|
||||
- name: Create a namespace
|
||||
k8s_v1_namespace:
|
||||
name: k8s-project
|
||||
state: present
|
||||
|
||||
- name: Add labels and annotations
|
||||
k8s_v1_namespace:
|
||||
name: k8s-project
|
||||
state: present
|
||||
labels:
|
||||
app_env: production
|
||||
app_class: '3'
|
||||
annotations:
|
||||
domain: namespace.com.acmecorp
|
||||
|
||||
- name: Update labels and annotations
|
||||
k8s_v1_namespace:
|
||||
name: k8s-project
|
||||
state: present
|
||||
labels:
|
||||
app_env: production
|
||||
app_class: '4'
|
||||
app_group: '2'
|
||||
annotations:
|
||||
domain: namespace.app.com.acmecorp
|
||||
monitoring_group: '1'
|
||||
|
||||
- name: Create a namespace
|
||||
k8s_v1_namespace:
|
||||
name: search-project
|
||||
state: present
|
||||
labels:
|
||||
app: web
|
||||
level: '1'
|
||||
annotations:
|
||||
company: acme.com
|
||||
|
||||
- name: Replace namespace
|
||||
k8s_v1_namespace:
|
||||
name: search-project
|
||||
state: replaced
|
||||
labels:
|
||||
app: web_app
|
||||
level: '3'
|
||||
annotations:
|
||||
company: acme.com
|
||||
|
||||
- name: Remove namespace
|
||||
k8s_v1_namespace:
|
||||
name: search-project
|
||||
state: absent
|
||||
'''
|
||||
|
||||
RETURN = '''
|
||||
api_version:
|
||||
type: string
|
||||
description: Requested API version
|
||||
namespace:
|
||||
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 defines the behavior of the Namespace.
|
||||
type: complex
|
||||
contains:
|
||||
finalizers:
|
||||
description:
|
||||
- Finalizers is an opaque list of values that must be empty to permanently
|
||||
remove object from storage.
|
||||
type: list
|
||||
contains: str
|
||||
status:
|
||||
description:
|
||||
- Status describes the current status of a Namespace.
|
||||
type: complex
|
||||
contains:
|
||||
phase:
|
||||
description:
|
||||
- Phase is the current lifecycle phase of the namespace.
|
||||
type: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('namespace', '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()
|
||||
|
||||
330
library/k8s_v1_namespace_list.py
Normal file
330
library/k8s_v1_namespace_list.py
Normal file
@@ -0,0 +1,330 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_namespace_list
|
||||
short_description: Kubernetes NamespaceList
|
||||
description:
|
||||
- Retrieve a list of namespaces. List operations provide a snapshot read of the underlying
|
||||
objects, returning a resource_version representing a consistent version of the listed
|
||||
objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
namespace_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is the list of Namespace objects in the list.
|
||||
type: list
|
||||
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 defines the behavior of the Namespace.
|
||||
type: complex
|
||||
contains:
|
||||
finalizers:
|
||||
description:
|
||||
- Finalizers is an opaque list of values that must be empty to permanently
|
||||
remove object from storage.
|
||||
type: list
|
||||
contains: str
|
||||
status:
|
||||
description:
|
||||
- Status describes the current status of a Namespace.
|
||||
type: complex
|
||||
contains:
|
||||
phase:
|
||||
description:
|
||||
- Phase is the current lifecycle phase of the namespace.
|
||||
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 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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('namespace_list', '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()
|
||||
|
||||
309
library/k8s_v1_net_namespace.py
Normal file
309
library/k8s_v1_net_namespace.py
Normal file
@@ -0,0 +1,309 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_net_namespace
|
||||
short_description: Kubernetes NetNamespace
|
||||
description:
|
||||
- Manage the lifecycle of a net_namespace 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.
|
||||
netid:
|
||||
description:
|
||||
- NetID is the network identifier of the network namespace assigned to each overlay
|
||||
network packet. This can be manipulated with the "oadm pod-network" commands.
|
||||
type: int
|
||||
netname:
|
||||
description:
|
||||
- NetName is the name of the network namespace. (This is the same as the object's
|
||||
name, but both fields must be set.)
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
net_namespace:
|
||||
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
|
||||
netid:
|
||||
description:
|
||||
- NetID is the network identifier of the network namespace assigned to each
|
||||
overlay network packet. This can be manipulated with the "oadm pod-network"
|
||||
commands.
|
||||
type: int
|
||||
netname:
|
||||
description:
|
||||
- NetName is the name of the network namespace. (This is the same as the object's
|
||||
name, but both fields must be set.)
|
||||
type: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('net_namespace', '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()
|
||||
|
||||
321
library/k8s_v1_net_namespace_list.py
Normal file
321
library/k8s_v1_net_namespace_list.py
Normal file
@@ -0,0 +1,321 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_net_namespace_list
|
||||
short_description: Kubernetes NetNamespaceList
|
||||
description:
|
||||
- Retrieve a list of net_namespaces. List operations provide a snapshot read of the
|
||||
underlying objects, returning a resource_version representing a consistent version
|
||||
of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
net_namespace_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is the list of net namespaces
|
||||
type: list
|
||||
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
|
||||
netid:
|
||||
description:
|
||||
- NetID is the network identifier of the network namespace assigned to each
|
||||
overlay network packet. This can be manipulated with the "oadm pod-network"
|
||||
commands.
|
||||
type: int
|
||||
netname:
|
||||
description:
|
||||
- NetName is the name of the network namespace. (This is the same as the
|
||||
object's name, but both fields must be set.)
|
||||
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:
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('net_namespace_list', '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()
|
||||
|
||||
497
library/k8s_v1_node.py
Normal file
497
library/k8s_v1_node.py
Normal file
@@ -0,0 +1,497 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_node
|
||||
short_description: Kubernetes Node
|
||||
description:
|
||||
- Manage the lifecycle of a node 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_external_id:
|
||||
description:
|
||||
- External ID of the node assigned by some machine database (e.g. a cloud provider).
|
||||
Deprecated.
|
||||
aliases:
|
||||
- external_id
|
||||
spec_pod_cidr:
|
||||
description:
|
||||
- PodCIDR represents the pod IP range assigned to the node.
|
||||
aliases:
|
||||
- pod_cidr
|
||||
spec_provider_id:
|
||||
description:
|
||||
- 'ID of the node assigned by the cloud provider in the format: <ProviderName>://<ProviderSpecificNodeID>'
|
||||
aliases:
|
||||
- provider_id
|
||||
spec_unschedulable:
|
||||
description:
|
||||
- Unschedulable controls node schedulability of new pods. By default, node is
|
||||
schedulable.
|
||||
aliases:
|
||||
- unschedulable
|
||||
type: bool
|
||||
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
|
||||
node:
|
||||
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 defines the behavior of a node. http://releases.k8s.io/HEAD/docs/devel/api-conventions.md
|
||||
type: complex
|
||||
contains:
|
||||
external_id:
|
||||
description:
|
||||
- External ID of the node assigned by some machine database (e.g. a cloud
|
||||
provider). Deprecated.
|
||||
type: str
|
||||
pod_cidr:
|
||||
description:
|
||||
- PodCIDR represents the pod IP range assigned to the node.
|
||||
type: str
|
||||
provider_id:
|
||||
description:
|
||||
- 'ID of the node assigned by the cloud provider in the format: <ProviderName>://<ProviderSpecificNodeID>'
|
||||
type: str
|
||||
unschedulable:
|
||||
description:
|
||||
- Unschedulable controls node schedulability of new pods. By default, node
|
||||
is schedulable.
|
||||
type: bool
|
||||
status:
|
||||
description:
|
||||
- Most recently observed status of the node. Populated by the system. Read-only.
|
||||
type: complex
|
||||
contains:
|
||||
addresses:
|
||||
description:
|
||||
- List of addresses reachable to the node. Queried from cloud provider,
|
||||
if available.
|
||||
type: list
|
||||
contains:
|
||||
address:
|
||||
description:
|
||||
- The node address.
|
||||
type: str
|
||||
type:
|
||||
description:
|
||||
- Node address type, one of Hostname, ExternalIP or InternalIP.
|
||||
type: str
|
||||
allocatable:
|
||||
description:
|
||||
- Allocatable represents the resources of a node that are available for
|
||||
scheduling. Defaults to Capacity.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
capacity:
|
||||
description:
|
||||
- Capacity represents the total resources of a node.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
conditions:
|
||||
description:
|
||||
- Conditions is an array of current observed node conditions.
|
||||
type: list
|
||||
contains:
|
||||
last_heartbeat_time:
|
||||
description:
|
||||
- Last time we got an update on a given condition.
|
||||
type: complex
|
||||
contains: {}
|
||||
last_transition_time:
|
||||
description:
|
||||
- Last time the condition transit from one status to another.
|
||||
type: complex
|
||||
contains: {}
|
||||
message:
|
||||
description:
|
||||
- Human readable message indicating details about last transition.
|
||||
type: str
|
||||
reason:
|
||||
description:
|
||||
- (brief) reason for the condition's last transition.
|
||||
type: str
|
||||
status:
|
||||
description:
|
||||
- Status of the condition, one of True, False, Unknown.
|
||||
type: str
|
||||
type:
|
||||
description:
|
||||
- Type of node condition.
|
||||
type: str
|
||||
daemon_endpoints:
|
||||
description:
|
||||
- Endpoints of daemons running on the Node.
|
||||
type: complex
|
||||
contains:
|
||||
kubelet_endpoint:
|
||||
description:
|
||||
- Endpoint on which Kubelet is listening.
|
||||
type: complex
|
||||
contains:
|
||||
port:
|
||||
description:
|
||||
- Port number of the given endpoint.
|
||||
type: int
|
||||
images:
|
||||
description:
|
||||
- List of container images on this node
|
||||
type: list
|
||||
contains:
|
||||
names:
|
||||
description:
|
||||
- Names by which this image is known. e.g. ["gcr.io/google_containers/hyperkube:v1.0.7",
|
||||
"dockerhub.io/google_containers/hyperkube:v1.0.7"]
|
||||
type: list
|
||||
contains: str
|
||||
size_bytes:
|
||||
description:
|
||||
- The size of the image in bytes.
|
||||
type: int
|
||||
node_info:
|
||||
description:
|
||||
- Set of ids/uuids to uniquely identify the node.
|
||||
type: complex
|
||||
contains:
|
||||
architecture:
|
||||
description:
|
||||
- The Architecture reported by the node
|
||||
type: str
|
||||
boot_id:
|
||||
description:
|
||||
- Boot ID reported by the node.
|
||||
type: str
|
||||
container_runtime_version:
|
||||
description:
|
||||
- ContainerRuntime Version reported by the node through runtime remote
|
||||
API (e.g. docker://1.5.0).
|
||||
type: str
|
||||
kernel_version:
|
||||
description:
|
||||
- Kernel Version reported by the node from 'uname -r' (e.g. 3.16.0-0.bpo.4-amd64).
|
||||
type: str
|
||||
kube_proxy_version:
|
||||
description:
|
||||
- KubeProxy Version reported by the node.
|
||||
type: str
|
||||
kubelet_version:
|
||||
description:
|
||||
- Kubelet Version reported by the node.
|
||||
type: str
|
||||
machine_id:
|
||||
description:
|
||||
- 'MachineID reported by the node. For unique machine identification
|
||||
in the cluster this field is prefered. Learn more from man(5) machine-id:
|
||||
http://man7.org/linux/man-pages/man5/machine-id.5.html'
|
||||
type: str
|
||||
operating_system:
|
||||
description:
|
||||
- The Operating System reported by the node
|
||||
type: str
|
||||
os_image:
|
||||
description:
|
||||
- OS Image reported by the node from /etc/os-release (e.g. Debian GNU/Linux
|
||||
7 (wheezy)).
|
||||
type: str
|
||||
system_uuid:
|
||||
description:
|
||||
- SystemUUID reported by the node. For unique machine identification
|
||||
MachineID is prefered. This field is specific to Red Hat hosts
|
||||
type: str
|
||||
phase:
|
||||
description:
|
||||
- NodePhase is the recently observed lifecycle phase of the node.
|
||||
type: str
|
||||
volumes_attached:
|
||||
description:
|
||||
- List of volumes that are attached to the node.
|
||||
type: list
|
||||
contains:
|
||||
device_path:
|
||||
description:
|
||||
- DevicePath represents the device path where the volume should be available
|
||||
type: str
|
||||
name:
|
||||
description:
|
||||
- Name of the attached volume
|
||||
type: str
|
||||
volumes_in_use:
|
||||
description:
|
||||
- List of attachable volumes in use (mounted) by the node.
|
||||
type: list
|
||||
contains: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('node', '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()
|
||||
|
||||
496
library/k8s_v1_node_list.py
Normal file
496
library/k8s_v1_node_list.py
Normal file
@@ -0,0 +1,496 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_node_list
|
||||
short_description: Kubernetes NodeList
|
||||
description:
|
||||
- Retrieve a list of nodes. List operations provide a snapshot read of the underlying
|
||||
objects, returning a resource_version representing a consistent version of the listed
|
||||
objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
node_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- List of nodes
|
||||
type: list
|
||||
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 defines the behavior of a node. http://releases.k8s.io/HEAD/docs/devel/api-conventions.md
|
||||
type: complex
|
||||
contains:
|
||||
external_id:
|
||||
description:
|
||||
- External ID of the node assigned by some machine database (e.g. a
|
||||
cloud provider). Deprecated.
|
||||
type: str
|
||||
pod_cidr:
|
||||
description:
|
||||
- PodCIDR represents the pod IP range assigned to the node.
|
||||
type: str
|
||||
provider_id:
|
||||
description:
|
||||
- 'ID of the node assigned by the cloud provider in the format: <ProviderName>://<ProviderSpecificNodeID>'
|
||||
type: str
|
||||
unschedulable:
|
||||
description:
|
||||
- Unschedulable controls node schedulability of new pods. By default,
|
||||
node is schedulable.
|
||||
type: bool
|
||||
status:
|
||||
description:
|
||||
- Most recently observed status of the node. Populated by the system. Read-only.
|
||||
type: complex
|
||||
contains:
|
||||
addresses:
|
||||
description:
|
||||
- List of addresses reachable to the node. Queried from cloud provider,
|
||||
if available.
|
||||
type: list
|
||||
contains:
|
||||
address:
|
||||
description:
|
||||
- The node address.
|
||||
type: str
|
||||
type:
|
||||
description:
|
||||
- Node address type, one of Hostname, ExternalIP or InternalIP.
|
||||
type: str
|
||||
allocatable:
|
||||
description:
|
||||
- Allocatable represents the resources of a node that are available
|
||||
for scheduling. Defaults to Capacity.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
capacity:
|
||||
description:
|
||||
- Capacity represents the total resources of a node.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
conditions:
|
||||
description:
|
||||
- Conditions is an array of current observed node conditions.
|
||||
type: list
|
||||
contains:
|
||||
last_heartbeat_time:
|
||||
description:
|
||||
- Last time we got an update on a given condition.
|
||||
type: complex
|
||||
contains: {}
|
||||
last_transition_time:
|
||||
description:
|
||||
- Last time the condition transit from one status to another.
|
||||
type: complex
|
||||
contains: {}
|
||||
message:
|
||||
description:
|
||||
- Human readable message indicating details about last transition.
|
||||
type: str
|
||||
reason:
|
||||
description:
|
||||
- (brief) reason for the condition's last transition.
|
||||
type: str
|
||||
status:
|
||||
description:
|
||||
- Status of the condition, one of True, False, Unknown.
|
||||
type: str
|
||||
type:
|
||||
description:
|
||||
- Type of node condition.
|
||||
type: str
|
||||
daemon_endpoints:
|
||||
description:
|
||||
- Endpoints of daemons running on the Node.
|
||||
type: complex
|
||||
contains:
|
||||
kubelet_endpoint:
|
||||
description:
|
||||
- Endpoint on which Kubelet is listening.
|
||||
type: complex
|
||||
contains:
|
||||
port:
|
||||
description:
|
||||
- Port number of the given endpoint.
|
||||
type: int
|
||||
images:
|
||||
description:
|
||||
- List of container images on this node
|
||||
type: list
|
||||
contains:
|
||||
names:
|
||||
description:
|
||||
- Names by which this image is known. e.g. ["gcr.io/google_containers/hyperkube:v1.0.7",
|
||||
"dockerhub.io/google_containers/hyperkube:v1.0.7"]
|
||||
type: list
|
||||
contains: str
|
||||
size_bytes:
|
||||
description:
|
||||
- The size of the image in bytes.
|
||||
type: int
|
||||
node_info:
|
||||
description:
|
||||
- Set of ids/uuids to uniquely identify the node.
|
||||
type: complex
|
||||
contains:
|
||||
architecture:
|
||||
description:
|
||||
- The Architecture reported by the node
|
||||
type: str
|
||||
boot_id:
|
||||
description:
|
||||
- Boot ID reported by the node.
|
||||
type: str
|
||||
container_runtime_version:
|
||||
description:
|
||||
- ContainerRuntime Version reported by the node through runtime
|
||||
remote API (e.g. docker://1.5.0).
|
||||
type: str
|
||||
kernel_version:
|
||||
description:
|
||||
- Kernel Version reported by the node from 'uname -r' (e.g. 3.16.0-0.bpo.4-amd64).
|
||||
type: str
|
||||
kube_proxy_version:
|
||||
description:
|
||||
- KubeProxy Version reported by the node.
|
||||
type: str
|
||||
kubelet_version:
|
||||
description:
|
||||
- Kubelet Version reported by the node.
|
||||
type: str
|
||||
machine_id:
|
||||
description:
|
||||
- 'MachineID reported by the node. For unique machine identification
|
||||
in the cluster this field is prefered. Learn more from man(5)
|
||||
machine-id: http://man7.org/linux/man-pages/man5/machine-id.5.html'
|
||||
type: str
|
||||
operating_system:
|
||||
description:
|
||||
- The Operating System reported by the node
|
||||
type: str
|
||||
os_image:
|
||||
description:
|
||||
- OS Image reported by the node from /etc/os-release (e.g. Debian
|
||||
GNU/Linux 7 (wheezy)).
|
||||
type: str
|
||||
system_uuid:
|
||||
description:
|
||||
- SystemUUID reported by the node. For unique machine identification
|
||||
MachineID is prefered. This field is specific to Red Hat hosts
|
||||
type: str
|
||||
phase:
|
||||
description:
|
||||
- NodePhase is the recently observed lifecycle phase of the node.
|
||||
type: str
|
||||
volumes_attached:
|
||||
description:
|
||||
- List of volumes that are attached to the node.
|
||||
type: list
|
||||
contains:
|
||||
device_path:
|
||||
description:
|
||||
- DevicePath represents the device path where the volume should
|
||||
be available
|
||||
type: str
|
||||
name:
|
||||
description:
|
||||
- Name of the attached volume
|
||||
type: str
|
||||
volumes_in_use:
|
||||
description:
|
||||
- List of attachable volumes in use (mounted) by the node.
|
||||
type: list
|
||||
contains: 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 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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('node_list', '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()
|
||||
|
||||
348
library/k8s_v1_o_auth_access_token.py
Normal file
348
library/k8s_v1_o_auth_access_token.py
Normal file
@@ -0,0 +1,348 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_o_auth_access_token
|
||||
short_description: Kubernetes OAuthAccessToken
|
||||
description:
|
||||
- Manage the lifecycle of a o_auth_access_token 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.
|
||||
authorize_token:
|
||||
description:
|
||||
- AuthorizeToken contains the token that authorized this token
|
||||
cert_file:
|
||||
description:
|
||||
- Path to a certificate used to authenticate with the API.
|
||||
type: path
|
||||
client_name:
|
||||
description:
|
||||
- ClientName references the client that created this token.
|
||||
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
|
||||
expires_in:
|
||||
description:
|
||||
- ExpiresIn is the seconds from CreationTime before this token expires.
|
||||
type: int
|
||||
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).
|
||||
redirect_uri:
|
||||
description:
|
||||
- RedirectURI is the redirection associated with the token.
|
||||
refresh_token:
|
||||
description:
|
||||
- RefreshToken is the value by which this token can be renewed. Can be blank.
|
||||
scopes:
|
||||
description:
|
||||
- Scopes is an array of the requested scopes.
|
||||
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
|
||||
user_name:
|
||||
description:
|
||||
- UserName is the user name associated with this token
|
||||
user_uid:
|
||||
description:
|
||||
- UserUID is the unique UID associated with this token
|
||||
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
|
||||
o_auth_access_token:
|
||||
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
|
||||
authorize_token:
|
||||
description:
|
||||
- AuthorizeToken contains the token that authorized this token
|
||||
type: str
|
||||
client_name:
|
||||
description:
|
||||
- ClientName references the client that created this token.
|
||||
type: str
|
||||
expires_in:
|
||||
description:
|
||||
- ExpiresIn is the seconds from CreationTime before this token expires.
|
||||
type: int
|
||||
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
|
||||
redirect_uri:
|
||||
description:
|
||||
- RedirectURI is the redirection associated with the token.
|
||||
type: str
|
||||
refresh_token:
|
||||
description:
|
||||
- RefreshToken is the value by which this token can be renewed. Can be blank.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Scopes is an array of the requested scopes.
|
||||
type: list
|
||||
contains: str
|
||||
user_name:
|
||||
description:
|
||||
- UserName is the user name associated with this token
|
||||
type: str
|
||||
user_uid:
|
||||
description:
|
||||
- UserUID is the unique UID associated with this token
|
||||
type: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('o_auth_access_token', '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()
|
||||
|
||||
343
library/k8s_v1_o_auth_access_token_list.py
Normal file
343
library/k8s_v1_o_auth_access_token_list.py
Normal file
@@ -0,0 +1,343 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_o_auth_access_token_list
|
||||
short_description: Kubernetes OAuthAccessTokenList
|
||||
description:
|
||||
- Retrieve a list of o_auth_access_tokens. List operations provide a snapshot read
|
||||
of the underlying objects, returning a resource_version representing a consistent
|
||||
version of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
o_auth_access_token_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is the list of OAuth access tokens
|
||||
type: list
|
||||
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
|
||||
authorize_token:
|
||||
description:
|
||||
- AuthorizeToken contains the token that authorized this token
|
||||
type: str
|
||||
client_name:
|
||||
description:
|
||||
- ClientName references the client that created this token.
|
||||
type: str
|
||||
expires_in:
|
||||
description:
|
||||
- ExpiresIn is the seconds from CreationTime before this token expires.
|
||||
type: int
|
||||
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
|
||||
redirect_uri:
|
||||
description:
|
||||
- RedirectURI is the redirection associated with the token.
|
||||
type: str
|
||||
refresh_token:
|
||||
description:
|
||||
- RefreshToken is the value by which this token can be renewed. Can be blank.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Scopes is an array of the requested scopes.
|
||||
type: list
|
||||
contains: str
|
||||
user_name:
|
||||
description:
|
||||
- UserName is the user name associated with this token
|
||||
type: str
|
||||
user_uid:
|
||||
description:
|
||||
- UserUID is the unique UID associated with this token
|
||||
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:
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('o_auth_access_token_list', '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()
|
||||
|
||||
349
library/k8s_v1_o_auth_authorize_token.py
Normal file
349
library/k8s_v1_o_auth_authorize_token.py
Normal file
@@ -0,0 +1,349 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_o_auth_authorize_token
|
||||
short_description: Kubernetes OAuthAuthorizeToken
|
||||
description:
|
||||
- Manage the lifecycle of a o_auth_authorize_token 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
|
||||
client_name:
|
||||
description:
|
||||
- ClientName references the client that created this token.
|
||||
code_challenge:
|
||||
description:
|
||||
- CodeChallenge is the optional code_challenge associated with this authorization
|
||||
code, as described in rfc7636
|
||||
code_challenge_method:
|
||||
description:
|
||||
- CodeChallengeMethod is the optional code_challenge_method associated with this
|
||||
authorization code, as described in rfc7636
|
||||
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
|
||||
expires_in:
|
||||
description:
|
||||
- ExpiresIn is the seconds from CreationTime before this token expires.
|
||||
type: int
|
||||
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).
|
||||
redirect_uri:
|
||||
description:
|
||||
- RedirectURI is the redirection associated with the token.
|
||||
scopes:
|
||||
description:
|
||||
- Scopes is an array of the requested scopes.
|
||||
type: list
|
||||
ssl_ca_cert:
|
||||
description:
|
||||
- Path to a CA certificate used to authenticate with the API.
|
||||
type: path
|
||||
state:
|
||||
description:
|
||||
- State data from request
|
||||
user_name:
|
||||
description:
|
||||
- UserName is the user name associated with this token
|
||||
user_uid:
|
||||
description:
|
||||
- UserUID is the unique UID associated with this token. UserUID and UserName must
|
||||
both match for this token to be valid.
|
||||
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
|
||||
o_auth_authorize_token:
|
||||
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
|
||||
client_name:
|
||||
description:
|
||||
- ClientName references the client that created this token.
|
||||
type: str
|
||||
code_challenge:
|
||||
description:
|
||||
- CodeChallenge is the optional code_challenge associated with this authorization
|
||||
code, as described in rfc7636
|
||||
type: str
|
||||
code_challenge_method:
|
||||
description:
|
||||
- CodeChallengeMethod is the optional code_challenge_method associated with
|
||||
this authorization code, as described in rfc7636
|
||||
type: str
|
||||
expires_in:
|
||||
description:
|
||||
- ExpiresIn is the seconds from CreationTime before this token expires.
|
||||
type: int
|
||||
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
|
||||
redirect_uri:
|
||||
description:
|
||||
- RedirectURI is the redirection associated with the token.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Scopes is an array of the requested scopes.
|
||||
type: list
|
||||
contains: str
|
||||
state:
|
||||
description:
|
||||
- State data from request
|
||||
type: str
|
||||
user_name:
|
||||
description:
|
||||
- UserName is the user name associated with this token
|
||||
type: str
|
||||
user_uid:
|
||||
description:
|
||||
- UserUID is the unique UID associated with this token. UserUID and UserName
|
||||
must both match for this token to be valid.
|
||||
type: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('o_auth_authorize_token', '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()
|
||||
|
||||
350
library/k8s_v1_o_auth_authorize_token_list.py
Normal file
350
library/k8s_v1_o_auth_authorize_token_list.py
Normal file
@@ -0,0 +1,350 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_o_auth_authorize_token_list
|
||||
short_description: Kubernetes OAuthAuthorizeTokenList
|
||||
description:
|
||||
- Retrieve a list of o_auth_authorize_tokens. List operations provide a snapshot read
|
||||
of the underlying objects, returning a resource_version representing a consistent
|
||||
version of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
o_auth_authorize_token_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is the list of OAuth authorization tokens
|
||||
type: list
|
||||
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
|
||||
client_name:
|
||||
description:
|
||||
- ClientName references the client that created this token.
|
||||
type: str
|
||||
code_challenge:
|
||||
description:
|
||||
- CodeChallenge is the optional code_challenge associated with this authorization
|
||||
code, as described in rfc7636
|
||||
type: str
|
||||
code_challenge_method:
|
||||
description:
|
||||
- CodeChallengeMethod is the optional code_challenge_method associated with
|
||||
this authorization code, as described in rfc7636
|
||||
type: str
|
||||
expires_in:
|
||||
description:
|
||||
- ExpiresIn is the seconds from CreationTime before this token expires.
|
||||
type: int
|
||||
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
|
||||
redirect_uri:
|
||||
description:
|
||||
- RedirectURI is the redirection associated with the token.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Scopes is an array of the requested scopes.
|
||||
type: list
|
||||
contains: str
|
||||
state:
|
||||
description:
|
||||
- State data from request
|
||||
type: str
|
||||
user_name:
|
||||
description:
|
||||
- UserName is the user name associated with this token
|
||||
type: str
|
||||
user_uid:
|
||||
description:
|
||||
- UserUID is the unique UID associated with this token. UserUID and UserName
|
||||
must both match for this token to be valid.
|
||||
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:
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('o_auth_authorize_token_list', '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()
|
||||
|
||||
383
library/k8s_v1_o_auth_client.py
Normal file
383
library/k8s_v1_o_auth_client.py
Normal file
@@ -0,0 +1,383 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_o_auth_client
|
||||
short_description: Kubernetes OAuthClient
|
||||
description:
|
||||
- Manage the lifecycle of a o_auth_client object. Supports check mode, and attempts
|
||||
to to be idempotent.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
additional_secrets:
|
||||
description:
|
||||
- AdditionalSecrets holds other secrets that may be used to identify the client.
|
||||
This is useful for rotation and for service account token validation
|
||||
type: list
|
||||
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
|
||||
grant_method:
|
||||
description:
|
||||
- 'GrantMethod determines how to handle grants for this client. If no method is
|
||||
provided, the cluster default grant handling method will be used. Valid grant
|
||||
handling methods are: - auto: always approves grant requests, useful for trusted
|
||||
clients - prompt: prompts the end user for approval of grant requests, useful
|
||||
for third-party clients - deny: always denies grant requests, useful for black-listed
|
||||
clients'
|
||||
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).
|
||||
redirect_ur_is:
|
||||
description:
|
||||
- RedirectURIs is the valid redirection URIs associated with a client
|
||||
type: list
|
||||
respond_with_challenges:
|
||||
description:
|
||||
- RespondWithChallenges indicates whether the client wants authentication needed
|
||||
responses made in the form of challenges instead of redirects
|
||||
type: bool
|
||||
scope_restrictions:
|
||||
description:
|
||||
- ScopeRestrictions describes which scopes this client can request. Each requested
|
||||
scope is checked against each restriction. If any restriction matches, then
|
||||
the scope is allowed. If no restriction matches, then the scope is denied.
|
||||
type: list
|
||||
secret:
|
||||
description:
|
||||
- Secret is the unique secret associated with a client
|
||||
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
|
||||
o_auth_client:
|
||||
type: complex
|
||||
returned: when I(state) = C(present)
|
||||
contains:
|
||||
additional_secrets:
|
||||
description:
|
||||
- AdditionalSecrets holds other secrets that may be used to identify the client.
|
||||
This is useful for rotation and for service account token validation
|
||||
type: list
|
||||
contains: str
|
||||
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
|
||||
grant_method:
|
||||
description:
|
||||
- 'GrantMethod determines how to handle grants for this client. If no method
|
||||
is provided, the cluster default grant handling method will be used. Valid
|
||||
grant handling methods are: - auto: always approves grant requests, useful
|
||||
for trusted clients - prompt: prompts the end user for approval of grant requests,
|
||||
useful for third-party clients - deny: always denies grant requests, useful
|
||||
for black-listed clients'
|
||||
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
|
||||
redirect_ur_is:
|
||||
description:
|
||||
- RedirectURIs is the valid redirection URIs associated with a client
|
||||
type: list
|
||||
contains: str
|
||||
respond_with_challenges:
|
||||
description:
|
||||
- RespondWithChallenges indicates whether the client wants authentication needed
|
||||
responses made in the form of challenges instead of redirects
|
||||
type: bool
|
||||
scope_restrictions:
|
||||
description:
|
||||
- ScopeRestrictions describes which scopes this client can request. Each requested
|
||||
scope is checked against each restriction. If any restriction matches, then
|
||||
the scope is allowed. If no restriction matches, then the scope is denied.
|
||||
type: list
|
||||
contains:
|
||||
cluster_role:
|
||||
description:
|
||||
- ClusterRole describes a set of restrictions for cluster role scoping.
|
||||
type: complex
|
||||
contains:
|
||||
allow_escalation:
|
||||
description:
|
||||
- AllowEscalation indicates whether you can request roles and their
|
||||
escalating resources
|
||||
type: bool
|
||||
namespaces:
|
||||
description:
|
||||
- Namespaces is the list of namespaces that can be referenced. * means
|
||||
any of them (including *)
|
||||
type: list
|
||||
contains: str
|
||||
role_names:
|
||||
description:
|
||||
- RoleNames is the list of cluster roles that can referenced. * means
|
||||
anything
|
||||
type: list
|
||||
contains: str
|
||||
literals:
|
||||
description:
|
||||
- ExactValues means the scope has to match a particular set of strings exactly
|
||||
type: list
|
||||
contains: str
|
||||
secret:
|
||||
description:
|
||||
- Secret is the unique secret associated with a client
|
||||
type: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('o_auth_client', '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()
|
||||
|
||||
321
library/k8s_v1_o_auth_client_authorization.py
Normal file
321
library/k8s_v1_o_auth_client_authorization.py
Normal file
@@ -0,0 +1,321 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_o_auth_client_authorization
|
||||
short_description: Kubernetes OAuthClientAuthorization
|
||||
description:
|
||||
- Manage the lifecycle of a o_auth_client_authorization 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
|
||||
client_name:
|
||||
description:
|
||||
- ClientName references the client that created this authorization
|
||||
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).
|
||||
scopes:
|
||||
description:
|
||||
- Scopes is an array of the granted scopes.
|
||||
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
|
||||
user_name:
|
||||
description:
|
||||
- UserName is the user name that authorized this client
|
||||
user_uid:
|
||||
description:
|
||||
- UserUID is the unique UID associated with this authorization. UserUID and UserName
|
||||
must both match for this authorization to be valid.
|
||||
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
|
||||
o_auth_client_authorization:
|
||||
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
|
||||
client_name:
|
||||
description:
|
||||
- ClientName references the client that created this authorization
|
||||
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
|
||||
scopes:
|
||||
description:
|
||||
- Scopes is an array of the granted scopes.
|
||||
type: list
|
||||
contains: str
|
||||
user_name:
|
||||
description:
|
||||
- UserName is the user name that authorized this client
|
||||
type: str
|
||||
user_uid:
|
||||
description:
|
||||
- UserUID is the unique UID associated with this authorization. UserUID and
|
||||
UserName must both match for this authorization to be valid.
|
||||
type: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('o_auth_client_authorization', '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()
|
||||
|
||||
328
library/k8s_v1_o_auth_client_authorization_list.py
Normal file
328
library/k8s_v1_o_auth_client_authorization_list.py
Normal file
@@ -0,0 +1,328 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_o_auth_client_authorization_list
|
||||
short_description: Kubernetes OAuthClientAuthorizationList
|
||||
description:
|
||||
- Retrieve a list of o_auth_client_authorizations. List operations provide a snapshot
|
||||
read of the underlying objects, returning a resource_version representing a consistent
|
||||
version of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
o_auth_client_authorization_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is the list of OAuth client authorizations
|
||||
type: list
|
||||
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
|
||||
client_name:
|
||||
description:
|
||||
- ClientName references the client that created this authorization
|
||||
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
|
||||
scopes:
|
||||
description:
|
||||
- Scopes is an array of the granted scopes.
|
||||
type: list
|
||||
contains: str
|
||||
user_name:
|
||||
description:
|
||||
- UserName is the user name that authorized this client
|
||||
type: str
|
||||
user_uid:
|
||||
description:
|
||||
- UserUID is the unique UID associated with this authorization. UserUID
|
||||
and UserName must both match for this authorization to be valid.
|
||||
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:
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('o_auth_client_authorization_list', '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()
|
||||
|
||||
375
library/k8s_v1_o_auth_client_list.py
Normal file
375
library/k8s_v1_o_auth_client_list.py
Normal file
@@ -0,0 +1,375 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_o_auth_client_list
|
||||
short_description: Kubernetes OAuthClientList
|
||||
description:
|
||||
- Retrieve a list of o_auth_clients. List operations provide a snapshot read of the
|
||||
underlying objects, returning a resource_version representing a consistent version
|
||||
of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
o_auth_client_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is the list of OAuth clients
|
||||
type: list
|
||||
contains:
|
||||
additional_secrets:
|
||||
description:
|
||||
- AdditionalSecrets holds other secrets that may be used to identify the
|
||||
client. This is useful for rotation and for service account token validation
|
||||
type: list
|
||||
contains: str
|
||||
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
|
||||
grant_method:
|
||||
description:
|
||||
- 'GrantMethod determines how to handle grants for this client. If no method
|
||||
is provided, the cluster default grant handling method will be used. Valid
|
||||
grant handling methods are: - auto: always approves grant requests, useful
|
||||
for trusted clients - prompt: prompts the end user for approval of grant
|
||||
requests, useful for third-party clients - deny: always denies grant requests,
|
||||
useful for black-listed clients'
|
||||
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
|
||||
redirect_ur_is:
|
||||
description:
|
||||
- RedirectURIs is the valid redirection URIs associated with a client
|
||||
type: list
|
||||
contains: str
|
||||
respond_with_challenges:
|
||||
description:
|
||||
- RespondWithChallenges indicates whether the client wants authentication
|
||||
needed responses made in the form of challenges instead of redirects
|
||||
type: bool
|
||||
scope_restrictions:
|
||||
description:
|
||||
- ScopeRestrictions describes which scopes this client can request. Each
|
||||
requested scope is checked against each restriction. If any restriction
|
||||
matches, then the scope is allowed. If no restriction matches, then the
|
||||
scope is denied.
|
||||
type: list
|
||||
contains:
|
||||
cluster_role:
|
||||
description:
|
||||
- ClusterRole describes a set of restrictions for cluster role scoping.
|
||||
type: complex
|
||||
contains:
|
||||
allow_escalation:
|
||||
description:
|
||||
- AllowEscalation indicates whether you can request roles and their
|
||||
escalating resources
|
||||
type: bool
|
||||
namespaces:
|
||||
description:
|
||||
- Namespaces is the list of namespaces that can be referenced. *
|
||||
means any of them (including *)
|
||||
type: list
|
||||
contains: str
|
||||
role_names:
|
||||
description:
|
||||
- RoleNames is the list of cluster roles that can referenced. *
|
||||
means anything
|
||||
type: list
|
||||
contains: str
|
||||
literals:
|
||||
description:
|
||||
- ExactValues means the scope has to match a particular set of strings
|
||||
exactly
|
||||
type: list
|
||||
contains: str
|
||||
secret:
|
||||
description:
|
||||
- Secret is the unique secret associated with a client
|
||||
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:
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('o_auth_client_list', '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()
|
||||
|
||||
1268
library/k8s_v1_persistent_volume.py
Normal file
1268
library/k8s_v1_persistent_volume.py
Normal file
File diff suppressed because it is too large
Load Diff
419
library/k8s_v1_persistent_volume_claim.py
Normal file
419
library/k8s_v1_persistent_volume_claim.py
Normal file
@@ -0,0 +1,419 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_persistent_volume_claim
|
||||
short_description: Kubernetes PersistentVolumeClaim
|
||||
description:
|
||||
- Manage the lifecycle of a persistent_volume_claim 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_access_modes:
|
||||
description:
|
||||
- AccessModes contains the desired access modes the volume should have.
|
||||
aliases:
|
||||
- access_modes
|
||||
type: list
|
||||
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_selector_match_expressions:
|
||||
description:
|
||||
- matchExpressions is a list of label selector requirements. The requirements
|
||||
are ANDed.
|
||||
aliases:
|
||||
- selector_match_expressions
|
||||
type: list
|
||||
spec_selector_match_labels:
|
||||
description:
|
||||
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
|
||||
map is equivalent to an element of matchExpressions, whose key field is "key",
|
||||
the operator is "In", and the values array contains only "value". The requirements
|
||||
are ANDed.
|
||||
aliases:
|
||||
- selector_match_labels
|
||||
type: dict
|
||||
spec_volume_name:
|
||||
description:
|
||||
- VolumeName is the binding reference to the PersistentVolume backing this claim.
|
||||
aliases:
|
||||
- volume_name
|
||||
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
|
||||
persistent_volume_claim:
|
||||
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 defines the desired characteristics of a volume requested by a pod author.
|
||||
type: complex
|
||||
contains:
|
||||
access_modes:
|
||||
description:
|
||||
- AccessModes contains the desired access modes the volume should have.
|
||||
type: list
|
||||
contains: str
|
||||
resources:
|
||||
description:
|
||||
- Resources represents the minimum resources the volume should have.
|
||||
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
|
||||
selector:
|
||||
description:
|
||||
- A label query over volumes to consider for binding.
|
||||
type: complex
|
||||
contains:
|
||||
match_expressions:
|
||||
description:
|
||||
- matchExpressions is a list of label selector requirements. The requirements
|
||||
are ANDed.
|
||||
type: list
|
||||
contains:
|
||||
key:
|
||||
description:
|
||||
- key is the label key that the selector applies to.
|
||||
type: str
|
||||
operator:
|
||||
description:
|
||||
- operator represents a key's relationship to a set of values. Valid
|
||||
operators ard In, NotIn, Exists and DoesNotExist.
|
||||
type: str
|
||||
values:
|
||||
description:
|
||||
- values is an array of string values. If the operator is In or
|
||||
NotIn, the values array must be non-empty. If the operator is
|
||||
Exists or DoesNotExist, the values array must be empty. This array
|
||||
is replaced during a strategic merge patch.
|
||||
type: list
|
||||
contains: str
|
||||
match_labels:
|
||||
description:
|
||||
- matchLabels is a map of {key,value} pairs. A single {key,value} in
|
||||
the matchLabels map is equivalent to an element of matchExpressions,
|
||||
whose key field is "key", the operator is "In", and the values array
|
||||
contains only "value". The requirements are ANDed.
|
||||
type: complex
|
||||
contains: str, str
|
||||
volume_name:
|
||||
description:
|
||||
- VolumeName is the binding reference to the PersistentVolume backing this
|
||||
claim.
|
||||
type: str
|
||||
status:
|
||||
description:
|
||||
- Status represents the current information/status of a persistent volume claim.
|
||||
Read-only.
|
||||
type: complex
|
||||
contains:
|
||||
access_modes:
|
||||
description:
|
||||
- AccessModes contains the actual access modes the volume backing the PVC
|
||||
has.
|
||||
type: list
|
||||
contains: str
|
||||
capacity:
|
||||
description:
|
||||
- Represents the actual resources of the underlying volume.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
phase:
|
||||
description:
|
||||
- Phase represents the current phase of PersistentVolumeClaim.
|
||||
type: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('persistent_volume_claim', '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()
|
||||
|
||||
401
library/k8s_v1_persistent_volume_claim_list.py
Normal file
401
library/k8s_v1_persistent_volume_claim_list.py
Normal file
@@ -0,0 +1,401 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_persistent_volume_claim_list
|
||||
short_description: Kubernetes PersistentVolumeClaimList
|
||||
description:
|
||||
- Retrieve a list of persistent_volume_claims. List operations provide a snapshot
|
||||
read of the underlying objects, returning a resource_version representing a consistent
|
||||
version of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
persistent_volume_claim_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- A list of persistent volume claims.
|
||||
type: list
|
||||
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 defines the desired characteristics of a volume requested by a pod
|
||||
author.
|
||||
type: complex
|
||||
contains:
|
||||
access_modes:
|
||||
description:
|
||||
- AccessModes contains the desired access modes the volume should have.
|
||||
type: list
|
||||
contains: str
|
||||
resources:
|
||||
description:
|
||||
- Resources represents the minimum resources the volume should have.
|
||||
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
|
||||
selector:
|
||||
description:
|
||||
- A label query over volumes to consider for binding.
|
||||
type: complex
|
||||
contains:
|
||||
match_expressions:
|
||||
description:
|
||||
- matchExpressions is a list of label selector requirements. The
|
||||
requirements are ANDed.
|
||||
type: list
|
||||
contains:
|
||||
key:
|
||||
description:
|
||||
- key is the label key that the selector applies to.
|
||||
type: str
|
||||
operator:
|
||||
description:
|
||||
- operator represents a key's relationship to a set of values.
|
||||
Valid operators ard In, NotIn, Exists and DoesNotExist.
|
||||
type: str
|
||||
values:
|
||||
description:
|
||||
- values is an array of string values. If the operator is In
|
||||
or NotIn, the values array must be non-empty. If the operator
|
||||
is Exists or DoesNotExist, the values array must be empty.
|
||||
This array is replaced during a strategic merge patch.
|
||||
type: list
|
||||
contains: str
|
||||
match_labels:
|
||||
description:
|
||||
- matchLabels is a map of {key,value} pairs. A single {key,value}
|
||||
in the matchLabels map is equivalent to an element of matchExpressions,
|
||||
whose key field is "key", the operator is "In", and the values
|
||||
array contains only "value". The requirements are ANDed.
|
||||
type: complex
|
||||
contains: str, str
|
||||
volume_name:
|
||||
description:
|
||||
- VolumeName is the binding reference to the PersistentVolume backing
|
||||
this claim.
|
||||
type: str
|
||||
status:
|
||||
description:
|
||||
- Status represents the current information/status of a persistent volume
|
||||
claim. Read-only.
|
||||
type: complex
|
||||
contains:
|
||||
access_modes:
|
||||
description:
|
||||
- AccessModes contains the actual access modes the volume backing the
|
||||
PVC has.
|
||||
type: list
|
||||
contains: str
|
||||
capacity:
|
||||
description:
|
||||
- Represents the actual resources of the underlying volume.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
phase:
|
||||
description:
|
||||
- Phase represents the current phase of PersistentVolumeClaim.
|
||||
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 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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('persistent_volume_claim_list', '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()
|
||||
|
||||
846
library/k8s_v1_persistent_volume_list.py
Normal file
846
library/k8s_v1_persistent_volume_list.py
Normal file
@@ -0,0 +1,846 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_persistent_volume_list
|
||||
short_description: Kubernetes PersistentVolumeList
|
||||
description:
|
||||
- Retrieve a list of persistent_volumes. List operations provide a snapshot read of
|
||||
the underlying objects, returning a resource_version representing a consistent version
|
||||
of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
persistent_volume_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- List of persistent volumes.
|
||||
type: list
|
||||
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 defines a specification of a persistent volume owned by the cluster.
|
||||
Provisioned by an administrator.
|
||||
type: complex
|
||||
contains:
|
||||
access_modes:
|
||||
description:
|
||||
- AccessModes contains all ways the volume can be mounted.
|
||||
type: list
|
||||
contains: str
|
||||
aws_elastic_block_store:
|
||||
description:
|
||||
- AWSElasticBlockStore represents an AWS Disk resource that is attached
|
||||
to a kubelet's host machine and then exposed to the pod.
|
||||
type: complex
|
||||
contains:
|
||||
fs_type:
|
||||
description:
|
||||
- 'Filesystem type of the volume that you want to mount. Tip: Ensure
|
||||
that the filesystem type is supported by the host operating system.
|
||||
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
|
||||
if unspecified.'
|
||||
type: str
|
||||
partition:
|
||||
description:
|
||||
- 'The partition in the volume that you want to mount. If omitted,
|
||||
the default is to mount by volume name. Examples: For volume /dev/sda1,
|
||||
you specify the partition as "1". Similarly, the volume partition
|
||||
for /dev/sda is "0" (or you can leave the property empty).'
|
||||
type: int
|
||||
read_only:
|
||||
description:
|
||||
- Specify "true" to force and set the ReadOnly property in VolumeMounts
|
||||
to "true". If omitted, the default is "false".
|
||||
type: bool
|
||||
volume_id:
|
||||
description:
|
||||
- Unique ID of the persistent disk resource in AWS (Amazon EBS volume).
|
||||
type: str
|
||||
azure_disk:
|
||||
description:
|
||||
- AzureDisk represents an Azure Data Disk mount on the host and bind
|
||||
mount to the pod.
|
||||
type: complex
|
||||
contains:
|
||||
caching_mode:
|
||||
description:
|
||||
- 'Host Caching mode: None, Read Only, Read Write.'
|
||||
type: str
|
||||
disk_name:
|
||||
description:
|
||||
- The Name of the data disk in the blob storage
|
||||
type: str
|
||||
disk_uri:
|
||||
description:
|
||||
- The URI the data disk in the blob storage
|
||||
type: str
|
||||
fs_type:
|
||||
description:
|
||||
- Filesystem type to mount. Must be a filesystem type supported
|
||||
by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly
|
||||
inferred to be "ext4" if unspecified.
|
||||
type: str
|
||||
read_only:
|
||||
description:
|
||||
- Defaults to false (read/write). ReadOnly here will force the ReadOnly
|
||||
setting in VolumeMounts.
|
||||
type: bool
|
||||
azure_file:
|
||||
description:
|
||||
- AzureFile represents an Azure File Service mount on the host and bind
|
||||
mount to the pod.
|
||||
type: complex
|
||||
contains:
|
||||
read_only:
|
||||
description:
|
||||
- Defaults to false (read/write). ReadOnly here will force the ReadOnly
|
||||
setting in VolumeMounts.
|
||||
type: bool
|
||||
secret_name:
|
||||
description:
|
||||
- the name of secret that contains Azure Storage Account Name and
|
||||
Key
|
||||
type: str
|
||||
share_name:
|
||||
description:
|
||||
- Share Name
|
||||
type: str
|
||||
capacity:
|
||||
description:
|
||||
- A description of the persistent volume's resources and capacity.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
cephfs:
|
||||
description:
|
||||
- CephFS represents a Ceph FS mount on the host that shares a pod's
|
||||
lifetime
|
||||
type: complex
|
||||
contains:
|
||||
monitors:
|
||||
description:
|
||||
- 'Required: Monitors is a collection of Ceph monitors'
|
||||
type: list
|
||||
contains: str
|
||||
path:
|
||||
description:
|
||||
- 'Optional: Used as the mounted root, rather than the full Ceph
|
||||
tree, default is /'
|
||||
type: str
|
||||
read_only:
|
||||
description:
|
||||
- 'Optional: Defaults to false (read/write). ReadOnly here will
|
||||
force the ReadOnly setting in VolumeMounts.'
|
||||
type: bool
|
||||
secret_file:
|
||||
description:
|
||||
- 'Optional: SecretFile is the path to key ring for User, default
|
||||
is /etc/ceph/user.secret'
|
||||
type: str
|
||||
secret_ref:
|
||||
description:
|
||||
- 'Optional: SecretRef is reference to the authentication secret
|
||||
for User, default is empty.'
|
||||
type: complex
|
||||
contains:
|
||||
name:
|
||||
description:
|
||||
- Name of the referent.
|
||||
type: str
|
||||
user:
|
||||
description:
|
||||
- 'Optional: User is the rados user name, default is admin'
|
||||
type: str
|
||||
cinder:
|
||||
description:
|
||||
- Cinder represents a cinder volume attached and mounted on kubelets
|
||||
host machine
|
||||
type: complex
|
||||
contains:
|
||||
fs_type:
|
||||
description:
|
||||
- 'Filesystem type to mount. Must be a filesystem type supported
|
||||
by the host operating system. Examples: "ext4", "xfs", "ntfs".
|
||||
Implicitly inferred to be "ext4" if unspecified.'
|
||||
type: str
|
||||
read_only:
|
||||
description:
|
||||
- 'Optional: Defaults to false (read/write). ReadOnly here will
|
||||
force the ReadOnly setting in VolumeMounts.'
|
||||
type: bool
|
||||
volume_id:
|
||||
description:
|
||||
- volume id used to identify the volume in cinder
|
||||
type: str
|
||||
claim_ref:
|
||||
description:
|
||||
- ClaimRef is part of a bi-directional binding between PersistentVolume
|
||||
and PersistentVolumeClaim. Expected to be non-nil when bound. claim.VolumeName
|
||||
is the authoritative bind between PV and PVC.
|
||||
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
|
||||
fc:
|
||||
description:
|
||||
- FC represents a Fibre Channel resource that is attached to a kubelet's
|
||||
host machine and then exposed to the pod.
|
||||
type: complex
|
||||
contains:
|
||||
fs_type:
|
||||
description:
|
||||
- Filesystem type to mount. Must be a filesystem type supported
|
||||
by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly
|
||||
inferred to be "ext4" if unspecified.
|
||||
type: str
|
||||
lun:
|
||||
description:
|
||||
- 'Required: FC target lun number'
|
||||
type: int
|
||||
read_only:
|
||||
description:
|
||||
- 'Optional: Defaults to false (read/write). ReadOnly here will
|
||||
force the ReadOnly setting in VolumeMounts.'
|
||||
type: bool
|
||||
target_ww_ns:
|
||||
description:
|
||||
- 'Required: FC target worldwide names (WWNs)'
|
||||
type: list
|
||||
contains: str
|
||||
flex_volume:
|
||||
description:
|
||||
- FlexVolume represents a generic volume resource that is provisioned/attached
|
||||
using an exec based plugin. This is an alpha feature and may change
|
||||
in future.
|
||||
type: complex
|
||||
contains:
|
||||
driver:
|
||||
description:
|
||||
- Driver is the name of the driver to use for this volume.
|
||||
type: str
|
||||
fs_type:
|
||||
description:
|
||||
- Filesystem type to mount. Must be a filesystem type supported
|
||||
by the host operating system. Ex. "ext4", "xfs", "ntfs". The default
|
||||
filesystem depends on FlexVolume script.
|
||||
type: str
|
||||
options:
|
||||
description:
|
||||
- 'Optional: Extra command options if any.'
|
||||
type: complex
|
||||
contains: str, str
|
||||
read_only:
|
||||
description:
|
||||
- 'Optional: Defaults to false (read/write). ReadOnly here will
|
||||
force the ReadOnly setting in VolumeMounts.'
|
||||
type: bool
|
||||
secret_ref:
|
||||
description:
|
||||
- 'Optional: SecretRef is reference to the secret object containing
|
||||
sensitive information to pass to the plugin scripts. This may
|
||||
be empty if no secret object is specified. If the secret object
|
||||
contains more than one secret, all secrets are passed to the plugin
|
||||
scripts.'
|
||||
type: complex
|
||||
contains:
|
||||
name:
|
||||
description:
|
||||
- Name of the referent.
|
||||
type: str
|
||||
flocker:
|
||||
description:
|
||||
- Flocker represents a Flocker volume attached to a kubelet's host machine
|
||||
and exposed to the pod for its usage. This depends on the Flocker
|
||||
control service being running
|
||||
type: complex
|
||||
contains:
|
||||
dataset_name:
|
||||
description:
|
||||
- Name of the dataset stored as metadata -> name on the dataset
|
||||
for Flocker should be considered as deprecated
|
||||
type: str
|
||||
dataset_uuid:
|
||||
description:
|
||||
- UUID of the dataset. This is unique identifier of a Flocker dataset
|
||||
type: str
|
||||
gce_persistent_disk:
|
||||
description:
|
||||
- GCEPersistentDisk represents a GCE Disk resource that is attached
|
||||
to a kubelet's host machine and then exposed to the pod. Provisioned
|
||||
by an admin.
|
||||
type: complex
|
||||
contains:
|
||||
fs_type:
|
||||
description:
|
||||
- 'Filesystem type of the volume that you want to mount. Tip: Ensure
|
||||
that the filesystem type is supported by the host operating system.
|
||||
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
|
||||
if unspecified.'
|
||||
type: str
|
||||
partition:
|
||||
description:
|
||||
- 'The partition in the volume that you want to mount. If omitted,
|
||||
the default is to mount by volume name. Examples: For volume /dev/sda1,
|
||||
you specify the partition as "1". Similarly, the volume partition
|
||||
for /dev/sda is "0" (or you can leave the property empty).'
|
||||
type: int
|
||||
pd_name:
|
||||
description:
|
||||
- Unique name of the PD resource in GCE. Used to identify the disk
|
||||
in GCE.
|
||||
type: str
|
||||
read_only:
|
||||
description:
|
||||
- ReadOnly here will force the ReadOnly setting in VolumeMounts.
|
||||
Defaults to false.
|
||||
type: bool
|
||||
glusterfs:
|
||||
description:
|
||||
- Glusterfs represents a Glusterfs volume that is attached to a host
|
||||
and exposed to the pod. Provisioned by an admin.
|
||||
type: complex
|
||||
contains:
|
||||
endpoints:
|
||||
description:
|
||||
- EndpointsName is the endpoint name that details Glusterfs topology.
|
||||
type: str
|
||||
path:
|
||||
description:
|
||||
- Path is the Glusterfs volume path.
|
||||
type: str
|
||||
read_only:
|
||||
description:
|
||||
- ReadOnly here will force the Glusterfs volume to be mounted with
|
||||
read-only permissions. Defaults to false.
|
||||
type: bool
|
||||
host_path:
|
||||
description:
|
||||
- HostPath represents a directory on the host. Provisioned by a developer
|
||||
or tester. This is useful for single-node development and testing
|
||||
only! On-host storage is not supported in any way and WILL NOT WORK
|
||||
in a multi-node cluster.
|
||||
type: complex
|
||||
contains:
|
||||
path:
|
||||
description:
|
||||
- Path of the directory on the host.
|
||||
type: str
|
||||
iscsi:
|
||||
description:
|
||||
- ISCSI represents an ISCSI Disk resource that is attached to a kubelet's
|
||||
host machine and then exposed to the pod. Provisioned by an admin.
|
||||
type: complex
|
||||
contains:
|
||||
fs_type:
|
||||
description:
|
||||
- 'Filesystem type of the volume that you want to mount. Tip: Ensure
|
||||
that the filesystem type is supported by the host operating system.
|
||||
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
|
||||
if unspecified.'
|
||||
type: str
|
||||
iqn:
|
||||
description:
|
||||
- Target iSCSI Qualified Name.
|
||||
type: str
|
||||
iscsi_interface:
|
||||
description:
|
||||
- "Optional: Defaults to 'default' (tcp). iSCSI interface name that\
|
||||
\ uses an iSCSI transport."
|
||||
type: str
|
||||
lun:
|
||||
description:
|
||||
- iSCSI target lun number.
|
||||
type: int
|
||||
read_only:
|
||||
description:
|
||||
- ReadOnly here will force the ReadOnly setting in VolumeMounts.
|
||||
Defaults to false.
|
||||
type: bool
|
||||
target_portal:
|
||||
description:
|
||||
- iSCSI target portal. The portal is either an IP or ip_addr:port
|
||||
if the port is other than default (typically TCP ports 860 and
|
||||
3260).
|
||||
type: str
|
||||
nfs:
|
||||
description:
|
||||
- NFS represents an NFS mount on the host. Provisioned by an admin.
|
||||
type: complex
|
||||
contains:
|
||||
path:
|
||||
description:
|
||||
- Path that is exported by the NFS server.
|
||||
type: str
|
||||
read_only:
|
||||
description:
|
||||
- ReadOnly here will force the NFS export to be mounted with read-only
|
||||
permissions. Defaults to false.
|
||||
type: bool
|
||||
server:
|
||||
description:
|
||||
- Server is the hostname or IP address of the NFS server.
|
||||
type: str
|
||||
persistent_volume_reclaim_policy:
|
||||
description:
|
||||
- What happens to a persistent volume when released from its claim.
|
||||
Valid options are Retain (default) and Recycle. Recycling must be
|
||||
supported by the volume plugin underlying this persistent volume.
|
||||
type: str
|
||||
photon_persistent_disk:
|
||||
description:
|
||||
- PhotonPersistentDisk represents a PhotonController persistent disk
|
||||
attached and mounted on kubelets host machine
|
||||
type: complex
|
||||
contains:
|
||||
fs_type:
|
||||
description:
|
||||
- Filesystem type to mount. Must be a filesystem type supported
|
||||
by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly
|
||||
inferred to be "ext4" if unspecified.
|
||||
type: str
|
||||
pd_id:
|
||||
description:
|
||||
- ID that identifies Photon Controller persistent disk
|
||||
type: str
|
||||
quobyte:
|
||||
description:
|
||||
- Quobyte represents a Quobyte mount on the host that shares a pod's
|
||||
lifetime
|
||||
type: complex
|
||||
contains:
|
||||
group:
|
||||
description:
|
||||
- Group to map volume access to Default is no group
|
||||
type: str
|
||||
read_only:
|
||||
description:
|
||||
- ReadOnly here will force the Quobyte volume to be mounted with
|
||||
read-only permissions. Defaults to false.
|
||||
type: bool
|
||||
registry:
|
||||
description:
|
||||
- Registry represents a single or multiple Quobyte Registry services
|
||||
specified as a string as host:port pair (multiple entries are
|
||||
separated with commas) which acts as the central registry for
|
||||
volumes
|
||||
type: str
|
||||
user:
|
||||
description:
|
||||
- User to map volume access to Defaults to serivceaccount user
|
||||
type: str
|
||||
volume:
|
||||
description:
|
||||
- Volume is a string that references an already created Quobyte
|
||||
volume by name.
|
||||
type: str
|
||||
rbd:
|
||||
description:
|
||||
- RBD represents a Rados Block Device mount on the host that shares
|
||||
a pod's lifetime.
|
||||
type: complex
|
||||
contains:
|
||||
fs_type:
|
||||
description:
|
||||
- 'Filesystem type of the volume that you want to mount. Tip: Ensure
|
||||
that the filesystem type is supported by the host operating system.
|
||||
Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
|
||||
if unspecified.'
|
||||
type: str
|
||||
image:
|
||||
description:
|
||||
- The rados image name.
|
||||
type: str
|
||||
keyring:
|
||||
description:
|
||||
- Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring.
|
||||
type: str
|
||||
monitors:
|
||||
description:
|
||||
- A collection of Ceph monitors.
|
||||
type: list
|
||||
contains: str
|
||||
pool:
|
||||
description:
|
||||
- The rados pool name. Default is rbd.
|
||||
type: str
|
||||
read_only:
|
||||
description:
|
||||
- ReadOnly here will force the ReadOnly setting in VolumeMounts.
|
||||
Defaults to false.
|
||||
type: bool
|
||||
secret_ref:
|
||||
description:
|
||||
- SecretRef is name of the authentication secret for RBDUser. If
|
||||
provided overrides keyring. Default is nil.
|
||||
type: complex
|
||||
contains:
|
||||
name:
|
||||
description:
|
||||
- Name of the referent.
|
||||
type: str
|
||||
user:
|
||||
description:
|
||||
- The rados user name. Default is admin.
|
||||
type: str
|
||||
vsphere_volume:
|
||||
description:
|
||||
- VsphereVolume represents a vSphere volume attached and mounted on
|
||||
kubelets host machine
|
||||
type: complex
|
||||
contains:
|
||||
fs_type:
|
||||
description:
|
||||
- Filesystem type to mount. Must be a filesystem type supported
|
||||
by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly
|
||||
inferred to be "ext4" if unspecified.
|
||||
type: str
|
||||
volume_path:
|
||||
description:
|
||||
- Path that identifies vSphere volume vmdk
|
||||
type: str
|
||||
status:
|
||||
description:
|
||||
- Status represents the current information/status for the persistent volume.
|
||||
Populated by the system. Read-only.
|
||||
type: complex
|
||||
contains:
|
||||
message:
|
||||
description:
|
||||
- A human-readable message indicating details about why the volume is
|
||||
in this state.
|
||||
type: str
|
||||
phase:
|
||||
description:
|
||||
- Phase indicates if a volume is available, bound to a claim, or released
|
||||
by a claim.
|
||||
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
|
||||
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 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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('persistent_volume_list', '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()
|
||||
|
||||
2266
library/k8s_v1_pod.py
Normal file
2266
library/k8s_v1_pod.py
Normal file
File diff suppressed because it is too large
Load Diff
2146
library/k8s_v1_pod_list.py
Normal file
2146
library/k8s_v1_pod_list.py
Normal file
File diff suppressed because it is too large
Load Diff
4051
library/k8s_v1_pod_security_policy_review.py
Normal file
4051
library/k8s_v1_pod_security_policy_review.py
Normal file
File diff suppressed because it is too large
Load Diff
3974
library/k8s_v1_pod_security_policy_self_subject_review.py
Normal file
3974
library/k8s_v1_pod_security_policy_self_subject_review.py
Normal file
File diff suppressed because it is too large
Load Diff
4001
library/k8s_v1_pod_security_policy_subject_review.py
Normal file
4001
library/k8s_v1_pod_security_policy_subject_review.py
Normal file
File diff suppressed because it is too large
Load Diff
2255
library/k8s_v1_pod_template.py
Normal file
2255
library/k8s_v1_pod_template.py
Normal file
File diff suppressed because it is too large
Load Diff
2121
library/k8s_v1_pod_template_list.py
Normal file
2121
library/k8s_v1_pod_template_list.py
Normal file
File diff suppressed because it is too large
Load Diff
540
library/k8s_v1_policy.py
Normal file
540
library/k8s_v1_policy.py
Normal file
@@ -0,0 +1,540 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_policy
|
||||
short_description: Kubernetes Policy
|
||||
description:
|
||||
- Manage the lifecycle of a policy 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).
|
||||
roles:
|
||||
description:
|
||||
- Roles holds all the Roles held by this Policy, mapped by Role.Name
|
||||
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
|
||||
policy:
|
||||
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
|
||||
last_modified:
|
||||
description:
|
||||
- LastModified is the last time that any part of the Policy was created, updated,
|
||||
or deleted
|
||||
type: complex
|
||||
contains: {}
|
||||
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
|
||||
roles:
|
||||
description:
|
||||
- Roles holds all the Roles held by this Policy, mapped by Role.Name
|
||||
type: list
|
||||
contains:
|
||||
name:
|
||||
description:
|
||||
- Name is the name of the role
|
||||
type: str
|
||||
role:
|
||||
description:
|
||||
- Role is the role being named
|
||||
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
|
||||
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
|
||||
rules:
|
||||
description:
|
||||
- Rules holds all the PolicyRules for this Role
|
||||
type: list
|
||||
contains:
|
||||
api_groups:
|
||||
description:
|
||||
- APIGroups is the name of the APIGroup that contains the resources.
|
||||
If this field is empty, then both kubernetes and origin API groups
|
||||
are assumed. That means that if an action is requested against
|
||||
one of the enumerated resources in either the kubernetes or the
|
||||
origin API group, the request will be allowed
|
||||
type: list
|
||||
contains: str
|
||||
attribute_restrictions:
|
||||
description:
|
||||
- AttributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder
|
||||
pair supports. If the Authorizer does not recognize how to handle
|
||||
the AttributeRestrictions, the Authorizer should report an error.
|
||||
type: complex
|
||||
contains:
|
||||
raw:
|
||||
description:
|
||||
- Raw is the underlying serialization of this object.
|
||||
type: str
|
||||
non_resource_ur_ls:
|
||||
description:
|
||||
- NonResourceURLsSlice is a set of partial urls that a user should
|
||||
have access to. *s are allowed, but only as the full, final step
|
||||
in the path This name is intentionally different than the internal
|
||||
type so that the DefaultConvert works nicely and because the ordering
|
||||
may be different.
|
||||
type: list
|
||||
contains: str
|
||||
resource_names:
|
||||
description:
|
||||
- ResourceNames is an optional white list of names that the rule
|
||||
applies to. An empty set means that everything is allowed.
|
||||
type: list
|
||||
contains: str
|
||||
resources:
|
||||
description:
|
||||
- Resources is a list of resources this rule applies to. ResourceAll
|
||||
represents all resources.
|
||||
type: list
|
||||
contains: str
|
||||
verbs:
|
||||
description:
|
||||
- Verbs is a list of Verbs that apply to ALL the ResourceKinds and
|
||||
AttributeRestrictions contained in this rule. VerbAll represents
|
||||
all kinds.
|
||||
type: list
|
||||
contains: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('policy', '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()
|
||||
|
||||
676
library/k8s_v1_policy_binding.py
Normal file
676
library/k8s_v1_policy_binding.py
Normal file
@@ -0,0 +1,676 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_policy_binding
|
||||
short_description: Kubernetes PolicyBinding
|
||||
description:
|
||||
- Manage the lifecycle of a policy_binding 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).
|
||||
policy_ref_api_version:
|
||||
description:
|
||||
- API version of the referent.
|
||||
aliases:
|
||||
- api_version
|
||||
policy_ref_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:
|
||||
- field_path
|
||||
policy_ref_kind:
|
||||
description:
|
||||
- Kind of the referent.
|
||||
aliases:
|
||||
- kind
|
||||
policy_ref_name:
|
||||
description:
|
||||
- Name of the referent.
|
||||
aliases:
|
||||
- name
|
||||
policy_ref_namespace:
|
||||
description:
|
||||
- Namespace of the referent.
|
||||
aliases:
|
||||
- namespace
|
||||
policy_ref_resource_version:
|
||||
description:
|
||||
- Specific resourceVersion to which this reference is made, if any.
|
||||
aliases:
|
||||
- resource_version
|
||||
policy_ref_uid:
|
||||
description:
|
||||
- UID of the referent.
|
||||
aliases:
|
||||
- uid
|
||||
role_bindings:
|
||||
description:
|
||||
- RoleBindings holds all the RoleBindings held by this PolicyBinding, mapped by
|
||||
RoleBinding.Name
|
||||
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
|
||||
policy_binding:
|
||||
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
|
||||
last_modified:
|
||||
description:
|
||||
- LastModified is the last time that any part of the PolicyBinding was created,
|
||||
updated, or deleted
|
||||
type: complex
|
||||
contains: {}
|
||||
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
|
||||
policy_ref:
|
||||
description:
|
||||
- PolicyRef is a reference to the Policy that contains all the Roles that this
|
||||
PolicyBinding's RoleBindings may reference
|
||||
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
|
||||
role_bindings:
|
||||
description:
|
||||
- RoleBindings holds all the RoleBindings held by this PolicyBinding, mapped
|
||||
by RoleBinding.Name
|
||||
type: list
|
||||
contains:
|
||||
name:
|
||||
description:
|
||||
- Name is the name of the role binding
|
||||
type: str
|
||||
role_binding:
|
||||
description:
|
||||
- RoleBinding is the role binding being named
|
||||
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
|
||||
group_names:
|
||||
description:
|
||||
- GroupNames holds all the groups directly bound to the role. This field
|
||||
should only be specified when supporting legacy clients and servers.
|
||||
See Subjects for further details.
|
||||
type: list
|
||||
contains: 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
|
||||
role_ref:
|
||||
description:
|
||||
- RoleRef can only reference the current namespace and the global namespace.
|
||||
If the RoleRef cannot be resolved, the Authorizer must return an error.
|
||||
Since Policy is a singleton, this is sufficient knowledge to locate
|
||||
a role.
|
||||
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
|
||||
subjects:
|
||||
description:
|
||||
- Subjects hold object references to authorize with this rule. This
|
||||
field is ignored if UserNames or GroupNames are specified to support
|
||||
legacy clients and servers. Thus newer clients that do not need to
|
||||
support backwards compatibility should send only fully qualified Subjects
|
||||
and should omit the UserNames and GroupNames fields. Clients that
|
||||
need to support backwards compatibility can use this field to build
|
||||
the UserNames and GroupNames.
|
||||
type: list
|
||||
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
|
||||
user_names:
|
||||
description:
|
||||
- UserNames holds all the usernames directly bound to the role. This
|
||||
field should only be specified when supporting legacy clients and
|
||||
servers. See Subjects for further details.
|
||||
type: list
|
||||
contains: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('policy_binding', '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()
|
||||
|
||||
663
library/k8s_v1_policy_binding_list.py
Normal file
663
library/k8s_v1_policy_binding_list.py
Normal file
@@ -0,0 +1,663 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_policy_binding_list
|
||||
short_description: Kubernetes PolicyBindingList
|
||||
description:
|
||||
- Retrieve a list of policy_bindings. List operations provide a snapshot read of the
|
||||
underlying objects, returning a resource_version representing a consistent version
|
||||
of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
policy_binding_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is a list of PolicyBindings
|
||||
type: list
|
||||
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
|
||||
last_modified:
|
||||
description:
|
||||
- LastModified is the last time that any part of the PolicyBinding was created,
|
||||
updated, or deleted
|
||||
type: complex
|
||||
contains: {}
|
||||
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
|
||||
policy_ref:
|
||||
description:
|
||||
- PolicyRef is a reference to the Policy that contains all the Roles that
|
||||
this PolicyBinding's RoleBindings may reference
|
||||
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
|
||||
role_bindings:
|
||||
description:
|
||||
- RoleBindings holds all the RoleBindings held by this PolicyBinding, mapped
|
||||
by RoleBinding.Name
|
||||
type: list
|
||||
contains:
|
||||
name:
|
||||
description:
|
||||
- Name is the name of the role binding
|
||||
type: str
|
||||
role_binding:
|
||||
description:
|
||||
- RoleBinding is the role binding being named
|
||||
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
|
||||
group_names:
|
||||
description:
|
||||
- GroupNames holds all the groups directly bound to the role. This
|
||||
field should only be specified when supporting legacy clients
|
||||
and servers. See Subjects for further details.
|
||||
type: list
|
||||
contains: 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
|
||||
role_ref:
|
||||
description:
|
||||
- RoleRef can only reference the current namespace and the global
|
||||
namespace. If the RoleRef cannot be resolved, the Authorizer must
|
||||
return an error. Since Policy is a singleton, this is sufficient
|
||||
knowledge to locate a role.
|
||||
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
|
||||
subjects:
|
||||
description:
|
||||
- Subjects hold object references to authorize with this rule. This
|
||||
field is ignored if UserNames or GroupNames are specified to support
|
||||
legacy clients and servers. Thus newer clients that do not need
|
||||
to support backwards compatibility should send only fully qualified
|
||||
Subjects and should omit the UserNames and GroupNames fields.
|
||||
Clients that need to support backwards compatibility can use this
|
||||
field to build the UserNames and GroupNames.
|
||||
type: list
|
||||
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
|
||||
user_names:
|
||||
description:
|
||||
- UserNames holds all the usernames directly bound to the role.
|
||||
This field should only be specified when supporting legacy clients
|
||||
and servers. See Subjects for further details.
|
||||
type: list
|
||||
contains: 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:
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('policy_binding_list', '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()
|
||||
|
||||
565
library/k8s_v1_policy_list.py
Normal file
565
library/k8s_v1_policy_list.py
Normal file
@@ -0,0 +1,565 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_policy_list
|
||||
short_description: Kubernetes PolicyList
|
||||
description:
|
||||
- Retrieve a list of policys. List operations provide a snapshot read of the underlying
|
||||
objects, returning a resource_version representing a consistent version of the listed
|
||||
objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
policy_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is a list of Policies
|
||||
type: list
|
||||
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
|
||||
last_modified:
|
||||
description:
|
||||
- LastModified is the last time that any part of the Policy was created,
|
||||
updated, or deleted
|
||||
type: complex
|
||||
contains: {}
|
||||
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
|
||||
roles:
|
||||
description:
|
||||
- Roles holds all the Roles held by this Policy, mapped by Role.Name
|
||||
type: list
|
||||
contains:
|
||||
name:
|
||||
description:
|
||||
- Name is the name of the role
|
||||
type: str
|
||||
role:
|
||||
description:
|
||||
- Role is the role being named
|
||||
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
|
||||
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
|
||||
rules:
|
||||
description:
|
||||
- Rules holds all the PolicyRules for this Role
|
||||
type: list
|
||||
contains:
|
||||
api_groups:
|
||||
description:
|
||||
- APIGroups is the name of the APIGroup that contains the resources.
|
||||
If this field is empty, then both kubernetes and origin API
|
||||
groups are assumed. That means that if an action is requested
|
||||
against one of the enumerated resources in either the kubernetes
|
||||
or the origin API group, the request will be allowed
|
||||
type: list
|
||||
contains: str
|
||||
attribute_restrictions:
|
||||
description:
|
||||
- AttributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder
|
||||
pair supports. If the Authorizer does not recognize how to
|
||||
handle the AttributeRestrictions, the Authorizer should report
|
||||
an error.
|
||||
type: complex
|
||||
contains:
|
||||
raw:
|
||||
description:
|
||||
- Raw is the underlying serialization of this object.
|
||||
type: str
|
||||
non_resource_ur_ls:
|
||||
description:
|
||||
- NonResourceURLsSlice is a set of partial urls that a user
|
||||
should have access to. *s are allowed, but only as the full,
|
||||
final step in the path This name is intentionally different
|
||||
than the internal type so that the DefaultConvert works nicely
|
||||
and because the ordering may be different.
|
||||
type: list
|
||||
contains: str
|
||||
resource_names:
|
||||
description:
|
||||
- ResourceNames is an optional white list of names that the
|
||||
rule applies to. An empty set means that everything is allowed.
|
||||
type: list
|
||||
contains: str
|
||||
resources:
|
||||
description:
|
||||
- Resources is a list of resources this rule applies to. ResourceAll
|
||||
represents all resources.
|
||||
type: list
|
||||
contains: str
|
||||
verbs:
|
||||
description:
|
||||
- Verbs is a list of Verbs that apply to ALL the ResourceKinds
|
||||
and AttributeRestrictions contained in this rule. VerbAll
|
||||
represents all kinds.
|
||||
type: list
|
||||
contains: 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:
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('policy_list', '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()
|
||||
|
||||
331
library/k8s_v1_project.py
Normal file
331
library/k8s_v1_project.py
Normal file
@@ -0,0 +1,331 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_project
|
||||
short_description: Kubernetes Project
|
||||
description:
|
||||
- Manage the lifecycle of a project 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
|
||||
description:
|
||||
description:
|
||||
- Provides a brief overview or narrative for the project.
|
||||
display_name:
|
||||
description:
|
||||
- Provides a descriptive name for the project.
|
||||
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_finalizers:
|
||||
description:
|
||||
- Finalizers is an opaque list of values that must be empty to permanently remove
|
||||
object from storage
|
||||
aliases:
|
||||
- finalizers
|
||||
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 = '''
|
||||
- name: Create project
|
||||
k8s_v1_project:
|
||||
name: example
|
||||
state: present
|
||||
|
||||
- name: Remove project
|
||||
k8s_v1_project:
|
||||
name: example
|
||||
state: absent
|
||||
'''
|
||||
|
||||
RETURN = '''
|
||||
api_version:
|
||||
type: string
|
||||
description: Requested API version
|
||||
project:
|
||||
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 defines the behavior of the Namespace.
|
||||
type: complex
|
||||
contains:
|
||||
finalizers:
|
||||
description:
|
||||
- Finalizers is an opaque list of values that must be empty to permanently
|
||||
remove object from storage
|
||||
type: list
|
||||
contains: str
|
||||
status:
|
||||
description:
|
||||
- Status describes the current status of a Namespace
|
||||
type: complex
|
||||
contains:
|
||||
phase:
|
||||
description:
|
||||
- Phase is the current lifecycle phase of the project
|
||||
type: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('project', '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()
|
||||
|
||||
330
library/k8s_v1_project_list.py
Normal file
330
library/k8s_v1_project_list.py
Normal file
@@ -0,0 +1,330 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_project_list
|
||||
short_description: Kubernetes ProjectList
|
||||
description:
|
||||
- Retrieve a list of projects. List operations provide a snapshot read of the underlying
|
||||
objects, returning a resource_version representing a consistent version of the listed
|
||||
objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
project_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is the list of projects
|
||||
type: list
|
||||
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 defines the behavior of the Namespace.
|
||||
type: complex
|
||||
contains:
|
||||
finalizers:
|
||||
description:
|
||||
- Finalizers is an opaque list of values that must be empty to permanently
|
||||
remove object from storage
|
||||
type: list
|
||||
contains: str
|
||||
status:
|
||||
description:
|
||||
- Status describes the current status of a Namespace
|
||||
type: complex
|
||||
contains:
|
||||
phase:
|
||||
description:
|
||||
- Phase is the current lifecycle phase of the project
|
||||
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:
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('project_list', '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()
|
||||
|
||||
2403
library/k8s_v1_replication_controller.py
Normal file
2403
library/k8s_v1_replication_controller.py
Normal file
File diff suppressed because it is too large
Load Diff
2254
library/k8s_v1_replication_controller_list.py
Normal file
2254
library/k8s_v1_replication_controller_list.py
Normal file
File diff suppressed because it is too large
Load Diff
333
library/k8s_v1_resource_quota.py
Normal file
333
library/k8s_v1_resource_quota.py
Normal file
@@ -0,0 +1,333 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_resource_quota
|
||||
short_description: Kubernetes ResourceQuota
|
||||
description:
|
||||
- Manage the lifecycle of a resource_quota 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_hard:
|
||||
description:
|
||||
- Hard is the set of desired hard limits for each named resource.
|
||||
aliases:
|
||||
- hard
|
||||
type: dict
|
||||
spec_scopes:
|
||||
description:
|
||||
- A collection of filters that must match each object tracked by a quota. If not
|
||||
specified, the quota matches all objects.
|
||||
aliases:
|
||||
- scopes
|
||||
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
|
||||
resource_quota:
|
||||
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 defines the desired quota. http://releases.k8s.io/HEAD/docs/devel/api-conventions.md
|
||||
type: complex
|
||||
contains:
|
||||
hard:
|
||||
description:
|
||||
- Hard is the set of desired hard limits for each named resource.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
scopes:
|
||||
description:
|
||||
- A collection of filters that must match each object tracked by a quota.
|
||||
If not specified, the quota matches all objects.
|
||||
type: list
|
||||
contains: str
|
||||
status:
|
||||
description:
|
||||
- Status defines the actual enforced quota and its current usage. http://releases.k8s.io/HEAD/docs/devel/api-conventions.md
|
||||
type: complex
|
||||
contains:
|
||||
hard:
|
||||
description:
|
||||
- Hard is the set of enforced hard limits for each named resource.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
used:
|
||||
description:
|
||||
- Used is the current observed total usage of the resource in the namespace.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('resource_quota', '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()
|
||||
|
||||
341
library/k8s_v1_resource_quota_list.py
Normal file
341
library/k8s_v1_resource_quota_list.py
Normal file
@@ -0,0 +1,341 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_resource_quota_list
|
||||
short_description: Kubernetes ResourceQuotaList
|
||||
description:
|
||||
- Retrieve a list of resource_quotas. List operations provide a snapshot read of the
|
||||
underlying objects, returning a resource_version representing a consistent version
|
||||
of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
resource_quota_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is a list of ResourceQuota objects.
|
||||
type: list
|
||||
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 defines the desired quota. http://releases.k8s.io/HEAD/docs/devel/api-conventions.md
|
||||
type: complex
|
||||
contains:
|
||||
hard:
|
||||
description:
|
||||
- Hard is the set of desired hard limits for each named resource.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
scopes:
|
||||
description:
|
||||
- A collection of filters that must match each object tracked by a quota.
|
||||
If not specified, the quota matches all objects.
|
||||
type: list
|
||||
contains: str
|
||||
status:
|
||||
description:
|
||||
- Status defines the actual enforced quota and its current usage. http://releases.k8s.io/HEAD/docs/devel/api-conventions.md
|
||||
type: complex
|
||||
contains:
|
||||
hard:
|
||||
description:
|
||||
- Hard is the set of enforced hard limits for each named resource.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
used:
|
||||
description:
|
||||
- Used is the current observed total usage of the resource in the namespace.
|
||||
type: complex
|
||||
contains: str, ResourceQuantity
|
||||
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 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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('resource_quota_list', '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()
|
||||
|
||||
344
library/k8s_v1_role.py
Normal file
344
library/k8s_v1_role.py
Normal file
@@ -0,0 +1,344 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_role
|
||||
short_description: Kubernetes Role
|
||||
description:
|
||||
- Manage the lifecycle of a role 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).
|
||||
rules:
|
||||
description:
|
||||
- Rules holds all the PolicyRules for this Role
|
||||
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
|
||||
role:
|
||||
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
|
||||
rules:
|
||||
description:
|
||||
- Rules holds all the PolicyRules for this Role
|
||||
type: list
|
||||
contains:
|
||||
api_groups:
|
||||
description:
|
||||
- APIGroups is the name of the APIGroup that contains the resources. If
|
||||
this field is empty, then both kubernetes and origin API groups are assumed.
|
||||
That means that if an action is requested against one of the enumerated
|
||||
resources in either the kubernetes or the origin API group, the request
|
||||
will be allowed
|
||||
type: list
|
||||
contains: str
|
||||
attribute_restrictions:
|
||||
description:
|
||||
- AttributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder
|
||||
pair supports. If the Authorizer does not recognize how to handle the
|
||||
AttributeRestrictions, the Authorizer should report an error.
|
||||
type: complex
|
||||
contains:
|
||||
raw:
|
||||
description:
|
||||
- Raw is the underlying serialization of this object.
|
||||
type: str
|
||||
non_resource_ur_ls:
|
||||
description:
|
||||
- NonResourceURLsSlice is a set of partial urls that a user should have
|
||||
access to. *s are allowed, but only as the full, final step in the path
|
||||
This name is intentionally different than the internal type so that the
|
||||
DefaultConvert works nicely and because the ordering may be different.
|
||||
type: list
|
||||
contains: str
|
||||
resource_names:
|
||||
description:
|
||||
- ResourceNames is an optional white list of names that the rule applies
|
||||
to. An empty set means that everything is allowed.
|
||||
type: list
|
||||
contains: str
|
||||
resources:
|
||||
description:
|
||||
- Resources is a list of resources this rule applies to. ResourceAll represents
|
||||
all resources.
|
||||
type: list
|
||||
contains: str
|
||||
verbs:
|
||||
description:
|
||||
- Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions
|
||||
contained in this rule. VerbAll represents all kinds.
|
||||
type: list
|
||||
contains: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('role', '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()
|
||||
|
||||
452
library/k8s_v1_role_binding.py
Normal file
452
library/k8s_v1_role_binding.py
Normal file
@@ -0,0 +1,452 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_role_binding
|
||||
short_description: Kubernetes RoleBinding
|
||||
description:
|
||||
- Manage the lifecycle of a role_binding 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
|
||||
group_names:
|
||||
description:
|
||||
- GroupNames holds all the groups directly bound to the role. This field should
|
||||
only be specified when supporting legacy clients and servers. See Subjects for
|
||||
further details.
|
||||
type: list
|
||||
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).
|
||||
role_ref_api_version:
|
||||
description:
|
||||
- API version of the referent.
|
||||
aliases:
|
||||
- api_version
|
||||
role_ref_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:
|
||||
- field_path
|
||||
role_ref_kind:
|
||||
description:
|
||||
- Kind of the referent.
|
||||
aliases:
|
||||
- kind
|
||||
role_ref_name:
|
||||
description:
|
||||
- Name of the referent.
|
||||
aliases:
|
||||
- name
|
||||
role_ref_namespace:
|
||||
description:
|
||||
- Namespace of the referent.
|
||||
aliases:
|
||||
- namespace
|
||||
role_ref_resource_version:
|
||||
description:
|
||||
- Specific resourceVersion to which this reference is made, if any.
|
||||
aliases:
|
||||
- resource_version
|
||||
role_ref_uid:
|
||||
description:
|
||||
- UID of the referent.
|
||||
aliases:
|
||||
- uid
|
||||
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
|
||||
subjects:
|
||||
description:
|
||||
- Subjects hold object references to authorize with this rule. This field is ignored
|
||||
if UserNames or GroupNames are specified to support legacy clients and servers.
|
||||
Thus newer clients that do not need to support backwards compatibility should
|
||||
send only fully qualified Subjects and should omit the UserNames and GroupNames
|
||||
fields. Clients that need to support backwards compatibility can use this field
|
||||
to build the UserNames and GroupNames.
|
||||
type: list
|
||||
user_names:
|
||||
description:
|
||||
- UserNames holds all the usernames directly bound to the role. This field should
|
||||
only be specified when supporting legacy clients and servers. See Subjects for
|
||||
further details.
|
||||
type: list
|
||||
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
|
||||
role_binding:
|
||||
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
|
||||
group_names:
|
||||
description:
|
||||
- GroupNames holds all the groups directly bound to the role. This field should
|
||||
only be specified when supporting legacy clients and servers. See Subjects
|
||||
for further details.
|
||||
type: list
|
||||
contains: 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
|
||||
role_ref:
|
||||
description:
|
||||
- RoleRef can only reference the current namespace and the global namespace.
|
||||
If the RoleRef cannot be resolved, the Authorizer must return an error. Since
|
||||
Policy is a singleton, this is sufficient knowledge to locate a role.
|
||||
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
|
||||
subjects:
|
||||
description:
|
||||
- Subjects hold object references to authorize with this rule. This field is
|
||||
ignored if UserNames or GroupNames are specified to support legacy clients
|
||||
and servers. Thus newer clients that do not need to support backwards compatibility
|
||||
should send only fully qualified Subjects and should omit the UserNames and
|
||||
GroupNames fields. Clients that need to support backwards compatibility can
|
||||
use this field to build the UserNames and GroupNames.
|
||||
type: list
|
||||
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
|
||||
user_names:
|
||||
description:
|
||||
- UserNames holds all the usernames directly bound to the role. This field should
|
||||
only be specified when supporting legacy clients and servers. See Subjects
|
||||
for further details.
|
||||
type: list
|
||||
contains: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('role_binding', '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()
|
||||
|
||||
414
library/k8s_v1_role_binding_list.py
Normal file
414
library/k8s_v1_role_binding_list.py
Normal file
@@ -0,0 +1,414 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_role_binding_list
|
||||
short_description: Kubernetes RoleBindingList
|
||||
description:
|
||||
- Retrieve a list of role_bindings. List operations provide a snapshot read of the
|
||||
underlying objects, returning a resource_version representing a consistent version
|
||||
of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
role_binding_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is a list of RoleBindings
|
||||
type: list
|
||||
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
|
||||
group_names:
|
||||
description:
|
||||
- GroupNames holds all the groups directly bound to the role. This field
|
||||
should only be specified when supporting legacy clients and servers. See
|
||||
Subjects for further details.
|
||||
type: list
|
||||
contains: 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
|
||||
role_ref:
|
||||
description:
|
||||
- RoleRef can only reference the current namespace and the global namespace.
|
||||
If the RoleRef cannot be resolved, the Authorizer must return an error.
|
||||
Since Policy is a singleton, this is sufficient knowledge to locate a
|
||||
role.
|
||||
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
|
||||
subjects:
|
||||
description:
|
||||
- Subjects hold object references to authorize with this rule. This field
|
||||
is ignored if UserNames or GroupNames are specified to support legacy
|
||||
clients and servers. Thus newer clients that do not need to support backwards
|
||||
compatibility should send only fully qualified Subjects and should omit
|
||||
the UserNames and GroupNames fields. Clients that need to support backwards
|
||||
compatibility can use this field to build the UserNames and GroupNames.
|
||||
type: list
|
||||
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
|
||||
user_names:
|
||||
description:
|
||||
- UserNames holds all the usernames directly bound to the role. This field
|
||||
should only be specified when supporting legacy clients and servers. See
|
||||
Subjects for further details.
|
||||
type: list
|
||||
contains: 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:
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('role_binding_list', '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()
|
||||
|
||||
463
library/k8s_v1_role_binding_restriction.py
Normal file
463
library/k8s_v1_role_binding_restriction.py
Normal file
@@ -0,0 +1,463 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_role_binding_restriction
|
||||
short_description: Kubernetes RoleBindingRestriction
|
||||
description:
|
||||
- Manage the lifecycle of a role_binding_restriction 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_grouprestriction_groups:
|
||||
description:
|
||||
- Groups is a list of groups used to match against an individual user's groups.
|
||||
If the user is a member of one of the whitelisted groups, the user is allowed
|
||||
to be bound to a role.
|
||||
aliases:
|
||||
- grouprestriction_groups
|
||||
type: list
|
||||
spec_grouprestriction_labels:
|
||||
description:
|
||||
- Selectors specifies a list of label selectors over group labels.
|
||||
aliases:
|
||||
- grouprestriction_labels
|
||||
type: list
|
||||
spec_serviceaccountrestriction_namespaces:
|
||||
description:
|
||||
- Namespaces specifies a list of literal namespace names.
|
||||
aliases:
|
||||
- serviceaccountrestriction_namespaces
|
||||
type: list
|
||||
spec_serviceaccountrestriction_serviceaccounts:
|
||||
description:
|
||||
- ServiceAccounts specifies a list of literal service-account names.
|
||||
aliases:
|
||||
- serviceaccountrestriction_serviceaccounts
|
||||
type: list
|
||||
spec_userrestriction_groups:
|
||||
description:
|
||||
- Groups specifies a list of literal group names.
|
||||
aliases:
|
||||
- userrestriction_groups
|
||||
type: list
|
||||
spec_userrestriction_labels:
|
||||
description:
|
||||
- Selectors specifies a list of label selectors over user labels.
|
||||
aliases:
|
||||
- userrestriction_labels
|
||||
type: list
|
||||
spec_userrestriction_users:
|
||||
description:
|
||||
- Users specifies a list of literal user names.
|
||||
aliases:
|
||||
- userrestriction_users
|
||||
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
|
||||
role_binding_restriction:
|
||||
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 defines the matcher.
|
||||
type: complex
|
||||
contains:
|
||||
grouprestriction:
|
||||
description:
|
||||
- GroupRestriction matches against group subjects.
|
||||
type: complex
|
||||
contains:
|
||||
groups:
|
||||
description:
|
||||
- Groups is a list of groups used to match against an individual user's
|
||||
groups. If the user is a member of one of the whitelisted groups,
|
||||
the user is allowed to be bound to a role.
|
||||
type: list
|
||||
contains: str
|
||||
labels:
|
||||
description:
|
||||
- Selectors specifies a list of label selectors over group labels.
|
||||
type: list
|
||||
contains:
|
||||
match_expressions:
|
||||
description:
|
||||
- matchExpressions is a list of label selector requirements. The
|
||||
requirements are ANDed.
|
||||
type: list
|
||||
contains:
|
||||
key:
|
||||
description:
|
||||
- key is the label key that the selector applies to.
|
||||
type: str
|
||||
operator:
|
||||
description:
|
||||
- operator represents a key's relationship to a set of values.
|
||||
Valid operators ard In, NotIn, Exists and DoesNotExist.
|
||||
type: str
|
||||
values:
|
||||
description:
|
||||
- values is an array of string values. If the operator is In
|
||||
or NotIn, the values array must be non-empty. If the operator
|
||||
is Exists or DoesNotExist, the values array must be empty.
|
||||
This array is replaced during a strategic merge patch.
|
||||
type: list
|
||||
contains: str
|
||||
match_labels:
|
||||
description:
|
||||
- matchLabels is a map of {key,value} pairs. A single {key,value}
|
||||
in the matchLabels map is equivalent to an element of matchExpressions,
|
||||
whose key field is "key", the operator is "In", and the values
|
||||
array contains only "value". The requirements are ANDed.
|
||||
type: complex
|
||||
contains: str, str
|
||||
serviceaccountrestriction:
|
||||
description:
|
||||
- ServiceAccountRestriction matches against service-account subjects.
|
||||
type: complex
|
||||
contains:
|
||||
namespaces:
|
||||
description:
|
||||
- Namespaces specifies a list of literal namespace names.
|
||||
type: list
|
||||
contains: str
|
||||
serviceaccounts:
|
||||
description:
|
||||
- ServiceAccounts specifies a list of literal service-account names.
|
||||
type: list
|
||||
contains:
|
||||
name:
|
||||
description:
|
||||
- Name is the name of the service account.
|
||||
type: str
|
||||
namespace:
|
||||
description:
|
||||
- Namespace is the namespace of the service account. Service accounts
|
||||
from inside the whitelisted namespaces are allowed to be bound
|
||||
to roles. If Namespace is empty, then the namespace of the RoleBindingRestriction
|
||||
in which the ServiceAccountReference is embedded is used.
|
||||
type: str
|
||||
userrestriction:
|
||||
description:
|
||||
- UserRestriction matches against user subjects.
|
||||
type: complex
|
||||
contains:
|
||||
groups:
|
||||
description:
|
||||
- Groups specifies a list of literal group names.
|
||||
type: list
|
||||
contains: str
|
||||
labels:
|
||||
description:
|
||||
- Selectors specifies a list of label selectors over user labels.
|
||||
type: list
|
||||
contains:
|
||||
match_expressions:
|
||||
description:
|
||||
- matchExpressions is a list of label selector requirements. The
|
||||
requirements are ANDed.
|
||||
type: list
|
||||
contains:
|
||||
key:
|
||||
description:
|
||||
- key is the label key that the selector applies to.
|
||||
type: str
|
||||
operator:
|
||||
description:
|
||||
- operator represents a key's relationship to a set of values.
|
||||
Valid operators ard In, NotIn, Exists and DoesNotExist.
|
||||
type: str
|
||||
values:
|
||||
description:
|
||||
- values is an array of string values. If the operator is In
|
||||
or NotIn, the values array must be non-empty. If the operator
|
||||
is Exists or DoesNotExist, the values array must be empty.
|
||||
This array is replaced during a strategic merge patch.
|
||||
type: list
|
||||
contains: str
|
||||
match_labels:
|
||||
description:
|
||||
- matchLabels is a map of {key,value} pairs. A single {key,value}
|
||||
in the matchLabels map is equivalent to an element of matchExpressions,
|
||||
whose key field is "key", the operator is "In", and the values
|
||||
array contains only "value". The requirements are ANDed.
|
||||
type: complex
|
||||
contains: str, str
|
||||
users:
|
||||
description:
|
||||
- Users specifies a list of literal user names.
|
||||
type: list
|
||||
contains: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('role_binding_restriction', '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()
|
||||
|
||||
443
library/k8s_v1_role_binding_restriction_list.py
Normal file
443
library/k8s_v1_role_binding_restriction_list.py
Normal file
@@ -0,0 +1,443 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_role_binding_restriction_list
|
||||
short_description: Kubernetes RoleBindingRestrictionList
|
||||
description:
|
||||
- Retrieve a list of role_binding_restrictions. List operations provide a snapshot
|
||||
read of the underlying objects, returning a resource_version representing a consistent
|
||||
version of the listed objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
role_binding_restriction_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is a list of RoleBindingRestriction objects.
|
||||
type: list
|
||||
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 defines the matcher.
|
||||
type: complex
|
||||
contains:
|
||||
grouprestriction:
|
||||
description:
|
||||
- GroupRestriction matches against group subjects.
|
||||
type: complex
|
||||
contains:
|
||||
groups:
|
||||
description:
|
||||
- Groups is a list of groups used to match against an individual
|
||||
user's groups. If the user is a member of one of the whitelisted
|
||||
groups, the user is allowed to be bound to a role.
|
||||
type: list
|
||||
contains: str
|
||||
labels:
|
||||
description:
|
||||
- Selectors specifies a list of label selectors over group labels.
|
||||
type: list
|
||||
contains:
|
||||
match_expressions:
|
||||
description:
|
||||
- matchExpressions is a list of label selector requirements.
|
||||
The requirements are ANDed.
|
||||
type: list
|
||||
contains:
|
||||
key:
|
||||
description:
|
||||
- key is the label key that the selector applies to.
|
||||
type: str
|
||||
operator:
|
||||
description:
|
||||
- operator represents a key's relationship to a set of values.
|
||||
Valid operators ard In, NotIn, Exists and DoesNotExist.
|
||||
type: str
|
||||
values:
|
||||
description:
|
||||
- values is an array of string values. If the operator is
|
||||
In or NotIn, the values array must be non-empty. If the
|
||||
operator is Exists or DoesNotExist, the values array must
|
||||
be empty. This array is replaced during a strategic merge
|
||||
patch.
|
||||
type: list
|
||||
contains: str
|
||||
match_labels:
|
||||
description:
|
||||
- matchLabels is a map of {key,value} pairs. A single {key,value}
|
||||
in the matchLabels map is equivalent to an element of matchExpressions,
|
||||
whose key field is "key", the operator is "In", and the values
|
||||
array contains only "value". The requirements are ANDed.
|
||||
type: complex
|
||||
contains: str, str
|
||||
serviceaccountrestriction:
|
||||
description:
|
||||
- ServiceAccountRestriction matches against service-account subjects.
|
||||
type: complex
|
||||
contains:
|
||||
namespaces:
|
||||
description:
|
||||
- Namespaces specifies a list of literal namespace names.
|
||||
type: list
|
||||
contains: str
|
||||
serviceaccounts:
|
||||
description:
|
||||
- ServiceAccounts specifies a list of literal service-account names.
|
||||
type: list
|
||||
contains:
|
||||
name:
|
||||
description:
|
||||
- Name is the name of the service account.
|
||||
type: str
|
||||
namespace:
|
||||
description:
|
||||
- Namespace is the namespace of the service account. Service
|
||||
accounts from inside the whitelisted namespaces are allowed
|
||||
to be bound to roles. If Namespace is empty, then the namespace
|
||||
of the RoleBindingRestriction in which the ServiceAccountReference
|
||||
is embedded is used.
|
||||
type: str
|
||||
userrestriction:
|
||||
description:
|
||||
- UserRestriction matches against user subjects.
|
||||
type: complex
|
||||
contains:
|
||||
groups:
|
||||
description:
|
||||
- Groups specifies a list of literal group names.
|
||||
type: list
|
||||
contains: str
|
||||
labels:
|
||||
description:
|
||||
- Selectors specifies a list of label selectors over user labels.
|
||||
type: list
|
||||
contains:
|
||||
match_expressions:
|
||||
description:
|
||||
- matchExpressions is a list of label selector requirements.
|
||||
The requirements are ANDed.
|
||||
type: list
|
||||
contains:
|
||||
key:
|
||||
description:
|
||||
- key is the label key that the selector applies to.
|
||||
type: str
|
||||
operator:
|
||||
description:
|
||||
- operator represents a key's relationship to a set of values.
|
||||
Valid operators ard In, NotIn, Exists and DoesNotExist.
|
||||
type: str
|
||||
values:
|
||||
description:
|
||||
- values is an array of string values. If the operator is
|
||||
In or NotIn, the values array must be non-empty. If the
|
||||
operator is Exists or DoesNotExist, the values array must
|
||||
be empty. This array is replaced during a strategic merge
|
||||
patch.
|
||||
type: list
|
||||
contains: str
|
||||
match_labels:
|
||||
description:
|
||||
- matchLabels is a map of {key,value} pairs. A single {key,value}
|
||||
in the matchLabels map is equivalent to an element of matchExpressions,
|
||||
whose key field is "key", the operator is "In", and the values
|
||||
array contains only "value". The requirements are ANDed.
|
||||
type: complex
|
||||
contains: str, str
|
||||
users:
|
||||
description:
|
||||
- Users specifies a list of literal user names.
|
||||
type: list
|
||||
contains: 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:
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('role_binding_restriction_list', '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()
|
||||
|
||||
362
library/k8s_v1_role_list.py
Normal file
362
library/k8s_v1_role_list.py
Normal file
@@ -0,0 +1,362 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_role_list
|
||||
short_description: Kubernetes RoleList
|
||||
description:
|
||||
- Retrieve a list of roles. List operations provide a snapshot read of the underlying
|
||||
objects, returning a resource_version representing a consistent version of the listed
|
||||
objects.
|
||||
version_added: 2.3.0
|
||||
author: OpenShift (@openshift)
|
||||
options:
|
||||
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
|
||||
namespace:
|
||||
description:
|
||||
- Namespaces provide a scope for names. Names of resources need to be unique within
|
||||
a namespace, but not across namespaces. Provide the namespace for the object.
|
||||
password:
|
||||
description:
|
||||
- Provide a password for connecting to the API. Use in conjunction with I(username).
|
||||
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
|
||||
role_list:
|
||||
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
|
||||
items:
|
||||
description:
|
||||
- Items is a list of Roles
|
||||
type: list
|
||||
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
|
||||
rules:
|
||||
description:
|
||||
- Rules holds all the PolicyRules for this Role
|
||||
type: list
|
||||
contains:
|
||||
api_groups:
|
||||
description:
|
||||
- APIGroups is the name of the APIGroup that contains the resources.
|
||||
If this field is empty, then both kubernetes and origin API groups
|
||||
are assumed. That means that if an action is requested against one
|
||||
of the enumerated resources in either the kubernetes or the origin
|
||||
API group, the request will be allowed
|
||||
type: list
|
||||
contains: str
|
||||
attribute_restrictions:
|
||||
description:
|
||||
- AttributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder
|
||||
pair supports. If the Authorizer does not recognize how to handle
|
||||
the AttributeRestrictions, the Authorizer should report an error.
|
||||
type: complex
|
||||
contains:
|
||||
raw:
|
||||
description:
|
||||
- Raw is the underlying serialization of this object.
|
||||
type: str
|
||||
non_resource_ur_ls:
|
||||
description:
|
||||
- NonResourceURLsSlice is a set of partial urls that a user should have
|
||||
access to. *s are allowed, but only as the full, final step in the
|
||||
path This name is intentionally different than the internal type so
|
||||
that the DefaultConvert works nicely and because the ordering may
|
||||
be different.
|
||||
type: list
|
||||
contains: str
|
||||
resource_names:
|
||||
description:
|
||||
- ResourceNames is an optional white list of names that the rule applies
|
||||
to. An empty set means that everything is allowed.
|
||||
type: list
|
||||
contains: str
|
||||
resources:
|
||||
description:
|
||||
- Resources is a list of resources this rule applies to. ResourceAll
|
||||
represents all resources.
|
||||
type: list
|
||||
contains: str
|
||||
verbs:
|
||||
description:
|
||||
- Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions
|
||||
contained in this rule. VerbAll represents all kinds.
|
||||
type: list
|
||||
contains: 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:
|
||||
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
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('role_list', '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()
|
||||
|
||||
613
library/k8s_v1_route.py
Normal file
613
library/k8s_v1_route.py
Normal file
@@ -0,0 +1,613 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from ansible.module_utils.k8s_common import OpenShiftAnsibleModule, OpenShiftAnsibleException
|
||||
|
||||
DOCUMENTATION = '''
|
||||
module: k8s_v1_route
|
||||
short_description: Kubernetes Route
|
||||
description:
|
||||
- Manage the lifecycle of a route 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_alternate_backends:
|
||||
description:
|
||||
- alternateBackends is an extension of the 'to' field. If more than one service
|
||||
needs to be pointed to, then use this field. Use the weight field in RouteTargetReference
|
||||
object to specify relative preference. If the weight field is zero, the backend
|
||||
is ignored.
|
||||
aliases:
|
||||
- alternate_backends
|
||||
type: list
|
||||
spec_host:
|
||||
description:
|
||||
- host is an alias/DNS that points to the service. Optional. If not specified
|
||||
a route name will typically be automatically chosen. Must follow DNS952 subdomain
|
||||
conventions.
|
||||
aliases:
|
||||
- host
|
||||
spec_path:
|
||||
description:
|
||||
- Path that the router watches for, to route traffic for to the service. Optional
|
||||
aliases:
|
||||
- path
|
||||
spec_tls_ca_certificate:
|
||||
description:
|
||||
- caCertificate provides the cert authority certificate contents
|
||||
aliases:
|
||||
- tls_ca_certificate
|
||||
spec_tls_certificate:
|
||||
description:
|
||||
- certificate provides certificate contents
|
||||
aliases:
|
||||
- tls_certificate
|
||||
spec_tls_destination_ca_certificate:
|
||||
description:
|
||||
- destinationCACertificate provides the contents of the ca certificate of the
|
||||
final destination. When using reencrypt termination this file should be provided
|
||||
in order to have routers use it for health checks on the secure connection
|
||||
aliases:
|
||||
- tls_destination_ca_certificate
|
||||
spec_tls_insecure_edge_termination_policy:
|
||||
description:
|
||||
- insecureEdgeTerminationPolicy indicates the desired behavior for insecure connections
|
||||
to a route. While each router may make its own decisions on which ports to expose,
|
||||
this is normally port 80. * Allow - traffic is sent to the server on the insecure
|
||||
port (default) * Disable - no traffic is allowed on the insecure port. * Redirect
|
||||
- clients are redirected to the secure port.
|
||||
aliases:
|
||||
- tls_insecure_edge_termination_policy
|
||||
spec_tls_key:
|
||||
description:
|
||||
- key provides key file contents
|
||||
aliases:
|
||||
- tls_key
|
||||
spec_tls_termination:
|
||||
description:
|
||||
- termination indicates termination type.
|
||||
aliases:
|
||||
- tls_termination
|
||||
spec_to_kind:
|
||||
description:
|
||||
- The kind of target that the route is referring to. Currently, only 'Service'
|
||||
is allowed
|
||||
aliases:
|
||||
- to_kind
|
||||
spec_to_name:
|
||||
description:
|
||||
- name of the service/target that is being referred to. e.g. name of the service
|
||||
aliases:
|
||||
- to_name
|
||||
spec_to_weight:
|
||||
description:
|
||||
- weight as an integer between 1 and 256 that specifies the target's relative
|
||||
weight against other target reference objects
|
||||
aliases:
|
||||
- to_weight
|
||||
type: int
|
||||
spec_wildcard_policy:
|
||||
description:
|
||||
- Wildcard policy if any for the route. Currently only 'Subdomain' or 'None' is
|
||||
allowed.
|
||||
aliases:
|
||||
- wildcard_policy
|
||||
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 = '''
|
||||
- name: Create route
|
||||
k8s_v1_route:
|
||||
name: myroute
|
||||
namespace: k8s-project
|
||||
state: present
|
||||
host: www.example.com
|
||||
target_reference_kind: Service
|
||||
target_reference_name: service-name
|
||||
tls_termination: edge
|
||||
tls_key: |-
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
asjdflajd0fjasldjflsjflkjlkjfaljsdfljasljflasjfljsdf
|
||||
sdlfjalsdjfljasdfljsljfljsfljdf
|
||||
-----END PRIVATE KEY-----
|
||||
tls_certificate: |-
|
||||
-----BEGIN CERTIFICATE-----
|
||||
kdlslfsfljetuoeiursljflsdjffljsfsf90909wrjf94lsjdf99KK
|
||||
-----END CERTIFICATE-----
|
||||
tls_ca_certificate: |-
|
||||
-----BEGIN CERTIFICATE-----
|
||||
asdfajflasfjfsljlrjlrjlsjfoijlsornkvksflsbgoehfflf54444
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
- name: Patch route
|
||||
k8s_v1_route:
|
||||
name: myroute
|
||||
namespace: k8s-project
|
||||
state: present
|
||||
host: www.example.com
|
||||
tls_termination: reencrypt
|
||||
target_reference_kind: Service
|
||||
target_reference_name: other-service-name
|
||||
tls_destination_ca_certificate: |-
|
||||
-----BEGIN CERTIFICATE-----
|
||||
destination cetricate_contents
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
- name: Replace route
|
||||
k8s_v1_route:
|
||||
name: myroute
|
||||
namespace: k8s-project
|
||||
state: replaced
|
||||
host: www.example.com
|
||||
path: /foo/bar/baz.html
|
||||
target_reference_kind: Service
|
||||
target_reference_name: whimsy-name
|
||||
tls_termination: edge
|
||||
tls_key: |-
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
key_file_contents
|
||||
-----END PRIVATE KEY-----
|
||||
tls_certificate: |-
|
||||
-----BEGIN CERTIFICATE-----
|
||||
certificate_contents
|
||||
-----END CERTIFICATE-----
|
||||
tls_ca_certificate: |-
|
||||
-----BEGIN CERTIFICATE-----
|
||||
ca_certificate_contents
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
- name: Remove route
|
||||
k8s_v1_route:
|
||||
name: myroute
|
||||
namespace: k8s-project
|
||||
state: absent
|
||||
'''
|
||||
|
||||
RETURN = '''
|
||||
api_version:
|
||||
type: string
|
||||
description: Requested API version
|
||||
route:
|
||||
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
|
||||
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 the desired state of the route
|
||||
type: complex
|
||||
contains:
|
||||
alternate_backends:
|
||||
description:
|
||||
- alternateBackends is an extension of the 'to' field. If more than one
|
||||
service needs to be pointed to, then use this field. Use the weight field
|
||||
in RouteTargetReference object to specify relative preference. If the
|
||||
weight field is zero, the backend is ignored.
|
||||
type: list
|
||||
contains:
|
||||
kind:
|
||||
description:
|
||||
- The kind of target that the route is referring to. Currently, only
|
||||
'Service' is allowed
|
||||
type: str
|
||||
name:
|
||||
description:
|
||||
- name of the service/target that is being referred to. e.g. name of
|
||||
the service
|
||||
type: str
|
||||
weight:
|
||||
description:
|
||||
- weight as an integer between 1 and 256 that specifies the target's
|
||||
relative weight against other target reference objects
|
||||
type: int
|
||||
host:
|
||||
description:
|
||||
- host is an alias/DNS that points to the service. Optional. If not specified
|
||||
a route name will typically be automatically chosen. Must follow DNS952
|
||||
subdomain conventions.
|
||||
type: str
|
||||
path:
|
||||
description:
|
||||
- Path that the router watches for, to route traffic for to the service.
|
||||
Optional
|
||||
type: str
|
||||
port:
|
||||
description:
|
||||
- If specified, the port to be used by the router. Most routers will use
|
||||
all endpoints exposed by the service by default - set this value to instruct
|
||||
routers which port to use.
|
||||
type: complex
|
||||
contains:
|
||||
target_port:
|
||||
description:
|
||||
- The target port on pods selected by the service this route points
|
||||
to. If this is a string, it will be looked up as a named port in the
|
||||
target endpoints port list. Required
|
||||
type: complex
|
||||
contains: {}
|
||||
tls:
|
||||
description:
|
||||
- The tls field provides the ability to configure certificates and termination
|
||||
for the route.
|
||||
type: complex
|
||||
contains:
|
||||
ca_certificate:
|
||||
description:
|
||||
- caCertificate provides the cert authority certificate contents
|
||||
type: str
|
||||
certificate:
|
||||
description:
|
||||
- certificate provides certificate contents
|
||||
type: str
|
||||
destination_ca_certificate:
|
||||
description:
|
||||
- destinationCACertificate provides the contents of the ca certificate
|
||||
of the final destination. When using reencrypt termination this file
|
||||
should be provided in order to have routers use it for health checks
|
||||
on the secure connection
|
||||
type: str
|
||||
insecure_edge_termination_policy:
|
||||
description:
|
||||
- insecureEdgeTerminationPolicy indicates the desired behavior for insecure
|
||||
connections to a route. While each router may make its own decisions
|
||||
on which ports to expose, this is normally port 80. * Allow - traffic
|
||||
is sent to the server on the insecure port (default) * Disable - no
|
||||
traffic is allowed on the insecure port. * Redirect - clients are
|
||||
redirected to the secure port.
|
||||
type: str
|
||||
key:
|
||||
description:
|
||||
- key provides key file contents
|
||||
type: str
|
||||
termination:
|
||||
description:
|
||||
- termination indicates termination type.
|
||||
type: str
|
||||
to:
|
||||
description:
|
||||
- to is an object the route should use as the primary backend. Only the
|
||||
Service kind is allowed, and it will be defaulted to Service. If the weight
|
||||
field is set to zero, no traffic will be sent to this service.
|
||||
type: complex
|
||||
contains:
|
||||
kind:
|
||||
description:
|
||||
- The kind of target that the route is referring to. Currently, only
|
||||
'Service' is allowed
|
||||
type: str
|
||||
name:
|
||||
description:
|
||||
- name of the service/target that is being referred to. e.g. name of
|
||||
the service
|
||||
type: str
|
||||
weight:
|
||||
description:
|
||||
- weight as an integer between 1 and 256 that specifies the target's
|
||||
relative weight against other target reference objects
|
||||
type: int
|
||||
wildcard_policy:
|
||||
description:
|
||||
- Wildcard policy if any for the route. Currently only 'Subdomain' or 'None'
|
||||
is allowed.
|
||||
type: str
|
||||
status:
|
||||
description:
|
||||
- status is the current state of the route
|
||||
type: complex
|
||||
contains:
|
||||
ingress:
|
||||
description:
|
||||
- ingress describes the places where the route may be exposed. The list
|
||||
of ingress points may contain duplicate Host or RouterName values. Routes
|
||||
are considered live once they are `Ready`
|
||||
type: list
|
||||
contains:
|
||||
conditions:
|
||||
description:
|
||||
- Conditions is the state of the route, may be empty.
|
||||
type: list
|
||||
contains:
|
||||
last_transition_time:
|
||||
description:
|
||||
- RFC 3339 date and time when this condition last transitioned
|
||||
type: complex
|
||||
contains: {}
|
||||
message:
|
||||
description:
|
||||
- Human readable message indicating details about last transition.
|
||||
type: str
|
||||
reason:
|
||||
description:
|
||||
- (brief) reason for the condition's last transition, and is usually
|
||||
a machine and human readable constant
|
||||
type: str
|
||||
status:
|
||||
description:
|
||||
- Status is the status of the condition. Can be True, False, Unknown.
|
||||
type: str
|
||||
type:
|
||||
description:
|
||||
- Type is the type of the condition. Currently only Ready.
|
||||
type: str
|
||||
host:
|
||||
description:
|
||||
- Host is the host string under which the route is exposed; this value
|
||||
is required
|
||||
type: str
|
||||
router_canonical_hostname:
|
||||
description:
|
||||
- CanonicalHostname is the external host name for the router that can
|
||||
be used as a CNAME for the host requested for this route. This value
|
||||
is optional and may not be set in all cases.
|
||||
type: str
|
||||
router_name:
|
||||
description:
|
||||
- Name is a name chosen by the router to identify itself; this value
|
||||
is required
|
||||
type: str
|
||||
wildcard_policy:
|
||||
description:
|
||||
- Wildcard policy is the wildcard policy that was allowed where this
|
||||
route is exposed.
|
||||
type: str
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
try:
|
||||
module = OpenShiftAnsibleModule('route', '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()
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user