securitymonitoringrule

package
v11.15.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 18, 2024 License: MPL-2.0 Imports: 7 Imported by: 0

README

datadog_security_monitoring_rule

Refer to the Terraform Registry for docs: datadog_security_monitoring_rule.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewSecurityMonitoringRuleCaseList_Override

func NewSecurityMonitoringRuleCaseList_Override(s SecurityMonitoringRuleCaseList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewSecurityMonitoringRuleCaseOutputReference_Override

func NewSecurityMonitoringRuleCaseOutputReference_Override(s SecurityMonitoringRuleCaseOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewSecurityMonitoringRuleFilterList_Override

func NewSecurityMonitoringRuleFilterList_Override(s SecurityMonitoringRuleFilterList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewSecurityMonitoringRuleFilterOutputReference_Override

func NewSecurityMonitoringRuleFilterOutputReference_Override(s SecurityMonitoringRuleFilterOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewSecurityMonitoringRuleOptionsImpossibleTravelOptionsOutputReference_Override

func NewSecurityMonitoringRuleOptionsImpossibleTravelOptionsOutputReference_Override(s SecurityMonitoringRuleOptionsImpossibleTravelOptionsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewSecurityMonitoringRuleOptionsNewValueOptionsOutputReference_Override

func NewSecurityMonitoringRuleOptionsNewValueOptionsOutputReference_Override(s SecurityMonitoringRuleOptionsNewValueOptionsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewSecurityMonitoringRuleOptionsOutputReference_Override

func NewSecurityMonitoringRuleOptionsOutputReference_Override(s SecurityMonitoringRuleOptionsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewSecurityMonitoringRuleOptionsThirdPartyRuleOptionsOutputReference_Override added in v11.2.0

func NewSecurityMonitoringRuleOptionsThirdPartyRuleOptionsOutputReference_Override(s SecurityMonitoringRuleOptionsThirdPartyRuleOptionsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewSecurityMonitoringRuleOptionsThirdPartyRuleOptionsRootQueryList_Override added in v11.2.0

func NewSecurityMonitoringRuleOptionsThirdPartyRuleOptionsRootQueryList_Override(s SecurityMonitoringRuleOptionsThirdPartyRuleOptionsRootQueryList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewSecurityMonitoringRuleOptionsThirdPartyRuleOptionsRootQueryOutputReference_Override added in v11.2.0

func NewSecurityMonitoringRuleOptionsThirdPartyRuleOptionsRootQueryOutputReference_Override(s SecurityMonitoringRuleOptionsThirdPartyRuleOptionsRootQueryOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewSecurityMonitoringRuleQueryAgentRuleList_Override

func NewSecurityMonitoringRuleQueryAgentRuleList_Override(s SecurityMonitoringRuleQueryAgentRuleList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewSecurityMonitoringRuleQueryAgentRuleOutputReference_Override

func NewSecurityMonitoringRuleQueryAgentRuleOutputReference_Override(s SecurityMonitoringRuleQueryAgentRuleOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewSecurityMonitoringRuleQueryList_Override

func NewSecurityMonitoringRuleQueryList_Override(s SecurityMonitoringRuleQueryList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewSecurityMonitoringRuleQueryOutputReference_Override

func NewSecurityMonitoringRuleQueryOutputReference_Override(s SecurityMonitoringRuleQueryOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewSecurityMonitoringRuleReferenceTablesList_Override added in v11.12.0

func NewSecurityMonitoringRuleReferenceTablesList_Override(s SecurityMonitoringRuleReferenceTablesList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewSecurityMonitoringRuleReferenceTablesOutputReference_Override added in v11.12.0

func NewSecurityMonitoringRuleReferenceTablesOutputReference_Override(s SecurityMonitoringRuleReferenceTablesOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewSecurityMonitoringRuleSignalQueryList_Override

func NewSecurityMonitoringRuleSignalQueryList_Override(s SecurityMonitoringRuleSignalQueryList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewSecurityMonitoringRuleSignalQueryOutputReference_Override

func NewSecurityMonitoringRuleSignalQueryOutputReference_Override(s SecurityMonitoringRuleSignalQueryOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewSecurityMonitoringRuleThirdPartyCaseList_Override added in v11.2.0

func NewSecurityMonitoringRuleThirdPartyCaseList_Override(s SecurityMonitoringRuleThirdPartyCaseList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewSecurityMonitoringRuleThirdPartyCaseOutputReference_Override added in v11.2.0

func NewSecurityMonitoringRuleThirdPartyCaseOutputReference_Override(s SecurityMonitoringRuleThirdPartyCaseOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewSecurityMonitoringRule_Override

func NewSecurityMonitoringRule_Override(s SecurityMonitoringRule, scope constructs.Construct, id *string, config *SecurityMonitoringRuleConfig)

Create a new {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule datadog_security_monitoring_rule} Resource.

func SecurityMonitoringRule_GenerateConfigForImport

func SecurityMonitoringRule_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, provider cdktf.TerraformProvider) cdktf.ImportableResource

Generates CDKTF code for importing a SecurityMonitoringRule resource upon running "cdktf plan <stack-name>".

func SecurityMonitoringRule_IsConstruct

func SecurityMonitoringRule_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func SecurityMonitoringRule_IsTerraformElement

func SecurityMonitoringRule_IsTerraformElement(x interface{}) *bool

Experimental.

func SecurityMonitoringRule_IsTerraformResource

func SecurityMonitoringRule_IsTerraformResource(x interface{}) *bool

Experimental.

func SecurityMonitoringRule_TfResourceType

func SecurityMonitoringRule_TfResourceType() *string

Types

type SecurityMonitoringRule

type SecurityMonitoringRule interface {
	cdktf.TerraformResource
	Case() SecurityMonitoringRuleCaseList
	CaseInput() interface{}
	// Experimental.
	CdktfStack() cdktf.TerraformStack
	// Experimental.
	Connection() interface{}
	// Experimental.
	SetConnection(val interface{})
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Count() interface{}
	// Experimental.
	SetCount(val interface{})
	// Experimental.
	DependsOn() *[]*string
	// Experimental.
	SetDependsOn(val *[]*string)
	Enabled() interface{}
	SetEnabled(val interface{})
	EnabledInput() interface{}
	Filter() SecurityMonitoringRuleFilterList
	FilterInput() interface{}
	// Experimental.
	ForEach() cdktf.ITerraformIterator
	// Experimental.
	SetForEach(val cdktf.ITerraformIterator)
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	HasExtendedTitle() interface{}
	SetHasExtendedTitle(val interface{})
	HasExtendedTitleInput() interface{}
	Id() *string
	SetId(val *string)
	IdInput() *string
	// Experimental.
	Lifecycle() *cdktf.TerraformResourceLifecycle
	// Experimental.
	SetLifecycle(val *cdktf.TerraformResourceLifecycle)
	Message() *string
	SetMessage(val *string)
	MessageInput() *string
	Name() *string
	SetName(val *string)
	NameInput() *string
	// The tree node.
	Node() constructs.Node
	Options() SecurityMonitoringRuleOptionsOutputReference
	OptionsInput() *SecurityMonitoringRuleOptions
	// Experimental.
	Provider() cdktf.TerraformProvider
	// Experimental.
	SetProvider(val cdktf.TerraformProvider)
	// Experimental.
	Provisioners() *[]interface{}
	// Experimental.
	SetProvisioners(val *[]interface{})
	Query() SecurityMonitoringRuleQueryList
	QueryInput() interface{}
	// Experimental.
	RawOverrides() interface{}
	ReferenceTables() SecurityMonitoringRuleReferenceTablesList
	ReferenceTablesInput() interface{}
	SignalQuery() SecurityMonitoringRuleSignalQueryList
	SignalQueryInput() interface{}
	Tags() *[]*string
	SetTags(val *[]*string)
	TagsInput() *[]*string
	// Experimental.
	TerraformGeneratorMetadata() *cdktf.TerraformProviderGeneratorMetadata
	// Experimental.
	TerraformMetaArguments() *map[string]interface{}
	// Experimental.
	TerraformResourceType() *string
	ThirdPartyCase() SecurityMonitoringRuleThirdPartyCaseList
	ThirdPartyCaseInput() interface{}
	Type() *string
	SetType(val *string)
	TypeInput() *string
	Validate() interface{}
	SetValidate(val interface{})
	ValidateInput() interface{}
	// Adds a user defined moveTarget string to this resource to be later used in .moveTo(moveTarget) to resolve the location of the move.
	// Experimental.
	AddMoveTarget(moveTarget *string)
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	HasResourceMove() interface{}
	// Experimental.
	ImportFrom(id *string, provider cdktf.TerraformProvider)
	// Experimental.
	InterpolationForAttribute(terraformAttribute *string) cdktf.IResolvable
	// Move the resource corresponding to "id" to this resource.
	//
	// Note that the resource being moved from must be marked as moved using it's instance function.
	// Experimental.
	MoveFromId(id *string)
	// Moves this resource to the target resource given by moveTarget.
	// Experimental.
	MoveTo(moveTarget *string, index interface{})
	// Moves this resource to the resource corresponding to "id".
	// Experimental.
	MoveToId(id *string)
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	PutCase(value interface{})
	PutFilter(value interface{})
	PutOptions(value *SecurityMonitoringRuleOptions)
	PutQuery(value interface{})
	PutReferenceTables(value interface{})
	PutSignalQuery(value interface{})
	PutThirdPartyCase(value interface{})
	ResetCase()
	ResetEnabled()
	ResetFilter()
	ResetHasExtendedTitle()
	ResetId()
	ResetOptions()
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	ResetQuery()
	ResetReferenceTables()
	ResetSignalQuery()
	ResetTags()
	ResetThirdPartyCase()
	ResetType()
	ResetValidate()
	SynthesizeAttributes() *map[string]interface{}
	SynthesizeHclAttributes() *map[string]interface{}
	// Experimental.
	ToHclTerraform() interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Represents a {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule datadog_security_monitoring_rule}.

func NewSecurityMonitoringRule

func NewSecurityMonitoringRule(scope constructs.Construct, id *string, config *SecurityMonitoringRuleConfig) SecurityMonitoringRule

Create a new {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule datadog_security_monitoring_rule} Resource.

type SecurityMonitoringRuleCase

type SecurityMonitoringRuleCase struct {
	// Severity of the Security Signal. Valid values are `info`, `low`, `medium`, `high`, `critical`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#status SecurityMonitoringRule#status}
	Status *string `field:"required" json:"status" yaml:"status"`
	// A rule case contains logical operations (`>`,`>=`, `&&`, `||`) to determine if a signal should be generated based on the event counts in the previously defined queries.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#condition SecurityMonitoringRule#condition}
	Condition *string `field:"optional" json:"condition" yaml:"condition"`
	// Name of the case.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#name SecurityMonitoringRule#name}
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Notification targets for each rule case.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#notifications SecurityMonitoringRule#notifications}
	Notifications *[]*string `field:"optional" json:"notifications" yaml:"notifications"`
}

type SecurityMonitoringRuleCaseList

type SecurityMonitoringRuleCaseList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Creating an iterator for this complex list.
	//
	// The list will be converted into a map with the mapKeyAttributeName as the key.
	// Experimental.
	AllWithMapKey(mapKeyAttributeName *string) cdktf.DynamicListTerraformIterator
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) SecurityMonitoringRuleCaseOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSecurityMonitoringRuleCaseList

func NewSecurityMonitoringRuleCaseList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) SecurityMonitoringRuleCaseList

type SecurityMonitoringRuleCaseOutputReference

type SecurityMonitoringRuleCaseOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	Condition() *string
	SetCondition(val *string)
	ConditionInput() *string
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	Name() *string
	SetName(val *string)
	NameInput() *string
	Notifications() *[]*string
	SetNotifications(val *[]*string)
	NotificationsInput() *[]*string
	Status() *string
	SetStatus(val *string)
	StatusInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetCondition()
	ResetName()
	ResetNotifications()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSecurityMonitoringRuleCaseOutputReference

func NewSecurityMonitoringRuleCaseOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) SecurityMonitoringRuleCaseOutputReference

type SecurityMonitoringRuleConfig

type SecurityMonitoringRuleConfig struct {
	// Experimental.
	Connection interface{} `field:"optional" json:"connection" yaml:"connection"`
	// Experimental.
	Count interface{} `field:"optional" json:"count" yaml:"count"`
	// Experimental.
	DependsOn *[]cdktf.ITerraformDependable `field:"optional" json:"dependsOn" yaml:"dependsOn"`
	// Experimental.
	ForEach cdktf.ITerraformIterator `field:"optional" json:"forEach" yaml:"forEach"`
	// Experimental.
	Lifecycle *cdktf.TerraformResourceLifecycle `field:"optional" json:"lifecycle" yaml:"lifecycle"`
	// Experimental.
	Provider cdktf.TerraformProvider `field:"optional" json:"provider" yaml:"provider"`
	// Experimental.
	Provisioners *[]interface{} `field:"optional" json:"provisioners" yaml:"provisioners"`
	// Message for generated signals.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#message SecurityMonitoringRule#message}
	Message *string `field:"required" json:"message" yaml:"message"`
	// The name of the rule.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#name SecurityMonitoringRule#name}
	Name *string `field:"required" json:"name" yaml:"name"`
	// case block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#case SecurityMonitoringRule#case}
	Case interface{} `field:"optional" json:"case" yaml:"case"`
	// Whether the rule is enabled. Defaults to `true`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#enabled SecurityMonitoringRule#enabled}
	Enabled interface{} `field:"optional" json:"enabled" yaml:"enabled"`
	// filter block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#filter SecurityMonitoringRule#filter}
	Filter interface{} `field:"optional" json:"filter" yaml:"filter"`
	// Whether the notifications include the triggering group-by values in their title. Defaults to `false`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#has_extended_title SecurityMonitoringRule#has_extended_title}
	HasExtendedTitle interface{} `field:"optional" json:"hasExtendedTitle" yaml:"hasExtendedTitle"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#id SecurityMonitoringRule#id}.
	//
	// Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
	// If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
	Id *string `field:"optional" json:"id" yaml:"id"`
	// options block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#options SecurityMonitoringRule#options}
	Options *SecurityMonitoringRuleOptions `field:"optional" json:"options" yaml:"options"`
	// query block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#query SecurityMonitoringRule#query}
	Query interface{} `field:"optional" json:"query" yaml:"query"`
	// reference_tables block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#reference_tables SecurityMonitoringRule#reference_tables}
	ReferenceTables interface{} `field:"optional" json:"referenceTables" yaml:"referenceTables"`
	// signal_query block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#signal_query SecurityMonitoringRule#signal_query}
	SignalQuery interface{} `field:"optional" json:"signalQuery" yaml:"signalQuery"`
	// Tags for generated signals.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#tags SecurityMonitoringRule#tags}
	Tags *[]*string `field:"optional" json:"tags" yaml:"tags"`
	// third_party_case block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#third_party_case SecurityMonitoringRule#third_party_case}
	ThirdPartyCase interface{} `field:"optional" json:"thirdPartyCase" yaml:"thirdPartyCase"`
	// The rule type. Valid values are `application_security`, `log_detection`, `workload_security`, `signal_correlation`. Defaults to `"log_detection"`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#type SecurityMonitoringRule#type}
	Type *string `field:"optional" json:"type" yaml:"type"`
	// Whether or not to validate the Rule.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#validate SecurityMonitoringRule#validate}
	Validate interface{} `field:"optional" json:"validate" yaml:"validate"`
}

type SecurityMonitoringRuleFilter

type SecurityMonitoringRuleFilter struct {
	// The type of filtering action. Valid values are `require`, `suppress`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#action SecurityMonitoringRule#action}
	Action *string `field:"required" json:"action" yaml:"action"`
	// Query for selecting logs to apply the filtering action.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#query SecurityMonitoringRule#query}
	Query *string `field:"required" json:"query" yaml:"query"`
}

type SecurityMonitoringRuleFilterList

type SecurityMonitoringRuleFilterList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Creating an iterator for this complex list.
	//
	// The list will be converted into a map with the mapKeyAttributeName as the key.
	// Experimental.
	AllWithMapKey(mapKeyAttributeName *string) cdktf.DynamicListTerraformIterator
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) SecurityMonitoringRuleFilterOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSecurityMonitoringRuleFilterList

func NewSecurityMonitoringRuleFilterList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) SecurityMonitoringRuleFilterList

type SecurityMonitoringRuleFilterOutputReference

type SecurityMonitoringRuleFilterOutputReference interface {
	cdktf.ComplexObject
	Action() *string
	SetAction(val *string)
	ActionInput() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	Query() *string
	SetQuery(val *string)
	QueryInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSecurityMonitoringRuleFilterOutputReference

func NewSecurityMonitoringRuleFilterOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) SecurityMonitoringRuleFilterOutputReference

type SecurityMonitoringRuleOptions

type SecurityMonitoringRuleOptions struct {
	// If true, signals in non-production environments have a lower severity than what is defined by the rule case, which can reduce noise.
	//
	// The decrement is applied when the environment tag of the signal starts with `staging`, `test`, or `dev`. Only available when the rule type is `log_detection`. Defaults to `false`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#decrease_criticality_based_on_env SecurityMonitoringRule#decrease_criticality_based_on_env}
	DecreaseCriticalityBasedOnEnv interface{} `field:"optional" json:"decreaseCriticalityBasedOnEnv" yaml:"decreaseCriticalityBasedOnEnv"`
	// The detection method. Valid values are `threshold`, `new_value`, `anomaly_detection`, `impossible_travel`, `hardcoded`, `third_party`, `anomaly_threshold`. Defaults to `"threshold"`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#detection_method SecurityMonitoringRule#detection_method}
	DetectionMethod *string `field:"optional" json:"detectionMethod" yaml:"detectionMethod"`
	// A time window is specified to match when at least one of the cases matches true.
	//
	// This is a sliding window and evaluates in real time. Valid values are `0`, `60`, `300`, `600`, `900`, `1800`, `3600`, `7200`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#evaluation_window SecurityMonitoringRule#evaluation_window}
	EvaluationWindow *float64 `field:"optional" json:"evaluationWindow" yaml:"evaluationWindow"`
	// impossible_travel_options block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#impossible_travel_options SecurityMonitoringRule#impossible_travel_options}
	ImpossibleTravelOptions *SecurityMonitoringRuleOptionsImpossibleTravelOptions `field:"optional" json:"impossibleTravelOptions" yaml:"impossibleTravelOptions"`
	// Once a signal is generated, the signal will remain “open” if a case is matched at least once within this keep alive window (in seconds).
	//
	// Valid values are `0`, `60`, `300`, `600`, `900`, `1800`, `3600`, `7200`, `10800`, `21600`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#keep_alive SecurityMonitoringRule#keep_alive}
	KeepAlive *float64 `field:"optional" json:"keepAlive" yaml:"keepAlive"`
	// A signal will “close” regardless of the query being matched once the time exceeds the maximum duration (in seconds).
	//
	// This time is calculated from the first seen timestamp. Valid values are `0`, `60`, `300`, `600`, `900`, `1800`, `3600`, `7200`, `10800`, `21600`, `43200`, `86400`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#max_signal_duration SecurityMonitoringRule#max_signal_duration}
	MaxSignalDuration *float64 `field:"optional" json:"maxSignalDuration" yaml:"maxSignalDuration"`
	// new_value_options block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#new_value_options SecurityMonitoringRule#new_value_options}
	NewValueOptions *SecurityMonitoringRuleOptionsNewValueOptions `field:"optional" json:"newValueOptions" yaml:"newValueOptions"`
	// third_party_rule_options block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#third_party_rule_options SecurityMonitoringRule#third_party_rule_options}
	ThirdPartyRuleOptions *SecurityMonitoringRuleOptionsThirdPartyRuleOptions `field:"optional" json:"thirdPartyRuleOptions" yaml:"thirdPartyRuleOptions"`
}

type SecurityMonitoringRuleOptionsImpossibleTravelOptions

type SecurityMonitoringRuleOptionsImpossibleTravelOptions struct {
	// If true, signals are suppressed for the first 24 hours.
	//
	// During that time, Datadog learns the user's regular access locations. This can be helpful to reduce noise and infer VPN usage or credentialed API access. Defaults to `false`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#baseline_user_locations SecurityMonitoringRule#baseline_user_locations}
	BaselineUserLocations interface{} `field:"optional" json:"baselineUserLocations" yaml:"baselineUserLocations"`
}

type SecurityMonitoringRuleOptionsImpossibleTravelOptionsOutputReference

type SecurityMonitoringRuleOptionsImpossibleTravelOptionsOutputReference interface {
	cdktf.ComplexObject
	BaselineUserLocations() interface{}
	SetBaselineUserLocations(val interface{})
	BaselineUserLocationsInput() interface{}
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *SecurityMonitoringRuleOptionsImpossibleTravelOptions
	SetInternalValue(val *SecurityMonitoringRuleOptionsImpossibleTravelOptions)
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetBaselineUserLocations()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSecurityMonitoringRuleOptionsImpossibleTravelOptionsOutputReference

func NewSecurityMonitoringRuleOptionsImpossibleTravelOptionsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) SecurityMonitoringRuleOptionsImpossibleTravelOptionsOutputReference

type SecurityMonitoringRuleOptionsNewValueOptions

type SecurityMonitoringRuleOptionsNewValueOptions struct {
	// The duration in days after which a learned value is forgotten.
	//
	// Valid values are `1`, `2`, `7`, `14`, `21`, `28`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#forget_after SecurityMonitoringRule#forget_after}
	ForgetAfter *float64 `field:"required" json:"forgetAfter" yaml:"forgetAfter"`
	// The duration in days during which values are learned, and after which signals will be generated for values that weren't learned.
	//
	// If set to 0, a signal will be generated for all new values after the first value is learned. Valid values are `0`, `1`, `7`. Defaults to `1`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#learning_duration SecurityMonitoringRule#learning_duration}
	LearningDuration *float64 `field:"optional" json:"learningDuration" yaml:"learningDuration"`
	// The learning method used to determine when signals should be generated for values that weren't learned.
	//
	// Valid values are `duration`, `threshold`. Defaults to `"duration"`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#learning_method SecurityMonitoringRule#learning_method}
	LearningMethod *string `field:"optional" json:"learningMethod" yaml:"learningMethod"`
	// A number of occurrences after which signals are generated for values that weren't learned.
	//
	// Valid values are `0`, `1`. Defaults to `0`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#learning_threshold SecurityMonitoringRule#learning_threshold}
	LearningThreshold *float64 `field:"optional" json:"learningThreshold" yaml:"learningThreshold"`
}

type SecurityMonitoringRuleOptionsNewValueOptionsOutputReference

type SecurityMonitoringRuleOptionsNewValueOptionsOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	ForgetAfter() *float64
	SetForgetAfter(val *float64)
	ForgetAfterInput() *float64
	// Experimental.
	Fqn() *string
	InternalValue() *SecurityMonitoringRuleOptionsNewValueOptions
	SetInternalValue(val *SecurityMonitoringRuleOptionsNewValueOptions)
	LearningDuration() *float64
	SetLearningDuration(val *float64)
	LearningDurationInput() *float64
	LearningMethod() *string
	SetLearningMethod(val *string)
	LearningMethodInput() *string
	LearningThreshold() *float64
	SetLearningThreshold(val *float64)
	LearningThresholdInput() *float64
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetLearningDuration()
	ResetLearningMethod()
	ResetLearningThreshold()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSecurityMonitoringRuleOptionsNewValueOptionsOutputReference

func NewSecurityMonitoringRuleOptionsNewValueOptionsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) SecurityMonitoringRuleOptionsNewValueOptionsOutputReference

type SecurityMonitoringRuleOptionsOutputReference

type SecurityMonitoringRuleOptionsOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DecreaseCriticalityBasedOnEnv() interface{}
	SetDecreaseCriticalityBasedOnEnv(val interface{})
	DecreaseCriticalityBasedOnEnvInput() interface{}
	DetectionMethod() *string
	SetDetectionMethod(val *string)
	DetectionMethodInput() *string
	EvaluationWindow() *float64
	SetEvaluationWindow(val *float64)
	EvaluationWindowInput() *float64
	// Experimental.
	Fqn() *string
	ImpossibleTravelOptions() SecurityMonitoringRuleOptionsImpossibleTravelOptionsOutputReference
	ImpossibleTravelOptionsInput() *SecurityMonitoringRuleOptionsImpossibleTravelOptions
	InternalValue() *SecurityMonitoringRuleOptions
	SetInternalValue(val *SecurityMonitoringRuleOptions)
	KeepAlive() *float64
	SetKeepAlive(val *float64)
	KeepAliveInput() *float64
	MaxSignalDuration() *float64
	SetMaxSignalDuration(val *float64)
	MaxSignalDurationInput() *float64
	NewValueOptions() SecurityMonitoringRuleOptionsNewValueOptionsOutputReference
	NewValueOptionsInput() *SecurityMonitoringRuleOptionsNewValueOptions
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	ThirdPartyRuleOptions() SecurityMonitoringRuleOptionsThirdPartyRuleOptionsOutputReference
	ThirdPartyRuleOptionsInput() *SecurityMonitoringRuleOptionsThirdPartyRuleOptions
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutImpossibleTravelOptions(value *SecurityMonitoringRuleOptionsImpossibleTravelOptions)
	PutNewValueOptions(value *SecurityMonitoringRuleOptionsNewValueOptions)
	PutThirdPartyRuleOptions(value *SecurityMonitoringRuleOptionsThirdPartyRuleOptions)
	ResetDecreaseCriticalityBasedOnEnv()
	ResetDetectionMethod()
	ResetEvaluationWindow()
	ResetImpossibleTravelOptions()
	ResetKeepAlive()
	ResetMaxSignalDuration()
	ResetNewValueOptions()
	ResetThirdPartyRuleOptions()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSecurityMonitoringRuleOptionsOutputReference

func NewSecurityMonitoringRuleOptionsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) SecurityMonitoringRuleOptionsOutputReference

type SecurityMonitoringRuleOptionsThirdPartyRuleOptions added in v11.2.0

type SecurityMonitoringRuleOptionsThirdPartyRuleOptions struct {
	// Severity of the default rule case, when none of the third-party cases match.
	//
	// Valid values are `info`, `low`, `medium`, `high`, `critical`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#default_status SecurityMonitoringRule#default_status}
	DefaultStatus *string `field:"required" json:"defaultStatus" yaml:"defaultStatus"`
	// root_query block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#root_query SecurityMonitoringRule#root_query}
	RootQuery interface{} `field:"required" json:"rootQuery" yaml:"rootQuery"`
	// Notification targets for the default rule case, when none of the third-party cases match.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#default_notifications SecurityMonitoringRule#default_notifications}
	DefaultNotifications *[]*string `field:"optional" json:"defaultNotifications" yaml:"defaultNotifications"`
	// A template for the signal title; if omitted, the title is generated based on the case name.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#signal_title_template SecurityMonitoringRule#signal_title_template}
	SignalTitleTemplate *string `field:"optional" json:"signalTitleTemplate" yaml:"signalTitleTemplate"`
}

type SecurityMonitoringRuleOptionsThirdPartyRuleOptionsOutputReference added in v11.2.0

type SecurityMonitoringRuleOptionsThirdPartyRuleOptionsOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DefaultNotifications() *[]*string
	SetDefaultNotifications(val *[]*string)
	DefaultNotificationsInput() *[]*string
	DefaultStatus() *string
	SetDefaultStatus(val *string)
	DefaultStatusInput() *string
	// Experimental.
	Fqn() *string
	InternalValue() *SecurityMonitoringRuleOptionsThirdPartyRuleOptions
	SetInternalValue(val *SecurityMonitoringRuleOptionsThirdPartyRuleOptions)
	RootQuery() SecurityMonitoringRuleOptionsThirdPartyRuleOptionsRootQueryList
	RootQueryInput() interface{}
	SignalTitleTemplate() *string
	SetSignalTitleTemplate(val *string)
	SignalTitleTemplateInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutRootQuery(value interface{})
	ResetDefaultNotifications()
	ResetSignalTitleTemplate()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSecurityMonitoringRuleOptionsThirdPartyRuleOptionsOutputReference added in v11.2.0

func NewSecurityMonitoringRuleOptionsThirdPartyRuleOptionsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) SecurityMonitoringRuleOptionsThirdPartyRuleOptionsOutputReference

type SecurityMonitoringRuleOptionsThirdPartyRuleOptionsRootQuery added in v11.2.0

type SecurityMonitoringRuleOptionsThirdPartyRuleOptionsRootQuery struct {
	// Query to filter logs.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#query SecurityMonitoringRule#query}
	Query *string `field:"required" json:"query" yaml:"query"`
	// Fields to group by. If empty, each log triggers a signal.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#group_by_fields SecurityMonitoringRule#group_by_fields}
	GroupByFields *[]*string `field:"optional" json:"groupByFields" yaml:"groupByFields"`
}

type SecurityMonitoringRuleOptionsThirdPartyRuleOptionsRootQueryList added in v11.2.0

type SecurityMonitoringRuleOptionsThirdPartyRuleOptionsRootQueryList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Creating an iterator for this complex list.
	//
	// The list will be converted into a map with the mapKeyAttributeName as the key.
	// Experimental.
	AllWithMapKey(mapKeyAttributeName *string) cdktf.DynamicListTerraformIterator
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) SecurityMonitoringRuleOptionsThirdPartyRuleOptionsRootQueryOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSecurityMonitoringRuleOptionsThirdPartyRuleOptionsRootQueryList added in v11.2.0

func NewSecurityMonitoringRuleOptionsThirdPartyRuleOptionsRootQueryList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) SecurityMonitoringRuleOptionsThirdPartyRuleOptionsRootQueryList

type SecurityMonitoringRuleOptionsThirdPartyRuleOptionsRootQueryOutputReference added in v11.2.0

type SecurityMonitoringRuleOptionsThirdPartyRuleOptionsRootQueryOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	GroupByFields() *[]*string
	SetGroupByFields(val *[]*string)
	GroupByFieldsInput() *[]*string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	Query() *string
	SetQuery(val *string)
	QueryInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetGroupByFields()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSecurityMonitoringRuleOptionsThirdPartyRuleOptionsRootQueryOutputReference added in v11.2.0

func NewSecurityMonitoringRuleOptionsThirdPartyRuleOptionsRootQueryOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) SecurityMonitoringRuleOptionsThirdPartyRuleOptionsRootQueryOutputReference

type SecurityMonitoringRuleQuery

type SecurityMonitoringRuleQuery struct {
	// Query to run on logs.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#query SecurityMonitoringRule#query}
	Query *string `field:"required" json:"query" yaml:"query"`
	// agent_rule block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#agent_rule SecurityMonitoringRule#agent_rule}
	AgentRule interface{} `field:"optional" json:"agentRule" yaml:"agentRule"`
	// The aggregation type.
	//
	// For Signal Correlation rules, it must be event_count. Valid values are `count`, `cardinality`, `sum`, `max`, `new_value`, `geo_data`, `event_count`, `none`. Defaults to `"count"`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#aggregation SecurityMonitoringRule#aggregation}
	Aggregation *string `field:"optional" json:"aggregation" yaml:"aggregation"`
	// Field for which the cardinality is measured. Sent as an array.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#distinct_fields SecurityMonitoringRule#distinct_fields}
	DistinctFields *[]*string `field:"optional" json:"distinctFields" yaml:"distinctFields"`
	// Fields to group by.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#group_by_fields SecurityMonitoringRule#group_by_fields}
	GroupByFields *[]*string `field:"optional" json:"groupByFields" yaml:"groupByFields"`
	// The target field to aggregate over when using the `sum`, `max`, or `geo_data` aggregations.
	//
	// **Deprecated.** Configure `metrics` instead. This attribute will be removed in the next major version of the provider.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#metric SecurityMonitoringRule#metric}
	Metric *string `field:"optional" json:"metric" yaml:"metric"`
	// Group of target fields to aggregate over when using the `sum`, `max`, `geo_data`, or `new_value` aggregations.
	//
	// The `sum`, `max`, and `geo_data` aggregations only accept one value in this list, whereas the `new_value` aggregation accepts up to five values.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#metrics SecurityMonitoringRule#metrics}
	Metrics *[]*string `field:"optional" json:"metrics" yaml:"metrics"`
	// Name of the query. Not compatible with `new_value` aggregations.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#name SecurityMonitoringRule#name}
	Name *string `field:"optional" json:"name" yaml:"name"`
}

type SecurityMonitoringRuleQueryAgentRule

type SecurityMonitoringRuleQueryAgentRule struct {
	// **Deprecated**. It won't be applied anymore.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#agent_rule_id SecurityMonitoringRule#agent_rule_id}
	AgentRuleId *string `field:"required" json:"agentRuleId" yaml:"agentRuleId"`
	// **Deprecated**. It won't be applied anymore.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#expression SecurityMonitoringRule#expression}
	Expression *string `field:"required" json:"expression" yaml:"expression"`
}

type SecurityMonitoringRuleQueryAgentRuleList

type SecurityMonitoringRuleQueryAgentRuleList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Creating an iterator for this complex list.
	//
	// The list will be converted into a map with the mapKeyAttributeName as the key.
	// Experimental.
	AllWithMapKey(mapKeyAttributeName *string) cdktf.DynamicListTerraformIterator
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) SecurityMonitoringRuleQueryAgentRuleOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSecurityMonitoringRuleQueryAgentRuleList

func NewSecurityMonitoringRuleQueryAgentRuleList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) SecurityMonitoringRuleQueryAgentRuleList

type SecurityMonitoringRuleQueryAgentRuleOutputReference

type SecurityMonitoringRuleQueryAgentRuleOutputReference interface {
	cdktf.ComplexObject
	AgentRuleId() *string
	SetAgentRuleId(val *string)
	AgentRuleIdInput() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	Expression() *string
	SetExpression(val *string)
	ExpressionInput() *string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSecurityMonitoringRuleQueryAgentRuleOutputReference

func NewSecurityMonitoringRuleQueryAgentRuleOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) SecurityMonitoringRuleQueryAgentRuleOutputReference

type SecurityMonitoringRuleQueryList

type SecurityMonitoringRuleQueryList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Creating an iterator for this complex list.
	//
	// The list will be converted into a map with the mapKeyAttributeName as the key.
	// Experimental.
	AllWithMapKey(mapKeyAttributeName *string) cdktf.DynamicListTerraformIterator
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) SecurityMonitoringRuleQueryOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSecurityMonitoringRuleQueryList

func NewSecurityMonitoringRuleQueryList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) SecurityMonitoringRuleQueryList

type SecurityMonitoringRuleQueryOutputReference

type SecurityMonitoringRuleQueryOutputReference interface {
	cdktf.ComplexObject
	AgentRule() SecurityMonitoringRuleQueryAgentRuleList
	AgentRuleInput() interface{}
	Aggregation() *string
	SetAggregation(val *string)
	AggregationInput() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DistinctFields() *[]*string
	SetDistinctFields(val *[]*string)
	DistinctFieldsInput() *[]*string
	// Experimental.
	Fqn() *string
	GroupByFields() *[]*string
	SetGroupByFields(val *[]*string)
	GroupByFieldsInput() *[]*string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	Metric() *string
	SetMetric(val *string)
	MetricInput() *string
	Metrics() *[]*string
	SetMetrics(val *[]*string)
	MetricsInput() *[]*string
	Name() *string
	SetName(val *string)
	NameInput() *string
	Query() *string
	SetQuery(val *string)
	QueryInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutAgentRule(value interface{})
	ResetAgentRule()
	ResetAggregation()
	ResetDistinctFields()
	ResetGroupByFields()
	ResetMetric()
	ResetMetrics()
	ResetName()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSecurityMonitoringRuleQueryOutputReference

func NewSecurityMonitoringRuleQueryOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) SecurityMonitoringRuleQueryOutputReference

type SecurityMonitoringRuleReferenceTables added in v11.12.0

type SecurityMonitoringRuleReferenceTables struct {
	// Whether to include or exclude logs that match the reference table.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#check_presence SecurityMonitoringRule#check_presence}
	CheckPresence interface{} `field:"required" json:"checkPresence" yaml:"checkPresence"`
	// The name of the column in the reference table.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#column_name SecurityMonitoringRule#column_name}
	ColumnName *string `field:"required" json:"columnName" yaml:"columnName"`
	// The field in the log that should be matched against the reference table.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#log_field_path SecurityMonitoringRule#log_field_path}
	LogFieldPath *string `field:"required" json:"logFieldPath" yaml:"logFieldPath"`
	// The name of the query to filter.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#rule_query_name SecurityMonitoringRule#rule_query_name}
	RuleQueryName *string `field:"required" json:"ruleQueryName" yaml:"ruleQueryName"`
	// The name of the reference table.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#table_name SecurityMonitoringRule#table_name}
	TableName *string `field:"required" json:"tableName" yaml:"tableName"`
}

type SecurityMonitoringRuleReferenceTablesList added in v11.12.0

type SecurityMonitoringRuleReferenceTablesList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Creating an iterator for this complex list.
	//
	// The list will be converted into a map with the mapKeyAttributeName as the key.
	// Experimental.
	AllWithMapKey(mapKeyAttributeName *string) cdktf.DynamicListTerraformIterator
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) SecurityMonitoringRuleReferenceTablesOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSecurityMonitoringRuleReferenceTablesList added in v11.12.0

func NewSecurityMonitoringRuleReferenceTablesList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) SecurityMonitoringRuleReferenceTablesList

type SecurityMonitoringRuleReferenceTablesOutputReference added in v11.12.0

type SecurityMonitoringRuleReferenceTablesOutputReference interface {
	cdktf.ComplexObject
	CheckPresence() interface{}
	SetCheckPresence(val interface{})
	CheckPresenceInput() interface{}
	ColumnName() *string
	SetColumnName(val *string)
	ColumnNameInput() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	LogFieldPath() *string
	SetLogFieldPath(val *string)
	LogFieldPathInput() *string
	RuleQueryName() *string
	SetRuleQueryName(val *string)
	RuleQueryNameInput() *string
	TableName() *string
	SetTableName(val *string)
	TableNameInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSecurityMonitoringRuleReferenceTablesOutputReference added in v11.12.0

func NewSecurityMonitoringRuleReferenceTablesOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) SecurityMonitoringRuleReferenceTablesOutputReference

type SecurityMonitoringRuleSignalQuery

type SecurityMonitoringRuleSignalQuery struct {
	// Rule ID of the signal to correlate.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#rule_id SecurityMonitoringRule#rule_id}
	RuleId *string `field:"required" json:"ruleId" yaml:"ruleId"`
	// The aggregation type.
	//
	// For Signal Correlation rules, it must be event_count. Valid values are `count`, `cardinality`, `sum`, `max`, `new_value`, `geo_data`, `event_count`, `none`. Defaults to `"event_count"`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#aggregation SecurityMonitoringRule#aggregation}
	Aggregation *string `field:"optional" json:"aggregation" yaml:"aggregation"`
	// Fields to correlate by.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#correlated_by_fields SecurityMonitoringRule#correlated_by_fields}
	CorrelatedByFields *[]*string `field:"optional" json:"correlatedByFields" yaml:"correlatedByFields"`
	// Index of the rule query used to retrieve the correlated field.
	//
	// An empty string applies correlation on the non-projected per query attributes of the rule. Defaults to `""`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#correlated_query_index SecurityMonitoringRule#correlated_query_index}
	CorrelatedQueryIndex *string `field:"optional" json:"correlatedQueryIndex" yaml:"correlatedQueryIndex"`
	// Default Rule ID of the signal to correlate. This value is READ-ONLY.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#default_rule_id SecurityMonitoringRule#default_rule_id}
	DefaultRuleId *string `field:"optional" json:"defaultRuleId" yaml:"defaultRuleId"`
	// Name of the query. Not compatible with `new_value` aggregations.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#name SecurityMonitoringRule#name}
	Name *string `field:"optional" json:"name" yaml:"name"`
}

type SecurityMonitoringRuleSignalQueryList

type SecurityMonitoringRuleSignalQueryList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Creating an iterator for this complex list.
	//
	// The list will be converted into a map with the mapKeyAttributeName as the key.
	// Experimental.
	AllWithMapKey(mapKeyAttributeName *string) cdktf.DynamicListTerraformIterator
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) SecurityMonitoringRuleSignalQueryOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSecurityMonitoringRuleSignalQueryList

func NewSecurityMonitoringRuleSignalQueryList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) SecurityMonitoringRuleSignalQueryList

type SecurityMonitoringRuleSignalQueryOutputReference

type SecurityMonitoringRuleSignalQueryOutputReference interface {
	cdktf.ComplexObject
	Aggregation() *string
	SetAggregation(val *string)
	AggregationInput() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	CorrelatedByFields() *[]*string
	SetCorrelatedByFields(val *[]*string)
	CorrelatedByFieldsInput() *[]*string
	CorrelatedQueryIndex() *string
	SetCorrelatedQueryIndex(val *string)
	CorrelatedQueryIndexInput() *string
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DefaultRuleId() *string
	SetDefaultRuleId(val *string)
	DefaultRuleIdInput() *string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	Name() *string
	SetName(val *string)
	NameInput() *string
	RuleId() *string
	SetRuleId(val *string)
	RuleIdInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetAggregation()
	ResetCorrelatedByFields()
	ResetCorrelatedQueryIndex()
	ResetDefaultRuleId()
	ResetName()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSecurityMonitoringRuleSignalQueryOutputReference

func NewSecurityMonitoringRuleSignalQueryOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) SecurityMonitoringRuleSignalQueryOutputReference

type SecurityMonitoringRuleThirdPartyCase added in v11.2.0

type SecurityMonitoringRuleThirdPartyCase struct {
	// Severity of the Security Signal. Valid values are `info`, `low`, `medium`, `high`, `critical`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#status SecurityMonitoringRule#status}
	Status *string `field:"required" json:"status" yaml:"status"`
	// Name of the case.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#name SecurityMonitoringRule#name}
	Name *string `field:"optional" json:"name" yaml:"name"`
	// Notification targets for each rule case.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#notifications SecurityMonitoringRule#notifications}
	Notifications *[]*string `field:"optional" json:"notifications" yaml:"notifications"`
	// A query to associate a third-party event to this case.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.50.0/docs/resources/security_monitoring_rule#query SecurityMonitoringRule#query}
	Query *string `field:"optional" json:"query" yaml:"query"`
}

type SecurityMonitoringRuleThirdPartyCaseList added in v11.2.0

type SecurityMonitoringRuleThirdPartyCaseList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Creating an iterator for this complex list.
	//
	// The list will be converted into a map with the mapKeyAttributeName as the key.
	// Experimental.
	AllWithMapKey(mapKeyAttributeName *string) cdktf.DynamicListTerraformIterator
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) SecurityMonitoringRuleThirdPartyCaseOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSecurityMonitoringRuleThirdPartyCaseList added in v11.2.0

func NewSecurityMonitoringRuleThirdPartyCaseList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) SecurityMonitoringRuleThirdPartyCaseList

type SecurityMonitoringRuleThirdPartyCaseOutputReference added in v11.2.0

type SecurityMonitoringRuleThirdPartyCaseOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	Name() *string
	SetName(val *string)
	NameInput() *string
	Notifications() *[]*string
	SetNotifications(val *[]*string)
	NotificationsInput() *[]*string
	Query() *string
	SetQuery(val *string)
	QueryInput() *string
	Status() *string
	SetStatus(val *string)
	StatusInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetName()
	ResetNotifications()
	ResetQuery()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewSecurityMonitoringRuleThirdPartyCaseOutputReference added in v11.2.0

func NewSecurityMonitoringRuleThirdPartyCaseOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) SecurityMonitoringRuleThirdPartyCaseOutputReference

Source Files

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL