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.

116 lines
3.8 KiB

# Copyright (C) 2005-2025 Splunk Inc. All Rights Reserved.
"""Constants shared between the content pack authorship feature"""
from splunk.clilib.bundle_paths import make_splunkhome_path
from collections import OrderedDict
AUTHORSHIP_QUEUE_COLLECTION_URI = \
'/servicesNS/nobody/SA-ITOA/storage/collections/data/itsi_content_pack_authorship'
CONTENT_AUTHORSHIP_GET_BULK_FIELDS = [
"create_time",
"description",
"end_time",
"itsi_objects",
"_key",
"metadata.icon",
"mod_source",
"mod_timestamp",
"_owner",
"search_head_id",
"splunk_objects",
"splunk_server",
"status",
"start_time",
"title",
"cp_version",
"_user",
"_version"
]
DEFAULT_ICON = 'icon.png'
DEFAULT_IMAGE_PREFIX = 'data:image/png;base64,'
DEFAULT_MAIN_SCREENSHOT = 'main_screenshot.png'
DEFAULT_METADATA_PATH = make_splunkhome_path(
['etc', 'apps', 'itsi', 'appserver', 'static', 'images', 'content_pack_authorship']
)
DRAFT = 'Draft'
QUEUED = 'Queued'
GENERATING = 'Generating'
GENERATED = 'Generated'
FAILED = 'Failed'
CONTENT_PACK_PREFIX = 'DA-ITSI-CP-CUST-'
CONTENT_PACK_BASE_DIR = make_splunkhome_path(['var', 'itsi', 'content_pack'])
AUTHORSHIP_COLLECTION = 'itsi_content_pack_authorship'
CONTENT_PACK_NOT_FOUND_MESSAGE = 'Content pack does not exist. Check the logs for details.'
CONTENT_PACK_IN_BUILDING_MESSAGE = 'Content pack is currently in Generating status. Try again later.'
DEFAULT_CP_VERSION = '1.0.0'
CONTENT_PACK_CP_VERSION_ATTR = 'cp_version'
MAX_TITLE_SIZE = 100
DEFAULT_DESCRIPTION = 'Default description for this content pack'
CONTENT_PACK_DESCRIPTION_ATTR = 'description'
MAX_DESCRIPTION_SIZE = 1.6 * (1 << 10)
DEFAULT_OVERVIEW = 'Default overview for this content pack'
CONTENT_PACK_OVERVIEW_ATTR = 'overview'
MAX_OVERVIEW_SIZE = 8 * (1 << 10)
NEAP_KVSTORE_PATH = 'servicesNS/nobody/SA-ITOA/storage/collections/data/itsi_notable_event_aggregation_policy/'
NOTABLE_EVENT_ACTION_CONF_PATH = 'servicesNS/nobody/SA-ITOA/configs/conf-notable_event_actions'
CP_SETTINGS_SPEC_DATA = '''# Copyright (C) 2005-2025 Splunk Inc. All Rights Reserved.
# This file contains attributes and values for configuring the custom content pack
[cp_built_on]
* Defines Splunk and ITSI version used to build the custom content pack
splunk_version = <string>
* The Splunk version used to build the custom content pack
* Default: ''
itsi_version = <string>
* The ITSI version used to build the custom content pack
* Default: ''
'''
# Authorship Stages states
PENDING = 'pending'
RUNNING = 'running'
FINISHED = 'finished'
# flake8: noqa: E221, E241
# Authorship Stages
STAGE_BUILD_QUEUED = 'STAGE_BUILD_QUEUED'
STAGE_PARTIAL_BACKUP = 'STAGE_PARTIAL_BACKUP'
STAGE_CONVERT_BACKUP = 'STAGE_CONVERT_BACKUP'
STAGE_ADD_ITSI_DEPENDENCIES = 'STAGE_ADD_ITSI_DEPENDENCIES'
STAGE_ADD_SPLUNK_OBJ = 'STAGE_ADD_SPLUNK_OBJ'
STAGE_ADD_SPLUNK_ACL = 'STAGE_ADD_SPLUNK_ACL'
STAGE_UPDATE_CONFIGS = 'STAGE_UPDATE_CONFIGS'
STAGE_ADD_METADATA = 'STAGE_ADD_METADATA'
STAGE_ADD_MANIFEST = 'STAGE_ADD_MANIFEST'
STAGE_ADD_VERSION = 'STAGE_ADD_VERSION'
STAGE_PACKAGE_CP = 'STAGE_PACKAGE_CP'
STAGE_BUILD_COMPLETE = 'STAGE_BUILD_COMPLETE'
# STAGE_ID : relative time t
AUTHORSHIP_STAGES = OrderedDict({
STAGE_BUILD_QUEUED : 0,
STAGE_PARTIAL_BACKUP : 5,
STAGE_CONVERT_BACKUP : 30,
STAGE_ADD_ITSI_DEPENDENCIES : 15,
STAGE_ADD_SPLUNK_OBJ : 5,
STAGE_ADD_SPLUNK_ACL : 15,
STAGE_UPDATE_CONFIGS : 5,
STAGE_ADD_METADATA : 5,
STAGE_ADD_MANIFEST : 5,
STAGE_ADD_VERSION : 5,
STAGE_PACKAGE_CP : 5,
STAGE_BUILD_COMPLETE : 5
})
DEFAULT_BUILD_TIMEOUT = 3600
HOUR_IN_SECONDS = 3600