#!/usr/bin/python # -*- coding: utf-8 -*- from ansible.module_utils.openshift_common import OpenShiftAnsibleModule, OpenShiftAnsibleException DOCUMENTATION = ''' module: openshift_v1_subject_rules_review short_description: OpenShift SubjectRulesReview description: - Manage the lifecycle of a subject_rules_review 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 force: description: - If set to C(True), and I(state) is C(present), an existing object will updated, and lists will be replaced, rather than merged. default: false type: bool host: description: - Provide a URL for acessing the Kubernetes API. key_file: description: - Path to a key file used to authenticate with the API. type: path kubeconfig: description: - Path to an existing Kubernetes config file. If not provided, and no other connection options are provided, the openshift client will attempt to load the default configuration file from I(~/.kube/config.json). type: path password: description: - Provide a password for connecting to the API. Use in conjunction with I(username). spec_groups: description: - Groups is optional. Groups is the list of groups to which the User belongs. At least one of User and Groups must be specified. aliases: - groups type: list spec_scopes: description: - Scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". aliases: - scopes type: list spec_user: description: - User is optional. At least one of User and Groups must be specified. aliases: - user 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 == 0.4.0 ''' EXAMPLES = ''' ''' RETURN = ''' api_version: description: Requested API version type: string subject_rules_review: 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 spec: description: - Spec adds information about how to conduct the check type: complex status: description: - Status is completed by the server to tell which permissions you have type: complex ''' def main(): try: module = OpenShiftAnsibleModule('subject_rules_review', '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()