Repository URL to install this package:
|
Version:
6.0.0 ▾
|
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Copyright (c) 2021, Red Hat
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
__metaclass__ = type
# STARTREMOVE (downstream)
DOCUMENTATION = r'''
module: openshift_adm_prune_deployments
short_description: Remove old completed and failed deployment configs
version_added: "2.2.0"
author:
- Aubin Bikouo (@abikouo)
description:
- This module allow administrators to remove old completed and failed deployment configs.
- Analogous to C(oc adm prune deployments).
extends_documentation_fragment:
- kubernetes.core.k8s_auth_options
options:
namespace:
description:
- Use to specify namespace for deployments to be deleted.
type: str
keep_younger_than:
description:
- Specify the minimum age (in minutes) of a deployment for it to be considered a candidate for pruning.
type: int
orphans:
description:
- If C(true), prune all deployments where the associated DeploymentConfig no longer exists,
the status is complete or failed, and the replica size is C(0).
type: bool
default: False
requirements:
- python >= 3.6
- kubernetes >= 12.0.0
'''
EXAMPLES = r'''
- name: Prune Deployments from testing namespace
community.okd.openshift_adm_prune_deployments:
namespace: testing
- name: Prune orphans deployments, keep younger than 2hours
community.okd.openshift_adm_prune_deployments:
orphans: True
keep_younger_than: 120
'''
RETURN = r'''
replication_controllers:
type: list
description: list of replication controllers candidate for pruning.
returned: always
'''
# ENDREMOVE (downstream)
import copy
from ansible.module_utils.basic import AnsibleModule
try:
from ansible_collections.kubernetes.core.plugins.module_utils.args_common import AUTH_ARG_SPEC
except ImportError as e:
pass
def argument_spec():
args = copy.deepcopy(AUTH_ARG_SPEC)
args.update(
dict(
namespace=dict(type='str',),
keep_younger_than=dict(type='int',),
orphans=dict(type='bool', default=False),
)
)
return args
def main():
module = AnsibleModule(argument_spec=argument_spec(), supports_check_mode=True)
from ansible_collections.community.okd.plugins.module_utils.openshift_adm_prune_deployments import (
OpenShiftAdmPruneDeployment)
adm_prune_deployments = OpenShiftAdmPruneDeployment(module)
adm_prune_deployments.execute()
if __name__ == '__main__':
main()