Ejemplo n.º 1
0
def main():
    helper = get_connection(
        vsys_shared=True,
        device_group=True,
        with_state=True,
        with_classic_provider_spec=True,
        min_pandevice_version=(0, 11, 1),
        min_panos_version=(8, 0, 0),
        argument_spec=dict(
            http_profile=dict(required=True),
            name=dict(required=True),
            address=dict(required=True),
            protocol=dict(default='HTTPS', choices=['HTTP', 'HTTPS']),
            http_port=dict(type='int', default=443),
            tls_version=dict(choices=['1.0', '1.1', '1.2']),
            certificate_profile=dict(),
            http_method=dict(default='POST'),
            http_username=dict(),
            http_password=dict(no_log=True),
        ),
    )
    module = AnsibleModule(
        argument_spec=helper.argument_spec,
        supports_check_mode=True,
        required_one_of=helper.required_one_of,
    )

    # Verify imports, build pandevice object tree.
    parent = helper.get_pandevice_parent(module)

    sp = HttpServerProfile(module.params['http_profile'])
    parent.add(sp)
    try:
        sp.refresh()
    except PanDeviceError as e:
        module.fail_json(msg='Failed refresh: {0}'.format(e))

    listing = sp.findall(HttpServer)

    spec = {
        'name': module.params['name'],
        'address': module.params['address'],
        'protocol': module.params['protocol'],
        'port': module.params['http_port'],
        'tls_version': module.params['tls_version'],
        'certificate_profile': module.params['certificate_profile'],
        'http_method': module.params['http_method'],
        'username': module.params['http_username'],
        'password': module.params['http_password'],
    }
    obj = HttpServer(**spec)
    sp.add(obj)

    changed, diff = helper.apply_state(obj, listing, module)
    module.exit_json(changed=changed, diff=diff, msg='Done')
def main():
    helper = get_connection(
        vsys_shared=True,
        device_group=True,
        with_state=True,
        with_classic_provider_spec=True,
        min_pandevice_version=(0, 11, 1),
        min_panos_version=(8, 0, 0),
        argument_spec=dict(
            http_profile=dict(required=True),
            name=dict(required=True),
            address=dict(required=True),
            protocol=dict(default="HTTPS", choices=["HTTP", "HTTPS"]),
            http_port=dict(type="int", default=443),
            tls_version=dict(choices=["1.0", "1.1", "1.2"]),
            certificate_profile=dict(),
            http_method=dict(default="POST"),
            http_username=dict(),
            http_password=dict(no_log=True),
        ),
    )
    module = AnsibleModule(
        argument_spec=helper.argument_spec,
        supports_check_mode=True,
        required_one_of=helper.required_one_of,
    )

    # Verify imports, build pandevice object tree.
    parent = helper.get_pandevice_parent(module)

    sp = HttpServerProfile(module.params["http_profile"])
    parent.add(sp)
    try:
        sp.refresh()
    except PanDeviceError as e:
        module.fail_json(msg="Failed refresh: {0}".format(e))

    listing = sp.findall(HttpServer)

    spec = {
        "name": module.params["name"],
        "address": module.params["address"],
        "protocol": module.params["protocol"],
        "port": module.params["http_port"],
        "tls_version": module.params["tls_version"],
        "certificate_profile": module.params["certificate_profile"],
        "http_method": module.params["http_method"],
        "username": module.params["http_username"],
        "password": module.params["http_password"],
    }
    obj = HttpServer(**spec)
    sp.add(obj)

    changed, diff = helper.apply_state(obj, listing, module)
    module.exit_json(changed=changed, diff=diff, msg="Done")
