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.
Splunk_Deploiement/apps/trackme/bin/trackme_rh_vtenants.py

541 lines
13 KiB

import import_declare_test
from splunktaucclib.rest_handler.endpoint import (
field,
validator,
RestModel,
SingleModel,
)
from splunktaucclib.rest_handler import admin_external, util
from splunktaucclib.rest_handler.admin_external import AdminExternalHandler
import logging
util.remove_http_proxy_env_vars()
special_fields = [
field.RestField(
'name',
required=True,
encrypted=False,
default=None,
validator=validator.Pattern(
regex=r"""^[0-9a-z\-\_]*$""",
)
)
]
fields = [
field.RestField(
'alias',
required=False,
encrypted=False,
default=None,
validator=validator.Pattern(
regex=r"""^.+$""",
)
),
field.RestField(
'description',
required=False,
encrypted=False,
default=None,
validator=validator.AllOf(
validator.String(
max_len=100,
min_len=1,
),
validator.Pattern(
regex=r"""^.*$""",
)
)
),
field.RestField(
'default_priority',
required=True,
encrypted=False,
default='medium',
validator=validator.Pattern(
regex=r"""^(low|medium|high|critical|pending)$""",
)
),
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(
'ui_default_timerange',
required=True,
encrypted=False,
default='24h',
validator=validator.Pattern(
regex=r"""^[1-9][0-9]*[mhd]$""",
)
),
field.RestField(
'ui_min_object_width',
required=True,
encrypted=False,
default='300',
validator=validator.Pattern(
regex=r"""^[0-9]*$""",
)
),
field.RestField(
'ui_expand_metrics',
required=True,
encrypted=False,
default='0',
validator=validator.Pattern(
regex=r"""^(1|0)$""",
)
),
field.RestField(
'ui_home_tabs_order',
required=True,
encrypted=False,
default='dsm,flx,dhm,mhm,wlk,fqm,flip,audit,alerts',
validator=validator.Pattern(
regex=r"""^[a-zA-Z0-9,]+$""",
)
),
field.RestField(
'default_disruption_min_time_sec',
required=True,
encrypted=False,
default='0',
validator=validator.Pattern(
regex=r"""^[0-9]*$""",
)
),
field.RestField(
'data_sampling_obfuscation',
required=True,
encrypted=False,
default='0',
validator=validator.Pattern(
regex=r"""^(1|0)$""",
)
),
field.RestField(
'adaptive_delay',
required=True,
encrypted=False,
default='1',
validator=validator.Pattern(
regex=r"""^(1|0)$""",
)
),
field.RestField(
'mloutliers',
required=True,
encrypted=False,
default='1',
validator=validator.Pattern(
regex=r"""^(1|0)$""",
)
),
field.RestField(
'mloutliers_allowlist',
required=True,
encrypted=False,
default='dsm,dhm,flx,wlk,fqm',
validator=validator.Pattern(
regex=r"""^[a-zA-Z0-9,]+$""",
)
),
field.RestField(
'sampling',
required=True,
encrypted=False,
default='1',
validator=validator.Pattern(
regex=r"""^(1|0)$""",
)
),
field.RestField(
'monitoring_time_policy',
required=True,
encrypted=False,
default='all_time',
validator=validator.Pattern(
regex=r"""^.+$""",
)
),
field.RestField(
'splk_feeds_delayed_inspector_24hours_range_min_sec',
required=True,
encrypted=False,
default='14400',
validator=validator.Pattern(
regex=r"""^[0-9]*$""",
)
),
field.RestField(
'splk_feeds_delayed_inspector_7days_range_min_sec',
required=True,
encrypted=False,
default='43200',
validator=validator.Pattern(
regex=r"""^[0-9]*$""",
)
),
field.RestField(
'splk_feeds_delayed_inspector_until_disabled_range_min_sec',
required=True,
encrypted=False,
default='172800',
validator=validator.Pattern(
regex=r"""^[0-9]*$""",
)
),
field.RestField(
'splk_feeds_auto_disablement_period',
required=True,
encrypted=False,
default='60d',
validator=validator.Pattern(
regex=r"""^[0-9]*d$""",
)
),
field.RestField(
'indexed_constraint',
required=False,
encrypted=False,
default='',
validator=validator.Pattern(
regex=r"""^.*$""",
)
),
field.RestField(
'cmdb_lookup',
required=True,
encrypted=False,
default='1',
validator=validator.Pattern(
regex=r"""^(1|0)$""",
)
),
field.RestField(
'splk_dsm_cmdb_search',
required=False,
encrypted=False,
default='',
validator=validator.Pattern(
regex=r"""^.+$""",
)
),
field.RestField(
'splk_dhm_cmdb_search',
required=False,
encrypted=False,
default='',
validator=validator.Pattern(
regex=r"""^.+$""",
)
),
field.RestField(
'splk_mhm_cmdb_search',
required=False,
encrypted=False,
default='',
validator=validator.Pattern(
regex=r"""^.+$""",
)
),
field.RestField(
'splk_flx_cmdb_search',
required=False,
encrypted=False,
default='',
validator=validator.Pattern(
regex=r"""^.+$""",
)
),
field.RestField(
'splk_fqm_cmdb_search',
required=False,
encrypted=False,
default='',
validator=validator.Pattern(
regex=r"""^.+$""",
)
),
field.RestField(
'splk_wlk_cmdb_search',
required=False,
encrypted=False,
default='',
validator=validator.Pattern(
regex=r"""^.+$""",
)
),
field.RestField(
'splk_dsm_tabulator_groupby',
required=True,
encrypted=False,
default='data_index',
validator=validator.Pattern(
regex=r"""^.*$""",
)
),
field.RestField(
'splk_dhm_tabulator_groupby',
required=True,
encrypted=False,
default='tenant_id',
validator=validator.Pattern(
regex=r"""^.*$""",
)
),
field.RestField(
'splk_mhm_tabulator_groupby',
required=True,
encrypted=False,
default='tenant_id',
validator=validator.Pattern(
regex=r"""^.*$""",
)
),
field.RestField(
'splk_flx_tabulator_groupby',
required=True,
encrypted=False,
default='group',
validator=validator.Pattern(
regex=r"""^.*$""",
)
),
field.RestField(
'splk_fqm_tabulator_groupby',
required=True,
encrypted=False,
default='metadata_datamodel,metadata_index,metadata_sourcetype',
validator=validator.Pattern(
regex=r"""^.*$""",
)
),
field.RestField(
'splk_wlk_tabulator_groupby',
required=True,
encrypted=False,
default='overgroup',
validator=validator.Pattern(
regex=r"""^.*$""",
)
),
field.RestField(
'impact_score_outliers_default',
required=False,
encrypted=False,
default='36',
validator=validator.Pattern(
regex=r"""^([0-9]|[1-9][0-9]|100)$""",
)
),
field.RestField(
'impact_score_dsm_data_sampling_anomaly',
required=False,
encrypted=False,
default='36',
validator=validator.Pattern(
regex=r"""^([0-9]|[1-9][0-9]|100)$""",
)
),
field.RestField(
'impact_score_dsm_delay_threshold_breach',
required=False,
encrypted=False,
default='100',
validator=validator.Pattern(
regex=r"""^([0-9]|[1-9][0-9]|100)$""",
)
),
field.RestField(
'impact_score_dsm_latency_threshold_breach',
required=False,
encrypted=False,
default='48',
validator=validator.Pattern(
regex=r"""^([0-9]|[1-9][0-9]|100)$""",
)
),
field.RestField(
'impact_score_dsm_min_hosts_dcount_breach',
required=False,
encrypted=False,
default='100',
validator=validator.Pattern(
regex=r"""^([0-9]|[1-9][0-9]|100)$""",
)
),
field.RestField(
'impact_score_dsm_future_tolerance_breach',
required=False,
encrypted=False,
default='36',
validator=validator.Pattern(
regex=r"""^([0-9]|[1-9][0-9]|100)$""",
)
),
field.RestField(
'impact_score_dhm_delay_threshold_breach',
required=False,
encrypted=False,
default='100',
validator=validator.Pattern(
regex=r"""^([0-9]|[1-9][0-9]|100)$""",
)
),
field.RestField(
'impact_score_dhm_latency_threshold_breach',
required=False,
encrypted=False,
default='48',
validator=validator.Pattern(
regex=r"""^([0-9]|[1-9][0-9]|100)$""",
)
),
field.RestField(
'impact_score_dhm_future_tolerance_breach',
required=False,
encrypted=False,
default='36',
validator=validator.Pattern(
regex=r"""^([0-9]|[1-9][0-9]|100)$""",
)
),
field.RestField(
'impact_score_mhm_metric_alert',
required=False,
encrypted=False,
default='100',
validator=validator.Pattern(
regex=r"""^([0-9]|[1-9][0-9]|100)$""",
)
),
field.RestField(
'impact_score_mhm_future_tolerance_breach',
required=False,
encrypted=False,
default='36',
validator=validator.Pattern(
regex=r"""^([0-9]|[1-9][0-9]|100)$""",
)
),
field.RestField(
'impact_score_flx_inactive',
required=False,
encrypted=False,
default='100',
validator=validator.Pattern(
regex=r"""^([0-9]|[1-9][0-9]|100)$""",
)
),
field.RestField(
'impact_score_flx_status_not_met',
required=False,
encrypted=False,
default='100',
validator=validator.Pattern(
regex=r"""^([0-9]|[1-9][0-9]|100)$""",
)
),
field.RestField(
'impact_score_fqm_status_not_met',
required=False,
encrypted=False,
default='100',
validator=validator.Pattern(
regex=r"""^([0-9]|[1-9][0-9]|100)$""",
)
),
field.RestField(
'impact_score_wlk_skipping_searches',
required=False,
encrypted=False,
default='100',
validator=validator.Pattern(
regex=r"""^([0-9]|[1-9][0-9]|100)$""",
)
),
field.RestField(
'impact_score_wlk_execution_errors',
required=False,
encrypted=False,
default='100',
validator=validator.Pattern(
regex=r"""^([0-9]|[1-9][0-9]|100)$""",
)
),
field.RestField(
'impact_score_wlk_orphan_search',
required=False,
encrypted=False,
default='100',
validator=validator.Pattern(
regex=r"""^([0-9]|[1-9][0-9]|100)$""",
)
),
field.RestField(
'impact_score_wlk_execution_delayed',
required=False,
encrypted=False,
default='100',
validator=validator.Pattern(
regex=r"""^([0-9]|[1-9][0-9]|100)$""",
)
),
field.RestField(
'impact_score_wlk_out_of_monitoring_times',
required=False,
encrypted=False,
default='100',
validator=validator.Pattern(
regex=r"""^([0-9]|[1-9][0-9]|100)$""",
)
),
field.RestField(
'impact_score_wlk_status_not_met',
required=False,
encrypted=False,
default='100',
validator=validator.Pattern(
regex=r"""^([0-9]|[1-9][0-9]|100)$""",
)
)
]
model = RestModel(fields, name=None, special_fields=special_fields)
endpoint = SingleModel(
'trackme_vtenants',
model,
config_name='vtenants',
need_reload=False,
)
if __name__ == '__main__':
logging.getLogger().addHandler(logging.NullHandler())
admin_external.handle(
endpoint,
handler=AdminExternalHandler,
)