UNPKG

@pulumiverse/dynatrace

Version:

A Pulumi package for creating and managing Dynatrace cloud resources.

991 lines 1.16 MB
import * as outputs from "../types/output"; export interface AlertingFilters { /** * A conditions for the metric usage */ filters?: outputs.AlertingFiltersFilter[]; } export interface AlertingFiltersFilter { /** * Configuration of a custom event filter. Filters custom events by title or description. If both specified, the AND logic applies */ custom?: outputs.AlertingFiltersFilterCustom; /** * Configuration of a custom event filter. Filters custom events by title or description. If both specified, the AND logic applies */ predefined?: outputs.AlertingFiltersFilterPredefined; } export interface AlertingFiltersFilterCustom { /** * Configuration of a matching filter */ description?: outputs.AlertingFiltersFilterCustomDescription; /** * Configuration of a matching filter */ metadata?: outputs.AlertingFiltersFilterCustomMetadata; /** * Configuration of a matching filter */ title?: outputs.AlertingFiltersFilterCustomTitle; } export interface AlertingFiltersFilterCustomDescription { /** * The condition is case sensitive (`false`) or case insensitive (`true`). If not set, then `false` is used, making the condition case sensitive */ caseSensitive?: boolean; /** * The filter is enabled (`true`) or disabled (`false`) */ enabled?: boolean; /** * Reverses the comparison **operator**. For example it turns the **begins with** into **does not begin with** */ negate?: boolean; /** * Operator of the comparison. You can reverse it by setting **negate** to `true`. Possible values are `BEGINS_WITH`, `CONTAINS`, `REGEX_MATCHES`, `ENDS_WITH` and `STRING_EQUALS` */ operator: string; /** * The value to compare to */ value: string; } export interface AlertingFiltersFilterCustomMetadata { /** * Define filters for event properties. A maximum of 20 properties is allowed. */ items: outputs.AlertingFiltersFilterCustomMetadataItems; } export interface AlertingFiltersFilterCustomMetadataItems { filters: outputs.AlertingFiltersFilterCustomMetadataItemsFilter[]; } export interface AlertingFiltersFilterCustomMetadataItemsFilter { /** * GET /api/v2/eventProperties for list of available keys */ key: string; /** * no documentation available */ negate?: boolean; /** * Value */ value: string; } export interface AlertingFiltersFilterCustomTitle { /** * The condition is case sensitive (`false`) or case insensitive (`true`). If not set, then `false` is used, making the condition case sensitive */ caseSensitive?: boolean; /** * The filter is enabled (`true`) or disabled (`false`) */ enabled?: boolean; /** * Reverses the comparison **operator**. For example it turns the **begins with** into **does not begin with** */ negate?: boolean; /** * Operator of the comparison. You can reverse it by setting **negate** to `true`. Possible values are `BEGINS_WITH`, `CONTAINS`, `REGEX_MATCHES`, `ENDS_WITH` and `STRING_EQUALS` */ operator: string; /** * The value to compare to */ value: string; } export interface AlertingFiltersFilterPredefined { /** * The alert triggers when the problem of specified severity arises while the specified event **is** happening (`false`) or while the specified event is **not** happening (`true`). For example, if you chose the Slowdown (`PERFORMANCE`) severity and Unexpected high traffic (`APPLICATION_UNEXPECTED_HIGH_LOAD`) event with **negate** set to `true`, the alerting profile will trigger only when the slowdown problem is raised while there is no unexpected high traffic event. Consider the following use case as an example. The Slowdown (`PERFORMANCE`) severity rule is set. Depending on the configuration of the event filter (Unexpected high traffic (`APPLICATION_UNEXPECTED_HIGH_LOAD`) event is used as an example), the options of the alerting profile is one of the following:* **negate** is set to `false`: The alert triggers when the slowdown problem is raised while unexpected high traffic event is happening. * **negate** is set to `true`: The alert triggers when the slowdown problem is raised while there is no unexpected high traffic event. * no event rule is set: The alert triggers when the slowdown problem is raised, regardless of any events */ negate?: boolean; /** * The type of the predefined event. Possible values are `APPLICATION_ERROR_RATE_INCREASED`, `APPLICATION_SLOWDOWN`, `APPLICATION_UNEXPECTED_HIGH_LOAD`, `APPLICATION_UNEXPECTED_LOW_LOAD`, `AWS_LAMBDA_HIGH_ERROR_RATE`, `CUSTOM_APPLICATION_ERROR_RATE_INCREASED`, `CUSTOM_APPLICATION_SLOWDOWN`, `CUSTOM_APPLICATION_UNEXPECTED_HIGH_LOAD`, `CUSTOM_APPLICATION_UNEXPECTED_LOW_LOAD`, `CUSTOM_APP_CRASH_RATE_INCREASED`, `DATABASE_CONNECTION_FAILURE`, `DATA_CENTER_SERVICE_PERFORMANCE_DEGRADATION`, `DATA_CENTER_SERVICE_UNAVAILABLE`, `EBS_VOLUME_HIGH_LATENCY`, `EC2_HIGH_CPU`, `ELB_HIGH_BACKEND_ERROR_RATE`, `ENTERPRICE_APPLICATION_PERFORMANCE_DEGRADATION`, `ENTERPRISE_APPLICATION_UNAVAILABLE`, `ESXI_GUEST_ACTIVE_SWAP_WAIT`, `ESXI_GUEST_CPU_LIMIT_REACHED`, `ESXI_HOST_CPU_SATURATION`, `ESXI_HOST_DATASTORE_LOW_DISK_SPACE`, `ESXI_HOST_DISK_QUEUE_SLOW`, `ESXI_HOST_DISK_SLOW`, `ESXI_HOST_MEMORY_SATURATION`, `ESXI_HOST_NETWORK_PROBLEMS`, `ESXI_HOST_OVERLOADED_STORAGE`, `ESXI_VM_IMPACT_HOST_CPU_SATURATION`, `ESXI_VM_IMPACT_HOST_MEMORY_SATURATION`, `EXTERNAL_SYNTHETIC_TEST_OUTAGE`, `EXTERNAL_SYNTHETIC_TEST_SLOWDOWN`, `HOST_OF_SERVICE_UNAVAILABLE`, `HTTP_CHECK_GLOBAL_OUTAGE`, `HTTP_CHECK_LOCAL_OUTAGE`, `HTTP_CHECK_TEST_LOCATION_SLOWDOWN`, `MOBILE_APPLICATION_ERROR_RATE_INCREASED`, `MOBILE_APPLICATION_SLOWDOWN`, `MOBILE_APPLICATION_UNEXPECTED_HIGH_LOAD`, `MOBILE_APPLICATION_UNEXPECTED_LOW_LOAD`, `MOBILE_APP_CRASH_RATE_INCREASED`, `MONITORING_UNAVAILABLE`, `OSI_DISK_LOW_INODES`, `OSI_GRACEFULLY_SHUTDOWN`, `OSI_HIGH_CPU`, `OSI_HIGH_MEMORY`, `OSI_LOW_DISK_SPACE`, `OSI_NIC_DROPPED_PACKETS_HIGH`, `OSI_NIC_ERRORS_HIGH`, `OSI_NIC_UTILIZATION_HIGH`, `OSI_SLOW_DISK`, `OSI_UNEXPECTEDLY_UNAVAILABLE`, `PGI_OF_SERVICE_UNAVAILABLE`, `PGI_UNAVAILABLE`, `PG_LOW_INSTANCE_COUNT`, `PROCESS_CRASHED`, `PROCESS_HIGH_GC_ACTIVITY`, `PROCESS_MEMORY_RESOURCE_EXHAUSTED`, `PROCESS_NA_HIGH_CONN_FAIL_RATE`, `PROCESS_NA_HIGH_LOSS_RATE`, `PROCESS_THREADS_RESOURCE_EXHAUSTED`, `RDS_HIGH_CPU`, `RDS_HIGH_LATENCY`, `RDS_LOW_MEMORY`, `RDS_LOW_STORAGE_SPACE`, `RDS_OF_SERVICE_UNAVAILABLE`, `RDS_RESTART_SEQUENCE`, `SERVICE_ERROR_RATE_INCREASED`, `SERVICE_SLOWDOWN`, `SERVICE_UNEXPECTED_HIGH_LOAD`, `SERVICE_UNEXPECTED_LOW_LOAD`, `SYNTHETIC_GLOBAL_OUTAGE`, `SYNTHETIC_LOCAL_OUTAGE`, `SYNTHETIC_NODE_OUTAGE`, `SYNTHETIC_PRIVATE_LOCATION_OUTAGE` and `SYNTHETIC_TEST_LOCATION_SLOWDOWN` */ type: string; } export interface AlertingProfileEventTypeFilter { /** * Configuration of a custom event filter. Filters custom events by title or description. If both specified, the AND logic applies */ customEventFilters?: outputs.AlertingProfileEventTypeFilterCustomEventFilter[]; /** * Configuration of a custom event filter. Filters custom events by title or description. If both specified, the AND logic applies */ predefinedEventFilters?: outputs.AlertingProfileEventTypeFilterPredefinedEventFilter[]; /** * allows for configuring properties that are not explicitly supported by the current version of this provider */ unknowns?: string; } export interface AlertingProfileEventTypeFilterCustomEventFilter { /** * Configuration of a matching filter */ customDescriptionFilters?: outputs.AlertingProfileEventTypeFilterCustomEventFilterCustomDescriptionFilter[]; /** * Configuration of a matching filter */ customTitleFilters?: outputs.AlertingProfileEventTypeFilterCustomEventFilterCustomTitleFilter[]; /** * allows for configuring properties that are not explicitly supported by the current version of this provider */ unknowns?: string; } export interface AlertingProfileEventTypeFilterCustomEventFilterCustomDescriptionFilter { /** * The condition is case sensitive (`false`) or case insensitive (`true`). If not set, then `false` is used, making the condition case sensitive */ caseInsensitive?: boolean; /** * The filter is enabled (`true`) or disabled (`false`) */ enabled?: boolean; /** * Reverses the comparison **operator**. For example it turns the **begins with** into **does not begin with** */ negate?: boolean; /** * Operator of the comparison. You can reverse it by setting **negate** to `true`. Possible values are `BEGINS_WITH`, `CONTAINS`, `CONTAINS_REGEX`, `ENDS_WITH` and `EQUALS` */ operator: string; /** * allows for configuring properties that are not explicitly supported by the current version of this provider */ unknowns?: string; /** * The value to compare to */ value: string; } export interface AlertingProfileEventTypeFilterCustomEventFilterCustomTitleFilter { /** * The condition is case sensitive (`false`) or case insensitive (`true`). If not set, then `false` is used, making the condition case sensitive */ caseInsensitive?: boolean; /** * The filter is enabled (`true`) or disabled (`false`) */ enabled?: boolean; /** * Reverses the comparison **operator**. For example it turns the **begins with** into **does not begin with** */ negate?: boolean; /** * Operator of the comparison. You can reverse it by setting **negate** to `true`. Possible values are `BEGINS_WITH`, `CONTAINS`, `CONTAINS_REGEX`, `ENDS_WITH` and `EQUALS` */ operator: string; /** * allows for configuring properties that are not explicitly supported by the current version of this provider */ unknowns?: string; /** * The value to compare to */ value: string; } export interface AlertingProfileEventTypeFilterPredefinedEventFilter { /** * The type of the predefined event. Possible values are `APPLICATION_ERROR_RATE_INCREASED`, `APPLICATION_SLOWDOWN`, `APPLICATION_UNEXPECTED_HIGH_LOAD`, `APPLICATION_UNEXPECTED_LOW_LOAD`, `AWS_LAMBDA_HIGH_ERROR_RATE`, `CUSTOM_APPLICATION_ERROR_RATE_INCREASED`, `CUSTOM_APPLICATION_SLOWDOWN`, `CUSTOM_APPLICATION_UNEXPECTED_HIGH_LOAD`, `CUSTOM_APPLICATION_UNEXPECTED_LOW_LOAD`, `CUSTOM_APP_CRASH_RATE_INCREASED`, `DATABASE_CONNECTION_FAILURE`, `DATA_CENTER_SERVICE_PERFORMANCE_DEGRADATION`, `DATA_CENTER_SERVICE_UNAVAILABLE`, `EBS_VOLUME_HIGH_LATENCY`, `EC2_HIGH_CPU`, `ELB_HIGH_BACKEND_ERROR_RATE`, `ENTERPRICE_APPLICATION_PERFORMANCE_DEGRADATION`, `ENTERPRISE_APPLICATION_UNAVAILABLE`, `ESXI_GUEST_ACTIVE_SWAP_WAIT`, `ESXI_GUEST_CPU_LIMIT_REACHED`, `ESXI_HOST_CPU_SATURATION`, `ESXI_HOST_DATASTORE_LOW_DISK_SPACE`, `ESXI_HOST_DISK_QUEUE_SLOW`, `ESXI_HOST_DISK_SLOW`, `ESXI_HOST_MEMORY_SATURATION`, `ESXI_HOST_NETWORK_PROBLEMS`, `ESXI_HOST_OVERLOADED_STORAGE`, `ESXI_VM_IMPACT_HOST_CPU_SATURATION`, `ESXI_VM_IMPACT_HOST_MEMORY_SATURATION`, `EXTERNAL_SYNTHETIC_TEST_OUTAGE`, `EXTERNAL_SYNTHETIC_TEST_SLOWDOWN`, `HOST_OF_SERVICE_UNAVAILABLE`, `HTTP_CHECK_GLOBAL_OUTAGE`, `HTTP_CHECK_LOCAL_OUTAGE`, `HTTP_CHECK_TEST_LOCATION_SLOWDOWN`, `MOBILE_APPLICATION_ERROR_RATE_INCREASED`, `MOBILE_APPLICATION_SLOWDOWN`, `MOBILE_APPLICATION_UNEXPECTED_HIGH_LOAD`, `MOBILE_APPLICATION_UNEXPECTED_LOW_LOAD`, `MOBILE_APP_CRASH_RATE_INCREASED`, `MONITORING_UNAVAILABLE`, `OSI_DISK_LOW_INODES`, `OSI_GRACEFULLY_SHUTDOWN`, `OSI_HIGH_CPU`, `OSI_HIGH_MEMORY`, `OSI_LOW_DISK_SPACE`, `OSI_NIC_DROPPED_PACKETS_HIGH`, `OSI_NIC_ERRORS_HIGH`, `OSI_NIC_UTILIZATION_HIGH`, `OSI_SLOW_DISK`, `OSI_UNEXPECTEDLY_UNAVAILABLE`, `PGI_OF_SERVICE_UNAVAILABLE`, `PGI_UNAVAILABLE`, `PG_LOW_INSTANCE_COUNT`, `PROCESS_CRASHED`, `PROCESS_HIGH_GC_ACTIVITY`, `PROCESS_MEMORY_RESOURCE_EXHAUSTED`, `PROCESS_NA_HIGH_CONN_FAIL_RATE`, `PROCESS_NA_HIGH_LOSS_RATE`, `PROCESS_THREADS_RESOURCE_EXHAUSTED`, `RDS_HIGH_CPU`, `RDS_HIGH_LATENCY`, `RDS_LOW_MEMORY`, `RDS_LOW_STORAGE_SPACE`, `RDS_OF_SERVICE_UNAVAILABLE`, `RDS_RESTART_SEQUENCE`, `SERVICE_ERROR_RATE_INCREASED`, `SERVICE_SLOWDOWN`, `SERVICE_UNEXPECTED_HIGH_LOAD`, `SERVICE_UNEXPECTED_LOW_LOAD`, `SYNTHETIC_GLOBAL_OUTAGE`, `SYNTHETIC_LOCAL_OUTAGE`, `SYNTHETIC_NODE_OUTAGE`, `SYNTHETIC_PRIVATE_LOCATION_OUTAGE` and `SYNTHETIC_TEST_LOCATION_SLOWDOWN` */ eventType: string; /** * The alert triggers when the problem of specified severity arises while the specified event **is** happening (`false`) or while the specified event is **not** happening (`true`). For example, if you chose the Slowdown (`PERFORMANCE`) severity and Unexpected high traffic (`APPLICATION_UNEXPECTED_HIGH_LOAD`) event with **negate** set to `true`, the alerting profile will trigger only when the slowdown problem is raised while there is no unexpected high traffic event. Consider the following use case as an example. The Slowdown (`PERFORMANCE`) severity rule is set. Depending on the configuration of the event filter (Unexpected high traffic (`APPLICATION_UNEXPECTED_HIGH_LOAD`) event is used as an example), the behavior of the alerting profile is one of the following:* **negate** is set to `false`: The alert triggers when the slowdown problem is raised while unexpected high traffic event is happening. * **negate** is set to `true`: The alert triggers when the slowdown problem is raised while there is no unexpected high traffic event. * no event rule is set: The alert triggers when the slowdown problem is raised, regardless of any events */ negate?: boolean; /** * allows for configuring properties that are not explicitly supported by the current version of this provider */ unknowns?: string; } export interface AlertingProfileMetadata { /** * Dynatrace server version */ clusterVersion?: string; /** * A Sorted list of the version numbers of the configuration */ configurationVersions?: number[]; /** * A Sorted list of the version numbers of the configuration */ currentConfigurationVersions?: string[]; } export interface AlertingProfileRule { /** * Send a notification if a problem remains open longer than *X* minutes */ delayInMinutes: number; /** * The severity level to trigger the alert. Possible values are `AVAILABILITY`, `CUSTOM_ALERT`, `ERROR`,`MONITORING_UNAVAILABLE`,`PERFORMANCE` and `RESOURCE_CONTENTION`. */ severityLevel: string; /** * Configuration of the tag filtering of the alerting profile */ tagFilters: outputs.AlertingProfileRuleTagFilter[]; /** * allows for configuring properties that are not explicitly supported by the current version of this provider */ unknowns?: string; } export interface AlertingProfileRuleTagFilter { /** * The filtering mode: * `INCLUDE_ANY`: The rule applies to monitored entities that have at least one of the specified tags. You can specify up to 100 tags. * `INCLUDE_ALL`: The rule applies to monitored entities that have **all** of the specified tags. You can specify up to 10 tags. * `NONE`: The rule applies to all monitored entities */ includeMode: string; /** * A list of required tags */ tagFilters?: outputs.AlertingProfileRuleTagFilterTagFilter[]; /** * allows for configuring properties that are not explicitly supported by the current version of this provider */ unknowns?: string; } export interface AlertingProfileRuleTagFilterTagFilter { /** * The origin of the tag, such as AWS or Cloud Foundry. Custom tags use the `CONTEXTLESS` value */ context: string; /** * The key of the tag. Custom tags have the tag value here */ key: string; /** * The value of the tag. Not applicable to custom tags */ value?: string; } export interface AlertingRules { /** * A conditions for the metric usage */ rules?: outputs.AlertingRulesRule[]; } export interface AlertingRulesRule { /** * Send a notification if a problem remains open longer than *X* minutes */ delayInMinutes: number; /** * The filtering mode: * `INCLUDE_ANY`: The rule applies to monitored entities that have at least one of the specified tags. You can specify up to 100 tags. * `INCLUDE_ALL`: The rule applies to monitored entities that have **all** of the specified tags. You can specify up to 10 tags. * `NONE`: The rule applies to all monitored entities */ includeMode: string; /** * The severity level to trigger the alert. Possible values are `AVAILABILITY`, `CUSTOM_ALERT`, `ERRORS`,`MONITORING_UNAVAILABLE`,`PERFORMANCE` and `RESOURCE_CONTENTION`. */ severityLevel: string; /** * Entities which contain any/all of the configured tags will match this alerting profile. It is recommended to use manual tags. */ tags?: string[]; } export interface ApiDetectionConditions { conditions: outputs.ApiDetectionConditionsCondition[]; } export interface ApiDetectionConditionsCondition { /** * Possible Values: `FILE_NAME`, `FQCN`, `PACKAGE` */ base: string; /** * Possible Values: `BEGINS_WITH`, `CONTAINS` */ matcher: string; /** * no documentation available */ pattern: string; } export interface AppMonitoringAppMonitoring { appMonitorings: outputs.AppMonitoringAppMonitoringAppMonitoring[]; } export interface AppMonitoringAppMonitoringAppMonitoring { /** * App ID */ appId: string; /** * Possible Values: `debug`, `error`, `info`, `off`, `useDefault`, `warn` */ customLogLevel: string; /** * Possible Values: `off`, `on`, `useDefault` */ customTraceLevel?: string; } export interface ApplicationAnomaliesFailureRate { /** * Parameters of failure rate increase auto-detection. Example: If the expected error rate is 1.5%, and you set an absolute increase of 1%, and a relative increase of 50%, the thresholds will be: Absolute: 1.5% + **1%** = 2.5% Relative: 1.5% + 1.5% * **50%** = 2.25% */ auto?: outputs.ApplicationAnomaliesFailureRateAuto; /** * Fixed thresholds for failure rate increase detection */ thresholds?: outputs.ApplicationAnomaliesFailureRateThresholds; } export interface ApplicationAnomaliesFailureRateAuto { /** * Absolute increase of failing service calls to trigger an alert, % */ absolute: number; /** * Relative increase of failing service calls to trigger an alert, % */ relative: number; /** * allows for configuring properties that are not explicitly supported by the current version of this provider */ unknowns?: string; } export interface ApplicationAnomaliesFailureRateThresholds { /** * Sensitivity of the threshold. With `low` sensitivity, high statistical confidence is used. Brief violations (for example, due to a surge in load) won't trigger alerts. With `high` sensitivity, no statistical confidence is used. Each violation triggers alert */ sensitivity: string; /** * Failure rate during any 5-minute period to trigger an alert, % */ threshold: number; /** * allows for configuring properties that are not explicitly supported by the current version of this provider */ unknowns?: string; } export interface ApplicationAnomaliesResponseTime { /** * Parameters of the response time degradation auto-detection. Violation of **any** criterion triggers an alert */ auto?: outputs.ApplicationAnomaliesResponseTimeAuto; /** * Fixed thresholds for response time degradation detection */ thresholds?: outputs.ApplicationAnomaliesResponseTimeThresholds; } export interface ApplicationAnomaliesResponseTimeAuto { /** * Minimal service load to detect response time degradation. Response time degradation of services with smaller load won't trigger alerts. Possible values are `FIFTEEN_REQUESTS_PER_MINUTE`, `FIVE_REQUESTS_PER_MINUTE`, `ONE_REQUEST_PER_MINUTE` and `TEN_REQUESTS_PER_MINUTE` */ load: string; /** * Alert if the response time degrades by more than *X* milliseconds */ milliseconds: number; /** * Alert if the response time degrades by more than *X* % */ percent: number; /** * Alert if the response time of the slowest 10% degrades by more than *X* milliseconds */ slowestMilliseconds: number; /** * Alert if the response time of the slowest 10% degrades by more than *X* milliseconds */ slowestPercent: number; /** * allows for configuring properties that are not explicitly supported by the current version of this provider */ unknowns?: string; } export interface ApplicationAnomaliesResponseTimeThresholds { /** * Minimal service load to detect response time degradation. Response time degradation of services with smaller load won't trigger alerts. Possible values are `FIFTEEN_REQUESTS_PER_MINUTE`, `FIVE_REQUESTS_PER_MINUTE`, `ONE_REQUEST_PER_MINUTE` and `TEN_REQUESTS_PER_MINUTE` */ load: string; /** * Response time during any 5-minute period to trigger an alert, in milliseconds */ milliseconds: number; /** * Sensitivity of the threshold. With `low` sensitivity, high statistical confidence is used. Brief violations (for example, due to a surge in load) won't trigger alerts. With `high` sensitivity, no statistical confidence is used. Each violation triggers an alert */ sensitivity: string; /** * Response time of the 10% slowest during any 5-minute period to trigger an alert, in milliseconds */ slowestMilliseconds: number; /** * allows for configuring properties that are not explicitly supported by the current version of this provider */ unknowns?: string; } export interface ApplicationAnomaliesTraffic { /** * The configuration of traffic drops detection */ drops?: outputs.ApplicationAnomaliesTrafficDrops; /** * The configuration of traffic spikes detection */ spikes?: outputs.ApplicationAnomaliesTrafficSpikes; } export interface ApplicationAnomaliesTrafficDrops { /** * The detection is enabled (`true`) or disabled (`false`) */ enabled: boolean; /** * Alert if the observed traffic is less than *X* % of the expected value */ percent?: number; } export interface ApplicationAnomaliesTrafficSpikes { /** * The detection is enabled (`true`) or disabled (`false`) */ enabled: boolean; /** * Alert if the observed traffic is less than *X* % of the expected value */ percent?: number; } export interface ApplicationDataPrivacySessionReplayDataPrivacy { /** * (Field has overlap with `dynatrace.SessionReplayWebPrivacy`) Content masking settings for Session Replay. */ contentMaskingSettings: outputs.ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettings; /** * (Field has overlap with `dynatrace.SessionReplayWebPrivacy`) If `true`, session recording is disabled until JavaScriptAPI `dtrum.enableSessionReplay()` is called */ optIn?: boolean; /** * (Field has overlap with `dynatrace.SessionReplayWebPrivacy`) A list of URLs to be excluded from recording */ urlExclusionRules?: string[]; } export interface ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettings { /** * (Field has overlap with `dynatrace.SessionReplayWebPrivacy`) Configuration of the Session Replay masking during Playback */ playback: outputs.ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettingsPlayback; /** * (Field has overlap with `dynatrace.SessionReplayWebPrivacy`) Configuration of the Session Replay masking during Recording */ recording: outputs.ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettingsRecording; } export interface ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettingsPlayback { /** * The type of the masking: */ preset: string; /** * A list of masking rules */ rules?: outputs.ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettingsPlaybackRules; } export interface ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettingsPlaybackRules { /** * The masking rule defining how data is hidden */ rules: outputs.ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettingsPlaybackRulesRule[]; } export interface ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettingsPlaybackRulesRule { /** * The selector for the element or the attribute to be masked. */ selector: string; /** * The type of the masking rule */ type: string; /** * Interactions with the element are (`true`) or are not (`false) masked */ userInteractionHidden?: boolean; } export interface ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettingsRecording { /** * The type of the masking: */ preset: string; /** * A list of masking rules */ rules?: outputs.ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettingsRecordingRules; } export interface ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettingsRecordingRules { /** * The masking rule defining how data is hidden */ rules: outputs.ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettingsRecordingRulesRule[]; } export interface ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettingsRecordingRulesRule { /** * The selector for the element or the attribute to be masked. */ selector: string; /** * The type of the masking rule */ type: string; /** * Interactions with the element are (`true`) or are not (`false) masked */ userInteractionHidden?: boolean; } export interface ApplicationDetectionRuleFilterConfig { /** * Where to look for the pattern value, possible values are `DOMAIN` or `URL` */ applicationMatchTarget: string; /** * The operator used for matching the application detection rule, possible values are `BEGINS_WITH`, `CONTAINS`, `ENDS_WITH`, `EQUALS`, `MATCHES` */ applicationMatchType: string; /** * The value to look for with the application detection rule */ pattern: string; } export interface ApplicationErrorRulesCustomErrors { /** * Configuration of the custom error in the web application */ rules: outputs.ApplicationErrorRulesCustomErrorsRule[]; } export interface ApplicationErrorRulesCustomErrorsRule { /** * Capture (`true`) or ignore (`false`) the error */ capture?: boolean; /** * Include (`true`) or exclude (`false`) the error in Davis AI [problem detection and analysis](https://dt-url.net/a963kd2) */ customAlerting?: boolean; /** * Include (`true`) or exclude (`false`) the error in Apdex calculation */ impactApdex?: boolean; /** * The matching operation for the **keyPattern**. Possible values are `BEGINS_WITH`, `CONTAINS`, `ENDS_WITH` and `EQUALS` */ keyMatcher?: string; /** * The key of the error to look for */ keyPattern?: string; /** * The matching operation for the **valuePattern**. Possible values are `BEGINS_WITH`, `CONTAINS`, `ENDS_WITH` and `EQUALS`. */ valueMatcher?: string; /** * The value of the error to look for */ valuePattern?: string; } export interface ApplicationErrorRulesHttpErrors { /** * Configuration of the HTTP error in the web application */ rules: outputs.ApplicationErrorRulesHttpErrorsRule[]; } export interface ApplicationErrorRulesHttpErrorsRule { /** * Capture (`true`) or ignore (`false`) the error */ capture?: boolean; /** * If `true`, match by errors that have CSP Rule violations */ considerBlockedRequests?: boolean; /** * Include (`true`) or exclude (`false`) the error in Davis AI [problem detection and analysis](https://dt-url.net/a963kd2) */ considerForAi?: boolean; /** * If `true`, match by errors that have unknown HTTP status code */ considerUnknownErrorCode?: boolean; /** * The HTTP status code or status code range to match by. */ errorCodes?: string; /** * The matching rule for the URL. Popssible values are `BEGINS_WITH`, `CONTAINS`, `ENDS_WITH` and `EQUALS`. */ filter?: string; /** * If `true`, filter errors by URL */ filterByUrl?: boolean; /** * Include (`true`) or exclude (`false`) the error in Apdex calculation */ impactApdex?: boolean; /** * The URL to look for */ url?: string; } export interface AppsecNotificationAttackCandidateBasedEmailPayload { /** * The template of the email notifications. * In case a value of a security problem is not set, the placeholder will be replaced by an empty string.. **Note:** Security notifications contain sensitive information. Excessive usage of placeholders in the body might leak information to untrusted parties. * * Available placeholders: * **{AttackDisplayId}**: The unique identifier assigned by Dynatrace, for example: "A-1234". * **{Title}**: Location of the attack, for example: "com.dynatrace.Class.method():120" * **{Type}**: The type of attack, for example: "SQL Injection". * **{AttackUrl}**: URL of the attack in Dynatrace. * **{ProcessGroupId}**: Details about the process group attacked. * **{EntryPoint}**: The entry point of the attack into the process, for example: "/login". Can be empty. * **{Status}**: The status of the attack, for example: "Exploited" * **{Timestamp}**: When the attack happened. * **{VulnerabilityName}**: Name of the associated code-level vulnerability, for example: "InMemoryDatabaseCaller.getAccountInfo():51". Can be empty. */ body: string; /** * The subject of the email notifications.. Available placeholders: * **{AttackDisplayId}**: The unique identifier assigned by Dynatrace, for example, "A-1234". * **{Title}**: Location of the attack, for example: "com.dynatrace.Class.method():120" * **{Type}**: The type of attack, for example: "SQL Injection". * **{AttackUrl}**: URL of the attack in Dynatrace. * **{ProcessGroupId}**: Details about the process group attacked. * **{EntryPoint}**: The entry point of the attack into the process, for example: "/login". Can be empty. * **{Status}**: The status of the attack, for example: "Exploited" * **{Timestamp}**: When the attack happened. * **{VulnerabilityName}**: Name of the associated code-level vulnerability, for example: "InMemoryDatabaseCaller.getAccountInfo():51". Can be empty. */ subject: string; } export interface AppsecNotificationAttackCandidateBasedJiraPayload { /** * The description of the Jira issue to be created by this notification. * In case a value of an attack is not set, the placeholder will be replaced by an empty string.. **Note:** Security notifications contain sensitive information. Excessive usage of placeholders in the description might leak information to untrusted parties. * * Available placeholders: * **{AttackDisplayId}**: The unique identifier assigned by Dynatrace, for example: "A-1234". * **{Title}**: Location of the attack, for example: "com.dynatrace.Class.method():120" * **{Type}**: The type of attack, for example: "SQL Injection". * **{AttackUrl}**: URL of the attack in Dynatrace. * **{ProcessGroupId}**: Details about the process group attacked. * **{EntryPoint}**: The entry point of the attack into the process, for example: "/login". Can be empty. * **{Status}**: The status of the attack, for example: "Exploited" * **{Timestamp}**: When the attack happened. * **{VulnerabilityName}**: Name of the associated code-level vulnerability, for example: "InMemoryDatabaseCaller.getAccountInfo():51". Can be empty. */ description: string; /** * The summary of the Jira issue to be created by this notification.. **Note:** The Jira summary field must contain less than 255 characters. Any content exceeding this limit after evaluating the placeholders will be discarded. * * Available placeholders: * **{AttackDisplayId}**: The unique identifier assigned by Dynatrace, for example, "A-1234". * **{Title}**: Location of the attack, for example: "com.dynatrace.Class.method():120" * **{Type}**: The type of attack, for example: "SQL Injection". * **{AttackUrl}**: URL of the attack in Dynatrace. * **{ProcessGroupId}**: Details about the process group attacked. * **{EntryPoint}**: The entry point of the attack into the process, for example: "/login". Can be empty. * **{Status}**: The status of the attack, for example: "Exploited" * **{Timestamp}**: When the attack happened. * **{VulnerabilityName}**: Name of the associated code-level vulnerability, for example: "InMemoryDatabaseCaller.getAccountInfo():51". Can be empty. */ summary: string; } export interface AppsecNotificationAttackCandidateBasedWebhookPayload { /** * This is the content your notification message will include when users view it. * In case a value of an attack is not set, the placeholder will be replaced by an empty string.. **Note:** Security notifications contain sensitive information. Excessive usage of placeholders in the custom payload might leak information to untrusted parties. * * Available placeholders: * **{AttackDisplayId}**: The unique identifier assigned by Dynatrace, for example: "A-1234". * **{Title}**: Location of the attack, for example: "com.dynatrace.Class.method():120" * **{Type}**: The type of attack, for example: "SQL Injection". * **{AttackUrl}**: URL of the attack in Dynatrace. * **{ProcessGroupId}**: Details about the process group attacked. * **{EntryPoint}**: The entry point of the attack into the process, for example: "/login". Can be empty. * **{Status}**: The status of the attack, for example: "Exploited" * **{Timestamp}**: When the attack happened. * **{VulnerabilityName}**: Name of the associated code-level vulnerability, for example: "InMemoryDatabaseCaller.getAccountInfo():51". Can be empty. */ payload: string; } export interface AppsecNotificationEmailConfiguration { /** * BCC */ bccRecipients?: string[]; /** * CC */ ccRecipients?: string[]; /** * To */ recipients: string[]; } export interface AppsecNotificationJiraConfiguration { /** * The API token for the Jira profile. Using password authentication [was deprecated by Jira](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-basic-auth-and-cookie-based-auth/) */ apiToken: string; /** * The type of the Jira issue to be created by this notification. * * To find all available issue types or create your own, in Jira, go to Project settings > Issue types. */ issueType: string; /** * The project key of the Jira issue to be created by this notification. */ projectKey: string; /** * The URL of the Jira API endpoint. */ url: string; /** * The username of the Jira profile. */ username: string; } export interface AppsecNotificationSecurityProblemBasedEmailPayload { /** * The template of the email notifications. * In case a value of a security problem is not set, the placeholder will be replaced by an empty string.. **Note:** Security notifications contain sensitive information. Excessive usage of placeholders in the description might leak information to untrusted parties. * * Available placeholders: * **{SecurityProblemId}**: The unique identifier assigned by Dynatrace, for example, "S-1234". * **{Title}**: A short summary of the type of vulnerability that was found, for example, "Remote Code Execution". * **{Description}**: A more detailed description of the vulnerability. * **{CvssScore}**: CVSS score of the identified vulnerability, for example, "10.0". Can be empty. * **{DavisSecurityScore}**: [Davis Security Score](https://www.dynatrace.com/support/help/how-to-use-dynatrace/application-security/davis-security-score/) is an enhanced risk-calculation score based on the CVSS, for example, "10.0". * **{Severity}**: The security problem severity, for example, "Critical" or "Medium". * **{SecurityProblemUrl}**: URL of the security problem in Dynatrace. * **{AffectedEntities}**: Details about the entities affected by the security problem in a json array. * **{ManagementZones}**: Comma-separated list of all management zones affected by the vulnerability at the time of detection. * **{Tags}**: Comma-separated list of tags that are defined for a vulnerability's affected entities. For example: "PROD, owner:John". Assign the tag's key in square brackets: **{Tags[key]}** to get all associated values. For example: "{Tags[owner]}" will be resolved as "John". Tags without an assigned value will be resolved as empty string. * **{Exposed}**: Describes whether one or more affected process is exposed to the public Internet. Can be "true" or "false". * **{DataAssetsReachable}**: Describes whether one or more affected process can reach data assets. Can be "true" or "false". * **{ExploitAvailable}**: Describes whether there's an exploit available for the vulnerability. Can be "true" or "false". */ body: string; /** * The subject of the email notifications.. Available placeholders: * **{SecurityProblemId}**: The unique identifier assigned by Dynatrace, for example, "S-1234". * **{Title}**: A short summary of the type of vulnerability that was found, for example, "Remote Code Execution". * **{CvssScore}**: CVSS score of the identified vulnerability, for example, "10.0". Can be empty. * **{DavisSecurityScore}**: [Davis Security Score](https://www.dynatrace.com/support/help/how-to-use-dynatrace/application-security/davis-security-score/) is an enhanced risk-calculation score based on the CVSS, for example, "10.0". * **{Severity}**: The security problem severity, for example, "Critical" or "Medium". * **{SecurityProblemUrl}**: URL of the security problem in Dynatrace. * **{Exposed}**: Describes whether one or more affected process is exposed to the public Internet. Can be "true" or "false". * **{DataAssetsReachable}**: Describes whether one or more affected process can reach data assets. Can be "true" or "false". * **{ExploitAvailable}**: Describes whether there's an exploit available for the vulnerability. Can be "true" or "false". */ subject: string; } export interface AppsecNotificationSecurityProblemBasedJiraPayload { /** * The description of the Jira issue to be created by this notification. * In case a value of a security problem is not set, the placeholder will be replaced by an empty string.. **Note:** Security notifications contain sensitive information. Excessive usage of placeholders in the description might leak information to untrusted parties. * * Available placeholders: * **{SecurityProblemId}**: The unique identifier assigned by Dynatrace, for example, "S-1234". * **{Title}**: A short summary of the type of vulnerability that was found, for example, "Remote Code Execution". * **{Description}**: A more detailed description of the vulnerability. * **{CvssScore}**: CVSS score of the identified vulnerability, for example, "10.0". Can be empty. * **{DavisSecurityScore}**: [Davis Security Score](https://www.dynatrace.com/support/help/how-to-use-dynatrace/application-security/davis-security-score/) is an enhanced risk-calculation score based on the CVSS, for example, "10.0". * **{Severity}**: The security problem severity, for example, "Critical" or "Medium". * **{SecurityProblemUrl}**: URL of the security problem in Dynatrace. * **{AffectedEntities}**: Details about the entities affected by the security problem in a json array. * **{ManagementZones}**: Comma-separated list of all management zones affected by the vulnerability at the time of detection. * **{Tags}**: Comma-separated list of tags that are defined for a vulnerability's affected entities. For example: "PROD, owner:John". Assign the tag's key in square brackets: **{Tags[key]}** to get all associated values. For example: "{Tags[owner]}" will be resolved as "John". Tags without an assigned value will be resolved as empty string. * **{Exposed}**: Describes whether one or more affected process is exposed to the public Internet. Can be "true" or "false". * **{DataAssetsReachable}**: Describes whether one or more affected process can reach data assets. Can be "true" or "false". * **{ExploitAvailable}**: Describes whether there's an exploit available for the vulnerability. Can be "true" or "false". */ description: string; /** * The summary of the Jira issue to be created by this notification.. **Note:** The Jira summary field must contain less than 255 characters. Any content exceeding this limit after evaluating the placeholders will be discarded. * * Available placeholders: * **{SecurityProblemId}**: The unique identifier assigned by Dynatrace, for example, "S-1234". * **{Title}**: A short summary of the type of vulnerability that was found, for example, "Remote Code Execution". * **{CvssScore}**: CVSS score of the identified vulnerability, for example, "10.0". Can be empty. * **{DavisSecurityScore}**: [Davis Security Score](https://www.dynatrace.com/support/help/how-to-use-dynatrace/application-security/davis-security-score/) is an enhanced risk-calculation score based on the CVSS, for example, "10.0". * **{Severity}**: The security problem severity, for example, "Critical" or "Medium". * **{SecurityProblemUrl}**: URL of the security problem in Dynatrace. * **{Exposed}**: Describes whether one or more affected process is exposed to the public Internet. Can be "true" or "false". * **{DataAssetsReachable}**: Describes whether one or more affected process can reach data assets. Can be "true" or "false". * **{ExploitAvailable}**: Describes whether there's an exploit available for the vulnerability. Can be "true" or "false". */ summary: string; } export interface AppsecNotificationSecurityProblemBasedWebhookPayload { /** * This is the content your notification message will include when users view it. * In case a value of a security problem is not set, the placeholder will be replaced by an empty string.. **Note:** Security notifications contain sensitive information. Excessive usage of placeholders in the custom payload might leak information to untrusted parties. * * Available placeholders: * **{SecurityProblemId}**: The unique identifier assigned by Dynatrace, for example, "S-1234". * **{Title}**: A short summary of the type of vulnerability that was found, for example, "Remote Code Execution". * **{Description}**: A more detailed description of the vulnerability. * **{CvssScore}**: CVSS score of the identified vulnerability, for example, "10.0". Can be empty. * **{DavisSecurityScore}**: [Davis Security Score](https://www.dynatrace.com/support/help/how-to-use-dynatrace/application-security/davis-security-score/) is an enhanced risk-calculation score based on the CVSS, for example, "10.0". * **{Severity}**: The security problem severity, for example, "Critical" or "Medium". * **{SecurityProblemUrl}**: URL of the security problem in Dynatrace. * **{AffectedEntities}**: Details about the entities affected by the security problem in a json array. * **{ManagementZones}**: Comma-separated list of all management zones affected by the vulnerability at the time of detection. * **{Tags}**: Comma-separated list of tags that are defined for a vulnerability's affected entities. For example: "PROD, owner:John". Assign the tag's key in square brackets: **{Tags[key]}** to get all associated values. For example: "{Tags[owner]}" will be resolved as "John". Tags without an assigned value will be resolved as empty string. * **{Exposed}**: Describes whether one or more affected process is exposed to the public Internet. Can be "true" or "false". * **{DataAssetsReachable}**: Describes whether one or more affected process can reach data assets. Can be "true" or "false". * **{ExploitAvailable}**: Describes whether there's an exploit available for the vulnerability. Can be "true" or "false". */ payload: string; } export interface AppsecNotificationWebhookConfiguration { /** * Accept any SSL certificate (including self-signed and invalid certificates) */ acceptAnyCertificate: boolean; /** * Use additional HTTP headers to attach any additional information, for example, configuration, authorization, or metadata. * * Note that JSON-based webhook endpoints require the addition of the **Content-Type: application/json** header to enable escaping of special characters and to avoid malformed JSON content. */ headers?: outputs.AppsecNotificationWebhookConfigurationHeaders; /** * Webhook endpoint URL */ url: string; } export interface AppsecNotificationWebhookConfigurationHeaders { headers: outputs.AppsecNotificationWebhookConfigurationHeadersHeader[]; } export interface AppsecNotificationWebhookConfigurationHeadersHeader { /** * no documentation available */ name: string; /** * Secret HTTP header value */ secret: boolean; /** * The secret value of the HTTP header. May contain an empty value. */ secretValue?: string; /** * The value of the HTTP header. May contain an empty value. */ value?: string; } export interface AttackAllowlistAttackHandling { /** * Possible Values: `MONITOR`, `OFF` */ blockingStrategy: string; } export interface AttackAllowlistCriteria { /** * Only consider attacks matching the specified pattern. */ attackPattern?: string; /** * Source IP */ sourceIp?: string; } export interface AttackAllowlistMetadata { /** * no documentation available */ comment: string; } export interface AttackAllowlistResourceAttributeConditions { resourceAttributeConditions: outputs.AttackAllowlistResourceAttributeConditionsResourceAttributeCondition[]; } export interface AttackAllowlistResourceAttributeConditionsResourceAttributeCondition { /** * Possible Values: `CONTAINS`, `DOES_NOT_CONTAIN`, `DOES_NOT_END_WITH`, `DOES_NOT_EXIST`, `DOES_NOT_START_WITH`, `ENDS_WITH`, `EQUALS`, `EXISTS`, `NOT_EQUALS`, `STARTS_WITH` */ matcher: string; /** * Resource attribute key */ resourceAttributeKey: string; /** * Resource attribute value */ resourceAttributeValue?: string; } export interface AttackAllowlistRules { rules: outputs.AttackAllowlistRulesRule[]; } export interface AttackAllowlistRulesRule { /** * Possible Values: `ACTOR_IP`, `DETECTION_TYPE`, `ENTRY_POINT_PAYLOAD`, `ENTRY_POINT_PAYLOAD_DOMAIN`, `ENTRY_POINT_PAYLOAD_PORT`, `ENTRY_POINT_URL_PATH` */ criteriaKey: string; /** * Possible Values: `CONTAINS`, `DOES_NOT_CONTAIN`, `DOES_NOT_END_WITH`, `DOES_NOT_STARTS_WITH`, `ENDS_WITH`, `EQUALS`, `IP_CIDR`, `NOT_EQUALS`, `NOT_IN_IP_CIDR`, `STARTS_WITH` */ criteriaMatcher: string; /** * Possible Values: `CMD_INJECTION`, `JNDI_INJECTION`, `SQL_INJECTION`, `SSRF` */ criteriaValueDetectionType?: string; /** * Value */ criteriaValueFreeText?: string; } export interface AttackRulesAttackHandling { /** * Possible Values: `BLOCK`, `MONITOR`, `OFF` */ blockingStrategy: string; } export interface AttackRulesCriteria { /** * Possible Values: `ANY`, `CMD_INJECTION`, `JNDI_INJECTION`, `SQL_INJECTION`, `SSRF` */ attackType: string; /** * Process group * * @deprecated This field has been deprecated */ processGroup?: string; } export interface AttackRulesMetadata { /** * no documentation available */ comment: string; } export interface AttackRulesResourceAttributeConditions { resourceAttributeConditions: outputs.AttackRulesResourceAttributeConditionsResourceAttributeCondition[]; } export interface AttackRulesResourceAttributeConditionsResourceAttributeCondition { /** * Possible Values: `CONTAINS`, `DOES_NOT_CONTAIN`, `DOES_NOT_END_WITH`, `DOES_NOT_EXIST`, `DOES_NOT_START_WITH`, `ENDS_WITH`, `EQUALS`, `EXISTS`, `NOT_EQUALS`, `STARTS_WITH` */ matcher: string; /** * Resource attribute key */ resourceAttributeKey: string; /** * Resource attribute value */ resourceAttributeValue?: string; } export interface AttackSettingsDefaultAttackHandling { /** * (v1.290) Possible Values: `BLOCK`, `MONITOR`, `OFF` */ blockingStrategyDotNet?: string; /** * Possible Values: `BLOCK`, `MONITOR`, `OFF` */ blockingStrategyJava: string; } export interface AutomationBusinessCalendarHolidays { /** * A (unordered) list of holidays valid in this calendar */ holidays: output