def main():
    helper = get_connection(
        vsys_shared=True,
        device_group=True,
        with_state=True,
        with_classic_provider_spec=True,
        min_pandevice_version=(0, 11, 1),
        min_panos_version=(8, 0, 0),
        argument_spec=dict(
            http_profile=dict(required=True),
            log_type=dict(required=True, choices=[
                'config', 'system', 'threat', 'traffic', 'hip match', 'url',
                'data', 'wildfire', 'tunnel', 'user id', 'gtp', 'auth',
                'sctp', 'iptag']
            ),
            param=dict(required=True),
            value=dict(),
        ),
    )
    module = AnsibleModule(
        argument_spec=helper.argument_spec,
        supports_check_mode=True,
        required_one_of=helper.required_one_of,
    )

    # Verify imports, build pandevice object tree.
    parent = helper.get_pandevice_parent(module)

    sp = HttpServerProfile(module.params['http_profile'])
    parent.add(sp)
    try:
        sp.refresh()
    except PanDeviceError as e:
        module.fail_json(msg='Failed refresh: {0}'.format(e))

    cls_map = {
        'config': HttpConfigParam,
        'system': HttpSystemParam,
        'threat': HttpThreatParam,
        'traffic': HttpTrafficParam,
        'hip match': HttpHipMatchParam,
        'url': HttpUrlParam,
        'data': HttpDataParam,
        'wildfire': HttpWildfireParam,
        'tunnel': HttpTunnelParam,
        'user id': HttpUserIdParam,
        'gtp': HttpGtpParam,
        'auth': HttpAuthParam,
        'sctp': HttpSctpParam,
        'iptag': HttpIpTagParam,
    }

    cls = cls_map[module.params['log_type']]

    listing = sp.findall(cls)

    spec = {
        'name': module.params['param'],
        'value': module.params['value'],
    }
    obj = cls(**spec)
    sp.add(obj)

    changed, diff = helper.apply_state(obj, listing, module)
    module.exit_json(changed=changed, diff=diff, msg='Done')
Ejemplo n.º 4
0
def main():

    helper = get_connection(
        vsys_shared=True,
        device_group=True,
        with_state=True,
        with_classic_provider_spec=True,
        min_pandevice_version=(0, 11, 1),
        min_panos_version=(8, 0, 0),
        argument_spec=dict(
            http_profile=dict(required=True),
            log_type=dict(
                required=True,
                choices=[
                    "config",
                    "system",
                    "threat",
                    "traffic",
                    "hip match",
                    "url",
                    "data",
                    "wildfire",
                    "tunnel",
                    "user id",
                    "gtp",
                    "auth",
                    "sctp",
                    "iptag",
                ],
            ),
            header=dict(required=True),
            value=dict(),
        ),
    )
    module = AnsibleModule(
        argument_spec=helper.argument_spec,
        supports_check_mode=True,
        required_one_of=helper.required_one_of,
    )

    # Verify imports, build pandevice object tree.
    parent = helper.get_pandevice_parent(module)

    sp = HttpServerProfile(module.params["http_profile"])
    parent.add(sp)
    try:
        sp.refresh()
    except PanDeviceError as e:
        module.fail_json(msg="Failed refresh: {0}".format(e))

    cls_map = {
        "config": HttpConfigHeader,
        "system": HttpSystemHeader,
        "threat": HttpThreatHeader,
        "traffic": HttpTrafficHeader,
        "hip match": HttpHipMatchHeader,
        "url": HttpUrlHeader,
        "data": HttpDataHeader,
        "wildfire": HttpWildfireHeader,
        "tunnel": HttpTunnelHeader,
        "user id": HttpUserIdHeader,
        "gtp": HttpGtpHeader,
        "auth": HttpAuthHeader,
        "sctp": HttpSctpHeader,
        "iptag": HttpIpTagHeader,
    }

    cls = cls_map[module.params["log_type"]]

    listing = sp.findall(cls)

    spec = {
        "name": module.params["header"],
        "value": module.params["value"],
    }
    obj = cls(**spec)
    sp.add(obj)

    changed, diff = helper.apply_state(obj, listing, module)
    module.exit_json(changed=changed, diff=diff, msg="Done")