awsaps

package
v2.226.0 Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2025 License: Apache-2.0 Imports: 9 Imported by: 1

README

AWS::APS Construct Library

This module is part of the AWS Cloud Development Kit project.

import aps "github.com/aws/aws-cdk-go/awscdk"

There are no official hand-written (L2) constructs for this service yet. Here are some suggestions on how to proceed:

There are no hand-written (L2) constructs for this service yet. However, you can still use the automatically generated L1 constructs, and use this service exactly as you would using CloudFormation directly.

For more information on the resources and properties available for this service, see the CloudFormation documentation for AWS::APS.

(Read the CDK Contributing Guide and submit an RFC if you are interested in contributing to this construct library.)

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CfnAnomalyDetector_CFN_RESOURCE_TYPE_NAME added in v2.221.0

func CfnAnomalyDetector_CFN_RESOURCE_TYPE_NAME() *string

func CfnAnomalyDetector_IsCfnElement added in v2.221.0

func CfnAnomalyDetector_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnAnomalyDetector_IsCfnResource added in v2.221.0

func CfnAnomalyDetector_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnAnomalyDetector_IsConstruct added in v2.221.0

func CfnAnomalyDetector_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 CfnResourcePolicy_CFN_RESOURCE_TYPE_NAME added in v2.214.0

func CfnResourcePolicy_CFN_RESOURCE_TYPE_NAME() *string

func CfnResourcePolicy_IsCfnElement added in v2.214.0

func CfnResourcePolicy_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnResourcePolicy_IsCfnResource added in v2.214.0

func CfnResourcePolicy_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnResourcePolicy_IsConstruct added in v2.214.0

func CfnResourcePolicy_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 CfnRuleGroupsNamespace_CFN_RESOURCE_TYPE_NAME

func CfnRuleGroupsNamespace_CFN_RESOURCE_TYPE_NAME() *string

func CfnRuleGroupsNamespace_IsCfnElement

func CfnRuleGroupsNamespace_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnRuleGroupsNamespace_IsCfnResource

func CfnRuleGroupsNamespace_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnRuleGroupsNamespace_IsConstruct

func CfnRuleGroupsNamespace_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 CfnScraper_CFN_RESOURCE_TYPE_NAME added in v2.135.0

func CfnScraper_CFN_RESOURCE_TYPE_NAME() *string

func CfnScraper_IsCfnElement added in v2.135.0

func CfnScraper_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnScraper_IsCfnResource added in v2.135.0

func CfnScraper_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnScraper_IsConstruct added in v2.135.0

func CfnScraper_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 CfnWorkspace_CFN_RESOURCE_TYPE_NAME

func CfnWorkspace_CFN_RESOURCE_TYPE_NAME() *string

func CfnWorkspace_IsCfnElement

func CfnWorkspace_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnWorkspace_IsCfnResource

func CfnWorkspace_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnWorkspace_IsConstruct

func CfnWorkspace_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 NewCfnAnomalyDetector_Override added in v2.221.0

func NewCfnAnomalyDetector_Override(c CfnAnomalyDetector, scope constructs.Construct, id *string, props *CfnAnomalyDetectorProps)

Create a new `AWS::APS::AnomalyDetector`.

func NewCfnResourcePolicy_Override added in v2.214.0

func NewCfnResourcePolicy_Override(c CfnResourcePolicy, scope constructs.Construct, id *string, props *CfnResourcePolicyProps)

Create a new `AWS::APS::ResourcePolicy`.

func NewCfnRuleGroupsNamespace_Override

func NewCfnRuleGroupsNamespace_Override(c CfnRuleGroupsNamespace, scope constructs.Construct, id *string, props *CfnRuleGroupsNamespaceProps)

Create a new `AWS::APS::RuleGroupsNamespace`.

func NewCfnScraper_Override added in v2.135.0

func NewCfnScraper_Override(c CfnScraper, scope constructs.Construct, id *string, props *CfnScraperProps)

Create a new `AWS::APS::Scraper`.

func NewCfnWorkspace_Override

func NewCfnWorkspace_Override(c CfnWorkspace, scope constructs.Construct, id *string, props *CfnWorkspaceProps)

Create a new `AWS::APS::Workspace`.

Types

type CfnAnomalyDetector added in v2.221.0

