servicelevelobjective

package
v9.0.1 Latest Latest
Warning

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

Go to latest
Published: Sep 13, 2023 License: MPL-2.0 Imports: 7 Imported by: 0

README

datadog_service_level_objective

Refer to the Terraform Registory for docs: datadog_service_level_objective.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewServiceLevelObjectiveQueryOutputReference_Override

func NewServiceLevelObjectiveQueryOutputReference_Override(s ServiceLevelObjectiveQueryOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewServiceLevelObjectiveThresholdsList_Override

func NewServiceLevelObjectiveThresholdsList_Override(s ServiceLevelObjectiveThresholdsList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewServiceLevelObjectiveThresholdsOutputReference_Override

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

func NewServiceLevelObjective_Override

func NewServiceLevelObjective_Override(s ServiceLevelObjective, scope constructs.Construct, id *string, config *ServiceLevelObjectiveConfig)

Create a new {@link https://registry.terraform.io/providers/datadog/datadog/3.30.0/docs/resources/service_level_objective datadog_service_level_objective} Resource.

func ServiceLevelObjective_IsConstruct

func ServiceLevelObjective_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 ServiceLevelObjective_IsTerraformElement

func ServiceLevelObjective_IsTerraformElement(x interface{}) *bool

Experimental.

func ServiceLevelObjective_IsTerraformResource

func ServiceLevelObjective_IsTerraformResource(x interface{}) *bool

Experimental.

func ServiceLevelObjective_TfResourceType

func ServiceLevelObjective_TfResourceType() *string

Types

type ServiceLevelObjective

type ServiceLevelObjective interface {
	cdktf.TerraformResource
	// 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)
	Description() *string
	SetDescription(val *string)
	DescriptionInput() *string
	ForceDelete() interface{}
	SetForceDelete(val interface{})
	ForceDeleteInput() interface{}
	// Experimental.
	ForEach() cdktf.ITerraformIterator
	// Experimental.
	SetForEach(val cdktf.ITerraformIterator)
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	Groups() *[]*string
	SetGroups(val *[]*string)
	GroupsInput() *[]*string
	Id() *string
	SetId(val *string)
	IdInput() *string
	// Experimental.
	Lifecycle() *cdktf.TerraformResourceLifecycle
	// Experimental.
	SetLifecycle(val *cdktf.TerraformResourceLifecycle)
	MonitorIds() *[]*float64
	SetMonitorIds(val *[]*float64)
	MonitorIdsInput() *[]*float64
	Name() *string
	SetName(val *string)
	NameInput() *string
	// The tree node.
	Node() constructs.Node
	// Experimental.
	Provider() cdktf.TerraformProvider
	// Experimental.
	SetProvider(val cdktf.TerraformProvider)
	// Experimental.
	Provisioners() *[]interface{}
	// Experimental.
	SetProvisioners(val *[]interface{})
	Query() ServiceLevelObjectiveQueryOutputReference
	QueryInput() *ServiceLevelObjectiveQuery
	// Experimental.
	RawOverrides() interface{}
	Tags() *[]*string
	SetTags(val *[]*string)
	TagsInput() *[]*string
	TargetThreshold() *float64
	SetTargetThreshold(val *float64)
	TargetThresholdInput() *float64
	// Experimental.
	TerraformGeneratorMetadata() *cdktf.TerraformProviderGeneratorMetadata
	// Experimental.
	TerraformMetaArguments() *map[string]interface{}
	// Experimental.
	TerraformResourceType() *string
	Thresholds() ServiceLevelObjectiveThresholdsList
	ThresholdsInput() interface{}
	Timeframe() *string
	SetTimeframe(val *string)
	TimeframeInput() *string
	Type() *string
	SetType(val *string)
	TypeInput() *string
	Validate() interface{}
	SetValidate(val interface{})
	ValidateInput() interface{}
	WarningThreshold() *float64
	SetWarningThreshold(val *float64)
	WarningThresholdInput() *float64
	// 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.
	InterpolationForAttribute(terraformAttribute *string) cdktf.IResolvable
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	PutQuery(value *ServiceLevelObjectiveQuery)
	PutThresholds(value interface{})
	ResetDescription()
	ResetForceDelete()
	ResetGroups()
	ResetId()
	ResetMonitorIds()
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	ResetQuery()
	ResetTags()
	ResetTargetThreshold()
	ResetTimeframe()
	ResetValidate()
	ResetWarningThreshold()
	SynthesizeAttributes() *map[string]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.30.0/docs/resources/service_level_objective datadog_service_level_objective}.

func NewServiceLevelObjective

func NewServiceLevelObjective(scope constructs.Construct, id *string, config *ServiceLevelObjectiveConfig) ServiceLevelObjective

Create a new {@link https://registry.terraform.io/providers/datadog/datadog/3.30.0/docs/resources/service_level_objective datadog_service_level_objective} Resource.

type ServiceLevelObjectiveConfig

type ServiceLevelObjectiveConfig 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"`
	// Name of Datadog service level objective.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.30.0/docs/resources/service_level_objective#name ServiceLevelObjective#name}
	Name *string `field:"required" json:"name" yaml:"name"`
	// thresholds block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.30.0/docs/resources/service_level_objective#thresholds ServiceLevelObjective#thresholds}
	Thresholds interface{} `field:"required" json:"thresholds" yaml:"thresholds"`
	// The type of the service level objective.
	//
	// The mapping from these types to the types found in the Datadog Web UI can be found in the Datadog API [documentation page](https://docs.datadoghq.com/api/v1/service-level-objectives/#create-a-slo-object). Valid values are `metric`, `monitor`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.30.0/docs/resources/service_level_objective#type ServiceLevelObjective#type}
	Type *string `field:"required" json:"type" yaml:"type"`
	// A description of this service level objective.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.30.0/docs/resources/service_level_objective#description ServiceLevelObjective#description}
	Description *string `field:"optional" json:"description" yaml:"description"`
	// A boolean indicating whether this monitor can be deleted even if it's referenced by other resources (for example, dashboards).
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.30.0/docs/resources/service_level_objective#force_delete ServiceLevelObjective#force_delete}
	ForceDelete interface{} `field:"optional" json:"forceDelete" yaml:"forceDelete"`
	// A static set of groups to filter monitor-based SLOs.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.30.0/docs/resources/service_level_objective#groups ServiceLevelObjective#groups}
	Groups *[]*string `field:"optional" json:"groups" yaml:"groups"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.30.0/docs/resources/service_level_objective#id ServiceLevelObjective#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"`
	// A static set of monitor IDs to use as part of the SLO.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.30.0/docs/resources/service_level_objective#monitor_ids ServiceLevelObjective#monitor_ids}
	MonitorIds *[]*float64 `field:"optional" json:"monitorIds" yaml:"monitorIds"`
	// query block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.30.0/docs/resources/service_level_objective#query ServiceLevelObjective#query}
	Query *ServiceLevelObjectiveQuery `field:"optional" json:"query" yaml:"query"`
	// A list of tags to associate with your service level objective.
	//
	// This can help you categorize and filter service level objectives in the service level objectives page of the UI. Note: it's not currently possible to filter by these tags when querying via the API
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.30.0/docs/resources/service_level_objective#tags ServiceLevelObjective#tags}
	Tags *[]*string `field:"optional" json:"tags" yaml:"tags"`
	// The objective's target in `(0,100)`. This must match the corresponding thresholds of the primary time frame.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.30.0/docs/resources/service_level_objective#target_threshold ServiceLevelObjective#target_threshold}
	TargetThreshold *float64 `field:"optional" json:"targetThreshold" yaml:"targetThreshold"`
	// The primary time frame for the objective.
	//
	// The mapping from these types to the types found in the Datadog Web UI can be found in the Datadog API documentation page. Valid values are `7d`, `30d`, `90d`, `custom`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.30.0/docs/resources/service_level_objective#timeframe ServiceLevelObjective#timeframe}
	Timeframe *string `field:"optional" json:"timeframe" yaml:"timeframe"`
	// Whether or not to validate the SLO.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.30.0/docs/resources/service_level_objective#validate ServiceLevelObjective#validate}
	Validate interface{} `field:"optional" json:"validate" yaml:"validate"`
	// The objective's warning value in `(0,100)`.
	//
	// This must be greater than the target value and match the corresponding thresholds of the primary time frame.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.30.0/docs/resources/service_level_objective#warning_threshold ServiceLevelObjective#warning_threshold}
	WarningThreshold *float64 `field:"optional" json:"warningThreshold" yaml:"warningThreshold"`
}

type ServiceLevelObjectiveQuery

type ServiceLevelObjectiveQuery struct {
	// The sum of the `total` events.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.30.0/docs/resources/service_level_objective#denominator ServiceLevelObjective#denominator}
	Denominator *string `field:"required" json:"denominator" yaml:"denominator"`
	// The sum of all the `good` events.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.30.0/docs/resources/service_level_objective#numerator ServiceLevelObjective#numerator}
	Numerator *string `field:"required" json:"numerator" yaml:"numerator"`
}

type ServiceLevelObjectiveQueryOutputReference

type ServiceLevelObjectiveQueryOutputReference 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
	Denominator() *string
	SetDenominator(val *string)
	DenominatorInput() *string
	// Experimental.
	Fqn() *string
	InternalValue() *ServiceLevelObjectiveQuery
	SetInternalValue(val *ServiceLevelObjectiveQuery)
	Numerator() *string
	SetNumerator(val *string)
	NumeratorInput() *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 NewServiceLevelObjectiveQueryOutputReference

func NewServiceLevelObjectiveQueryOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) ServiceLevelObjectiveQueryOutputReference

type ServiceLevelObjectiveThresholds

type ServiceLevelObjectiveThresholds struct {
	// The objective's target in `(0,100)`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.30.0/docs/resources/service_level_objective#target ServiceLevelObjective#target}
	Target *float64 `field:"required" json:"target" yaml:"target"`
	// The time frame for the objective.
	//
	// The mapping from these types to the types found in the Datadog Web UI can be found in the Datadog API documentation page. Valid values are `7d`, `30d`, `90d`, `custom`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.30.0/docs/resources/service_level_objective#timeframe ServiceLevelObjective#timeframe}
	Timeframe *string `field:"required" json:"timeframe" yaml:"timeframe"`
	// The objective's warning value in `(0,100)`. This must be greater than the target value.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/datadog/datadog/3.30.0/docs/resources/service_level_objective#warning ServiceLevelObjective#warning}
	Warning *float64 `field:"optional" json:"warning" yaml:"warning"`
}

type ServiceLevelObjectiveThresholdsList

type ServiceLevelObjectiveThresholdsList 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)
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) ServiceLevelObjectiveThresholdsOutputReference
	// 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 NewServiceLevelObjectiveThresholdsList

func NewServiceLevelObjectiveThresholdsList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) ServiceLevelObjectiveThresholdsList

type ServiceLevelObjectiveThresholdsOutputReference

type ServiceLevelObjectiveThresholdsOutputReference 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{})
	Target() *float64
	SetTarget(val *float64)
	TargetDisplay() *string
	TargetInput() *float64
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	Timeframe() *string
	SetTimeframe(val *string)
	TimeframeInput() *string
	Warning() *float64
	SetWarning(val *float64)
	WarningDisplay() *string
	WarningInput() *float64
	// 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
	ResetWarning()
	// 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 NewServiceLevelObjectiveThresholdsOutputReference

func NewServiceLevelObjectiveThresholdsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) ServiceLevelObjectiveThresholdsOutputReference

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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