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.
926 lines
24 KiB
926 lines
24 KiB
|
|
import import_declare_test
|
|
|
|
from splunktaucclib.rest_handler.endpoint import (
|
|
field,
|
|
validator,
|
|
RestModel,
|
|
MultipleModel,
|
|
)
|
|
from splunktaucclib.rest_handler import admin_external, util
|
|
from splunktaucclib.rest_handler.admin_external import AdminExternalHandler
|
|
import logging
|
|
|
|
util.remove_http_proxy_env_vars()
|
|
|
|
|
|
fields_trackme_general = [
|
|
field.RestField(
|
|
'max_multi_thread_workers',
|
|
required=True,
|
|
encrypted=False,
|
|
default='16',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[1-9][0-9]*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'pagination_mode',
|
|
required=True,
|
|
encrypted=False,
|
|
default='local',
|
|
validator=validator.Pattern(
|
|
regex=r"""^(local|remote)$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'pagination_size',
|
|
required=True,
|
|
encrypted=False,
|
|
default='10000',
|
|
validator=validator.Pattern(
|
|
regex=r"""^\d*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'trackme_default_sharing',
|
|
required=True,
|
|
encrypted=False,
|
|
default='app',
|
|
validator=validator.Pattern(
|
|
regex=r"""^(app|global)$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'trackme_owner_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='admin',
|
|
validator=validator.Pattern(
|
|
regex=r"""^.*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'trackme_admin_role_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='trackme_admin',
|
|
validator=validator.Pattern(
|
|
regex=r"""^.*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'trackme_power_role_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='trackme_power',
|
|
validator=validator.Pattern(
|
|
regex=r"""^.*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'trackme_user_role_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='trackme_power',
|
|
validator=validator.Pattern(
|
|
regex=r"""^.*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'state_events_minimal',
|
|
required=True,
|
|
encrypted=False,
|
|
default='1',
|
|
validator=validator.Pattern(
|
|
regex=r"""^(1|0)$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'state_events_allowlist',
|
|
required=True,
|
|
encrypted=False,
|
|
default='alias,anomaly_reason,keyid,object,object_category,priority,state,status_message,tags,tenant_id',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[a-zA-Z0-9_\-,]+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'state_events_blocklist',
|
|
required=True,
|
|
encrypted=False,
|
|
default='_raw,info_max_time,info_min_time,info_search_time,info_sid,splk_dhm_st_summary,splk_dhm_st_summary_compact,splk_dhm_st_summary_full,metric_details,object_state,tracker_runtime,previous_tracker_runtime',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[a-zA-Z0-9_\-,]+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'enable_conf_manager_receiver',
|
|
required=True,
|
|
encrypted=False,
|
|
default='0',
|
|
validator=validator.Pattern(
|
|
regex=r"""^(1|0)$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'trackme_stateful_records_expiration_days',
|
|
required=True,
|
|
encrypted=False,
|
|
default='30',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'trackme_stateful_charts_records_expiration_days',
|
|
required=True,
|
|
encrypted=False,
|
|
default='2',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'trackme_ack_duration_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='86400',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'trackme_ack_remove_on_reason_change',
|
|
required=True,
|
|
encrypted=False,
|
|
default='1',
|
|
validator=validator.Pattern(
|
|
regex=r"""^(1|0)$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'trackme_ack_remove_on_reason_change_min_time_sec',
|
|
required=True,
|
|
encrypted=False,
|
|
default='3600',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'trackme_ack_remove_on_reason_change_auto_ack_only',
|
|
required=True,
|
|
encrypted=False,
|
|
default='1',
|
|
validator=validator.Pattern(
|
|
regex=r"""^(1|0)$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'trackme_ack_remove_when_green',
|
|
required=True,
|
|
encrypted=False,
|
|
default='1',
|
|
validator=validator.Pattern(
|
|
regex=r"""^(1|0)$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'allowed_email_domains',
|
|
required=False,
|
|
encrypted=False,
|
|
default=None,
|
|
validator=validator.Pattern(
|
|
regex=r"""^.+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'sender_email',
|
|
required=True,
|
|
encrypted=False,
|
|
default='splunk',
|
|
validator=validator.Pattern(
|
|
regex=r"""^.+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'email_format',
|
|
required=False,
|
|
encrypted=False,
|
|
default='html',
|
|
validator=validator.Pattern(
|
|
regex=r"""^(html|text)$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'email_footer',
|
|
required=True,
|
|
encrypted=False,
|
|
default='This is an automated email, please do not reply directly to this email.',
|
|
validator=validator.Pattern(
|
|
regex=r"""^.+$""",
|
|
)
|
|
)
|
|
]
|
|
model_trackme_general = RestModel(fields_trackme_general, name='trackme_general')
|
|
|
|
|
|
fields_index_settings = [
|
|
field.RestField(
|
|
'trackme_idx_search_filter',
|
|
required=True,
|
|
encrypted=False,
|
|
default='trackme_*',
|
|
validator=validator.Pattern(
|
|
regex=r"""^.*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'trackme_notable_idx',
|
|
required=True,
|
|
encrypted=False,
|
|
default='trackme_notable',
|
|
validator=validator.String(
|
|
max_len=80,
|
|
min_len=1,
|
|
)
|
|
),
|
|
field.RestField(
|
|
'trackme_summary_idx',
|
|
required=True,
|
|
encrypted=False,
|
|
default='trackme_summary',
|
|
validator=validator.String(
|
|
max_len=80,
|
|
min_len=1,
|
|
)
|
|
),
|
|
field.RestField(
|
|
'trackme_metric_idx',
|
|
required=True,
|
|
encrypted=False,
|
|
default='trackme_metrics',
|
|
validator=validator.String(
|
|
max_len=80,
|
|
min_len=1,
|
|
)
|
|
),
|
|
field.RestField(
|
|
'trackme_audit_idx',
|
|
required=True,
|
|
encrypted=False,
|
|
default='trackme_audit',
|
|
validator=validator.String(
|
|
max_len=80,
|
|
min_len=1,
|
|
)
|
|
)
|
|
]
|
|
model_index_settings = RestModel(fields_index_settings, name='index_settings')
|
|
|
|
|
|
fields_trackme_ui_defaults = [
|
|
field.RestField(
|
|
'default_theme',
|
|
required=True,
|
|
encrypted=False,
|
|
default='dark',
|
|
validator=validator.Pattern(
|
|
regex=r"""^(dark|light)$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'auto_refresh',
|
|
required=True,
|
|
encrypted=False,
|
|
default='1',
|
|
validator=validator.Pattern(
|
|
regex=r"""^(1|0)$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'vtenants_card_detail_level',
|
|
required=True,
|
|
encrypted=False,
|
|
default='0',
|
|
validator=validator.Pattern(
|
|
regex=r"""^(1|0)$""",
|
|
)
|
|
)
|
|
]
|
|
model_trackme_ui_defaults = RestModel(fields_trackme_ui_defaults, name='trackme_ui_defaults')
|
|
|
|
|
|
fields_splk_general = [
|
|
field.RestField(
|
|
'splk_general_idx_filter',
|
|
required=True,
|
|
encrypted=False,
|
|
default='host=*',
|
|
validator=validator.Pattern(
|
|
regex=r"""^.+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_general_dsm_threshold_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='3600',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_general_dsm_delay_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='3600',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_general_dhm_threshold_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='3600',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_general_dhm_delay_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='86400',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_general_mhm_threshold_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='900',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_general_feeds_future_tolerance',
|
|
required=True,
|
|
encrypted=False,
|
|
default='-600',
|
|
validator=validator.Pattern(
|
|
regex=r"""^\-[0-9]*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_general_feeds_delayed_inspector_24hours_range_min_sec',
|
|
required=True,
|
|
encrypted=False,
|
|
default='14400',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_general_feeds_delayed_inspector_7days_range_min_sec',
|
|
required=True,
|
|
encrypted=False,
|
|
default='43200',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_general_feeds_delayed_inspector_until_disabled_range_min_sec',
|
|
required=True,
|
|
encrypted=False,
|
|
default='172800',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_general_feeds_auto_disablement_period',
|
|
required=True,
|
|
encrypted=False,
|
|
default='60d',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]*d$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_general_elastic_max_concurrent',
|
|
required=True,
|
|
encrypted=False,
|
|
default='3',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_general_workload_version_id_keys',
|
|
required=True,
|
|
encrypted=False,
|
|
default='search,dispatch.earliest,dispatch.latest,description,cron_schedule,disabled,is_scheduled',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[a-zA-Z0-9_,\.]*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_general_dsm_cmdb_search',
|
|
required=True,
|
|
encrypted=False,
|
|
default='| inputlookup my_cmdb where (index="$data_index$" AND sourcetype="$data_sourcetype$")',
|
|
validator=validator.Pattern(
|
|
regex=r"""^.+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_general_dhm_cmdb_search',
|
|
required=True,
|
|
encrypted=False,
|
|
default='| inputlookup my_cmdb where (host="$alias$")',
|
|
validator=validator.Pattern(
|
|
regex=r"""^.+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_general_mhm_cmdb_search',
|
|
required=True,
|
|
encrypted=False,
|
|
default='| inputlookup my_cmdb where (host="$alias$")',
|
|
validator=validator.Pattern(
|
|
regex=r"""^.+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_general_flx_cmdb_search',
|
|
required=True,
|
|
encrypted=False,
|
|
default='| inputlookup my_cmdb where (object="$object$")',
|
|
validator=validator.Pattern(
|
|
regex=r"""^.+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_general_fqm_cmdb_search',
|
|
required=True,
|
|
encrypted=False,
|
|
default='| inputlookup my_cmdb where (object="$object$")',
|
|
validator=validator.Pattern(
|
|
regex=r"""^.+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_general_wlk_cmdb_search',
|
|
required=True,
|
|
encrypted=False,
|
|
default='| inputlookup my_cmdb where (savedsearch_name="$savedsearch_name$")',
|
|
validator=validator.Pattern(
|
|
regex=r"""^.+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_general_dsm_docs_note_global',
|
|
required=False,
|
|
encrypted=False,
|
|
default='',
|
|
validator=validator.Pattern(
|
|
regex=r"""^.+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_general_dsm_docs_link_global',
|
|
required=False,
|
|
encrypted=False,
|
|
default='',
|
|
validator=validator.Pattern(
|
|
regex=r"""^https://.+$""",
|
|
)
|
|
)
|
|
]
|
|
model_splk_general = RestModel(fields_splk_general, name='splk_general')
|
|
|
|
|
|
fields_splk_data_sampling = [
|
|
field.RestField(
|
|
'splk_data_sampling_min_time_btw_iterations_seconds',
|
|
required=True,
|
|
encrypted=False,
|
|
default='3600',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_data_sampling_no_records_per_entity',
|
|
required=True,
|
|
encrypted=False,
|
|
default='10000',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_data_sampling_no_records_saved_kvrecord',
|
|
required=True,
|
|
encrypted=False,
|
|
default='10',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_data_sampling_records_kvrecord_truncate_size',
|
|
required=True,
|
|
encrypted=False,
|
|
default='40000',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_data_sampling_pct_min_major_inclusive_model_match',
|
|
required=True,
|
|
encrypted=False,
|
|
default='98',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]*\.{0,1}[0-9]{0,2}$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_data_sampling_pct_max_exclusive_model_match',
|
|
required=True,
|
|
encrypted=False,
|
|
default='95',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]*\.{0,1}[0-9]{0,2}$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_data_sampling_relative_time_window_seconds',
|
|
required=True,
|
|
encrypted=False,
|
|
default='3600',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]*$""",
|
|
)
|
|
)
|
|
]
|
|
model_splk_data_sampling = RestModel(fields_splk_data_sampling, name='splk_data_sampling')
|
|
|
|
|
|
fields_splk_outliers_detection = [
|
|
field.RestField(
|
|
'splk_outliers_min_days_history',
|
|
required=True,
|
|
encrypted=False,
|
|
default='7',
|
|
validator=validator.Pattern(
|
|
regex=r"""^\d*\.{0,1}\d{0,}$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_time_train_mlmodels_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='604800',
|
|
validator=validator.Pattern(
|
|
regex=r"""^\d*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_time_monitor_mlmodels_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='3600',
|
|
validator=validator.Pattern(
|
|
regex=r"""^\d*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_max_runtime_train_mlmodels_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='900',
|
|
validator=validator.Pattern(
|
|
regex=r"""^\d*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_max_days_since_last_train_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='15',
|
|
validator=validator.Pattern(
|
|
regex=r"""^\d*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_detection_disable_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='0',
|
|
validator=validator.Pattern(
|
|
regex=r"""^(1|0)$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_calculation_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='stdev',
|
|
validator=validator.Pattern(
|
|
regex=r"""^(stdev|avg|max|min|sum|perc95|latest)$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_density_lower_threshold_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='0.005',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[\d|\.]*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_density_upper_threshold_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='0.005',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[\d|\.]*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_alert_lower_threshold_volume_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='1',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_alert_upper_threshold_volume_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='0',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_alert_lower_threshold_latency_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='0',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_alert_upper_threshold_latency_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='1',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[0-9]+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_detection_period_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='-30d',
|
|
validator=validator.Pattern(
|
|
regex=r"""^.+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_detection_period_latest_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='-1d',
|
|
validator=validator.Pattern(
|
|
regex=r"""^.+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_detection_timefactor_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='-30d',
|
|
validator=validator.Pattern(
|
|
regex=r"""^.+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_detection_latency_kpi_metric_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='None',
|
|
validator=validator.Pattern(
|
|
regex=r"""^.+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_detection_volume_kpi_metric_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='splk.feeds.avg_eventcount_5m',
|
|
validator=validator.Pattern(
|
|
regex=r"""^.+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_auto_correct',
|
|
required=True,
|
|
encrypted=False,
|
|
default='1',
|
|
validator=validator.Pattern(
|
|
regex=r"""^(1|0)$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_perc_min_lowerbound_deviation_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='5.0',
|
|
validator=validator.Pattern(
|
|
regex=r"""^\d*\.\d*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_perc_min_upperbound_deviation_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='5.0',
|
|
validator=validator.Pattern(
|
|
regex=r"""^\d*\.\d*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_mltk_algorithms_list',
|
|
required=True,
|
|
encrypted=False,
|
|
default='DensityFunction',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[a-zA-Z0-9_\-,]+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_mltk_algorithms_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='DensityFunction',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[a-zA-Z0-9_\-]+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_fit_extra_parameters',
|
|
required=False,
|
|
encrypted=False,
|
|
default='',
|
|
validator=validator.Pattern(
|
|
regex=r"""^.+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_apply_extra_parameters',
|
|
required=False,
|
|
encrypted=False,
|
|
default='',
|
|
validator=validator.Pattern(
|
|
regex=r"""^.+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_boundaries_extraction_macro_default',
|
|
required=True,
|
|
encrypted=False,
|
|
default='',
|
|
validator=validator.Pattern(
|
|
regex=r"""^.+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_boundaries_extraction_macros_list',
|
|
required=True,
|
|
encrypted=False,
|
|
default='',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[a-zA-Z0-9_\-,]+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_static_lower_threshold_default',
|
|
required=False,
|
|
encrypted=False,
|
|
default='',
|
|
validator=validator.Pattern(
|
|
regex=r"""^\d*\.\d*$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'splk_outliers_static_upper_threshold_default',
|
|
required=False,
|
|
encrypted=False,
|
|
default='',
|
|
validator=validator.Pattern(
|
|
regex=r"""^\d*\.\d*$""",
|
|
)
|
|
)
|
|
]
|
|
model_splk_outliers_detection = RestModel(fields_splk_outliers_detection, name='splk_outliers_detection')
|
|
|
|
|
|
fields_sla = [
|
|
field.RestField(
|
|
'sla_classes',
|
|
required=True,
|
|
encrypted=False,
|
|
default='{"gold": {"sla_threshold": 14400, "rank": 3}, "silver": {"sla_threshold": 86400, "rank": 2}, "platinum": {"sla_threshold": 172800, "rank": 1}}',
|
|
validator=validator.Pattern(
|
|
regex=r"""^\{.*\}$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'sla_default_class',
|
|
required=True,
|
|
encrypted=False,
|
|
default='silver',
|
|
validator=validator.Pattern(
|
|
regex=r"""^[a-zA-Z0-9_\-]+$""",
|
|
)
|
|
),
|
|
field.RestField(
|
|
'sla_breaches_events_frequency',
|
|
required=True,
|
|
encrypted=False,
|
|
default=604800,
|
|
validator=validator.Pattern(
|
|
regex=r"""^\d+$""",
|
|
)
|
|
)
|
|
]
|
|
model_sla = RestModel(fields_sla, name='sla')
|
|
|
|
|
|
fields_maintenance = [
|
|
field.RestField(
|
|
'maintenance_kdb_exclusion_behaviour',
|
|
required=True,
|
|
encrypted=False,
|
|
default='planned',
|
|
validator=validator.Pattern(
|
|
regex=r"""^(exclude|include)$""",
|
|
)
|
|
)
|
|
]
|
|
model_maintenance = RestModel(fields_maintenance, name='maintenance')
|
|
|
|
|
|
fields_logging = [
|
|
field.RestField(
|
|
'loglevel',
|
|
required=True,
|
|
encrypted=False,
|
|
default='INFO',
|
|
validator=validator.Pattern(
|
|
regex=r"""^DEBUG|INFO|WARNING|ERROR|CRITICAL$""",
|
|
)
|
|
)
|
|
]
|
|
model_logging = RestModel(fields_logging, name='logging')
|
|
|
|
|
|
endpoint = MultipleModel(
|
|
'trackme_settings',
|
|
models=[
|
|
model_trackme_general,
|
|
model_index_settings,
|
|
model_trackme_ui_defaults,
|
|
model_splk_general,
|
|
model_splk_data_sampling,
|
|
model_splk_outliers_detection,
|
|
model_sla,
|
|
model_maintenance,
|
|
model_logging
|
|
],
|
|
need_reload=False,
|
|
)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
logging.getLogger().addHandler(logging.NullHandler())
|
|
admin_external.handle(
|
|
endpoint,
|
|
handler=AdminExternalHandler,
|
|
)
|