Check Point Management API Wrapper - Elixir v1.0.4 CpMgmt.AccessRule View Source

This module manages simple Access Rule functions with the Web API

Link to this section Summary

Functions

Creates an Access rule for the specified position and layer

Adds a rule without publishing. Useful if you are adding rules in bulk

Removes an Access rule form the rulebase

Removes an Access rule from the rulebase without publishing. Useful if you are removing rules in bulk

Show as exsisting Access rule

Shows entire rulebase of specified policy name

Link to this section Functions

Link to this function add(layer, position, options \\ []) View Source

Creates an Access rule for the specified position and layer.

Examples

iex> CpMgmt.AccessRule.add("layer-name", "rule-base-position", [name: "some-rule-name", action: "Accept"])
{:ok,
  %CpMgmt.AccessRule{
    data: %{
      "action" => %{
        "domain" => %{
          "domain-type" => "data domain",
          "name" => "Check Point Data",
          "uid" => "a0bbbc99-adef-4ef8-bb6d-defdefdefdef"
        },
        "name" => "Drop",
        "type" => "RulebaseAction",
        "uid" => "6c488338-8eec-4103-ad21-cd461ac2c473"
      },
      "action-settings" => %{},
      "comments" => "",
      "content" => [
        %{
          "domain" => %{
            "domain-type" => "data domain",
            "name" => "Check Point Data",
            "uid" => "a0bbbc99-adef-4ef8-bb6d-defdefdefdef"
          },
          "name" => "Any",
          "type" => "CpmiAnyObject",
          "uid" => "97aeb369-9aea-11d5-bd16-0090272ccb30"
        }
      ],
      "content-direction" => "any",
      "content-negate" => false,
      "custom-fields" => %{"field-1" => "", "field-2" => "", "field-3" => ""},
      "destination" => [
        %{
          "domain" => %{
            "domain-type" => "data domain",
            "name" => "Check Point Data",
            "uid" => "a0bbbc99-adef-4ef8-bb6d-defdefdefdef"
          },
          "name" => "Any",
          "type" => "CpmiAnyObject",
          "uid" => "97aeb369-9aea-11d5-bd16-0090272ccb30"
        }
      ],
      "destination-negate" => false,
      "domain" => %{
        "domain-type" => "domain",
        "name" => "SMC User",
        "uid" => "41e821a0-3720-11e3-aa6e-0800200c9fde"
      },
      "enabled" => true,
      "install-on" => [
        %{
          "domain" => %{
            "domain-type" => "data domain",
            "name" => "Check Point Data",
            "uid" => "a0bbbc99-adef-4ef8-bb6d-defdefdefdef"
          },
          "name" => "Policy Targets",
          "type" => "Global",
          "uid" => "6c488338-8eec-4103-ad21-cd461ac2c476"
        }
      ],
      "layer" => "b406b732-2437-4848-9741-6eae1f5bf112",
      "meta-info" => %{
        "creation-time" => %{
          "iso-8601" => "2018-11-15T11:53-0600",
          "posix" => 1542304416041
        },
        "creator" => "admin",
        "last-modifier" => "admin",
        "last-modify-time" => %{
          "iso-8601" => "2018-11-15T11:53-0600",
          "posix" => 1542304416041
        },
        "lock" => "locked by current session",
        "validation-state" => "ok"
      },
      "service" => [
        %{
          "domain" => %{
            "domain-type" => "data domain",
            "name" => "Check Point Data",
            "uid" => "a0bbbc99-adef-4ef8-bb6d-defdefdefdef"
          },
          "name" => "Any",
          "type" => "CpmiAnyObject",
          "uid" => "97aeb369-9aea-11d5-bd16-0090272ccb30"
        }
      ],
      "service-negate" => false,
      "source" => [
        %{
          "domain" => %{
            "domain-type" => "data domain",
            "name" => "Check Point Data",
            "uid" => "a0bbbc99-adef-4ef8-bb6d-defdefdefdef"
          },
          "name" => "Any",
          "type" => "CpmiAnyObject",
          "uid" => "97aeb369-9aea-11d5-bd16-0090272ccb30"
        }
      ],
      "source-negate" => false,
      "time" => [
        %{
          "domain" => %{
            "domain-type" => "data domain",
            "name" => "Check Point Data",
            "uid" => "a0bbbc99-adef-4ef8-bb6d-defdefdefdef"
          },
          "name" => "Any",
          "type" => "CpmiAnyObject",
          "uid" => "97aeb369-9aea-11d5-bd16-0090272ccb30"
        }
      ],
      "track" => %{
        "accounting" => false,
        "alert" => "none",
        "enable-firewall-session" => false,
        "per-connection" => false,
        "per-session" => false,
        "type" => %{
          "domain" => %{
            "domain-type" => "data domain",
            "name" => "Check Point Data",
            "uid" => "a0bbbc99-adef-4ef8-bb6d-defdefdefdef"
          },
          "name" => "None",
          "type" => "Track",
          "uid" => "29e53e3d-23bf-48fe-b6b1-d59bd88036f9"
        }
      },
      "type" => "access-rule",
      "uid" => "6850cda1-de4e-4743-9127-1b00cab762d2",
      "vpn" => [
        %{
          "domain" => %{
            "domain-type" => "data domain",
            "name" => "Check Point Data",
            "uid" => "a0bbbc99-adef-4ef8-bb6d-defdefdefdef"
          },
          "name" => "Any",
          "type" => "CpmiAnyObject",
          "uid" => "97aeb369-9aea-11d5-bd16-0090272ccb30"
        }
      ]
    },
    status: 200
  }}

iex> CpMgmt.AccessRule.add("layer-name", "rule-base-position", options[])
{:error, %CpMgmt.AccessRule{status: 404, error: error}}
Link to this function add(layer, position, options, atom) View Source

Adds a rule without publishing. Useful if you are adding rules in bulk.

Link to this function remove(rule_number, layer) View Source

Removes an Access rule form the rulebase.

Examples

iex> CpMgmt.AccessRule.remove(5, "layer-name")
{:ok, %CpMgmt.AccessRule{data: %{"message" => "OK"}, status: 200}}

iex> CpMgmt.AccessRule.remove(5, "layer-name")
{:error, %CpMgmt.AccessRule{status: 404, error: error}}
Link to this function remove(rule_number, layer, atom) View Source

Removes an Access rule from the rulebase without publishing. Useful if you are removing rules in bulk.

Link to this function show(rule_number, layer) View Source

Show as exsisting Access rule

Examples

iex> CpMgmt.AccessRule.show(5, "layer-name")
{:ok,
%CpMgmt.AccessRule{
  data: %{
    "action" => %{
      "domain" => %{
        "domain-type" => "data domain",
        "name" => "Check Point Data",
        "uid" => "a0bbbc99-adef-4ef8-bb6d-defdefdefdef"
      },
      "name" => "Drop",
      "type" => "RulebaseAction",
      "uid" => "6c488338-8eec-4103-ad21-cd461ac2c473"
    },
    "action-settings" => %{},
    "comments" => "",
    "content" => [
      %{
        "domain" => %{
          "domain-type" => "data domain",
          "name" => "Check Point Data",
          "uid" => "a0bbbc99-adef-4ef8-bb6d-defdefdefdef"
        },
        "name" => "Any",
        "type" => "CpmiAnyObject",
        "uid" => "97aeb369-9aea-11d5-bd16-0090272ccb30"
      }
    ],
    "content-direction" => "any",
    "content-negate" => false,
    "custom-fields" => %{"field-1" => "", "field-2" => "", "field-3" => ""},
    "destination" => [
      %{
        "domain" => %{
          "domain-type" => "data domain",
          "name" => "Check Point Data",
          "uid" => "a0bbbc99-adef-4ef8-bb6d-defdefdefdef"
        },
        "name" => "Any",
        "type" => "CpmiAnyObject",
        "uid" => "97aeb369-9aea-11d5-bd16-0090272ccb30"
      }
    ],
    "destination-negate" => false,
    "domain" => %{
      "domain-type" => "domain",
      "name" => "SMC User",
      "uid" => "41e821a0-3720-11e3-aa6e-0800200c9fde"
    },
    "enabled" => true,
    "install-on" => [
      %{
        "domain" => %{
          "domain-type" => "data domain",
          "name" => "Check Point Data",
          "uid" => "a0bbbc99-adef-4ef8-bb6d-defdefdefdef"
        },
        "name" => "Policy Targets",
        "type" => "Global",
        "uid" => "6c488338-8eec-4103-ad21-cd461ac2c476"
      }
    ],
    "layer" => "b406b732-2437-4848-9741-6eae1f5bf112",
    "meta-info" => %{
      "creation-time" => %{
        "iso-8601" => "2018-11-15T12:03-0600",
        "posix" => 1542304983286
      },
      "creator" => "admin",
      "last-modifier" => "admin",
      "last-modify-time" => %{
        "iso-8601" => "2018-11-15T12:03-0600",
        "posix" => 1542304983286
      },
      "lock" => "unlocked",
      "validation-state" => "ok"
    },
    "service" => [
      %{
        "domain" => %{
          "domain-type" => "data domain",
          "name" => "Check Point Data",
          "uid" => "a0bbbc99-adef-4ef8-bb6d-defdefdefdef"
        },
        "name" => "Any",
        "type" => "CpmiAnyObject",
        "uid" => "97aeb369-9aea-11d5-bd16-0090272ccb30"
      }
    ],
    "service-negate" => false,
    "source" => [
      %{
        "domain" => %{
          "domain-type" => "data domain",
          "name" => "Check Point Data",
          "uid" => "a0bbbc99-adef-4ef8-bb6d-defdefdefdef"
        },
        "name" => "Any",
        "type" => "CpmiAnyObject",
        "uid" => "97aeb369-9aea-11d5-bd16-0090272ccb30"
      }
    ],
    "source-negate" => false,
    "time" => [
      %{
        "domain" => %{
          "domain-type" => "data domain",
          "name" => "Check Point Data",
          "uid" => "a0bbbc99-adef-4ef8-bb6d-defdefdefdef"
        },
        "name" => "Any",
        "type" => "CpmiAnyObject",
        "uid" => "97aeb369-9aea-11d5-bd16-0090272ccb30"
      }
    ],
    "track" => %{
      "accounting" => false,
      "alert" => "none",
      "enable-firewall-session" => false,
      "per-connection" => false,
      "per-session" => false,
      "type" => %{
        "domain" => %{
          "domain-type" => "data domain",
          "name" => "Check Point Data",
          "uid" => "a0bbbc99-adef-4ef8-bb6d-defdefdefdef"
        },
        "name" => "None",
        "type" => "Track",
        "uid" => "29e53e3d-23bf-48fe-b6b1-d59bd88036f9"
      }
    },
    "type" => "access-rule",
    "uid" => "471a5e84-be32-488e-94f3-439d6cfad5b8",
    "vpn" => [
      %{
        "domain" => %{
          "domain-type" => "data domain",
          "name" => "Check Point Data",
          "uid" => "a0bbbc99-adef-4ef8-bb6d-defdefdefdef"
        },
        "name" => "Any",
        "type" => "CpmiAnyObject",
        "uid" => "97aeb369-9aea-11d5-bd16-0090272ccb30"
      }
    ]
  },
  status: 200
}}

iex> CpMgmt.AccessRule.show(5, "layer-name")
{:error, %CpMgmt.AccessRule{status: 404, error: error}}

Shows entire rulebase of specified policy name

Examples

iex> CpMgmt.AccessRule.show_rulebase("layer-name")
{:ok,
%CpMgmt.AccessRule{
  data: %{
    "from" => 1,
    "name" => "Network",
    "objects-dictionary" => [
      %{
        "domain" => %{
          "domain-type" => "data domain",
          "name" => "Check Point Data",
          "uid" => "a0bbbc99-adef-4ef8-bb6d-defdefdefdef"
        },
        "name" => "Any",
        "type" => "CpmiAnyObject",
        "uid" => "97aeb369-9aea-11d5-bd16-0090272ccb30"
      },
      %{
        "domain" => %{
          "domain-type" => "data domain",
          "name" => "Check Point Data",
          "uid" => "a0bbbc99-adef-4ef8-bb6d-defdefdefdef"
        },
        "name" => "Drop",
        "type" => "RulebaseAction",
        "uid" => "6c488338-8eec-4103-ad21-cd461ac2c473"
      },
      %{
        "domain" => %{
          "domain-type" => "data domain",
          "name" => "Check Point Data",
          "uid" => "a0bbbc99-adef-4ef8-bb6d-defdefdefdef"
        },
        "name" => "None",
        "type" => "Track",
        "uid" => "29e53e3d-23bf-48fe-b6b1-d59bd88036f9"
      },
      %{
        "domain" => %{
          "domain-type" => "data domain",
          "name" => "Check Point Data",
          "uid" => "a0bbbc99-adef-4ef8-bb6d-defdefdefdef"
        },
        "name" => "Policy Targets",
        "type" => "Global",
        "uid" => "6c488338-8eec-4103-ad21-cd461ac2c476"
      }
    ],
    "rulebase" => [
      %{
        "action" => "6c488338-8eec-4103-ad21-cd461ac2c473",
        "action-settings" => %{},
        "comments" => "",
        "content" => ["97aeb369-9aea-11d5-bd16-0090272ccb30"],
        "content-direction" => "any",
        "content-negate" => false,
        "custom-fields" => %{"field-1" => "", "field-2" => "", "field-3" => ""},
        "destination" => ["97aeb369-9aea-11d5-bd16-0090272ccb30"],
        "destination-negate" => false,
        "domain" => %{
          "domain-type" => "domain",
          "name" => "SMC User",
          "uid" => "41e821a0-3720-11e3-aa6e-0800200c9fde"
        },
        "enabled" => true,
        "install-on" => ["6c488338-8eec-4103-ad21-cd461ac2c476"],
        "meta-info" => %{
          "creation-time" => %{
            "iso-8601" => "2018-11-15T12:03-0600",
            "posix" => 1542304983286
          },
          "creator" => "admin",
          "last-modifier" => "admin",
          "last-modify-time" => %{
            "iso-8601" => "2018-11-15T12:03-0600",
            "posix" => 1542304983286
          },
          "lock" => "unlocked",
          "validation-state" => "ok"
        },
        "rule-number" => 1,
        "service" => ["97aeb369-9aea-11d5-bd16-0090272ccb30"],
        "service-negate" => false,
        "source" => ["97aeb369-9aea-11d5-bd16-0090272ccb30"],
        "source-negate" => false,
        "time" => ["97aeb369-9aea-11d5-bd16-0090272ccb30"],
        "track" => %{
          "accounting" => false,
          "alert" => "none",
          "enable-firewall-session" => false,
          "per-connection" => false,
          "per-session" => false,
          "type" => "29e53e3d-23bf-48fe-b6b1-d59bd88036f9"
        },
        "type" => "access-rule",
        "uid" => "471a5e84-be32-488e-94f3-439d6cfad5b8",
        "vpn" => ["97aeb369-9aea-11d5-bd16-0090272ccb30"]
      },
      %{
        "action" => "6c488338-8eec-4103-ad21-cd461ac2c473",
        "action-settings" => %{},
        "comments" => "",
        "content" => ["97aeb369-9aea-11d5-bd16-0090272ccb30"],
        "content-direction" => "any",
        "content-negate" => false,
        "custom-fields" => %{"field-1" => "", "field-2" => "", "field-3" => ""},
        "destination" => ["97aeb369-9aea-11d5-bd16-0090272ccb30"],
        "destination-negate" => false,
        "domain" => %{
          "domain-type" => "domain",
          "name" => "SMC User",
          "uid" => "41e821a0-3720-11e3-aa6e-0800200c9fde"
        },
        "enabled" => true,
        "install-on" => ["6c488338-8eec-4103-ad21-cd461ac2c476"],
        "meta-info" => %{
          "creation-time" => %{
            "iso-8601" => "2018-09-13T19:46-0500",
            "posix" => 1536885977621
          },
          "creator" => "System",
          "last-modifier" => "System",
          "last-modify-time" => %{
            "iso-8601" => "2018-09-13T19:46-0500",
            "posix" => 1536885977621
          },
          "lock" => "unlocked",
          "validation-state" => "ok"
        },
        "name" => "Cleanup rule",
        "rule-number" => 2,
        "service" => ["97aeb369-9aea-11d5-bd16-0090272ccb30"],
        "service-negate" => false,
        "source" => ["97aeb369-9aea-11d5-bd16-0090272ccb30"],
        "source-negate" => false,
        "time" => ["97aeb369-9aea-11d5-bd16-0090272ccb30"],
        "track" => %{
          "accounting" => false,
          "alert" => "none",
          "enable-firewall-session" => false,
          "per-connection" => false,
          "per-session" => false,
          "type" => "29e53e3d-23bf-48fe-b6b1-d59bd88036f9"
        },
        "type" => "access-rule",
        "uid" => "3bb62c4d-97e2-4b68-bde9-e2027b439332",
        "vpn" => ["97aeb369-9aea-11d5-bd16-0090272ccb30"]
      }
    ],
    "to" => 2,
    "total" => 2,
    "uid" => "b406b732-2437-4848-9741-6eae1f5bf112"
  },
  status: 200
}}

iex> CpMgmt.AccessRule.show_rulebase("standard")
{:error, %CpMgmt.AccessRule{status: 404, error: error}}