Exemplo n.º 1
0
def main():
    argument_spec = dict(
        position=dict(type='str'),
        layer=dict(type='str'),
        name=dict(type='str', required=True),
        action=dict(type='str'),
        destination=dict(type='list'),
        destination_negate=dict(type='bool'),
        enabled=dict(type='bool'),
        install_on=dict(type='list'),
        protected_scope=dict(type='list'),
        protected_scope_negate=dict(type='bool'),
        service=dict(type='list'),
        service_negate=dict(type='bool'),
        source=dict(type='list'),
        source_negate=dict(type='bool'),
        track=dict(type='str'),
        track_settings=dict(type='dict',
                            options=dict(packet_capture=dict(type='bool'))),
        comments=dict(type='str'),
        details_level=dict(type='str', choices=['uid', 'standard', 'full']),
        ignore_warnings=dict(type='bool'),
        ignore_errors=dict(type='bool'))
    argument_spec.update(checkpoint_argument_spec_for_objects)

    module = AnsibleModule(argument_spec=argument_spec,
                           supports_check_mode=True)
    api_call_object = 'threat-rule'

    if module.params['position'] is None:
        result = api_call(module, api_call_object)
    else:
        result = api_call_for_rule(module, api_call_object)

    module.exit_json(**result)
Exemplo n.º 2
0
def main():
    argument_spec = dict(
        layer=dict(type='str'),
        position=dict(type='str'),
        name=dict(type='str', required=True),
        action=dict(type='str'),
        action_settings=dict(
            type='dict',
            options=dict(enable_identity_captive_portal=dict(type='bool'),
                         limit=dict(type='str'))),
        content=dict(type='list'),
        content_direction=dict(type='str', choices=['any', 'up', 'down']),
        content_negate=dict(type='bool'),
        custom_fields=dict(type='dict',
                           options=dict(field_1=dict(type='str'),
                                        field_2=dict(type='str'),
                                        field_3=dict(type='str'))),
        destination=dict(type='list'),
        destination_negate=dict(type='bool'),
        enabled=dict(type='bool'),
        inline_layer=dict(type='str'),
        install_on=dict(type='list'),
        service=dict(type='list'),
        service_negate=dict(type='bool'),
        source=dict(type='list'),
        source_negate=dict(type='bool'),
        time=dict(type='list'),
        track=dict(type='dict',
                   options=dict(accounting=dict(type='bool'),
                                alert=dict(type='str',
                                           choices=[
                                               'none', 'alert', 'snmp', 'mail',
                                               'user alert 1', 'user alert 2',
                                               'user alert 3'
                                           ]),
                                enable_firewall_session=dict(type='bool'),
                                per_connection=dict(type='bool'),
                                per_session=dict(type='bool'),
                                type=dict(type='str'))),
        user_check=dict(type='dict',
                        options=dict(
                            confirm=dict(type='str',
                                         choices=[
                                             'per rule', 'per category',
                                             'per application/site',
                                             'per data type'
                                         ]),
                            custom_frequency=dict(
                                type='dict',
                                options=dict(every=dict(type='int'),
                                             unit=dict(type='str',
                                                       choices=[
                                                           'hours', 'days',
                                                           'weeks', 'months'
                                                       ]))),
                            frequency=dict(type='str',
                                           choices=[
                                               'once a day', 'once a week',
                                               'once a month',
                                               'custom frequency...'
                                           ]),
                            interaction=dict(type='str'))),
        vpn=dict(type='list',
                 options=dict(community=dict(type='list'),
                              directional=dict(
                                  type='list',
                                  options=dict(to=dict(type='str'))))),
        comments=dict(type='str'),
        details_level=dict(type='str', choices=['uid', 'standard', 'full']),
        ignore_warnings=dict(type='bool'),
        ignore_errors=dict(type='bool'))
    argument_spec['vpn']['options']['directional']['options']['from'] = dict(
        type='str')
    argument_spec.update(checkpoint_argument_spec_for_objects)

    module = AnsibleModule(argument_spec=argument_spec,
                           supports_check_mode=True)
    api_call_object = 'access-rule'

    if module.params['action'] is None and module.params['position'] is None:
        result = api_call(module, api_call_object)
    else:
        result = api_call_for_rule(module, api_call_object)

    module.exit_json(**result)