Exemplo n.º 1
0
    def translate_idps(idps, api_version, openshift_version, deployment_type):
        ''' Translates a list of dictionaries into a valid identityProviders config '''
        idp_list = []

        if not isinstance(idps, list):
            raise errors.AnsibleFilterError(
                "|failed expects to filter on a list of identity providers")
        for idp in idps:
            if not isinstance(idp, dict):
                raise errors.AnsibleFilterError(
                    "|failed identity providers must be a list of dictionaries"
                )

            cur_module = sys.modules[__name__]
            idp_class = getattr(cur_module, idp['kind'], None)
            idp_inst = idp_class(
                api_version,
                idp) if idp_class is not None else IdentityProviderBase(
                    api_version, idp)
            idp_inst.set_provider_items()
            idp_list.append(idp_inst)

        IdentityProviderBase.validate_idp_list(idp_list, openshift_version,
                                               deployment_type)
        return u(
            yaml.dump([idp.to_dict() for idp in idp_list],
                      allow_unicode=True,
                      default_flow_style=False,
                      width=float("inf"),
                      Dumper=AnsibleDumper))
Exemplo n.º 2
0
 def v2_runner_on_ok(self, res):
     abridged_result = res._result.copy()
     # Collect facts result from playbooks/byo/openshift_facts.yml
     if 'result' in abridged_result:
         facts = abridged_result['result']['ansible_facts']['openshift']
         hosts_yaml = {}
         hosts_yaml[res._host.get_name()] = facts
         to_dump = u(yaml.dump(hosts_yaml,
                               allow_unicode=True,
                               default_flow_style=False,
                               Dumper=AnsibleDumper))
         os.write(self.hosts_yaml, to_dump)
Exemplo n.º 3
0
def to_padded_yaml(data, level=0, indent=2, **kw):
    """ returns a yaml snippet padded to match the indent level you specify """
    if data in [None, ""]:
        return ""

    try:
        transformed = u(yaml.dump(data, indent=indent, allow_unicode=True,
                                  default_flow_style=False,
                                  Dumper=AnsibleDumper, **kw))
        padded = "\n".join([" " * level * indent + line for line in transformed.splitlines()])
        return "\n{0}".format(padded)
    except Exception as my_e:
        raise errors.AnsibleFilterError('Failed to convert: %s' % my_e)
Exemplo n.º 4
0
def to_padded_yaml(data, level=0, indent=2, **kw):
    """ returns a yaml snippet padded to match the indent level you specify """
    if data in [None, ""]:
        return ""

    try:
        transformed = u(yaml.dump(data, indent=indent, allow_unicode=True,
                                  default_flow_style=False,
                                  Dumper=AnsibleDumper, **kw))
        padded = "\n".join([" " * level * indent + line for line in transformed.splitlines()])
        return "\n{0}".format(padded)
    except Exception as my_e:
        raise errors.AnsibleFilterError('Failed to convert: %s' % my_e)
Exemplo n.º 5
0
 def v2_runner_on_ok(self, res):
     abridged_result = res._result.copy()
     # Collect facts result from playbooks/byo/openshift_facts.yml
     if 'result' in abridged_result:
         facts = abridged_result['result']['ansible_facts']['openshift']
         hosts_yaml = {}
         hosts_yaml[res._host.get_name()] = facts
         to_dump = u(
             yaml.dump(hosts_yaml,
                       allow_unicode=True,
                       default_flow_style=False,
                       Dumper=AnsibleDumper))
         os.write(self.hosts_yaml, to_dump)
Exemplo n.º 6
0
    def translate_idps(idps, api_version, openshift_version, deployment_type):
        ''' Translates a list of dictionaries into a valid identityProviders config '''
        idp_list = []

        if not isinstance(idps, list):
            raise errors.AnsibleFilterError("|failed expects to filter on a list of identity providers")
        for idp in idps:
            if not isinstance(idp, dict):
                raise errors.AnsibleFilterError("|failed identity providers must be a list of dictionaries")

            cur_module = sys.modules[__name__]
            idp_class = getattr(cur_module, idp['kind'], None)
            idp_inst = idp_class(api_version, idp) if idp_class is not None else IdentityProviderBase(api_version, idp)
            idp_inst.set_provider_items()
            idp_list.append(idp_inst)

        IdentityProviderBase.validate_idp_list(idp_list, openshift_version, deployment_type)
        return u(yaml.dump([idp.to_dict() for idp in idp_list],
                           allow_unicode=True,
                           default_flow_style=False,
                           Dumper=AnsibleDumper))