type CfnAnomalyDetector interface {
	awscdk.CfnResource
	awscdk.IInspectable
	interfacesawsaps.IAnomalyDetectorRef
	awscdk.ITaggableV2
	// The user-friendly name of the anomaly detector.
	Alias() *string
	SetAlias(val *string)
	// A reference to a AnomalyDetector resource.
	AnomalyDetectorRef() *interfacesawsaps.AnomalyDetectorReference
	// The Amazon Resource Name (ARN) of the anomaly detector.
	AttrArn() *string
	// Tag Manager which manages the tags for this resource.
	CdkTagManager() awscdk.TagManager
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// The algorithm configuration of the anomaly detector.
	Configuration() interface{}
	SetConfiguration(val interface{})
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	Env() *interfaces.ResourceEnvironment
	// The frequency, in seconds, at which the anomaly detector evaluates metrics.
	EvaluationIntervalInSeconds() *float64
	SetEvaluationIntervalInSeconds(val *float64)
	// The Amazon Managed Service for Prometheus metric labels associated with the anomaly detector.
	Labels() interface{}
	SetLabels(val interface{})
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The action taken when data is missing during evaluation.
	MissingDataAction() interface{}
	SetMissingDataAction(val interface{})
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// The tags applied to the anomaly detector.
	Tags() *[]*awscdk.CfnTag
	SetTags(val *[]*awscdk.CfnTag)
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// An Amazon Managed Service for Prometheus workspace is a logical and isolated Prometheus server dedicated to ingesting, storing, and querying your Prometheus-compatible metrics.
	Workspace() *string
	SetWorkspace(val *string)
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

Anomaly detection uses the Random Cut Forest algorithm for time-series analysis.

The anomaly detector analyzes Amazon Managed Service for Prometheus metrics to identify unusual patterns and behaviors.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnAnomalyDetector := awscdk.Aws_aps.NewCfnAnomalyDetector(this, jsii.String("MyCfnAnomalyDetector"), &CfnAnomalyDetectorProps{
	Alias: jsii.String("alias"),
	Configuration: &AnomalyDetectorConfigurationProperty{
		RandomCutForest: &RandomCutForestConfigurationProperty{
			Query: jsii.String("query"),

			// the properties below are optional
			IgnoreNearExpectedFromAbove: &IgnoreNearExpectedProperty{
				Amount: jsii.Number(123),
				Ratio: jsii.Number(123),
			},
			IgnoreNearExpectedFromBelow: &IgnoreNearExpectedProperty{
				Amount: jsii.Number(123),
				Ratio: jsii.Number(123),
			},
			SampleSize: jsii.Number(123),
			ShingleSize: jsii.Number(123),
		},
	},
	Workspace: jsii.String("workspace"),

	// the properties below are optional
	EvaluationIntervalInSeconds: jsii.Number(123),
	Labels: []interface{}{
		&LabelProperty{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	MissingDataAction: &MissingDataActionProperty{
		MarkAsAnomaly: jsii.Boolean(false),
		Skip: jsii.Boolean(false),
	},
	Tags: []CfnTag{
		&CfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-anomalydetector.html

func NewCfnAnomalyDetector added in v2.221.0

func NewCfnAnomalyDetector(scope constructs.Construct, id *string, props *CfnAnomalyDetectorProps) CfnAnomalyDetector

Create a new `AWS::APS::AnomalyDetector`.

type CfnAnomalyDetectorProps added in v2.221.0

type CfnAnomalyDetectorProps struct {
	// The user-friendly name of the anomaly detector.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-anomalydetector.html#cfn-aps-anomalydetector-alias
	//
	Alias *string `field:"required" json:"alias" yaml:"alias"`
	// The algorithm configuration of the anomaly detector.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-anomalydetector.html#cfn-aps-anomalydetector-configuration
	//
	Configuration interface{} `field:"required" json:"configuration" yaml:"configuration"`
	// An Amazon Managed Service for Prometheus workspace is a logical and isolated Prometheus server dedicated to ingesting, storing, and querying your Prometheus-compatible metrics.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-anomalydetector.html#cfn-aps-anomalydetector-workspace
	//
	Workspace *string `field:"required" json:"workspace" yaml:"workspace"`
	// The frequency, in seconds, at which the anomaly detector evaluates metrics.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-anomalydetector.html#cfn-aps-anomalydetector-evaluationintervalinseconds
	//
	// Default: - 60.
	//
	EvaluationIntervalInSeconds *float64 `field:"optional" json:"evaluationIntervalInSeconds" yaml:"evaluationIntervalInSeconds"`
	// The Amazon Managed Service for Prometheus metric labels associated with the anomaly detector.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-anomalydetector.html#cfn-aps-anomalydetector-labels
	//
	Labels interface{} `field:"optional" json:"labels" yaml:"labels"`
	// The action taken when data is missing during evaluation.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-anomalydetector.html#cfn-aps-anomalydetector-missingdataaction
	//
	MissingDataAction interface{} `field:"optional" json:"missingDataAction" yaml:"missingDataAction"`
	// The tags applied to the anomaly detector.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-anomalydetector.html#cfn-aps-anomalydetector-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnAnomalyDetector`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnAnomalyDetectorProps := &CfnAnomalyDetectorProps{
	Alias: jsii.String("alias"),
	Configuration: &AnomalyDetectorConfigurationProperty{
		RandomCutForest: &RandomCutForestConfigurationProperty{
			Query: jsii.String("query"),

			// the properties below are optional
			IgnoreNearExpectedFromAbove: &IgnoreNearExpectedProperty{
				Amount: jsii.Number(123),
				Ratio: jsii.Number(123),
			},
			IgnoreNearExpectedFromBelow: &IgnoreNearExpectedProperty{
				Amount: jsii.Number(123),
				Ratio: jsii.Number(123),
			},
			SampleSize: jsii.Number(123),
			ShingleSize: jsii.Number(123),
		},
	},
	Workspace: jsii.String("workspace"),

	// the properties below are optional
	EvaluationIntervalInSeconds: jsii.Number(123),
	Labels: []interface{}{
		&LabelProperty{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	MissingDataAction: &MissingDataActionProperty{
		MarkAsAnomaly: jsii.Boolean(false),
		Skip: jsii.Boolean(false),
	},
	Tags: []CfnTag{
		&CfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-anomalydetector.html

type CfnAnomalyDetector_AnomalyDetectorConfigurationProperty added in v2.221.0

type CfnAnomalyDetector_AnomalyDetectorConfigurationProperty struct {
	// The Random Cut Forest algorithm configuration for anomaly detection.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-anomalydetectorconfiguration.html#cfn-aps-anomalydetector-anomalydetectorconfiguration-randomcutforest
	//
	RandomCutForest interface{} `field:"required" json:"randomCutForest" yaml:"randomCutForest"`
}

The configuration for the anomaly detection algorithm.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

anomalyDetectorConfigurationProperty := &AnomalyDetectorConfigurationProperty{
	RandomCutForest: &RandomCutForestConfigurationProperty{
		Query: jsii.String("query"),

		// the properties below are optional
		IgnoreNearExpectedFromAbove: &IgnoreNearExpectedProperty{
			Amount: jsii.Number(123),
			Ratio: jsii.Number(123),
		},
		IgnoreNearExpectedFromBelow: &IgnoreNearExpectedProperty{
			Amount: jsii.Number(123),
			Ratio: jsii.Number(123),
		},
		SampleSize: jsii.Number(123),
		ShingleSize: jsii.Number(123),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-anomalydetectorconfiguration.html

type CfnAnomalyDetector_IgnoreNearExpectedProperty added in v2.221.0

type CfnAnomalyDetector_IgnoreNearExpectedProperty struct {
	// The absolute amount by which values can differ from expected values before being considered anomalous.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-ignorenearexpected.html#cfn-aps-anomalydetector-ignorenearexpected-amount
	//
	Amount *float64 `field:"optional" json:"amount" yaml:"amount"`
	// The ratio by which values can differ from expected values before being considered anomalous.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-ignorenearexpected.html#cfn-aps-anomalydetector-ignorenearexpected-ratio
	//
	Ratio *float64 `field:"optional" json:"ratio" yaml:"ratio"`
}

Configuration for threshold settings that determine when values near expected values should be ignored during anomaly detection.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

ignoreNearExpectedProperty := &IgnoreNearExpectedProperty{
	Amount: jsii.Number(123),
	Ratio: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-ignorenearexpected.html

type CfnAnomalyDetector_LabelProperty added in v2.221.0

type CfnAnomalyDetector_LabelProperty struct {
	// The key of the label.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-label.html#cfn-aps-anomalydetector-label-key
	//
	Key *string `field:"required" json:"key" yaml:"key"`
	// The value for this label.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-label.html#cfn-aps-anomalydetector-label-value
	//
	Value *string `field:"required" json:"value" yaml:"value"`
}

The Amazon Managed Service for Prometheus metric labels associated with the anomaly detector.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

labelProperty := &LabelProperty{
	Key: jsii.String("key"),
	Value: jsii.String("value"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-label.html

type CfnAnomalyDetector_MissingDataActionProperty added in v2.221.0

type CfnAnomalyDetector_MissingDataActionProperty struct {
	// Marks missing data points as anomalies.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-missingdataaction.html#cfn-aps-anomalydetector-missingdataaction-markasanomaly
	//
	MarkAsAnomaly interface{} `field:"optional" json:"markAsAnomaly" yaml:"markAsAnomaly"`
	// Skips evaluation when data is missing.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-missingdataaction.html#cfn-aps-anomalydetector-missingdataaction-skip
	//
	Skip interface{} `field:"optional" json:"skip" yaml:"skip"`
}

Specifies the action to take when data is missing during anomaly detection evaluation.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

missingDataActionProperty := &MissingDataActionProperty{
	MarkAsAnomaly: jsii.Boolean(false),
	Skip: jsii.Boolean(false),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-missingdataaction.html

type CfnAnomalyDetector_RandomCutForestConfigurationProperty added in v2.221.0

type CfnAnomalyDetector_RandomCutForestConfigurationProperty struct {
	// The Prometheus query used to retrieve the time-series data for anomaly detection.
	//
	// > Random Cut Forest queries must be wrapped by a supported PromQL aggregation operator. For more information, see [Aggregation operators](https://docs.aws.amazon.com/https://prometheus.io/docs/prometheus/latest/querying/operators/#aggregation-operators) on the *Prometheus docs* website.
	// >
	// > *Supported PromQL aggregation operators* : `avg` , `count` , `group` , `max` , `min` , `quantile` , `stddev` , `stdvar` , and `sum` .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-randomcutforestconfiguration.html#cfn-aps-anomalydetector-randomcutforestconfiguration-query
	//
	Query *string `field:"required" json:"query" yaml:"query"`
	// Configuration for ignoring values that are near expected values from above during anomaly detection.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-randomcutforestconfiguration.html#cfn-aps-anomalydetector-randomcutforestconfiguration-ignorenearexpectedfromabove
	//
	IgnoreNearExpectedFromAbove interface{} `field:"optional" json:"ignoreNearExpectedFromAbove" yaml:"ignoreNearExpectedFromAbove"`
	// Configuration for ignoring values that are near expected values from below during anomaly detection.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-randomcutforestconfiguration.html#cfn-aps-anomalydetector-randomcutforestconfiguration-ignorenearexpectedfrombelow
	//
	IgnoreNearExpectedFromBelow interface{} `field:"optional" json:"ignoreNearExpectedFromBelow" yaml:"ignoreNearExpectedFromBelow"`
	// The number of data points sampled from the input stream for the Random Cut Forest algorithm.
	//
	// The default number is 256 consecutive data points.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-randomcutforestconfiguration.html#cfn-aps-anomalydetector-randomcutforestconfiguration-samplesize
	//
	// Default: - 256.
	//
	SampleSize *float64 `field:"optional" json:"sampleSize" yaml:"sampleSize"`
	// The number of consecutive data points used to create a shingle for the Random Cut Forest algorithm.
	//
	// The default number is 8 consecutive data points.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-randomcutforestconfiguration.html#cfn-aps-anomalydetector-randomcutforestconfiguration-shinglesize
	//
	// Default: - 8.
	//
	ShingleSize *float64 `field:"optional" json:"shingleSize" yaml:"shingleSize"`
}

Configuration for the Random Cut Forest algorithm used for anomaly detection in time-series data.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

randomCutForestConfigurationProperty := &RandomCutForestConfigurationProperty{
	Query: jsii.String("query"),

	// the properties below are optional
	IgnoreNearExpectedFromAbove: &IgnoreNearExpectedProperty{
		Amount: jsii.Number(123),
		Ratio: jsii.Number(123),
	},
	IgnoreNearExpectedFromBelow: &IgnoreNearExpectedProperty{
		Amount: jsii.Number(123),
		Ratio: jsii.Number(123),
	},
	SampleSize: jsii.Number(123),
	ShingleSize: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-anomalydetector-randomcutforestconfiguration.html

type CfnResourcePolicy added in v2.214.0

type CfnResourcePolicy interface {
	awscdk.CfnResource
	awscdk.IInspectable
	interfacesawsaps.IResourcePolicyRef
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	Env() *interfaces.ResourceEnvironment
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// The JSON to use as the Resource-based Policy.
	PolicyDocument() *string
	SetPolicyDocument(val *string)
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// A reference to a ResourcePolicy resource.
	ResourcePolicyRef() *interfacesawsaps.ResourcePolicyReference
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// An ARN identifying a Workspace.
	WorkspaceArn() *string
	SetWorkspaceArn(val *string)
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

Use resource-based policies to grant permissions to other AWS accounts or services to access your workspace.

Only Prometheus-compatible APIs can be used for workspace sharing. You can add non-Prometheus-compatible APIs to the policy, but they will be ignored. For more information, see [Prometheus-compatible APIs](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-APIReference-Prometheus-Compatible-Apis.html) in the *Amazon Managed Service for Prometheus User Guide* .

If your workspace uses customer-managed AWS KMS keys for encryption, you must grant the principals in your resource-based policy access to those AWS KMS keys. You can do this by creating AWS KMS grants. For more information, see [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) in the *AWS KMS API Reference* and [Encryption at rest](https://docs.aws.amazon.com/prometheus/latest/userguide/encryption-at-rest-Amazon-Service-Prometheus.html) in the *Amazon Managed Service for Prometheus User Guide* .

For more information about working with IAM , see [Using Amazon Managed Service for Prometheus with IAM](https://docs.aws.amazon.com/prometheus/latest/userguide/security_iam_service-with-iam.html) in the *Amazon Managed Service for Prometheus User Guide* .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnResourcePolicy := awscdk.Aws_aps.NewCfnResourcePolicy(this, jsii.String("MyCfnResourcePolicy"), &CfnResourcePolicyProps{
	PolicyDocument: jsii.String("policyDocument"),
	WorkspaceArn: jsii.String("workspaceArn"),
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-resourcepolicy.html

func NewCfnResourcePolicy added in v2.214.0

func NewCfnResourcePolicy(scope constructs.Construct, id *string, props *CfnResourcePolicyProps) CfnResourcePolicy

Create a new `AWS::APS::ResourcePolicy`.

type CfnResourcePolicyProps added in v2.214.0

type CfnResourcePolicyProps struct {
	// The JSON to use as the Resource-based Policy.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-resourcepolicy.html#cfn-aps-resourcepolicy-policydocument
	//
	PolicyDocument *string `field:"required" json:"policyDocument" yaml:"policyDocument"`
	// An ARN identifying a Workspace.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-resourcepolicy.html#cfn-aps-resourcepolicy-workspacearn
	//
	WorkspaceArn *string `field:"required" json:"workspaceArn" yaml:"workspaceArn"`
}

Properties for defining a `CfnResourcePolicy`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnResourcePolicyProps := &CfnResourcePolicyProps{
	PolicyDocument: jsii.String("policyDocument"),
	WorkspaceArn: jsii.String("workspaceArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-resourcepolicy.html

type CfnRuleGroupsNamespace

type CfnRuleGroupsNamespace interface {
	awscdk.CfnResource
	awscdk.IInspectable
	interfacesawsaps.IRuleGroupsNamespaceRef
	awscdk.ITaggable
	// The ARN of the rule groups namespace.
	//
	// For example, `arn:aws:aps:<region>:123456789012:rulegroupsnamespace/ws-example1-1234-abcd-5678-ef90abcd1234/rulesfile1` .
	AttrArn() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The rules file used in the namespace.
	Data() *string
	SetData(val *string)
	Env() *interfaces.ResourceEnvironment
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The name of the rule groups namespace.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// A reference to a RuleGroupsNamespace resource.
	RuleGroupsNamespaceRef() *interfacesawsaps.RuleGroupsNamespaceReference
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Tag Manager which manages the tags for this resource.
	Tags() awscdk.TagManager
	// The list of tag keys and values that are associated with the rule groups namespace.
	TagsRaw() *[]*awscdk.CfnTag
	SetTagsRaw(val *[]*awscdk.CfnTag)
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// The ID of the workspace to add the rule groups namespace.
	Workspace() *string
	SetWorkspace(val *string)
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

The definition of a rule groups namespace in an Amazon Managed Service for Prometheus workspace.

A rule groups namespace is associated with exactly one rules file. A workspace can have multiple rule groups namespaces. For more information about rules files, see [Creating a rules file](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-ruler-rulesfile.html) , in the *Amazon Managed Service for Prometheus User Guide* .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnRuleGroupsNamespace := awscdk.Aws_aps.NewCfnRuleGroupsNamespace(this, jsii.String("MyCfnRuleGroupsNamespace"), &CfnRuleGroupsNamespaceProps{
	Data: jsii.String("data"),
	Name: jsii.String("name"),
	Workspace: jsii.String("workspace"),

	// the properties below are optional
	Tags: []CfnTag{
		&CfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-rulegroupsnamespace.html

func NewCfnRuleGroupsNamespace

func NewCfnRuleGroupsNamespace(scope constructs.Construct, id *string, props *CfnRuleGroupsNamespaceProps) CfnRuleGroupsNamespace

Create a new `AWS::APS::RuleGroupsNamespace`.

type CfnRuleGroupsNamespaceProps

type CfnRuleGroupsNamespaceProps struct {
	// The rules file used in the namespace.
	//
	// For more details about the rules file, see [Creating a rules file](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-ruler-rulesfile.html) in the *Amazon Managed Service for Prometheus User Guide* .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-rulegroupsnamespace.html#cfn-aps-rulegroupsnamespace-data
	//
	Data *string `field:"required" json:"data" yaml:"data"`
	// The name of the rule groups namespace.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-rulegroupsnamespace.html#cfn-aps-rulegroupsnamespace-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// The ID of the workspace to add the rule groups namespace.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-rulegroupsnamespace.html#cfn-aps-rulegroupsnamespace-workspace
	//
	Workspace *string `field:"required" json:"workspace" yaml:"workspace"`
	// The list of tag keys and values that are associated with the rule groups namespace.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-rulegroupsnamespace.html#cfn-aps-rulegroupsnamespace-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnRuleGroupsNamespace`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnRuleGroupsNamespaceProps := &CfnRuleGroupsNamespaceProps{
	Data: jsii.String("data"),
	Name: jsii.String("name"),
	Workspace: jsii.String("workspace"),

	// the properties below are optional
	Tags: []CfnTag{
		&CfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-rulegroupsnamespace.html

type CfnScraper added in v2.135.0

type CfnScraper interface {
	awscdk.CfnResource
	awscdk.IInspectable
	interfacesawsaps.IScraperRef
	awscdk.ITaggableV2
	// An optional user-assigned scraper alias.
	Alias() *string
	SetAlias(val *string)
	// The Amazon Resource Name (ARN) of the scraper.
	//
	// For example, `arn:aws:aps:<region>:123456798012:scraper/s-example1-1234-abcd-5678-ef9012abcd34` .
	AttrArn() *string
	// The Amazon Resource Name (ARN) of the IAM role that provides permissions for the scraper to discover and collect metrics on your behalf.
	//
	// For example, `arn:aws:iam::123456789012:role/service-role/AmazonGrafanaServiceRole-12example` .
	AttrRoleArn() *string
	// The ID of the scraper.
	//
	// For example, `s-example1-1234-abcd-5678-ef9012abcd34` .
	AttrScraperId() *string
	// Tag Manager which manages the tags for this resource.
	CdkTagManager() awscdk.TagManager
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The Amazon Managed Service for Prometheus workspace the scraper sends metrics to.
	Destination() interface{}
	SetDestination(val interface{})
	Env() *interfaces.ResourceEnvironment
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The role configuration in an Amazon Managed Service for Prometheus scraper.
	RoleConfiguration() interface{}
	SetRoleConfiguration(val interface{})
	// The configuration in use by the scraper.
	ScrapeConfiguration() interface{}
	SetScrapeConfiguration(val interface{})
	// The definition of logging configuration in an Amazon Managed Service for Prometheus workspace.
	ScraperLoggingConfiguration() interface{}
	SetScraperLoggingConfiguration(val interface{})
	// A reference to a Scraper resource.
	ScraperRef() *interfacesawsaps.ScraperReference
	// The Amazon EKS cluster from which the scraper collects metrics.
	Source() interface{}
	SetSource(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// (Optional) The list of tag keys and values associated with the scraper.
	Tags() *[]*awscdk.CfnTag
	SetTags(val *[]*awscdk.CfnTag)
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A scraper is a fully-managed agentless collector that discovers and pulls metrics automatically.

A scraper pulls metrics from Prometheus-compatible sources within an Amazon EKS cluster, and sends them to your Amazon Managed Service for Prometheus workspace. Scrapers are flexible. You can configure the scraper to control what metrics are collected, the frequency of collection, what transformations are applied to the metrics, and more.

An IAM role will be created for you that Amazon Managed Service for Prometheus uses to access the metrics in your cluster. You must configure this role with a policy that allows it to scrape metrics from your cluster. For more information, see [Configuring your Amazon EKS cluster](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-eks-setup) in the *Amazon Managed Service for Prometheus User Guide* .

The `scrapeConfiguration` parameter contains the YAML configuration for the scraper.

> For more information about collectors, including what metrics are collected, and how to configure the scraper, see [Using an AWS managed collector](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html) in the *Amazon Managed Service for Prometheus User Guide* .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnScraper := awscdk.Aws_aps.NewCfnScraper(this, jsii.String("MyCfnScraper"), &CfnScraperProps{
	Destination: &DestinationProperty{
		AmpConfiguration: &AmpConfigurationProperty{
			WorkspaceArn: jsii.String("workspaceArn"),
		},
	},
	ScrapeConfiguration: &ScrapeConfigurationProperty{
		ConfigurationBlob: jsii.String("configurationBlob"),
	},
	Source: &SourceProperty{
		EksConfiguration: &EksConfigurationProperty{
			ClusterArn: jsii.String("clusterArn"),
			SubnetIds: []*string{
				jsii.String("subnetIds"),
			},

			// the properties below are optional
			SecurityGroupIds: []*string{
				jsii.String("securityGroupIds"),
			},
		},
		VpcConfiguration: &VpcConfigurationProperty{
			SecurityGroupIds: []*string{
				jsii.String("securityGroupIds"),
			},
			SubnetIds: []*string{
				jsii.String("subnetIds"),
			},
		},
	},

	// the properties below are optional
	Alias: jsii.String("alias"),
	RoleConfiguration: &RoleConfigurationProperty{
		SourceRoleArn: jsii.String("sourceRoleArn"),
		TargetRoleArn: jsii.String("targetRoleArn"),
	},
	ScraperLoggingConfiguration: &ScraperLoggingConfigurationProperty{
		LoggingDestination: &ScraperLoggingDestinationProperty{
			CloudWatchLogs: &CloudWatchLogDestinationProperty{
				LogGroupArn: jsii.String("logGroupArn"),
			},
		},
		ScraperComponents: []interface{}{
			&ScraperComponentProperty{
				Type: jsii.String("type"),

				// the properties below are optional
				Config: &ComponentConfigProperty{
					Options: map[string]*string{
						"optionsKey": jsii.String("options"),
					},
				},
			},
		},
	},
	Tags: []CfnTag{
		&CfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-scraper.html

func NewCfnScraper added in v2.135.0

func NewCfnScraper(scope constructs.Construct, id *string, props *CfnScraperProps) CfnScraper

Create a new `AWS::APS::Scraper`.

type CfnScraperProps added in v2.135.0

type CfnScraperProps struct {
	// The Amazon Managed Service for Prometheus workspace the scraper sends metrics to.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-scraper.html#cfn-aps-scraper-destination
	//
	Destination interface{} `field:"required" json:"destination" yaml:"destination"`
	// The configuration in use by the scraper.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-scraper.html#cfn-aps-scraper-scrapeconfiguration
	//
	ScrapeConfiguration interface{} `field:"required" json:"scrapeConfiguration" yaml:"scrapeConfiguration"`
	// The Amazon EKS cluster from which the scraper collects metrics.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-scraper.html#cfn-aps-scraper-source
	//
	Source interface{} `field:"required" json:"source" yaml:"source"`
	// An optional user-assigned scraper alias.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-scraper.html#cfn-aps-scraper-alias
	//
	Alias *string `field:"optional" json:"alias" yaml:"alias"`
	// The role configuration in an Amazon Managed Service for Prometheus scraper.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-scraper.html#cfn-aps-scraper-roleconfiguration
	//
	RoleConfiguration interface{} `field:"optional" json:"roleConfiguration" yaml:"roleConfiguration"`
	// The definition of logging configuration in an Amazon Managed Service for Prometheus workspace.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-scraper.html#cfn-aps-scraper-scraperloggingconfiguration
	//
	ScraperLoggingConfiguration interface{} `field:"optional" json:"scraperLoggingConfiguration" yaml:"scraperLoggingConfiguration"`
	// (Optional) The list of tag keys and values associated with the scraper.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-scraper.html#cfn-aps-scraper-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnScraper`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnScraperProps := &CfnScraperProps{
	Destination: &DestinationProperty{
		AmpConfiguration: &AmpConfigurationProperty{
			WorkspaceArn: jsii.String("workspaceArn"),
		},
	},
	ScrapeConfiguration: &ScrapeConfigurationProperty{
		ConfigurationBlob: jsii.String("configurationBlob"),
	},
	Source: &SourceProperty{
		EksConfiguration: &EksConfigurationProperty{
			ClusterArn: jsii.String("clusterArn"),
			SubnetIds: []*string{
				jsii.String("subnetIds"),
			},

			// the properties below are optional
			SecurityGroupIds: []*string{
				jsii.String("securityGroupIds"),
			},
		},
		VpcConfiguration: &VpcConfigurationProperty{
			SecurityGroupIds: []*string{
				jsii.String("securityGroupIds"),
			},
			SubnetIds: []*string{
				jsii.String("subnetIds"),
			},
		},
	},

	// the properties below are optional
	Alias: jsii.String("alias"),
	RoleConfiguration: &RoleConfigurationProperty{
		SourceRoleArn: jsii.String("sourceRoleArn"),
		TargetRoleArn: jsii.String("targetRoleArn"),
	},
	ScraperLoggingConfiguration: &ScraperLoggingConfigurationProperty{
		LoggingDestination: &ScraperLoggingDestinationProperty{
			CloudWatchLogs: &CloudWatchLogDestinationProperty{
				LogGroupArn: jsii.String("logGroupArn"),
			},
		},
		ScraperComponents: []interface{}{
			&ScraperComponentProperty{
				Type: jsii.String("type"),

				// the properties below are optional
				Config: &ComponentConfigProperty{
					Options: map[string]*string{
						"optionsKey": jsii.String("options"),
					},
				},
			},
		},
	},
	Tags: []CfnTag{
		&CfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-scraper.html

type CfnScraper_AmpConfigurationProperty added in v2.135.0

type CfnScraper_AmpConfigurationProperty struct {
	// ARN of the Amazon Managed Service for Prometheus workspace.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-ampconfiguration.html#cfn-aps-scraper-ampconfiguration-workspacearn
	//
	WorkspaceArn *string `field:"required" json:"workspaceArn" yaml:"workspaceArn"`
}

The `AmpConfiguration` structure defines the Amazon Managed Service for Prometheus instance a scraper should send metrics to.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

ampConfigurationProperty := &AmpConfigurationProperty{
	WorkspaceArn: jsii.String("workspaceArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-ampconfiguration.html

type CfnScraper_CloudWatchLogDestinationProperty added in v2.217.0

type CfnScraper_CloudWatchLogDestinationProperty struct {
	// ARN of the CloudWatch log group.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-cloudwatchlogdestination.html#cfn-aps-scraper-cloudwatchlogdestination-loggrouparn
	//
	LogGroupArn *string `field:"optional" json:"logGroupArn" yaml:"logGroupArn"`
}

Represents a cloudwatch logs destination for scraper logging.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cloudWatchLogDestinationProperty := &CloudWatchLogDestinationProperty{
	LogGroupArn: jsii.String("logGroupArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-cloudwatchlogdestination.html

type CfnScraper_ComponentConfigProperty added in v2.217.0

type CfnScraper_ComponentConfigProperty struct {
	// Configuration options for the scraper component.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-componentconfig.html#cfn-aps-scraper-componentconfig-options
	//
	Options interface{} `field:"optional" json:"options" yaml:"options"`
}

Configuration settings for a scraper component.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

componentConfigProperty := &ComponentConfigProperty{
	Options: map[string]*string{
		"optionsKey": jsii.String("options"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-componentconfig.html

type CfnScraper_DestinationProperty added in v2.135.0

type CfnScraper_DestinationProperty struct {
	// The Amazon Managed Service for Prometheus workspace to send metrics to.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-destination.html#cfn-aps-scraper-destination-ampconfiguration
	//
	AmpConfiguration interface{} `field:"required" json:"ampConfiguration" yaml:"ampConfiguration"`
}

Where to send the metrics from a scraper.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

destinationProperty := &DestinationProperty{
	AmpConfiguration: &AmpConfigurationProperty{
		WorkspaceArn: jsii.String("workspaceArn"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-destination.html

type CfnScraper_EksConfigurationProperty added in v2.135.0

type CfnScraper_EksConfigurationProperty struct {
	// ARN of the Amazon EKS cluster.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-eksconfiguration.html#cfn-aps-scraper-eksconfiguration-clusterarn
	//
	ClusterArn *string `field:"required" json:"clusterArn" yaml:"clusterArn"`
	// A list of subnet IDs for the Amazon EKS cluster VPC configuration.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-eksconfiguration.html#cfn-aps-scraper-eksconfiguration-subnetids
	//
	SubnetIds *[]*string `field:"required" json:"subnetIds" yaml:"subnetIds"`
	// A list of the security group IDs for the Amazon EKS cluster VPC configuration.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-eksconfiguration.html#cfn-aps-scraper-eksconfiguration-securitygroupids
	//
	SecurityGroupIds *[]*string `field:"optional" json:"securityGroupIds" yaml:"securityGroupIds"`
}

The `EksConfiguration` structure describes the connection to the Amazon EKS cluster from which a scraper collects metrics.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

eksConfigurationProperty := &EksConfigurationProperty{
	ClusterArn: jsii.String("clusterArn"),
	SubnetIds: []*string{
		jsii.String("subnetIds"),
	},

	// the properties below are optional
	SecurityGroupIds: []*string{
		jsii.String("securityGroupIds"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-eksconfiguration.html

type CfnScraper_RoleConfigurationProperty added in v2.178.0

type CfnScraper_RoleConfigurationProperty struct {
	// The ARN of the source role.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-roleconfiguration.html#cfn-aps-scraper-roleconfiguration-sourcerolearn
	//
	SourceRoleArn *string `field:"optional" json:"sourceRoleArn" yaml:"sourceRoleArn"`
	// The ARN of the target role.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-roleconfiguration.html#cfn-aps-scraper-roleconfiguration-targetrolearn
	//
	TargetRoleArn *string `field:"optional" json:"targetRoleArn" yaml:"targetRoleArn"`
}

The role configuration in an Amazon Managed Service for Prometheus scraper.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

roleConfigurationProperty := &RoleConfigurationProperty{
	SourceRoleArn: jsii.String("sourceRoleArn"),
	TargetRoleArn: jsii.String("targetRoleArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-roleconfiguration.html

type CfnScraper_ScrapeConfigurationProperty added in v2.135.0

type CfnScraper_ScrapeConfigurationProperty struct {
	// The base 64 encoded scrape configuration file.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scrapeconfiguration.html#cfn-aps-scraper-scrapeconfiguration-configurationblob
	//
	ConfigurationBlob *string `field:"required" json:"configurationBlob" yaml:"configurationBlob"`
}

A scrape configuration for a scraper, base 64 encoded.

For more information, see [Scraper configuration](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-configuration) in the *Amazon Managed Service for Prometheus User Guide* .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

scrapeConfigurationProperty := &ScrapeConfigurationProperty{
	ConfigurationBlob: jsii.String("configurationBlob"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scrapeconfiguration.html

type CfnScraper_ScraperComponentProperty added in v2.217.0

type CfnScraper_ScraperComponentProperty struct {
	// The type of the scraper component.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scrapercomponent.html#cfn-aps-scraper-scrapercomponent-type
	//
	Type *string `field:"required" json:"type" yaml:"type"`
	// The configuration settings for the scraper component.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scrapercomponent.html#cfn-aps-scraper-scrapercomponent-config
	//
	Config interface{} `field:"optional" json:"config" yaml:"config"`
}

A component of a Amazon Managed Service for Prometheus scraper that can be configured for logging.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

scraperComponentProperty := &ScraperComponentProperty{
	Type: jsii.String("type"),

	// the properties below are optional
	Config: &ComponentConfigProperty{
		Options: map[string]*string{
			"optionsKey": jsii.String("options"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scrapercomponent.html

type CfnScraper_ScraperLoggingConfigurationProperty added in v2.217.0

type CfnScraper_ScraperLoggingConfigurationProperty struct {
	// Destination for scraper logging.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scraperloggingconfiguration.html#cfn-aps-scraper-scraperloggingconfiguration-loggingdestination
	//
	LoggingDestination interface{} `field:"required" json:"loggingDestination" yaml:"loggingDestination"`
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scraperloggingconfiguration.html#cfn-aps-scraper-scraperloggingconfiguration-scrapercomponents
	//
	ScraperComponents interface{} `field:"required" json:"scraperComponents" yaml:"scraperComponents"`
}

Configuration for scraper logging.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

scraperLoggingConfigurationProperty := &ScraperLoggingConfigurationProperty{
	LoggingDestination: &ScraperLoggingDestinationProperty{
		CloudWatchLogs: &CloudWatchLogDestinationProperty{
			LogGroupArn: jsii.String("logGroupArn"),
		},
	},
	ScraperComponents: []interface{}{
		&ScraperComponentProperty{
			Type: jsii.String("type"),

			// the properties below are optional
			Config: &ComponentConfigProperty{
				Options: map[string]*string{
					"optionsKey": jsii.String("options"),
				},
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scraperloggingconfiguration.html

type CfnScraper_ScraperLoggingDestinationProperty added in v2.217.0

type CfnScraper_ScraperLoggingDestinationProperty struct {
	// The CloudWatch Logs configuration for the scraper logging destination.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scraperloggingdestination.html#cfn-aps-scraper-scraperloggingdestination-cloudwatchlogs
	//
	CloudWatchLogs interface{} `field:"optional" json:"cloudWatchLogs" yaml:"cloudWatchLogs"`
}

The destination where scraper logs are sent.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

scraperLoggingDestinationProperty := &ScraperLoggingDestinationProperty{
	CloudWatchLogs: &CloudWatchLogDestinationProperty{
		LogGroupArn: jsii.String("logGroupArn"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-scraperloggingdestination.html

type CfnScraper_SourceProperty added in v2.135.0

type CfnScraper_SourceProperty struct {
	// The Amazon EKS cluster from which a scraper collects metrics.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-source.html#cfn-aps-scraper-source-eksconfiguration
	//
	EksConfiguration interface{} `field:"optional" json:"eksConfiguration" yaml:"eksConfiguration"`
	// Configuration for VPC metrics source.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-source.html#cfn-aps-scraper-source-vpcconfiguration
	//
	VpcConfiguration interface{} `field:"optional" json:"vpcConfiguration" yaml:"vpcConfiguration"`
}

The source of collected metrics for a scraper.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

sourceProperty := &SourceProperty{
	EksConfiguration: &EksConfigurationProperty{
		ClusterArn: jsii.String("clusterArn"),
		SubnetIds: []*string{
			jsii.String("subnetIds"),
		},

		// the properties below are optional
		SecurityGroupIds: []*string{
			jsii.String("securityGroupIds"),
		},
	},
	VpcConfiguration: &VpcConfigurationProperty{
		SecurityGroupIds: []*string{
			jsii.String("securityGroupIds"),
		},
		SubnetIds: []*string{
			jsii.String("subnetIds"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-source.html

type CfnScraper_VpcConfigurationProperty added in v2.225.0

type CfnScraper_VpcConfigurationProperty struct {
	// List of security group IDs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-vpcconfiguration.html#cfn-aps-scraper-vpcconfiguration-securitygroupids
	//
	SecurityGroupIds *[]*string `field:"required" json:"securityGroupIds" yaml:"securityGroupIds"`
	// List of subnet IDs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-vpcconfiguration.html#cfn-aps-scraper-vpcconfiguration-subnetids
	//
	SubnetIds *[]*string `field:"required" json:"subnetIds" yaml:"subnetIds"`
}

Configuration for VPC metrics source.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

vpcConfigurationProperty := &VpcConfigurationProperty{
	SecurityGroupIds: []*string{
		jsii.String("securityGroupIds"),
	},
	SubnetIds: []*string{
		jsii.String("subnetIds"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-scraper-vpcconfiguration.html

type CfnWorkspace

type CfnWorkspace interface {
	awscdk.CfnResource
	awscdk.IInspectable
	interfacesawsaps.IWorkspaceRef
	awscdk.ITaggable
	// The alert manager definition, a YAML configuration for the alert manager in your Amazon Managed Service for Prometheus workspace.
	AlertManagerDefinition() *string
	SetAlertManagerDefinition(val *string)
	// The alias that is assigned to this workspace to help identify it.
	Alias() *string
	SetAlias(val *string)
	// The ARN of the workspace.
	//
	// For example, `arn:aws:aps:<region>:123456789012:workspace/ws-example1-1234-abcd-5678-ef90abcd1234` .
	AttrArn() *string
	// The Prometheus endpoint available for this workspace.
	//
	// For example, `https://aps-workspaces.<region>.amazonaws.com/workspaces/ws-example1-1234-abcd-5678-ef90abcd1234/api/v1/` .
	AttrPrometheusEndpoint() *string
	// The unique ID for the workspace.
	//
	// For example, `ws-example1-1234-abcd-5678-ef90abcd1234` .
	AttrWorkspaceId() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	Env() *interfaces.ResourceEnvironment
	// (optional) The ARN for a customer managed AWS KMS key to use for encrypting data within your workspace.
	KmsKeyArn() *string
	SetKmsKeyArn(val *string)
	// Contains information about the logging configuration for the workspace.
	LoggingConfiguration() interface{}
	SetLoggingConfiguration(val interface{})
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// The definition of logging configuration in an Amazon Managed Service for Prometheus workspace.
	QueryLoggingConfiguration() interface{}
	SetQueryLoggingConfiguration(val interface{})
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Tag Manager which manages the tags for this resource.
	Tags() awscdk.TagManager
	// The list of tag keys and values that are associated with the workspace.
	TagsRaw() *[]*awscdk.CfnTag
	SetTagsRaw(val *[]*awscdk.CfnTag)
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Use this structure to define label sets and the ingestion limits for time series that match label sets, and to specify the retention period of the workspace.
	WorkspaceConfiguration() interface{}
	SetWorkspaceConfiguration(val interface{})
	// A reference to a Workspace resource.
	WorkspaceRef() *interfacesawsaps.WorkspaceReference
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

An Amazon Managed Service for Prometheus workspace is a logical and isolated Prometheus server dedicated to ingesting, storing, and querying your Prometheus-compatible metrics.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnWorkspace := awscdk.Aws_aps.NewCfnWorkspace(this, jsii.String("MyCfnWorkspace"), &CfnWorkspaceProps{
	AlertManagerDefinition: jsii.String("alertManagerDefinition"),
	Alias: jsii.String("alias"),
	KmsKeyArn: jsii.String("kmsKeyArn"),
	LoggingConfiguration: &LoggingConfigurationProperty{
		LogGroupArn: jsii.String("logGroupArn"),
	},
	QueryLoggingConfiguration: &QueryLoggingConfigurationProperty{
		Destinations: []interface{}{
			&LoggingDestinationProperty{
				CloudWatchLogs: &CloudWatchLogDestinationProperty{
					LogGroupArn: jsii.String("logGroupArn"),
				},
				Filters: &LoggingFilterProperty{
					QspThreshold: jsii.Number(123),
				},
			},
		},
	},
	Tags: []CfnTag{
		&CfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	WorkspaceConfiguration: &WorkspaceConfigurationProperty{
		LimitsPerLabelSets: []interface{}{
			&LimitsPerLabelSetProperty{
				LabelSet: []interface{}{
					&LabelProperty{
						Name: jsii.String("name"),
						Value: jsii.String("value"),
					},
				},
				Limits: &LimitsPerLabelSetEntryProperty{
					MaxSeries: jsii.Number(123),
				},
			},
		},
		RetentionPeriodInDays: jsii.Number(123),
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-workspace.html

func NewCfnWorkspace

func NewCfnWorkspace(scope constructs.Construct, id *string, props *CfnWorkspaceProps) CfnWorkspace

Create a new `AWS::APS::Workspace`.

type CfnWorkspaceProps

type CfnWorkspaceProps struct {
	// The alert manager definition, a YAML configuration for the alert manager in your Amazon Managed Service for Prometheus workspace.
	//
	// For details about the alert manager definition, see [Creating an alert manager configuration files](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-alertmanager-config.html) in the *Amazon Managed Service for Prometheus User Guide* .
	//
	// The following example shows part of a CloudFormation YAML file with an embedded alert manager definition (following the `- |-` ).
	//
	// `Workspace: Type: AWS::APS::Workspace .... Properties: .... AlertManagerDefinition: Fn::Sub: - |- alertmanager_config: | templates: - 'default_template' route: receiver: example-sns receivers: - name: example-sns sns_configs: - topic_arn: 'arn:aws:sns:${AWS::Region}:${AWS::AccountId}:${TopicName}' -`
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-workspace.html#cfn-aps-workspace-alertmanagerdefinition
	//
	AlertManagerDefinition *string `field:"optional" json:"alertManagerDefinition" yaml:"alertManagerDefinition"`
	// The alias that is assigned to this workspace to help identify it.
	//
	// It does not need to be unique.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-workspace.html#cfn-aps-workspace-alias
	//
	Alias *string `field:"optional" json:"alias" yaml:"alias"`
	// (optional) The ARN for a customer managed AWS KMS key to use for encrypting data within your workspace.
	//
	// For more information about using your own key in your workspace, see [Encryption at rest](https://docs.aws.amazon.com/prometheus/latest/userguide/encryption-at-rest-Amazon-Service-Prometheus.html) in the *Amazon Managed Service for Prometheus User Guide* .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-workspace.html#cfn-aps-workspace-kmskeyarn
	//
	KmsKeyArn *string `field:"optional" json:"kmsKeyArn" yaml:"kmsKeyArn"`
	// Contains information about the logging configuration for the workspace.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-workspace.html#cfn-aps-workspace-loggingconfiguration
	//
	LoggingConfiguration interface{} `field:"optional" json:"loggingConfiguration" yaml:"loggingConfiguration"`
	// The definition of logging configuration in an Amazon Managed Service for Prometheus workspace.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-workspace.html#cfn-aps-workspace-queryloggingconfiguration
	//
	QueryLoggingConfiguration interface{} `field:"optional" json:"queryLoggingConfiguration" yaml:"queryLoggingConfiguration"`
	// The list of tag keys and values that are associated with the workspace.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-workspace.html#cfn-aps-workspace-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
	// Use this structure to define label sets and the ingestion limits for time series that match label sets, and to specify the retention period of the workspace.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-workspace.html#cfn-aps-workspace-workspaceconfiguration
	//
	WorkspaceConfiguration interface{} `field:"optional" json:"workspaceConfiguration" yaml:"workspaceConfiguration"`
}

Properties for defining a `CfnWorkspace`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnWorkspaceProps := &CfnWorkspaceProps{
	AlertManagerDefinition: jsii.String("alertManagerDefinition"),
	Alias: jsii.String("alias"),
	KmsKeyArn: jsii.String("kmsKeyArn"),
	LoggingConfiguration: &LoggingConfigurationProperty{
		LogGroupArn: jsii.String("logGroupArn"),
	},
	QueryLoggingConfiguration: &QueryLoggingConfigurationProperty{
		Destinations: []interface{}{
			&LoggingDestinationProperty{
				CloudWatchLogs: &CloudWatchLogDestinationProperty{
					LogGroupArn: jsii.String("logGroupArn"),
				},
				Filters: &LoggingFilterProperty{
					QspThreshold: jsii.Number(123),
				},
			},
		},
	},
	Tags: []CfnTag{
		&CfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	WorkspaceConfiguration: &WorkspaceConfigurationProperty{
		LimitsPerLabelSets: []interface{}{
			&LimitsPerLabelSetProperty{
				LabelSet: []interface{}{
					&LabelProperty{
						Name: jsii.String("name"),
						Value: jsii.String("value"),
					},
				},
				Limits: &LimitsPerLabelSetEntryProperty{
					MaxSeries: jsii.Number(123),
				},
			},
		},
		RetentionPeriodInDays: jsii.Number(123),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-aps-workspace.html

type CfnWorkspace_CloudWatchLogDestinationProperty added in v2.199.0

type CfnWorkspace_CloudWatchLogDestinationProperty struct {
	// The ARN of the CloudWatch log group.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-cloudwatchlogdestination.html#cfn-aps-workspace-cloudwatchlogdestination-loggrouparn
	//
	LogGroupArn *string `field:"required" json:"logGroupArn" yaml:"logGroupArn"`
}

Configuration details for logging to CloudWatch Logs.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cloudWatchLogDestinationProperty := &CloudWatchLogDestinationProperty{
	LogGroupArn: jsii.String("logGroupArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-cloudwatchlogdestination.html

type CfnWorkspace_LabelProperty added in v2.191.0

type CfnWorkspace_LabelProperty struct {
	// The name for this label.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-label.html#cfn-aps-workspace-label-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// The value for this label.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-label.html#cfn-aps-workspace-label-value
	//
	Value *string `field:"required" json:"value" yaml:"value"`
}

A label is a name:value pair used to add context to ingested metrics.

This structure defines the name and value for one label that is used in a label set. You can set ingestion limits on time series that match defined label sets, to help prevent a workspace from being overwhelmed with unexpected spikes in time series ingestion.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

labelProperty := &LabelProperty{
	Name: jsii.String("name"),
	Value: jsii.String("value"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-label.html

type CfnWorkspace_LimitsPerLabelSetEntryProperty added in v2.191.0

type CfnWorkspace_LimitsPerLabelSetEntryProperty struct {
	// The maximum number of active series that can be ingested that match this label set.
	//
	// Setting this to 0 causes no label set limit to be enforced, but it does cause Amazon Managed Service for Prometheus to vend label set metrics to CloudWatch.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-limitsperlabelsetentry.html#cfn-aps-workspace-limitsperlabelsetentry-maxseries
	//
	MaxSeries *float64 `field:"optional" json:"maxSeries" yaml:"maxSeries"`
}

This structure contains the limits that apply to time series that match one label set.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

limitsPerLabelSetEntryProperty := &LimitsPerLabelSetEntryProperty{
	MaxSeries: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-limitsperlabelsetentry.html

type CfnWorkspace_LimitsPerLabelSetProperty added in v2.191.0

type CfnWorkspace_LimitsPerLabelSetProperty struct {
	// This defines one label set that will have an enforced ingestion limit.
	//
	// You can set ingestion limits on time series that match defined label sets, to help prevent a workspace from being overwhelmed with unexpected spikes in time series ingestion.
	//
	// Label values accept all UTF-8 characters with one exception. If the label name is metric name label `__ *name* __` , then the *metric* part of the name must conform to the following pattern: `[a-zA-Z_:][a-zA-Z0-9_:]*`
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-limitsperlabelset.html#cfn-aps-workspace-limitsperlabelset-labelset
	//
	LabelSet interface{} `field:"required" json:"labelSet" yaml:"labelSet"`
	// This structure contains the information about the limits that apply to time series that match this label set.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-limitsperlabelset.html#cfn-aps-workspace-limitsperlabelset-limits
	//
	Limits interface{} `field:"required" json:"limits" yaml:"limits"`
}

This defines a label set for the workspace, and defines the ingestion limit for active time series that match that label set.

Each label name in a label set must be unique.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

limitsPerLabelSetProperty := &LimitsPerLabelSetProperty{
	LabelSet: []interface{}{
		&LabelProperty{
			Name: jsii.String("name"),
			Value: jsii.String("value"),
		},
	},
	Limits: &LimitsPerLabelSetEntryProperty{
		MaxSeries: jsii.Number(123),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-limitsperlabelset.html

type CfnWorkspace_LoggingConfigurationProperty added in v2.42.0

type CfnWorkspace_LoggingConfigurationProperty struct {
	// The ARN of the CloudWatch log group to which the vended log data will be published.
	//
	// This log group must exist prior to calling this operation.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-loggingconfiguration.html#cfn-aps-workspace-loggingconfiguration-loggrouparn
	//
	LogGroupArn *string `field:"optional" json:"logGroupArn" yaml:"logGroupArn"`
}

Contains information about the rules and alerting logging configuration for the workspace.

> These logging configurations are only for rules and alerting logs.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

loggingConfigurationProperty := &LoggingConfigurationProperty{
	LogGroupArn: jsii.String("logGroupArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-loggingconfiguration.html

type CfnWorkspace_LoggingDestinationProperty added in v2.199.0

type CfnWorkspace_LoggingDestinationProperty struct {
	// Configuration details for logging to CloudWatch Logs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-loggingdestination.html#cfn-aps-workspace-loggingdestination-cloudwatchlogs
	//
	CloudWatchLogs interface{} `field:"required" json:"cloudWatchLogs" yaml:"cloudWatchLogs"`
	// Filtering criteria that determine which queries are logged.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-loggingdestination.html#cfn-aps-workspace-loggingdestination-filters
	//
	Filters interface{} `field:"required" json:"filters" yaml:"filters"`
}

The logging destination in an Amazon Managed Service for Prometheus workspace.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

loggingDestinationProperty := &LoggingDestinationProperty{
	CloudWatchLogs: &CloudWatchLogDestinationProperty{
		LogGroupArn: jsii.String("logGroupArn"),
	},
	Filters: &LoggingFilterProperty{
		QspThreshold: jsii.Number(123),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-loggingdestination.html

type CfnWorkspace_LoggingFilterProperty added in v2.199.0

type CfnWorkspace_LoggingFilterProperty struct {
	// The Query Samples Processed (QSP) threshold above which queries will be logged.
	//
	// Queries processing more samples than this threshold will be captured in logs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-loggingfilter.html#cfn-aps-workspace-loggingfilter-qspthreshold
	//
	QspThreshold *float64 `field:"required" json:"qspThreshold" yaml:"qspThreshold"`
}

Filtering criteria that determine which queries are logged.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

loggingFilterProperty := &LoggingFilterProperty{
	QspThreshold: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-loggingfilter.html

type CfnWorkspace_QueryLoggingConfigurationProperty added in v2.199.0

type CfnWorkspace_QueryLoggingConfigurationProperty struct {
	// Defines a destination and its associated filtering criteria for query logging.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-queryloggingconfiguration.html#cfn-aps-workspace-queryloggingconfiguration-destinations
	//
	Destinations interface{} `field:"required" json:"destinations" yaml:"destinations"`
}

The query logging configuration in an Amazon Managed Service for Prometheus workspace.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

queryLoggingConfigurationProperty := &QueryLoggingConfigurationProperty{
	Destinations: []interface{}{
		&LoggingDestinationProperty{
			CloudWatchLogs: &CloudWatchLogDestinationProperty{
				LogGroupArn: jsii.String("logGroupArn"),
			},
			Filters: &LoggingFilterProperty{
				QspThreshold: jsii.Number(123),
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-queryloggingconfiguration.html

type CfnWorkspace_WorkspaceConfigurationProperty added in v2.191.0

type CfnWorkspace_WorkspaceConfigurationProperty struct {
	// This is an array of structures, where each structure defines a label set for the workspace, and defines the ingestion limit for active time series for each of those label sets.
	//
	// Each label name in a label set must be unique.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-workspaceconfiguration.html#cfn-aps-workspace-workspaceconfiguration-limitsperlabelsets
	//
	LimitsPerLabelSets interface{} `field:"optional" json:"limitsPerLabelSets" yaml:"limitsPerLabelSets"`
	// Specifies how many days that metrics will be retained in the workspace.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-workspaceconfiguration.html#cfn-aps-workspace-workspaceconfiguration-retentionperiodindays
	//
	RetentionPeriodInDays *float64 `field:"optional" json:"retentionPeriodInDays" yaml:"retentionPeriodInDays"`
}

Use this structure to define label sets and the ingestion limits for time series that match label sets, and to specify the retention period of the workspace.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

workspaceConfigurationProperty := &WorkspaceConfigurationProperty{
	LimitsPerLabelSets: []interface{}{
		&LimitsPerLabelSetProperty{
			LabelSet: []interface{}{
				&LabelProperty{
					Name: jsii.String("name"),
					Value: jsii.String("value"),
				},
			},
			Limits: &LimitsPerLabelSetEntryProperty{
				MaxSeries: jsii.Number(123),
			},
		},
	},
	RetentionPeriodInDays: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-aps-workspace-workspaceconfiguration.html

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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