You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
2.3 KiB
102 lines
2.3 KiB
import import_declare_test
|
|
|
|
from splunktaucclib.rest_handler.endpoint import (
|
|
field,
|
|
validator,
|
|
RestModel,
|
|
SingleModel,
|
|
)
|
|
from splunktaucclib.rest_handler import admin_external, util
|
|
from trackme_rh_account_handler import CustomRestHandlerCreateRemoteAccount
|
|
import logging
|
|
|
|
util.remove_http_proxy_env_vars()
|
|
|
|
|
|
fields = [
|
|
field.RestField(
|
|
"splunk_url",
|
|
required=True,
|
|
encrypted=False,
|
|
default=None,
|
|
validator=validator.Pattern(
|
|
regex=r"""^https://.*$""",
|
|
),
|
|
),
|
|
field.RestField(
|
|
"bearer_token",
|
|
required=True,
|
|
encrypted=True,
|
|
default=None,
|
|
validator=validator.Pattern(
|
|
regex=r"""^.{100,}$""",
|
|
),
|
|
),
|
|
field.RestField(
|
|
"app_namespace",
|
|
required=True,
|
|
encrypted=False,
|
|
default="search",
|
|
validator=validator.Pattern(
|
|
regex=r"""^.+$""",
|
|
),
|
|
),
|
|
field.RestField(
|
|
"rbac_roles",
|
|
required=True,
|
|
encrypted=False,
|
|
default="admin,sc_admin,trackme_user,trackme_power,trackme_admin",
|
|
validator=validator.Pattern(
|
|
regex=r"""^.+$""",
|
|
),
|
|
),
|
|
field.RestField(
|
|
"timeout_connect_check",
|
|
required=False,
|
|
encrypted=False,
|
|
default="15",
|
|
validator=validator.Pattern(
|
|
regex=r"""^\d*$""",
|
|
),
|
|
),
|
|
field.RestField(
|
|
"timeout_search_check",
|
|
required=False,
|
|
encrypted=False,
|
|
default="300",
|
|
validator=validator.Pattern(
|
|
regex=r"""^\d*$""",
|
|
),
|
|
),
|
|
field.RestField(
|
|
"token_rotation_enablement",
|
|
required=True,
|
|
encrypted=False,
|
|
default="0",
|
|
validator=validator.Pattern(
|
|
regex=r"""^(1|0)$""",
|
|
),
|
|
),
|
|
field.RestField(
|
|
"token_rotation_frequency",
|
|
required=False,
|
|
encrypted=False,
|
|
default="30",
|
|
validator=validator.Pattern(
|
|
regex=r"""^\d*$""",
|
|
),
|
|
),
|
|
]
|
|
model = RestModel(fields, name=None)
|
|
|
|
|
|
endpoint = SingleModel("trackme_account", model, config_name="account")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
logging.getLogger().addHandler(logging.NullHandler())
|
|
admin_external.handle(
|
|
endpoint,
|
|
handler=CustomRestHandlerCreateRemoteAccount,
|
|
)
|