@pulumiverse/dynatrace
Version:
A Pulumi package for creating and managing Dynatrace cloud resources.
904 lines • 1.25 MB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
export interface AlertingFilters {
/**
* A conditions for the metric usage
*/
filters?: pulumi.Input<pulumi.Input<inputs.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?: pulumi.Input<inputs.AlertingFiltersFilterCustom>;
/**
* Configuration of a custom event filter. Filters custom events by title or description. If both specified, the AND logic applies
*/
predefined?: pulumi.Input<inputs.AlertingFiltersFilterPredefined>;
}
export interface AlertingFiltersFilterCustom {
/**
* Configuration of a matching filter
*/
description?: pulumi.Input<inputs.AlertingFiltersFilterCustomDescription>;
/**
* Configuration of a matching filter
*/
metadata?: pulumi.Input<inputs.AlertingFiltersFilterCustomMetadata>;
/**
* Configuration of a matching filter
*/
title?: pulumi.Input<inputs.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?: pulumi.Input<boolean>;
/**
* The filter is enabled (`true`) or disabled (`false`)
*/
enabled?: pulumi.Input<boolean>;
/**
* Reverses the comparison **operator**. For example it turns the **begins with** into **does not begin with**
*/
negate?: pulumi.Input<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: pulumi.Input<string>;
/**
* The value to compare to
*/
value: pulumi.Input<string>;
}
export interface AlertingFiltersFilterCustomMetadata {
/**
* Define filters for event properties. A maximum of 20 properties is allowed.
*/
items: pulumi.Input<inputs.AlertingFiltersFilterCustomMetadataItems>;
}
export interface AlertingFiltersFilterCustomMetadataItems {
filters: pulumi.Input<pulumi.Input<inputs.AlertingFiltersFilterCustomMetadataItemsFilter>[]>;
}
export interface AlertingFiltersFilterCustomMetadataItemsFilter {
/**
* GET /api/v2/eventProperties for list of available keys
*/
key: pulumi.Input<string>;
/**
* no documentation available
*/
negate?: pulumi.Input<boolean>;
/**
* Value
*/
value: pulumi.Input<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?: pulumi.Input<boolean>;
/**
* The filter is enabled (`true`) or disabled (`false`)
*/
enabled?: pulumi.Input<boolean>;
/**
* Reverses the comparison **operator**. For example it turns the **begins with** into **does not begin with**
*/
negate?: pulumi.Input<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: pulumi.Input<string>;
/**
* The value to compare to
*/
value: pulumi.Input<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?: pulumi.Input<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: pulumi.Input<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?: pulumi.Input<pulumi.Input<inputs.AlertingProfileEventTypeFilterCustomEventFilter>[]>;
/**
* Configuration of a custom event filter. Filters custom events by title or description. If both specified, the AND logic applies
*/
predefinedEventFilters?: pulumi.Input<pulumi.Input<inputs.AlertingProfileEventTypeFilterPredefinedEventFilter>[]>;
/**
* allows for configuring properties that are not explicitly supported by the current version of this provider
*/
unknowns?: pulumi.Input<string>;
}
export interface AlertingProfileEventTypeFilterCustomEventFilter {
/**
* Configuration of a matching filter
*/
customDescriptionFilters?: pulumi.Input<pulumi.Input<inputs.AlertingProfileEventTypeFilterCustomEventFilterCustomDescriptionFilter>[]>;
/**
* Configuration of a matching filter
*/
customTitleFilters?: pulumi.Input<pulumi.Input<inputs.AlertingProfileEventTypeFilterCustomEventFilterCustomTitleFilter>[]>;
/**
* allows for configuring properties that are not explicitly supported by the current version of this provider
*/
unknowns?: pulumi.Input<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?: pulumi.Input<boolean>;
/**
* The filter is enabled (`true`) or disabled (`false`)
*/
enabled?: pulumi.Input<boolean>;
/**
* Reverses the comparison **operator**. For example it turns the **begins with** into **does not begin with**
*/
negate?: pulumi.Input<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: pulumi.Input<string>;
/**
* allows for configuring properties that are not explicitly supported by the current version of this provider
*/
unknowns?: pulumi.Input<string>;
/**
* The value to compare to
*/
value: pulumi.Input<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?: pulumi.Input<boolean>;
/**
* The filter is enabled (`true`) or disabled (`false`)
*/
enabled?: pulumi.Input<boolean>;
/**
* Reverses the comparison **operator**. For example it turns the **begins with** into **does not begin with**
*/
negate?: pulumi.Input<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: pulumi.Input<string>;
/**
* allows for configuring properties that are not explicitly supported by the current version of this provider
*/
unknowns?: pulumi.Input<string>;
/**
* The value to compare to
*/
value: pulumi.Input<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: pulumi.Input<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?: pulumi.Input<boolean>;
/**
* allows for configuring properties that are not explicitly supported by the current version of this provider
*/
unknowns?: pulumi.Input<string>;
}
export interface AlertingProfileMetadata {
/**
* Dynatrace server version
*/
clusterVersion?: pulumi.Input<string>;
/**
* A Sorted list of the version numbers of the configuration
*/
configurationVersions?: pulumi.Input<pulumi.Input<number>[]>;
/**
* A Sorted list of the version numbers of the configuration
*/
currentConfigurationVersions?: pulumi.Input<pulumi.Input<string>[]>;
}
export interface AlertingProfileRule {
/**
* Send a notification if a problem remains open longer than *X* minutes
*/
delayInMinutes: pulumi.Input<number>;
/**
* The severity level to trigger the alert. Possible values are `AVAILABILITY`, `CUSTOM_ALERT`, `ERROR`,`MONITORING_UNAVAILABLE`,`PERFORMANCE` and `RESOURCE_CONTENTION`.
*/
severityLevel: pulumi.Input<string>;
/**
* Configuration of the tag filtering of the alerting profile
*/
tagFilters: pulumi.Input<pulumi.Input<inputs.AlertingProfileRuleTagFilter>[]>;
/**
* allows for configuring properties that are not explicitly supported by the current version of this provider
*/
unknowns?: pulumi.Input<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: pulumi.Input<string>;
/**
* A list of required tags
*/
tagFilters?: pulumi.Input<pulumi.Input<inputs.AlertingProfileRuleTagFilterTagFilter>[]>;
/**
* allows for configuring properties that are not explicitly supported by the current version of this provider
*/
unknowns?: pulumi.Input<string>;
}
export interface AlertingProfileRuleTagFilterTagFilter {
/**
* The origin of the tag, such as AWS or Cloud Foundry. Custom tags use the `CONTEXTLESS` value
*/
context: pulumi.Input<string>;
/**
* The key of the tag. Custom tags have the tag value here
*/
key: pulumi.Input<string>;
/**
* The value of the tag. Not applicable to custom tags
*/
value?: pulumi.Input<string>;
}
export interface AlertingRules {
/**
* A conditions for the metric usage
*/
rules?: pulumi.Input<pulumi.Input<inputs.AlertingRulesRule>[]>;
}
export interface AlertingRulesRule {
/**
* Send a notification if a problem remains open longer than *X* minutes
*/
delayInMinutes: pulumi.Input<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: pulumi.Input<string>;
/**
* The severity level to trigger the alert. Possible values are `AVAILABILITY`, `CUSTOM_ALERT`, `ERRORS`,`MONITORING_UNAVAILABLE`,`PERFORMANCE` and `RESOURCE_CONTENTION`.
*/
severityLevel: pulumi.Input<string>;
/**
* Entities which contain any/all of the configured tags will match this alerting profile. It is recommended to use manual tags.
*/
tags?: pulumi.Input<pulumi.Input<string>[]>;
}
export interface ApiDetectionConditions {
conditions: pulumi.Input<pulumi.Input<inputs.ApiDetectionConditionsCondition>[]>;
}
export interface ApiDetectionConditionsCondition {
/**
* Possible Values: `FILE_NAME`, `FQCN`, `PACKAGE`
*/
base: pulumi.Input<string>;
/**
* Possible Values: `BEGINS_WITH`, `CONTAINS`
*/
matcher: pulumi.Input<string>;
/**
* no documentation available
*/
pattern: pulumi.Input<string>;
}
export interface AppMonitoringAppMonitoring {
appMonitorings: pulumi.Input<pulumi.Input<inputs.AppMonitoringAppMonitoringAppMonitoring>[]>;
}
export interface AppMonitoringAppMonitoringAppMonitoring {
/**
* App ID
*/
appId: pulumi.Input<string>;
/**
* Possible Values: `debug`, `error`, `info`, `off`, `useDefault`, `warn`
*/
customLogLevel: pulumi.Input<string>;
/**
* Possible Values: `off`, `on`, `useDefault`
*/
customTraceLevel?: pulumi.Input<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?: pulumi.Input<inputs.ApplicationAnomaliesFailureRateAuto>;
/**
* Fixed thresholds for failure rate increase detection
*/
thresholds?: pulumi.Input<inputs.ApplicationAnomaliesFailureRateThresholds>;
}
export interface ApplicationAnomaliesFailureRateAuto {
/**
* Absolute increase of failing service calls to trigger an alert, %
*/
absolute: pulumi.Input<number>;
/**
* Relative increase of failing service calls to trigger an alert, %
*/
relative: pulumi.Input<number>;
/**
* allows for configuring properties that are not explicitly supported by the current version of this provider
*/
unknowns?: pulumi.Input<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: pulumi.Input<string>;
/**
* Failure rate during any 5-minute period to trigger an alert, %
*/
threshold: pulumi.Input<number>;
/**
* allows for configuring properties that are not explicitly supported by the current version of this provider
*/
unknowns?: pulumi.Input<string>;
}
export interface ApplicationAnomaliesResponseTime {
/**
* Parameters of the response time degradation auto-detection. Violation of **any** criterion triggers an alert
*/
auto?: pulumi.Input<inputs.ApplicationAnomaliesResponseTimeAuto>;
/**
* Fixed thresholds for response time degradation detection
*/
thresholds?: pulumi.Input<inputs.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: pulumi.Input<string>;
/**
* Alert if the response time degrades by more than *X* milliseconds
*/
milliseconds: pulumi.Input<number>;
/**
* Alert if the response time degrades by more than *X* %
*/
percent: pulumi.Input<number>;
/**
* Alert if the response time of the slowest 10% degrades by more than *X* milliseconds
*/
slowestMilliseconds: pulumi.Input<number>;
/**
* Alert if the response time of the slowest 10% degrades by more than *X* milliseconds
*/
slowestPercent: pulumi.Input<number>;
/**
* allows for configuring properties that are not explicitly supported by the current version of this provider
*/
unknowns?: pulumi.Input<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: pulumi.Input<string>;
/**
* Response time during any 5-minute period to trigger an alert, in milliseconds
*/
milliseconds: pulumi.Input<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: pulumi.Input<string>;
/**
* Response time of the 10% slowest during any 5-minute period to trigger an alert, in milliseconds
*/
slowestMilliseconds: pulumi.Input<number>;
/**
* allows for configuring properties that are not explicitly supported by the current version of this provider
*/
unknowns?: pulumi.Input<string>;
}
export interface ApplicationAnomaliesTraffic {
/**
* The configuration of traffic drops detection
*/
drops?: pulumi.Input<inputs.ApplicationAnomaliesTrafficDrops>;
/**
* The configuration of traffic spikes detection
*/
spikes?: pulumi.Input<inputs.ApplicationAnomaliesTrafficSpikes>;
}
export interface ApplicationAnomaliesTrafficDrops {
/**
* The detection is enabled (`true`) or disabled (`false`)
*/
enabled: pulumi.Input<boolean>;
/**
* Alert if the observed traffic is less than *X* % of the expected value
*/
percent?: pulumi.Input<number>;
}
export interface ApplicationAnomaliesTrafficSpikes {
/**
* The detection is enabled (`true`) or disabled (`false`)
*/
enabled: pulumi.Input<boolean>;
/**
* Alert if the observed traffic is less than *X* % of the expected value
*/
percent?: pulumi.Input<number>;
}
export interface ApplicationDataPrivacySessionReplayDataPrivacy {
/**
* (Field has overlap with `dynatrace.SessionReplayWebPrivacy`) Content masking settings for Session Replay.
*/
contentMaskingSettings: pulumi.Input<inputs.ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettings>;
/**
* (Field has overlap with `dynatrace.SessionReplayWebPrivacy`) If `true`, session recording is disabled until JavaScriptAPI `dtrum.enableSessionReplay()` is called
*/
optIn?: pulumi.Input<boolean>;
/**
* (Field has overlap with `dynatrace.SessionReplayWebPrivacy`) A list of URLs to be excluded from recording
*/
urlExclusionRules?: pulumi.Input<pulumi.Input<string>[]>;
}
export interface ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettings {
/**
* (Field has overlap with `dynatrace.SessionReplayWebPrivacy`) Configuration of the Session Replay masking during Playback
*/
playback: pulumi.Input<inputs.ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettingsPlayback>;
/**
* (Field has overlap with `dynatrace.SessionReplayWebPrivacy`) Configuration of the Session Replay masking during Recording
*/
recording: pulumi.Input<inputs.ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettingsRecording>;
}
export interface ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettingsPlayback {
/**
* The type of the masking:
*/
preset: pulumi.Input<string>;
/**
* A list of masking rules
*/
rules?: pulumi.Input<inputs.ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettingsPlaybackRules>;
}
export interface ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettingsPlaybackRules {
/**
* The masking rule defining how data is hidden
*/
rules: pulumi.Input<pulumi.Input<inputs.ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettingsPlaybackRulesRule>[]>;
}
export interface ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettingsPlaybackRulesRule {
/**
* The selector for the element or the attribute to be masked.
*/
selector: pulumi.Input<string>;
/**
* The type of the masking rule
*/
type: pulumi.Input<string>;
/**
* Interactions with the element are (`true`) or are not (`false) masked
*/
userInteractionHidden?: pulumi.Input<boolean>;
}
export interface ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettingsRecording {
/**
* The type of the masking:
*/
preset: pulumi.Input<string>;
/**
* A list of masking rules
*/
rules?: pulumi.Input<inputs.ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettingsRecordingRules>;
}
export interface ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettingsRecordingRules {
/**
* The masking rule defining how data is hidden
*/
rules: pulumi.Input<pulumi.Input<inputs.ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettingsRecordingRulesRule>[]>;
}
export interface ApplicationDataPrivacySessionReplayDataPrivacyContentMaskingSettingsRecordingRulesRule {
/**
* The selector for the element or the attribute to be masked.
*/
selector: pulumi.Input<string>;
/**
* The type of the masking rule
*/
type: pulumi.Input<string>;
/**
* Interactions with the element are (`true`) or are not (`false) masked
*/
userInteractionHidden?: pulumi.Input<boolean>;
}
export interface ApplicationDetectionRuleFilterConfig {
/**
* Where to look for the pattern value, possible values are `DOMAIN` or `URL`
*/
applicationMatchTarget: pulumi.Input<string>;
/**
* The operator used for matching the application detection rule, possible values are `BEGINS_WITH`, `CONTAINS`, `ENDS_WITH`, `EQUALS`, `MATCHES`
*/
applicationMatchType: pulumi.Input<string>;
/**
* The value to look for with the application detection rule
*/
pattern: pulumi.Input<string>;
}
export interface ApplicationErrorRulesCustomErrors {
/**
* Configuration of the custom error in the web application
*/
rules: pulumi.Input<pulumi.Input<inputs.ApplicationErrorRulesCustomErrorsRule>[]>;
}
export interface ApplicationErrorRulesCustomErrorsRule {
/**
* Capture (`true`) or ignore (`false`) the error
*/
capture?: pulumi.Input<boolean>;
/**
* Include (`true`) or exclude (`false`) the error in Davis AI [problem detection and analysis](https://dt-url.net/a963kd2)
*/
customAlerting?: pulumi.Input<boolean>;
/**
* Include (`true`) or exclude (`false`) the error in Apdex calculation
*/
impactApdex?: pulumi.Input<boolean>;
/**
* The matching operation for the **keyPattern**. Possible values are `BEGINS_WITH`, `CONTAINS`, `ENDS_WITH` and `EQUALS`
*/
keyMatcher?: pulumi.Input<string>;
/**
* The key of the error to look for
*/
keyPattern?: pulumi.Input<string>;
/**
* The matching operation for the **valuePattern**. Possible values are `BEGINS_WITH`, `CONTAINS`, `ENDS_WITH` and `EQUALS`.
*/
valueMatcher?: pulumi.Input<string>;
/**
* The value of the error to look for
*/
valuePattern?: pulumi.Input<string>;
}
export interface ApplicationErrorRulesHttpErrors {
/**
* Configuration of the HTTP error in the web application
*/
rules: pulumi.Input<pulumi.Input<inputs.ApplicationErrorRulesHttpErrorsRule>[]>;
}
export interface ApplicationErrorRulesHttpErrorsRule {
/**
* Capture (`true`) or ignore (`false`) the error
*/
capture?: pulumi.Input<boolean>;
/**
* If `true`, match by errors that have CSP Rule violations
*/
considerBlockedRequests?: pulumi.Input<boolean>;
/**
* Include (`true`) or exclude (`false`) the error in Davis AI [problem detection and analysis](https://dt-url.net/a963kd2)
*/
considerForAi?: pulumi.Input<boolean>;
/**
* If `true`, match by errors that have unknown HTTP status code
*/
considerUnknownErrorCode?: pulumi.Input<boolean>;
/**
* The HTTP status code or status code range to match by.
*/
errorCodes?: pulumi.Input<string>;
/**
* The matching rule for the URL. Popssible values are `BEGINS_WITH`, `CONTAINS`, `ENDS_WITH` and `EQUALS`.
*/
filter?: pulumi.Input<string>;
/**
* If `true`, filter errors by URL
*/
filterByUrl?: pulumi.Input<boolean>;
/**
* Include (`true`) or exclude (`false`) the error in Apdex calculation
*/
impactApdex?: pulumi.Input<boolean>;
/**
* The URL to look for
*/
url?: pulumi.Input<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: pulumi.Input<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: pulumi.Input<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: pulumi.Input<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: pulumi.Input<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: pulumi.Input<string>;
}
export interface AppsecNotificationEmailConfiguration {
/**
* BCC
*/
bccRecipients?: pulumi.Input<pulumi.Input<string>[]>;
/**
* CC
*/
ccRecipients?: pulumi.Input<pulumi.Input<string>[]>;
/**
* To
*/
recipients: pulumi.Input<pulumi.Input<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: pulumi.Input<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: pulumi.Input<string>;
/**
* The project key of the Jira issue to be created by this notification.
*/
projectKey: pulumi.Input<string>;
/**
* The URL of the Jira API endpoint.
*/
url: pulumi.Input<string>;
/**
* The username of the Jira profile.
*/
username: pulumi.Input<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: pulumi.Input<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: pulumi.Input<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: pulumi.Input<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: pulumi.Input<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: pulumi.Input<string>;
}
export interface AppsecNotificationWebhookConfiguration {
/**
* Accept any SSL certificate (including self-signed and invalid certificates)
*/
acceptAnyCertificate: pulumi.Input<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?: pulumi.Input<inputs.AppsecNotificationWebhookConfigurationHeaders>;
/**
* Webhook endpoint URL
*/
url: pulumi.Input<string>;
}
export interface AppsecNotificationWebhookConfigurationHeaders {
headers: pulumi.Input<pulumi.Input<inputs.AppsecNotificationWebhookConfigurationHeadersHeader>[]>;
}
export interface AppsecNotificationWebhookConfigurationHeadersHeader {
/**
* no documentation available
*/
name: pulumi.Input<string>;
/**
* Secret HTTP header value
*/
secret: pulumi.Input<boolean>;
/**
* The secret value of the HTTP header. May contain an empty value.
*/
secretValue?: pulumi.Input<string>;
/**
* The value of the HTTP header. May contain an empty value.
*/
value?: pulumi.Input<string>;
}
export interface AttackAllowlistAttackHandling {
/**
* Possible Values: `MONITOR`, `OFF`
*/
blockingStrategy: pulumi.Input<string>;
}
export interface AttackAllowlistCriteria {
/**
* Only consider attacks matching the specified pattern.
*/
attackPattern?: pulumi.Input<string>;
/**
* Source IP
*/
sourceIp?: pulumi.Input<string>;
}
export interface AttackAllowlistMetadata {
/**
* no documentation available
*/
comment: pulumi.Input<string>;
}
export interface AttackAllowlistResourceAttributeConditions {
resourceAttributeConditions: pulumi.Input<pulumi.Input<inputs.AttackAllowlistResourceAttributeConditionsResourceAttributeCondition>[]>;
}
export interface AttackAllowlistResourceAttributeConditionsResourceAttributeCondition {
/**
* Possible Values: `CONTAINS`, `DOES_NOT_CONTAIN`, `DOES_NOT_END_WITH`, `