awsobservabilityadmin

package
v2.251.0 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2026 License: Apache-2.0 Imports: 9 Imported by: 0

README

AWS::ObservabilityAdmin Construct Library

---

All classes with the Cfn prefix in this module (CFN Resources) are always stable and safe to use.


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

import observabilityadmin "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::ObservabilityAdmin.

(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 CfnOrganizationCentralizationRule_CFN_RESOURCE_TYPE_NAME added in v2.220.0

func CfnOrganizationCentralizationRule_CFN_RESOURCE_TYPE_NAME() *string

func CfnOrganizationCentralizationRule_IsCfnElement added in v2.220.0

func CfnOrganizationCentralizationRule_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 CfnOrganizationCentralizationRule_IsCfnOrganizationCentralizationRule added in v2.231.0

func CfnOrganizationCentralizationRule_IsCfnOrganizationCentralizationRule(x interface{}) *bool

Checks whether the given object is a CfnOrganizationCentralizationRule.

func CfnOrganizationCentralizationRule_IsCfnResource added in v2.220.0

func CfnOrganizationCentralizationRule_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnOrganizationCentralizationRule_IsConstruct added in v2.220.0

func CfnOrganizationCentralizationRule_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 CfnOrganizationTelemetryRule_CFN_RESOURCE_TYPE_NAME

func CfnOrganizationTelemetryRule_CFN_RESOURCE_TYPE_NAME() *string

func CfnOrganizationTelemetryRule_IsCfnElement

func CfnOrganizationTelemetryRule_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 CfnOrganizationTelemetryRule_IsCfnOrganizationTelemetryRule added in v2.231.0

func CfnOrganizationTelemetryRule_IsCfnOrganizationTelemetryRule(x interface{}) *bool

Checks whether the given object is a CfnOrganizationTelemetryRule.

func CfnOrganizationTelemetryRule_IsCfnResource

func CfnOrganizationTelemetryRule_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnOrganizationTelemetryRule_IsConstruct

func CfnOrganizationTelemetryRule_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 CfnS3TableIntegration_ArnForS3TableIntegration added in v2.232.0

func CfnS3TableIntegration_ArnForS3TableIntegration(resource interfacesawsobservabilityadmin.IS3TableIntegrationRef) *string

func CfnS3TableIntegration_CFN_RESOURCE_TYPE_NAME added in v2.232.0

func CfnS3TableIntegration_CFN_RESOURCE_TYPE_NAME() *string

func CfnS3TableIntegration_IsCfnElement added in v2.232.0

func CfnS3TableIntegration_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 CfnS3TableIntegration_IsCfnResource added in v2.232.0

func CfnS3TableIntegration_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnS3TableIntegration_IsCfnS3TableIntegration added in v2.232.0

func CfnS3TableIntegration_IsCfnS3TableIntegration(x interface{}) *bool

Checks whether the given object is a CfnS3TableIntegration.

func CfnS3TableIntegration_IsConstruct added in v2.232.0

func CfnS3TableIntegration_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 CfnTelemetryEnrichment_CFN_RESOURCE_TYPE_NAME added in v2.245.0

func CfnTelemetryEnrichment_CFN_RESOURCE_TYPE_NAME() *string

func CfnTelemetryEnrichment_IsCfnElement added in v2.245.0

func CfnTelemetryEnrichment_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 CfnTelemetryEnrichment_IsCfnResource added in v2.245.0

func CfnTelemetryEnrichment_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnTelemetryEnrichment_IsCfnTelemetryEnrichment added in v2.245.0

func CfnTelemetryEnrichment_IsCfnTelemetryEnrichment(x interface{}) *bool

Checks whether the given object is a CfnTelemetryEnrichment.

func CfnTelemetryEnrichment_IsConstruct added in v2.245.0

func CfnTelemetryEnrichment_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 CfnTelemetryPipelines_ArnForTelemetryPipelines added in v2.232.0

func CfnTelemetryPipelines_ArnForTelemetryPipelines(resource interfacesawsobservabilityadmin.ITelemetryPipelinesRef) *string

func CfnTelemetryPipelines_CFN_RESOURCE_TYPE_NAME added in v2.232.0

func CfnTelemetryPipelines_CFN_RESOURCE_TYPE_NAME() *string

func CfnTelemetryPipelines_IsCfnElement added in v2.232.0

func CfnTelemetryPipelines_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 CfnTelemetryPipelines_IsCfnResource added in v2.232.0

func CfnTelemetryPipelines_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnTelemetryPipelines_IsCfnTelemetryPipelines added in v2.232.0

func CfnTelemetryPipelines_IsCfnTelemetryPipelines(x interface{}) *bool

Checks whether the given object is a CfnTelemetryPipelines.

func CfnTelemetryPipelines_IsConstruct added in v2.232.0

func CfnTelemetryPipelines_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 CfnTelemetryRule_CFN_RESOURCE_TYPE_NAME

func CfnTelemetryRule_CFN_RESOURCE_TYPE_NAME() *string

func CfnTelemetryRule_IsCfnElement

func CfnTelemetryRule_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 CfnTelemetryRule_IsCfnResource

func CfnTelemetryRule_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnTelemetryRule_IsCfnTelemetryRule added in v2.231.0

func CfnTelemetryRule_IsCfnTelemetryRule(x interface{}) *bool

Checks whether the given object is a CfnTelemetryRule.

func CfnTelemetryRule_IsConstruct

func CfnTelemetryRule_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 NewCfnOrganizationCentralizationRule_Override added in v2.220.0

func NewCfnOrganizationCentralizationRule_Override(c CfnOrganizationCentralizationRule, scope constructs.Construct, id *string, props *CfnOrganizationCentralizationRuleProps)

Create a new `AWS::ObservabilityAdmin::OrganizationCentralizationRule`.

func NewCfnOrganizationTelemetryRule_Override

func NewCfnOrganizationTelemetryRule_Override(c CfnOrganizationTelemetryRule, scope constructs.Construct, id *string, props *CfnOrganizationTelemetryRuleProps)

Create a new `AWS::ObservabilityAdmin::OrganizationTelemetryRule`.

func NewCfnS3TableIntegration_Override added in v2.232.0

func NewCfnS3TableIntegration_Override(c CfnS3TableIntegration, scope constructs.Construct, id *string, props *CfnS3TableIntegrationProps)

Create a new `AWS::ObservabilityAdmin::S3TableIntegration`.

func NewCfnTelemetryEnrichment_Override added in v2.245.0

func NewCfnTelemetryEnrichment_Override(c CfnTelemetryEnrichment, scope constructs.Construct, id *string, props *CfnTelemetryEnrichmentProps)

Create a new `AWS::ObservabilityAdmin::TelemetryEnrichment`.

func NewCfnTelemetryPipelines_Override added in v2.232.0

func NewCfnTelemetryPipelines_Override(c CfnTelemetryPipelines, scope constructs.Construct, id *string, props *CfnTelemetryPipelinesProps)

Create a new `AWS::ObservabilityAdmin::TelemetryPipelines`.

func NewCfnTelemetryRule_Override

func NewCfnTelemetryRule_Override(c CfnTelemetryRule, scope constructs.Construct, id *string, props *CfnTelemetryRuleProps)

Create a new `AWS::ObservabilityAdmin::TelemetryRule`.

Types

type CfnOrganizationCentralizationRule added in v2.220.0

type CfnOrganizationCentralizationRule interface {
	awscdk.CfnResource
	awscdk.IInspectable
	interfacesawsobservabilityadmin.IOrganizationCentralizationRuleRef
	awscdk.ITaggableV2
	// The Amazon Resource Name (ARN) of the organization centralization rule.
	AttrRuleArn() *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
	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
	// A reference to a OrganizationCentralizationRule resource.
	OrganizationCentralizationRuleRef() *interfacesawsobservabilityadmin.OrganizationCentralizationRuleReference
	// 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
	Rule() interface{}
	SetRule(val interface{})
	// The name of the organization centralization rule.
	RuleName() *string
	SetRuleName(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// A key-value pair to filter resources based on tags associated with the resource.
	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{})
	// Applies one or more mixins to this construct.
	//
	// Mixins are applied in order. The list of constructs is captured at the
	// start of the call, so constructs added by a mixin will not be visited.
	// Use multiple `with()` calls if subsequent mixins should apply to added
	// constructs.
	With(mixins ...constructs.IMixin) constructs.IConstruct
}

Defines how telemetry data should be centralized across an AWS Organization, including source and destination configurations.

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"

cfnOrganizationCentralizationRule := awscdk.Aws_observabilityadmin.NewCfnOrganizationCentralizationRule(this, jsii.String("MyCfnOrganizationCentralizationRule"), &CfnOrganizationCentralizationRuleProps{
	Rule: &CentralizationRuleProperty{
		Destination: &CentralizationRuleDestinationProperty{
			Region: jsii.String("region"),

			// the properties below are optional
			Account: jsii.String("account"),
			DestinationLogsConfiguration: &DestinationLogsConfigurationProperty{
				BackupConfiguration: &LogsBackupConfigurationProperty{
					Region: jsii.String("region"),

					// the properties below are optional
					KmsKeyArn: jsii.String("kmsKeyArn"),
				},
				LogGroupNameConfiguration: &LogGroupNameConfigurationProperty{
					LogGroupNamePattern: jsii.String("logGroupNamePattern"),
				},
				LogsEncryptionConfiguration: &LogsEncryptionConfigurationProperty{
					EncryptionStrategy: jsii.String("encryptionStrategy"),

					// the properties below are optional
					EncryptionConflictResolutionStrategy: jsii.String("encryptionConflictResolutionStrategy"),
					KmsKeyArn: jsii.String("kmsKeyArn"),
				},
			},
		},
		Source: &CentralizationRuleSourceProperty{
			Regions: []*string{
				jsii.String("regions"),
			},

			// the properties below are optional
			Scope: jsii.String("scope"),
			SourceLogsConfiguration: &SourceLogsConfigurationProperty{
				EncryptedLogGroupStrategy: jsii.String("encryptedLogGroupStrategy"),

				// the properties below are optional
				DataSourceSelectionCriteria: jsii.String("dataSourceSelectionCriteria"),
				LogGroupSelectionCriteria: jsii.String("logGroupSelectionCriteria"),
			},
		},
	},
	RuleName: jsii.String("ruleName"),

	// 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-observabilityadmin-organizationcentralizationrule.html

func NewCfnOrganizationCentralizationRule added in v2.220.0

func NewCfnOrganizationCentralizationRule(scope constructs.Construct, id *string, props *CfnOrganizationCentralizationRuleProps) CfnOrganizationCentralizationRule

Create a new `AWS::ObservabilityAdmin::OrganizationCentralizationRule`.

type CfnOrganizationCentralizationRuleProps added in v2.220.0

type CfnOrganizationCentralizationRuleProps struct {
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationcentralizationrule.html#cfn-observabilityadmin-organizationcentralizationrule-rule
	//
	Rule interface{} `field:"required" json:"rule" yaml:"rule"`
	// The name of the organization centralization rule.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationcentralizationrule.html#cfn-observabilityadmin-organizationcentralizationrule-rulename
	//
	RuleName *string `field:"required" json:"ruleName" yaml:"ruleName"`
	// A key-value pair to filter resources based on tags associated with the resource.
	//
	// For more information about tags, see [What are tags?](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/what-are-tags.html)
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationcentralizationrule.html#cfn-observabilityadmin-organizationcentralizationrule-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnOrganizationCentralizationRule`.

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"

cfnOrganizationCentralizationRuleProps := &CfnOrganizationCentralizationRuleProps{
	Rule: &CentralizationRuleProperty{
		Destination: &CentralizationRuleDestinationProperty{
			Region: jsii.String("region"),

			// the properties below are optional
			Account: jsii.String("account"),
			DestinationLogsConfiguration: &DestinationLogsConfigurationProperty{
				BackupConfiguration: &LogsBackupConfigurationProperty{
					Region: jsii.String("region"),

					// the properties below are optional
					KmsKeyArn: jsii.String("kmsKeyArn"),
				},
				LogGroupNameConfiguration: &LogGroupNameConfigurationProperty{
					LogGroupNamePattern: jsii.String("logGroupNamePattern"),
				},
				LogsEncryptionConfiguration: &LogsEncryptionConfigurationProperty{
					EncryptionStrategy: jsii.String("encryptionStrategy"),

					// the properties below are optional
					EncryptionConflictResolutionStrategy: jsii.String("encryptionConflictResolutionStrategy"),
					KmsKeyArn: jsii.String("kmsKeyArn"),
				},
			},
		},
		Source: &CentralizationRuleSourceProperty{
			Regions: []*string{
				jsii.String("regions"),
			},

			// the properties below are optional
			Scope: jsii.String("scope"),
			SourceLogsConfiguration: &SourceLogsConfigurationProperty{
				EncryptedLogGroupStrategy: jsii.String("encryptedLogGroupStrategy"),

				// the properties below are optional
				DataSourceSelectionCriteria: jsii.String("dataSourceSelectionCriteria"),
				LogGroupSelectionCriteria: jsii.String("logGroupSelectionCriteria"),
			},
		},
	},
	RuleName: jsii.String("ruleName"),

	// 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-observabilityadmin-organizationcentralizationrule.html

type CfnOrganizationCentralizationRule_CentralizationRuleDestinationProperty added in v2.220.0

type CfnOrganizationCentralizationRule_CentralizationRuleDestinationProperty struct {
	// The primary destination region to which telemetry data should be centralized.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationruledestination.html#cfn-observabilityadmin-organizationcentralizationrule-centralizationruledestination-region
	//
	Region *string `field:"required" json:"region" yaml:"region"`
	// The destination account (within the organization) to which the telemetry data should be centralized.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationruledestination.html#cfn-observabilityadmin-organizationcentralizationrule-centralizationruledestination-account
	//
	Account *string `field:"optional" json:"account" yaml:"account"`
	// Log specific configuration for centralization destination log groups.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationruledestination.html#cfn-observabilityadmin-organizationcentralizationrule-centralizationruledestination-destinationlogsconfiguration
	//
	DestinationLogsConfiguration interface{} `field:"optional" json:"destinationLogsConfiguration" yaml:"destinationLogsConfiguration"`
}

Configuration specifying the primary destination for centralized telemetry 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"

centralizationRuleDestinationProperty := &CentralizationRuleDestinationProperty{
	Region: jsii.String("region"),

	// the properties below are optional
	Account: jsii.String("account"),
	DestinationLogsConfiguration: &DestinationLogsConfigurationProperty{
		BackupConfiguration: &LogsBackupConfigurationProperty{
			Region: jsii.String("region"),

			// the properties below are optional
			KmsKeyArn: jsii.String("kmsKeyArn"),
		},
		LogGroupNameConfiguration: &LogGroupNameConfigurationProperty{
			LogGroupNamePattern: jsii.String("logGroupNamePattern"),
		},
		LogsEncryptionConfiguration: &LogsEncryptionConfigurationProperty{
			EncryptionStrategy: jsii.String("encryptionStrategy"),

			// the properties below are optional
			EncryptionConflictResolutionStrategy: jsii.String("encryptionConflictResolutionStrategy"),
			KmsKeyArn: jsii.String("kmsKeyArn"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationruledestination.html

type CfnOrganizationCentralizationRule_CentralizationRuleProperty added in v2.220.0

type CfnOrganizationCentralizationRule_CentralizationRuleProperty struct {
	// Configuration determining where the telemetry data should be centralized, backed up, as well as encryption configuration for the primary and backup destinations.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationrule.html#cfn-observabilityadmin-organizationcentralizationrule-centralizationrule-destination
	//
	Destination interface{} `field:"required" json:"destination" yaml:"destination"`
	// Configuration determining the source of the telemetry data to be centralized.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationrule.html#cfn-observabilityadmin-organizationcentralizationrule-centralizationrule-source
	//
	Source interface{} `field:"required" json:"source" yaml:"source"`
}

Defines how telemetry data should be centralized across an AWS Organization, including source and destination configurations.

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"

centralizationRuleProperty := &CentralizationRuleProperty{
	Destination: &CentralizationRuleDestinationProperty{
		Region: jsii.String("region"),

		// the properties below are optional
		Account: jsii.String("account"),
		DestinationLogsConfiguration: &DestinationLogsConfigurationProperty{
			BackupConfiguration: &LogsBackupConfigurationProperty{
				Region: jsii.String("region"),

				// the properties below are optional
				KmsKeyArn: jsii.String("kmsKeyArn"),
			},
			LogGroupNameConfiguration: &LogGroupNameConfigurationProperty{
				LogGroupNamePattern: jsii.String("logGroupNamePattern"),
			},
			LogsEncryptionConfiguration: &LogsEncryptionConfigurationProperty{
				EncryptionStrategy: jsii.String("encryptionStrategy"),

				// the properties below are optional
				EncryptionConflictResolutionStrategy: jsii.String("encryptionConflictResolutionStrategy"),
				KmsKeyArn: jsii.String("kmsKeyArn"),
			},
		},
	},
	Source: &CentralizationRuleSourceProperty{
		Regions: []*string{
			jsii.String("regions"),
		},

		// the properties below are optional
		Scope: jsii.String("scope"),
		SourceLogsConfiguration: &SourceLogsConfigurationProperty{
			EncryptedLogGroupStrategy: jsii.String("encryptedLogGroupStrategy"),

			// the properties below are optional
			DataSourceSelectionCriteria: jsii.String("dataSourceSelectionCriteria"),
			LogGroupSelectionCriteria: jsii.String("logGroupSelectionCriteria"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationrule.html

type CfnOrganizationCentralizationRule_CentralizationRuleSourceProperty added in v2.220.0

type CfnOrganizationCentralizationRule_CentralizationRuleSourceProperty struct {
	// The list of source regions from which telemetry data should be centralized.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationrulesource.html#cfn-observabilityadmin-organizationcentralizationrule-centralizationrulesource-regions
	//
	Regions *[]*string `field:"required" json:"regions" yaml:"regions"`
	// The organizational scope from which telemetry data should be centralized, specified using organization id, accounts or organizational unit ids.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationrulesource.html#cfn-observabilityadmin-organizationcentralizationrule-centralizationrulesource-scope
	//
	Scope *string `field:"optional" json:"scope" yaml:"scope"`
	// Log specific configuration for centralization source log groups.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationrulesource.html#cfn-observabilityadmin-organizationcentralizationrule-centralizationrulesource-sourcelogsconfiguration
	//
	SourceLogsConfiguration interface{} `field:"optional" json:"sourceLogsConfiguration" yaml:"sourceLogsConfiguration"`
}

Configuration specifying the source of telemetry data to be centralized.

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"

centralizationRuleSourceProperty := &CentralizationRuleSourceProperty{
	Regions: []*string{
		jsii.String("regions"),
	},

	// the properties below are optional
	Scope: jsii.String("scope"),
	SourceLogsConfiguration: &SourceLogsConfigurationProperty{
		EncryptedLogGroupStrategy: jsii.String("encryptedLogGroupStrategy"),

		// the properties below are optional
		DataSourceSelectionCriteria: jsii.String("dataSourceSelectionCriteria"),
		LogGroupSelectionCriteria: jsii.String("logGroupSelectionCriteria"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-centralizationrulesource.html

type CfnOrganizationCentralizationRule_DestinationLogsConfigurationProperty added in v2.220.0

type CfnOrganizationCentralizationRule_DestinationLogsConfigurationProperty struct {
	// Configuration defining the backup region and an optional KMS key for the backup destination.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-destinationlogsconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-destinationlogsconfiguration-backupconfiguration
	//
	BackupConfiguration interface{} `field:"optional" json:"backupConfiguration" yaml:"backupConfiguration"`
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-destinationlogsconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-destinationlogsconfiguration-loggroupnameconfiguration
	//
	LogGroupNameConfiguration interface{} `field:"optional" json:"logGroupNameConfiguration" yaml:"logGroupNameConfiguration"`
	// The encryption configuration for centralization destination log groups.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-destinationlogsconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-destinationlogsconfiguration-logsencryptionconfiguration
	//
	LogsEncryptionConfiguration interface{} `field:"optional" json:"logsEncryptionConfiguration" yaml:"logsEncryptionConfiguration"`
}

Configuration for centralization destination log groups, including encryption and backup settings.

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"

destinationLogsConfigurationProperty := &DestinationLogsConfigurationProperty{
	BackupConfiguration: &LogsBackupConfigurationProperty{
		Region: jsii.String("region"),

		// the properties below are optional
		KmsKeyArn: jsii.String("kmsKeyArn"),
	},
	LogGroupNameConfiguration: &LogGroupNameConfigurationProperty{
		LogGroupNamePattern: jsii.String("logGroupNamePattern"),
	},
	LogsEncryptionConfiguration: &LogsEncryptionConfigurationProperty{
		EncryptionStrategy: jsii.String("encryptionStrategy"),

		// the properties below are optional
		EncryptionConflictResolutionStrategy: jsii.String("encryptionConflictResolutionStrategy"),
		KmsKeyArn: jsii.String("kmsKeyArn"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-destinationlogsconfiguration.html

type CfnOrganizationCentralizationRule_LogGroupNameConfigurationProperty added in v2.242.0

type CfnOrganizationCentralizationRule_LogGroupNameConfigurationProperty struct {
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-loggroupnameconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-loggroupnameconfiguration-loggroupnamepattern
	//
	LogGroupNamePattern *string `field:"required" json:"logGroupNamePattern" yaml:"logGroupNamePattern"`
}

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"

logGroupNameConfigurationProperty := &LogGroupNameConfigurationProperty{
	LogGroupNamePattern: jsii.String("logGroupNamePattern"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-loggroupnameconfiguration.html

type CfnOrganizationCentralizationRule_LogsBackupConfigurationProperty added in v2.220.0

type CfnOrganizationCentralizationRule_LogsBackupConfigurationProperty struct {
	// Logs specific backup destination region within the primary destination account to which log data should be centralized.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-logsbackupconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-logsbackupconfiguration-region
	//
	Region *string `field:"required" json:"region" yaml:"region"`
	// KMS Key ARN belonging to the primary destination account and backup region, to encrypt newly created central log groups in the backup destination.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-logsbackupconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-logsbackupconfiguration-kmskeyarn
	//
	KmsKeyArn *string `field:"optional" json:"kmsKeyArn" yaml:"kmsKeyArn"`
}

Configuration for backing up centralized log data to a secondary region.

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"

logsBackupConfigurationProperty := &LogsBackupConfigurationProperty{
	Region: jsii.String("region"),

	// the properties below are optional
	KmsKeyArn: jsii.String("kmsKeyArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-logsbackupconfiguration.html

type CfnOrganizationCentralizationRule_LogsEncryptionConfigurationProperty added in v2.220.0

type CfnOrganizationCentralizationRule_LogsEncryptionConfigurationProperty struct {
	// Configuration that determines the encryption strategy of the destination log groups.
	//
	// CUSTOMER_MANAGED uses the configured KmsKeyArn to encrypt newly created destination log groups.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-logsencryptionconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-logsencryptionconfiguration-encryptionstrategy
	//
	EncryptionStrategy *string `field:"required" json:"encryptionStrategy" yaml:"encryptionStrategy"`
	// Conflict resolution strategy for centralization if the encryption strategy is set to CUSTOMER_MANAGED and the destination log group is encrypted with an AWS_OWNED KMS Key.
	//
	// ALLOW lets centralization go through while SKIP prevents centralization into the destination log group.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-logsencryptionconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-logsencryptionconfiguration-encryptionconflictresolutionstrategy
	//
	EncryptionConflictResolutionStrategy *string `field:"optional" json:"encryptionConflictResolutionStrategy" yaml:"encryptionConflictResolutionStrategy"`
	// KMS Key ARN belonging to the primary destination account and region, to encrypt newly created central log groups in the primary destination.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-logsencryptionconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-logsencryptionconfiguration-kmskeyarn
	//
	KmsKeyArn *string `field:"optional" json:"kmsKeyArn" yaml:"kmsKeyArn"`
}

Configuration for encrypting centralized log groups.

This configuration is only applied to destination log groups for which the corresponding source log groups are encrypted using Customer Managed KMS Keys.

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"

logsEncryptionConfigurationProperty := &LogsEncryptionConfigurationProperty{
	EncryptionStrategy: jsii.String("encryptionStrategy"),

	// the properties below are optional
	EncryptionConflictResolutionStrategy: jsii.String("encryptionConflictResolutionStrategy"),
	KmsKeyArn: jsii.String("kmsKeyArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-logsencryptionconfiguration.html

type CfnOrganizationCentralizationRule_SourceLogsConfigurationProperty added in v2.220.0

type CfnOrganizationCentralizationRule_SourceLogsConfigurationProperty struct {
	// A strategy determining whether to centralize source log groups that are encrypted with customer managed KMS keys (CMK).
	//
	// ALLOW will consider CMK encrypted source log groups for centralization while SKIP will skip CMK encrypted source log groups from centralization.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-sourcelogsconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-sourcelogsconfiguration-encryptedloggroupstrategy
	//
	EncryptedLogGroupStrategy *string `field:"required" json:"encryptedLogGroupStrategy" yaml:"encryptedLogGroupStrategy"`
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-sourcelogsconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-sourcelogsconfiguration-datasourceselectioncriteria
	//
	DataSourceSelectionCriteria *string `field:"optional" json:"dataSourceSelectionCriteria" yaml:"dataSourceSelectionCriteria"`
	// The selection criteria that specifies which source log groups to centralize.
	//
	// The selection criteria uses the same format as OAM link filters.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-sourcelogsconfiguration.html#cfn-observabilityadmin-organizationcentralizationrule-sourcelogsconfiguration-loggroupselectioncriteria
	//
	LogGroupSelectionCriteria *string `field:"optional" json:"logGroupSelectionCriteria" yaml:"logGroupSelectionCriteria"`
}

Configuration for selecting and handling source log groups for centralization.

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"

sourceLogsConfigurationProperty := &SourceLogsConfigurationProperty{
	EncryptedLogGroupStrategy: jsii.String("encryptedLogGroupStrategy"),

	// the properties below are optional
	DataSourceSelectionCriteria: jsii.String("dataSourceSelectionCriteria"),
	LogGroupSelectionCriteria: jsii.String("logGroupSelectionCriteria"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationcentralizationrule-sourcelogsconfiguration.html

type CfnOrganizationTelemetryRule

type CfnOrganizationTelemetryRule interface {
	awscdk.CfnResource
	awscdk.IInspectable
	interfacesawsobservabilityadmin.IOrganizationTelemetryRuleRef
	awscdk.ITaggableV2
	// The arn of the organization telemetry rule.
	AttrRuleArn() *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
	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
	// A reference to a OrganizationTelemetryRule resource.
	OrganizationTelemetryRuleRef() *interfacesawsobservabilityadmin.OrganizationTelemetryRuleReference
	// 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 name of the organization telemetry rule.
	Rule() interface{}
	SetRule(val interface{})
	// The name of the organization centralization rule.
	RuleName() *string
	SetRuleName(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Lists all tags attached to the specified resource.
	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{})
	// Applies one or more mixins to this construct.
	//
	// Mixins are applied in order. The list of constructs is captured at the
	// start of the call, so constructs added by a mixin will not be visited.
	// Use multiple `with()` calls if subsequent mixins should apply to added
	// constructs.
	With(mixins ...constructs.IMixin) constructs.IConstruct
}

Retrieves the details of a specific organization centralization rule.

This operation can only be called by the organization's management account or a delegated administrator account.

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"

cfnOrganizationTelemetryRule := awscdk.Aws_observabilityadmin.NewCfnOrganizationTelemetryRule(this, jsii.String("MyCfnOrganizationTelemetryRule"), &CfnOrganizationTelemetryRuleProps{
	Rule: &TelemetryRuleProperty{
		ResourceType: jsii.String("resourceType"),
		TelemetryType: jsii.String("telemetryType"),

		// the properties below are optional
		DestinationConfiguration: &TelemetryDestinationConfigurationProperty{
			CloudtrailParameters: &CloudtrailParametersProperty{
				AdvancedEventSelectors: []interface{}{
					&AdvancedEventSelectorProperty{
						FieldSelectors: []interface{}{
							&AdvancedFieldSelectorProperty{
								EndsWith: []*string{
									jsii.String("endsWith"),
								},
								EqualTo: []*string{
									jsii.String("equalTo"),
								},
								Field: jsii.String("field"),
								NotEndsWith: []*string{
									jsii.String("notEndsWith"),
								},
								NotEquals: []*string{
									jsii.String("notEquals"),
								},
								NotStartsWith: []*string{
									jsii.String("notStartsWith"),
								},
								StartsWith: []*string{
									jsii.String("startsWith"),
								},
							},
						},

						// the properties below are optional
						Name: jsii.String("name"),
					},
				},
			},
			DestinationPattern: jsii.String("destinationPattern"),
			DestinationType: jsii.String("destinationType"),
			ElbLoadBalancerLoggingParameters: &ELBLoadBalancerLoggingParametersProperty{
				FieldDelimiter: jsii.String("fieldDelimiter"),
				OutputFormat: jsii.String("outputFormat"),
			},
			RetentionInDays: jsii.Number(123),
			VpcFlowLogParameters: &VPCFlowLogParametersProperty{
				LogFormat: jsii.String("logFormat"),
				MaxAggregationInterval: jsii.Number(123),
				TrafficType: jsii.String("trafficType"),
			},
			WafLoggingParameters: &WAFLoggingParametersProperty{
				LoggingFilter: &LoggingFilterProperty{
					DefaultBehavior: jsii.String("defaultBehavior"),
					Filters: []interface{}{
						&FilterProperty{
							Behavior: jsii.String("behavior"),
							Conditions: []interface{}{
								&ConditionProperty{
									ActionCondition: &ActionConditionProperty{
										Action: jsii.String("action"),
									},
									LabelNameCondition: &LabelNameConditionProperty{
										LabelName: jsii.String("labelName"),
									},
								},
							},
							Requirement: jsii.String("requirement"),
						},
					},
				},
				LogType: jsii.String("logType"),
				RedactedFields: []interface{}{
					&FieldToMatchProperty{
						Method: jsii.String("method"),
						QueryString: jsii.String("queryString"),
						SingleHeader: &SingleHeaderProperty{
							Name: jsii.String("name"),
						},
						UriPath: jsii.String("uriPath"),
					},
				},
			},
		},
		Scope: jsii.String("scope"),
		SelectionCriteria: jsii.String("selectionCriteria"),
		TelemetrySourceTypes: []*string{
			jsii.String("telemetrySourceTypes"),
		},
	},
	RuleName: jsii.String("ruleName"),

	// 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-observabilityadmin-organizationtelemetryrule.html

func NewCfnOrganizationTelemetryRule

func NewCfnOrganizationTelemetryRule(scope constructs.Construct, id *string, props *CfnOrganizationTelemetryRuleProps) CfnOrganizationTelemetryRule

Create a new `AWS::ObservabilityAdmin::OrganizationTelemetryRule`.

type CfnOrganizationTelemetryRuleProps

type CfnOrganizationTelemetryRuleProps struct {
	// The name of the organization telemetry rule.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationtelemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-rule
	//
	Rule interface{} `field:"required" json:"rule" yaml:"rule"`
	// The name of the organization centralization rule.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationtelemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-rulename
	//
	RuleName *string `field:"required" json:"ruleName" yaml:"ruleName"`
	// Lists all tags attached to the specified resource.
	//
	// Supports telemetry rule resources and telemetry pipeline resources.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-organizationtelemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnOrganizationTelemetryRule`.

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"

cfnOrganizationTelemetryRuleProps := &CfnOrganizationTelemetryRuleProps{
	Rule: &TelemetryRuleProperty{
		ResourceType: jsii.String("resourceType"),
		TelemetryType: jsii.String("telemetryType"),

		// the properties below are optional
		DestinationConfiguration: &TelemetryDestinationConfigurationProperty{
			CloudtrailParameters: &CloudtrailParametersProperty{
				AdvancedEventSelectors: []interface{}{
					&AdvancedEventSelectorProperty{
						FieldSelectors: []interface{}{
							&AdvancedFieldSelectorProperty{
								EndsWith: []*string{
									jsii.String("endsWith"),
								},
								EqualTo: []*string{
									jsii.String("equalTo"),
								},
								Field: jsii.String("field"),
								NotEndsWith: []*string{
									jsii.String("notEndsWith"),
								},
								NotEquals: []*string{
									jsii.String("notEquals"),
								},
								NotStartsWith: []*string{
									jsii.String("notStartsWith"),
								},
								StartsWith: []*string{
									jsii.String("startsWith"),
								},
							},
						},

						// the properties below are optional
						Name: jsii.String("name"),
					},
				},
			},
			DestinationPattern: jsii.String("destinationPattern"),
			DestinationType: jsii.String("destinationType"),
			ElbLoadBalancerLoggingParameters: &ELBLoadBalancerLoggingParametersProperty{
				FieldDelimiter: jsii.String("fieldDelimiter"),
				OutputFormat: jsii.String("outputFormat"),
			},
			RetentionInDays: jsii.Number(123),
			VpcFlowLogParameters: &VPCFlowLogParametersProperty{
				LogFormat: jsii.String("logFormat"),
				MaxAggregationInterval: jsii.Number(123),
				TrafficType: jsii.String("trafficType"),
			},
			WafLoggingParameters: &WAFLoggingParametersProperty{
				LoggingFilter: &LoggingFilterProperty{
					DefaultBehavior: jsii.String("defaultBehavior"),
					Filters: []interface{}{
						&FilterProperty{
							Behavior: jsii.String("behavior"),
							Conditions: []interface{}{
								&ConditionProperty{
									ActionCondition: &ActionConditionProperty{
										Action: jsii.String("action"),
									},
									LabelNameCondition: &LabelNameConditionProperty{
										LabelName: jsii.String("labelName"),
									},
								},
							},
							Requirement: jsii.String("requirement"),
						},
					},
				},
				LogType: jsii.String("logType"),
				RedactedFields: []interface{}{
					&FieldToMatchProperty{
						Method: jsii.String("method"),
						QueryString: jsii.String("queryString"),
						SingleHeader: &SingleHeaderProperty{
							Name: jsii.String("name"),
						},
						UriPath: jsii.String("uriPath"),
					},
				},
			},
		},
		Scope: jsii.String("scope"),
		SelectionCriteria: jsii.String("selectionCriteria"),
		TelemetrySourceTypes: []*string{
			jsii.String("telemetrySourceTypes"),
		},
	},
	RuleName: jsii.String("ruleName"),

	// 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-observabilityadmin-organizationtelemetryrule.html

type CfnOrganizationTelemetryRule_ActionConditionProperty added in v2.233.0

type CfnOrganizationTelemetryRule_ActionConditionProperty struct {
	// The WAF action to match against (ALLOW, BLOCK, COUNT, CAPTCHA, CHALLENGE, EXCLUDED_AS_COUNT).
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-actioncondition.html#cfn-observabilityadmin-organizationtelemetryrule-actioncondition-action
	//
	Action *string `field:"optional" json:"action" yaml:"action"`
}

Condition that matches based on the specific WAF action taken on the request.

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"

actionConditionProperty := &ActionConditionProperty{
	Action: jsii.String("action"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-actioncondition.html

type CfnOrganizationTelemetryRule_AdvancedEventSelectorProperty added in v2.233.0

type CfnOrganizationTelemetryRule_AdvancedEventSelectorProperty struct {
	// Contains all selector statements in an advanced event selector.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-advancedeventselector.html#cfn-observabilityadmin-organizationtelemetryrule-advancedeventselector-fieldselectors
	//
	FieldSelectors interface{} `field:"required" json:"fieldSelectors" yaml:"fieldSelectors"`
	// An optional, descriptive name for an advanced event selector, such as "Log data events for only two S3 buckets".
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-advancedeventselector.html#cfn-observabilityadmin-organizationtelemetryrule-advancedeventselector-name
	//
	Name *string `field:"optional" json:"name" yaml:"name"`
}

Advanced event selectors let you create fine-grained selectors for management, data, and network activity events.

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"

advancedEventSelectorProperty := &AdvancedEventSelectorProperty{
	FieldSelectors: []interface{}{
		&AdvancedFieldSelectorProperty{
			EndsWith: []*string{
				jsii.String("endsWith"),
			},
			EqualTo: []*string{
				jsii.String("equalTo"),
			},
			Field: jsii.String("field"),
			NotEndsWith: []*string{
				jsii.String("notEndsWith"),
			},
			NotEquals: []*string{
				jsii.String("notEquals"),
			},
			NotStartsWith: []*string{
				jsii.String("notStartsWith"),
			},
			StartsWith: []*string{
				jsii.String("startsWith"),
			},
		},
	},

	// the properties below are optional
	Name: jsii.String("name"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-advancedeventselector.html

type CfnOrganizationTelemetryRule_AdvancedFieldSelectorProperty added in v2.233.0

type CfnOrganizationTelemetryRule_AdvancedFieldSelectorProperty struct {
	// Matches if the field value ends with the specified value.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-advancedfieldselector.html#cfn-observabilityadmin-organizationtelemetryrule-advancedfieldselector-endswith
	//
	EndsWith *[]*string `field:"optional" json:"endsWith" yaml:"endsWith"`
	// Matches if the field value equals the specified value.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-advancedfieldselector.html#cfn-observabilityadmin-organizationtelemetryrule-advancedfieldselector-equals
	//
	EqualTo *[]*string `field:"optional" json:"equalTo" yaml:"equalTo"`
	// The name of the field to use for selection.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-advancedfieldselector.html#cfn-observabilityadmin-organizationtelemetryrule-advancedfieldselector-field
	//
	Field *string `field:"optional" json:"field" yaml:"field"`
	// Matches if the field value does not end with the specified value.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-advancedfieldselector.html#cfn-observabilityadmin-organizationtelemetryrule-advancedfieldselector-notendswith
	//
	NotEndsWith *[]*string `field:"optional" json:"notEndsWith" yaml:"notEndsWith"`
	// Matches if the field value does not equal the specified value.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-advancedfieldselector.html#cfn-observabilityadmin-organizationtelemetryrule-advancedfieldselector-notequals
	//
	NotEquals *[]*string `field:"optional" json:"notEquals" yaml:"notEquals"`
	// Matches if the field value does not start with the specified value.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-advancedfieldselector.html#cfn-observabilityadmin-organizationtelemetryrule-advancedfieldselector-notstartswith
	//
	NotStartsWith *[]*string `field:"optional" json:"notStartsWith" yaml:"notStartsWith"`
	// Matches if the field value starts with the specified value.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-advancedfieldselector.html#cfn-observabilityadmin-organizationtelemetryrule-advancedfieldselector-startswith
	//
	StartsWith *[]*string `field:"optional" json:"startsWith" yaml:"startsWith"`
}

Defines criteria for selecting resources based on field values.

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"

advancedFieldSelectorProperty := &AdvancedFieldSelectorProperty{
	EndsWith: []*string{
		jsii.String("endsWith"),
	},
	EqualTo: []*string{
		jsii.String("equalTo"),
	},
	Field: jsii.String("field"),
	NotEndsWith: []*string{
		jsii.String("notEndsWith"),
	},
	NotEquals: []*string{
		jsii.String("notEquals"),
	},
	NotStartsWith: []*string{
		jsii.String("notStartsWith"),
	},
	StartsWith: []*string{
		jsii.String("startsWith"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-advancedfieldselector.html

type CfnOrganizationTelemetryRule_CloudtrailParametersProperty added in v2.233.0

type CfnOrganizationTelemetryRule_CloudtrailParametersProperty struct {
	// The advanced event selectors to use for filtering AWS CloudTrail events.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-cloudtrailparameters.html#cfn-observabilityadmin-organizationtelemetryrule-cloudtrailparameters-advancedeventselectors
	//
	AdvancedEventSelectors interface{} `field:"required" json:"advancedEventSelectors" yaml:"advancedEventSelectors"`
}

Parameters specific to AWS CloudTrail telemetry configuration.

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"

cloudtrailParametersProperty := &CloudtrailParametersProperty{
	AdvancedEventSelectors: []interface{}{
		&AdvancedEventSelectorProperty{
			FieldSelectors: []interface{}{
				&AdvancedFieldSelectorProperty{
					EndsWith: []*string{
						jsii.String("endsWith"),
					},
					EqualTo: []*string{
						jsii.String("equalTo"),
					},
					Field: jsii.String("field"),
					NotEndsWith: []*string{
						jsii.String("notEndsWith"),
					},
					NotEquals: []*string{
						jsii.String("notEquals"),
					},
					NotStartsWith: []*string{
						jsii.String("notStartsWith"),
					},
					StartsWith: []*string{
						jsii.String("startsWith"),
					},
				},
			},

			// the properties below are optional
			Name: jsii.String("name"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-cloudtrailparameters.html

type CfnOrganizationTelemetryRule_ConditionProperty added in v2.233.0

type CfnOrganizationTelemetryRule_ConditionProperty struct {
	// Matches log records based on the WAF rule action taken (ALLOW, BLOCK, COUNT, etc.).
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-condition.html#cfn-observabilityadmin-organizationtelemetryrule-condition-actioncondition
	//
	ActionCondition interface{} `field:"optional" json:"actionCondition" yaml:"actionCondition"`
	// Matches log records based on WAF rule labels applied to the request.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-condition.html#cfn-observabilityadmin-organizationtelemetryrule-condition-labelnamecondition
	//
	LabelNameCondition interface{} `field:"optional" json:"labelNameCondition" yaml:"labelNameCondition"`
}

A single condition that can match based on WAF rule action or label name.

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"

conditionProperty := &ConditionProperty{
	ActionCondition: &ActionConditionProperty{
		Action: jsii.String("action"),
	},
	LabelNameCondition: &LabelNameConditionProperty{
		LabelName: jsii.String("labelName"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-condition.html

type CfnOrganizationTelemetryRule_ELBLoadBalancerLoggingParametersProperty added in v2.233.0

type CfnOrganizationTelemetryRule_ELBLoadBalancerLoggingParametersProperty struct {
	// The delimiter character used to separate fields in ELB access log entries when using plain text format.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-elbloadbalancerloggingparameters.html#cfn-observabilityadmin-organizationtelemetryrule-elbloadbalancerloggingparameters-fielddelimiter
	//
	FieldDelimiter *string `field:"optional" json:"fieldDelimiter" yaml:"fieldDelimiter"`
	// The format for ELB access log entries (plain text or JSON format).
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-elbloadbalancerloggingparameters.html#cfn-observabilityadmin-organizationtelemetryrule-elbloadbalancerloggingparameters-outputformat
	//
	OutputFormat *string `field:"optional" json:"outputFormat" yaml:"outputFormat"`
}

Configuration parameters for ELB load balancer logging, including output format and field delimiter settings.

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"

eLBLoadBalancerLoggingParametersProperty := &ELBLoadBalancerLoggingParametersProperty{
	FieldDelimiter: jsii.String("fieldDelimiter"),
	OutputFormat: jsii.String("outputFormat"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-elbloadbalancerloggingparameters.html

type CfnOrganizationTelemetryRule_FieldToMatchProperty added in v2.233.0

Specifies a field in the request to redact from WAF logs, such as headers, query parameters, or body content.

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"

fieldToMatchProperty := &FieldToMatchProperty{
	Method: jsii.String("method"),
	QueryString: jsii.String("queryString"),
	SingleHeader: &SingleHeaderProperty{
		Name: jsii.String("name"),
	},
	UriPath: jsii.String("uriPath"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-fieldtomatch.html

type CfnOrganizationTelemetryRule_FilterProperty added in v2.233.0

type CfnOrganizationTelemetryRule_FilterProperty struct {
	// The action to take for log records matching this filter (KEEP or DROP).
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-filter.html#cfn-observabilityadmin-organizationtelemetryrule-filter-behavior
	//
	Behavior *string `field:"optional" json:"behavior" yaml:"behavior"`
	// The list of conditions that determine if a log record matches this filter.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-filter.html#cfn-observabilityadmin-organizationtelemetryrule-filter-conditions
	//
	Conditions interface{} `field:"optional" json:"conditions" yaml:"conditions"`
	// Whether the log record must meet all conditions (MEETS_ALL) or any condition (MEETS_ANY) to match this filter.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-filter.html#cfn-observabilityadmin-organizationtelemetryrule-filter-requirement
	//
	Requirement *string `field:"optional" json:"requirement" yaml:"requirement"`
}

A single filter condition that specifies behavior, requirement, and matching conditions for WAF log records.

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"

filterProperty := &FilterProperty{
	Behavior: jsii.String("behavior"),
	Conditions: []interface{}{
		&ConditionProperty{
			ActionCondition: &ActionConditionProperty{
				Action: jsii.String("action"),
			},
			LabelNameCondition: &LabelNameConditionProperty{
				LabelName: jsii.String("labelName"),
			},
		},
	},
	Requirement: jsii.String("requirement"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-filter.html

type CfnOrganizationTelemetryRule_LabelNameConditionProperty added in v2.233.0

type CfnOrganizationTelemetryRule_LabelNameConditionProperty struct {
	// The label name to match, supporting alphanumeric characters, underscores, hyphens, and colons.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-labelnamecondition.html#cfn-observabilityadmin-organizationtelemetryrule-labelnamecondition-labelname
	//
	LabelName *string `field:"optional" json:"labelName" yaml:"labelName"`
}

Condition that matches based on WAF rule labels, with label names limited to 1024 characters.

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"

labelNameConditionProperty := &LabelNameConditionProperty{
	LabelName: jsii.String("labelName"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-labelnamecondition.html

type CfnOrganizationTelemetryRule_LoggingFilterProperty added in v2.233.0

type CfnOrganizationTelemetryRule_LoggingFilterProperty struct {
	// The default action (KEEP or DROP) for log records that don't match any filter conditions.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-loggingfilter.html#cfn-observabilityadmin-organizationtelemetryrule-loggingfilter-defaultbehavior
	//
	DefaultBehavior *string `field:"optional" json:"defaultBehavior" yaml:"defaultBehavior"`
	// A list of filter conditions that determine log record handling behavior.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-loggingfilter.html#cfn-observabilityadmin-organizationtelemetryrule-loggingfilter-filters
	//
	Filters interface{} `field:"optional" json:"filters" yaml:"filters"`
}

Configuration that determines which WAF log records to keep or drop based on specified conditions.

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{
	DefaultBehavior: jsii.String("defaultBehavior"),
	Filters: []interface{}{
		&FilterProperty{
			Behavior: jsii.String("behavior"),
			Conditions: []interface{}{
				&ConditionProperty{
					ActionCondition: &ActionConditionProperty{
						Action: jsii.String("action"),
					},
					LabelNameCondition: &LabelNameConditionProperty{
						LabelName: jsii.String("labelName"),
					},
				},
			},
			Requirement: jsii.String("requirement"),
		},
	},
}

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

type CfnOrganizationTelemetryRule_SingleHeaderProperty added in v2.233.0

type CfnOrganizationTelemetryRule_SingleHeaderProperty struct {
	// The name value, limited to 64 characters.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-singleheader.html#cfn-observabilityadmin-organizationtelemetryrule-singleheader-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
}

Structure containing a name field limited to 64 characters for header or query parameter identification.

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"

singleHeaderProperty := &SingleHeaderProperty{
	Name: jsii.String("name"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-singleheader.html

type CfnOrganizationTelemetryRule_TelemetryDestinationConfigurationProperty

type CfnOrganizationTelemetryRule_TelemetryDestinationConfigurationProperty struct {
	// Configuration parameters specific to AWS CloudTrail when CloudTrail is the source type.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration-cloudtrailparameters
	//
	CloudtrailParameters interface{} `field:"optional" json:"cloudtrailParameters" yaml:"cloudtrailParameters"`
	// The pattern used to generate the destination path or name, supporting macros like <resourceId> and <accountId>.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration-destinationpattern
	//
	DestinationPattern *string `field:"optional" json:"destinationPattern" yaml:"destinationPattern"`
	// The type of destination for the telemetry data (e.g., "Amazon CloudWatch Logs", "S3").
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration-destinationtype
	//
	DestinationType *string `field:"optional" json:"destinationType" yaml:"destinationType"`
	// Configuration parameters specific to ELB load balancer logging when ELB is the resource type.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration-elbloadbalancerloggingparameters
	//
	ElbLoadBalancerLoggingParameters interface{} `field:"optional" json:"elbLoadBalancerLoggingParameters" yaml:"elbLoadBalancerLoggingParameters"`
	// The number of days to retain the telemetry data in the destination.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration-retentionindays
	//
	RetentionInDays *float64 `field:"optional" json:"retentionInDays" yaml:"retentionInDays"`
	// Configuration parameters specific to VPC Flow Logs when VPC is the resource type.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration-vpcflowlogparameters
	//
	VpcFlowLogParameters interface{} `field:"optional" json:"vpcFlowLogParameters" yaml:"vpcFlowLogParameters"`
	// Configuration parameters specific to WAF logging when WAF is the resource type.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration-wafloggingparameters
	//
	WafLoggingParameters interface{} `field:"optional" json:"wafLoggingParameters" yaml:"wafLoggingParameters"`
}

Configuration specifying where and how telemetry data should be delivered for AWS resources.

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"

telemetryDestinationConfigurationProperty := &TelemetryDestinationConfigurationProperty{
	CloudtrailParameters: &CloudtrailParametersProperty{
		AdvancedEventSelectors: []interface{}{
			&AdvancedEventSelectorProperty{
				FieldSelectors: []interface{}{
					&AdvancedFieldSelectorProperty{
						EndsWith: []*string{
							jsii.String("endsWith"),
						},
						EqualTo: []*string{
							jsii.String("equalTo"),
						},
						Field: jsii.String("field"),
						NotEndsWith: []*string{
							jsii.String("notEndsWith"),
						},
						NotEquals: []*string{
							jsii.String("notEquals"),
						},
						NotStartsWith: []*string{
							jsii.String("notStartsWith"),
						},
						StartsWith: []*string{
							jsii.String("startsWith"),
						},
					},
				},

				// the properties below are optional
				Name: jsii.String("name"),
			},
		},
	},
	DestinationPattern: jsii.String("destinationPattern"),
	DestinationType: jsii.String("destinationType"),
	ElbLoadBalancerLoggingParameters: &ELBLoadBalancerLoggingParametersProperty{
		FieldDelimiter: jsii.String("fieldDelimiter"),
		OutputFormat: jsii.String("outputFormat"),
	},
	RetentionInDays: jsii.Number(123),
	VpcFlowLogParameters: &VPCFlowLogParametersProperty{
		LogFormat: jsii.String("logFormat"),
		MaxAggregationInterval: jsii.Number(123),
		TrafficType: jsii.String("trafficType"),
	},
	WafLoggingParameters: &WAFLoggingParametersProperty{
		LoggingFilter: &LoggingFilterProperty{
			DefaultBehavior: jsii.String("defaultBehavior"),
			Filters: []interface{}{
				&FilterProperty{
					Behavior: jsii.String("behavior"),
					Conditions: []interface{}{
						&ConditionProperty{
							ActionCondition: &ActionConditionProperty{
								Action: jsii.String("action"),
							},
							LabelNameCondition: &LabelNameConditionProperty{
								LabelName: jsii.String("labelName"),
							},
						},
					},
					Requirement: jsii.String("requirement"),
				},
			},
		},
		LogType: jsii.String("logType"),
		RedactedFields: []interface{}{
			&FieldToMatchProperty{
				Method: jsii.String("method"),
				QueryString: jsii.String("queryString"),
				SingleHeader: &SingleHeaderProperty{
					Name: jsii.String("name"),
				},
				UriPath: jsii.String("uriPath"),
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetrydestinationconfiguration.html

type CfnOrganizationTelemetryRule_TelemetryRuleProperty

type CfnOrganizationTelemetryRule_TelemetryRuleProperty struct {
	// The type of AWS resource to configure telemetry for (e.g., "AWS::EC2::VPC", "AWS::EKS::Cluster", "AWS::WAFv2::WebACL").
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-telemetryrule-resourcetype
	//
	ResourceType *string `field:"required" json:"resourceType" yaml:"resourceType"`
	// The type of telemetry to collect (Logs, Metrics, or Traces).
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-telemetryrule-telemetrytype
	//
	TelemetryType *string `field:"required" json:"telemetryType" yaml:"telemetryType"`
	// Configuration specifying where and how the telemetry data should be delivered.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-telemetryrule-destinationconfiguration
	//
	DestinationConfiguration interface{} `field:"optional" json:"destinationConfiguration" yaml:"destinationConfiguration"`
	// The organizational scope to which the rule applies, specified using accounts or organizational units.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-telemetryrule-scope
	//
	Scope *string `field:"optional" json:"scope" yaml:"scope"`
	// Criteria for selecting which resources the rule applies to, such as resource tags.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-telemetryrule-selectioncriteria
	//
	SelectionCriteria *string `field:"optional" json:"selectionCriteria" yaml:"selectionCriteria"`
	// The specific telemetry source types to configure for the resource, such as VPC_FLOW_LOGS or EKS_AUDIT_LOGS.
	//
	// TelemetrySourceTypes must be correlated with the specific resource type.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html#cfn-observabilityadmin-organizationtelemetryrule-telemetryrule-telemetrysourcetypes
	//
	TelemetrySourceTypes *[]*string `field:"optional" json:"telemetrySourceTypes" yaml:"telemetrySourceTypes"`
}

Defines how telemetry should be configured for specific AWS resources.

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"

telemetryRuleProperty := &TelemetryRuleProperty{
	ResourceType: jsii.String("resourceType"),
	TelemetryType: jsii.String("telemetryType"),

	// the properties below are optional
	DestinationConfiguration: &TelemetryDestinationConfigurationProperty{
		CloudtrailParameters: &CloudtrailParametersProperty{
			AdvancedEventSelectors: []interface{}{
				&AdvancedEventSelectorProperty{
					FieldSelectors: []interface{}{
						&AdvancedFieldSelectorProperty{
							EndsWith: []*string{
								jsii.String("endsWith"),
							},
							EqualTo: []*string{
								jsii.String("equalTo"),
							},
							Field: jsii.String("field"),
							NotEndsWith: []*string{
								jsii.String("notEndsWith"),
							},
							NotEquals: []*string{
								jsii.String("notEquals"),
							},
							NotStartsWith: []*string{
								jsii.String("notStartsWith"),
							},
							StartsWith: []*string{
								jsii.String("startsWith"),
							},
						},
					},

					// the properties below are optional
					Name: jsii.String("name"),
				},
			},
		},
		DestinationPattern: jsii.String("destinationPattern"),
		DestinationType: jsii.String("destinationType"),
		ElbLoadBalancerLoggingParameters: &ELBLoadBalancerLoggingParametersProperty{
			FieldDelimiter: jsii.String("fieldDelimiter"),
			OutputFormat: jsii.String("outputFormat"),
		},
		RetentionInDays: jsii.Number(123),
		VpcFlowLogParameters: &VPCFlowLogParametersProperty{
			LogFormat: jsii.String("logFormat"),
			MaxAggregationInterval: jsii.Number(123),
			TrafficType: jsii.String("trafficType"),
		},
		WafLoggingParameters: &WAFLoggingParametersProperty{
			LoggingFilter: &LoggingFilterProperty{
				DefaultBehavior: jsii.String("defaultBehavior"),
				Filters: []interface{}{
					&FilterProperty{
						Behavior: jsii.String("behavior"),
						Conditions: []interface{}{
							&ConditionProperty{
								ActionCondition: &ActionConditionProperty{
									Action: jsii.String("action"),
								},
								LabelNameCondition: &LabelNameConditionProperty{
									LabelName: jsii.String("labelName"),
								},
							},
						},
						Requirement: jsii.String("requirement"),
					},
				},
			},
			LogType: jsii.String("logType"),
			RedactedFields: []interface{}{
				&FieldToMatchProperty{
					Method: jsii.String("method"),
					QueryString: jsii.String("queryString"),
					SingleHeader: &SingleHeaderProperty{
						Name: jsii.String("name"),
					},
					UriPath: jsii.String("uriPath"),
				},
			},
		},
	},
	Scope: jsii.String("scope"),
	SelectionCriteria: jsii.String("selectionCriteria"),
	TelemetrySourceTypes: []*string{
		jsii.String("telemetrySourceTypes"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-telemetryrule.html

type CfnOrganizationTelemetryRule_VPCFlowLogParametersProperty

type CfnOrganizationTelemetryRule_VPCFlowLogParametersProperty struct {
	// The format in which VPC Flow Log entries should be logged.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters.html#cfn-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters-logformat
	//
	LogFormat *string `field:"optional" json:"logFormat" yaml:"logFormat"`
	// The maximum interval in seconds between the capture of flow log records.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters.html#cfn-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters-maxaggregationinterval
	//
	MaxAggregationInterval *float64 `field:"optional" json:"maxAggregationInterval" yaml:"maxAggregationInterval"`
	// The type of traffic to log (ACCEPT, REJECT, or ALL).
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters.html#cfn-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters-traffictype
	//
	TrafficType *string `field:"optional" json:"trafficType" yaml:"trafficType"`
}

Configuration parameters specific to VPC Flow 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"

vPCFlowLogParametersProperty := &VPCFlowLogParametersProperty{
	LogFormat: jsii.String("logFormat"),
	MaxAggregationInterval: jsii.Number(123),
	TrafficType: jsii.String("trafficType"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-vpcflowlogparameters.html

type CfnOrganizationTelemetryRule_WAFLoggingParametersProperty added in v2.233.0

type CfnOrganizationTelemetryRule_WAFLoggingParametersProperty struct {
	// A filter configuration that determines which WAF log records to include or exclude.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-wafloggingparameters.html#cfn-observabilityadmin-organizationtelemetryrule-wafloggingparameters-loggingfilter
	//
	LoggingFilter interface{} `field:"optional" json:"loggingFilter" yaml:"loggingFilter"`
	// The type of WAF logs to collect (currently supports WAF_LOGS).
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-wafloggingparameters.html#cfn-observabilityadmin-organizationtelemetryrule-wafloggingparameters-logtype
	//
	LogType *string `field:"optional" json:"logType" yaml:"logType"`
	// The fields to redact from WAF logs to protect sensitive information.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-wafloggingparameters.html#cfn-observabilityadmin-organizationtelemetryrule-wafloggingparameters-redactedfields
	//
	RedactedFields interface{} `field:"optional" json:"redactedFields" yaml:"redactedFields"`
}

Configuration parameters for WAF logging, including redacted fields and logging filters.

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"

wAFLoggingParametersProperty := &WAFLoggingParametersProperty{
	LoggingFilter: &LoggingFilterProperty{
		DefaultBehavior: jsii.String("defaultBehavior"),
		Filters: []interface{}{
			&FilterProperty{
				Behavior: jsii.String("behavior"),
				Conditions: []interface{}{
					&ConditionProperty{
						ActionCondition: &ActionConditionProperty{
							Action: jsii.String("action"),
						},
						LabelNameCondition: &LabelNameConditionProperty{
							LabelName: jsii.String("labelName"),
						},
					},
				},
				Requirement: jsii.String("requirement"),
			},
		},
	},
	LogType: jsii.String("logType"),
	RedactedFields: []interface{}{
		&FieldToMatchProperty{
			Method: jsii.String("method"),
			QueryString: jsii.String("queryString"),
			SingleHeader: &SingleHeaderProperty{
				Name: jsii.String("name"),
			},
			UriPath: jsii.String("uriPath"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-organizationtelemetryrule-wafloggingparameters.html

type CfnS3TableIntegration added in v2.232.0

type CfnS3TableIntegration interface {
	awscdk.CfnResource
	awscdk.IInspectable
	interfacesawsobservabilityadmin.IS3TableIntegrationRef
	awscdk.ITaggableV2
	// The Amazon Resource Name (ARN) of the S3 Table integration.
	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
	// 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
	// Defines the encryption configuration for S3 Table integrations, including the encryption algorithm and KMS key settings.
	Encryption() interface{}
	SetEncryption(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
	// A data source with an S3 Table integration for query access in the `logs` namespace.
	LogSources() interface{}
	SetLogSources(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 Amazon Resource Name (ARN) of the IAM role that grants permissions for the S3 Table integration to access necessary resources.
	RoleArn() *string
	SetRoleArn(val *string)
	// A reference to a S3TableIntegration resource.
	S3TableIntegrationRef() *interfacesawsobservabilityadmin.S3TableIntegrationReference
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// The key-value pairs to associate with the S3 Table integration resource for categorization and management purposes.
	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{})
	// Applies one or more mixins to this construct.
	//
	// Mixins are applied in order. The list of constructs is captured at the
	// start of the call, so constructs added by a mixin will not be visited.
	// Use multiple `with()` calls if subsequent mixins should apply to added
	// constructs.
	With(mixins ...constructs.IMixin) constructs.IConstruct
}

Creates an integration between CloudWatch and S3 Tables for analytics.

This integration enables querying CloudWatch telemetry data using analytics engines like Amazon Athena, Amazon Redshift, and Apache Spark.

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"

cfnS3TableIntegration := awscdk.Aws_observabilityadmin.NewCfnS3TableIntegration(this, jsii.String("MyCfnS3TableIntegration"), &CfnS3TableIntegrationProps{
	Encryption: &EncryptionConfigProperty{
		SseAlgorithm: jsii.String("sseAlgorithm"),

		// the properties below are optional
		KmsKeyArn: jsii.String("kmsKeyArn"),
	},
	RoleArn: jsii.String("roleArn"),

	// the properties below are optional
	LogSources: []interface{}{
		&LogSourceProperty{
			Name: jsii.String("name"),
			Type: jsii.String("type"),

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

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-s3tableintegration.html

func NewCfnS3TableIntegration added in v2.232.0

func NewCfnS3TableIntegration(scope constructs.Construct, id *string, props *CfnS3TableIntegrationProps) CfnS3TableIntegration

Create a new `AWS::ObservabilityAdmin::S3TableIntegration`.

type CfnS3TableIntegrationProps added in v2.232.0

type CfnS3TableIntegrationProps struct {
	// Defines the encryption configuration for S3 Table integrations, including the encryption algorithm and KMS key settings.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-s3tableintegration.html#cfn-observabilityadmin-s3tableintegration-encryption
	//
	Encryption interface{} `field:"required" json:"encryption" yaml:"encryption"`
	// The Amazon Resource Name (ARN) of the IAM role that grants permissions for the S3 Table integration to access necessary resources.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-s3tableintegration.html#cfn-observabilityadmin-s3tableintegration-rolearn
	//
	RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"`
	// A data source with an S3 Table integration for query access in the `logs` namespace.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-s3tableintegration.html#cfn-observabilityadmin-s3tableintegration-logsources
	//
	LogSources interface{} `field:"optional" json:"logSources" yaml:"logSources"`
	// The key-value pairs to associate with the S3 Table integration resource for categorization and management purposes.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-s3tableintegration.html#cfn-observabilityadmin-s3tableintegration-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnS3TableIntegration`.

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"

cfnS3TableIntegrationProps := &CfnS3TableIntegrationProps{
	Encryption: &EncryptionConfigProperty{
		SseAlgorithm: jsii.String("sseAlgorithm"),

		// the properties below are optional
		KmsKeyArn: jsii.String("kmsKeyArn"),
	},
	RoleArn: jsii.String("roleArn"),

	// the properties below are optional
	LogSources: []interface{}{
		&LogSourceProperty{
			Name: jsii.String("name"),
			Type: jsii.String("type"),

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

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-s3tableintegration.html

type CfnS3TableIntegration_EncryptionConfigProperty added in v2.232.0

type CfnS3TableIntegration_EncryptionConfigProperty struct {
	// The server-side encryption algorithm used for encrypting data in the S3 Table integration.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-s3tableintegration-encryptionconfig.html#cfn-observabilityadmin-s3tableintegration-encryptionconfig-ssealgorithm
	//
	SseAlgorithm *string `field:"required" json:"sseAlgorithm" yaml:"sseAlgorithm"`
	// The Amazon Resource Name (ARN) of the KMS key used for encryption when using customer-managed keys.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-s3tableintegration-encryptionconfig.html#cfn-observabilityadmin-s3tableintegration-encryptionconfig-kmskeyarn
	//
	KmsKeyArn *string `field:"optional" json:"kmsKeyArn" yaml:"kmsKeyArn"`
}

Defines the encryption configuration for S3 Table integrations, including the encryption algorithm and KMS key settings.

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"

encryptionConfigProperty := &EncryptionConfigProperty{
	SseAlgorithm: jsii.String("sseAlgorithm"),

	// the properties below are optional
	KmsKeyArn: jsii.String("kmsKeyArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-s3tableintegration-encryptionconfig.html

type CfnS3TableIntegration_LogSourceProperty added in v2.232.0

type CfnS3TableIntegration_LogSourceProperty struct {
	// The name of the data source.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-s3tableintegration-logsource.html#cfn-observabilityadmin-s3tableintegration-logsource-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// The type of the data source.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-s3tableintegration-logsource.html#cfn-observabilityadmin-s3tableintegration-logsource-type
	//
	Type *string `field:"required" json:"type" yaml:"type"`
	// The unique identifier for the association between the data source and S3 Table integration.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-s3tableintegration-logsource.html#cfn-observabilityadmin-s3tableintegration-logsource-identifier
	//
	Identifier *string `field:"optional" json:"identifier" yaml:"identifier"`
}

A data source with an S3 Table integration for query access in the `logs` namespace.

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"

logSourceProperty := &LogSourceProperty{
	Name: jsii.String("name"),
	Type: jsii.String("type"),

	// the properties below are optional
	Identifier: jsii.String("identifier"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-s3tableintegration-logsource.html

type CfnTelemetryEnrichment added in v2.245.0

type CfnTelemetryEnrichment interface {
	awscdk.CfnResource
	awscdk.IInspectable
	interfacesawsobservabilityadmin.ITelemetryEnrichmentRef
	// Current status of the resource tags for telemetry feature (Running, Stopped, or Impaired).
	AttrStatus() *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
	// 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
	// Scope of the Telemetry Enrichment.
	Scope() *string
	SetScope(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// A reference to a TelemetryEnrichment resource.
	TelemetryEnrichmentRef() *interfacesawsobservabilityadmin.TelemetryEnrichmentReference
	// 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{})
	// Applies one or more mixins to this construct.
	//
	// Mixins are applied in order. The list of constructs is captured at the
	// start of the call, so constructs added by a mixin will not be visited.
	// Use multiple `with()` calls if subsequent mixins should apply to added
	// constructs.
	With(mixins ...constructs.IMixin) constructs.IConstruct
}

AWS::ObservabilityAdmin::TelemetryEnrichment cloudformation resource enables the resource tags for telemetry feature in CloudWatch to enrich infrastructure metrics with AWS resource tags.

For more details: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/resource-tags-for-telemetry.html

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"

cfnTelemetryEnrichment := awscdk.Aws_observabilityadmin.NewCfnTelemetryEnrichment(this, jsii.String("MyCfnTelemetryEnrichment"), &CfnTelemetryEnrichmentProps{
	Scope: jsii.String("scope"),
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetryenrichment.html

func NewCfnTelemetryEnrichment added in v2.245.0

func NewCfnTelemetryEnrichment(scope constructs.Construct, id *string, props *CfnTelemetryEnrichmentProps) CfnTelemetryEnrichment

Create a new `AWS::ObservabilityAdmin::TelemetryEnrichment`.

type CfnTelemetryEnrichmentProps added in v2.245.0

type CfnTelemetryEnrichmentProps struct {
	// Scope of the Telemetry Enrichment.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetryenrichment.html#cfn-observabilityadmin-telemetryenrichment-scope
	//
	Scope *string `field:"optional" json:"scope" yaml:"scope"`
}

Properties for defining a `CfnTelemetryEnrichment`.

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"

cfnTelemetryEnrichmentProps := &CfnTelemetryEnrichmentProps{
	Scope: jsii.String("scope"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetryenrichment.html

type CfnTelemetryPipelines added in v2.232.0

type CfnTelemetryPipelines interface {
	awscdk.CfnResource
	awscdk.IInspectable
	interfacesawsobservabilityadmin.ITelemetryPipelinesRef
	awscdk.ITaggableV2
	// The Amazon Resource Name (ARN) of the created telemetry pipeline.
	AttrArn() *string
	AttrPipeline() awscdk.IResolvable
	// The Amazon Resource Name (ARN) of the telemetry pipeline.
	AttrPipelineIdentifier() *string
	// The current status of the telemetry pipeline.
	AttrStatus() *string
	AttrStatusReason() awscdk.IResolvable
	// 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 configuration that defines how the telemetry pipeline processes data, including sources, processors, and destinations.
	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 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 telemetry pipeline to create.
	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
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// The key-value pairs to associate with the telemetry pipeline resource for categorization and management purposes.
	Tags() *[]*awscdk.CfnTag
	SetTags(val *[]*awscdk.CfnTag)
	// A reference to a TelemetryPipelines resource.
	TelemetryPipelinesRef() *interfacesawsobservabilityadmin.TelemetryPipelinesReference
	// 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{})
	// Applies one or more mixins to this construct.
	//
	// Mixins are applied in order. The list of constructs is captured at the
	// start of the call, so constructs added by a mixin will not be visited.
	// Use multiple `with()` calls if subsequent mixins should apply to added
	// constructs.
	With(mixins ...constructs.IMixin) constructs.IConstruct
}

Creates a telemetry pipeline for processing and transforming telemetry data.

The pipeline defines how data flows from sources through processors to destinations, enabling data transformation and delivering capabilities.

**Using CloudWatch as a pipeline source** The following is an example of a `Body` property value for the `Configuration` object. { "Type": "AWS::ObservabilityAdmin::TelemetryPipelines", "Properties": { "Configuration": { "Body": "pipeline:\n source:\n cloudwatch_logs:\n log_event_metadata:\n data_source_name: \"my_data_source\"\n data_source_type: \"default\"\n aws:\n sts_role_arn: \"arn:aws:iam::123456789012:role/MyPipelineAccessRole\"\n processor:\n - parse_json: {}\n sink:\n - cloudwatch_logs:\n log_group: \"@original\"" } } } Type: AWS::ObservabilityAdmin::TelemetryPipelines Properties: Configuration: Body: | pipeline: source: cloudwatch_logs: log_event_metadata: data_source_name: "my_data_source" data_source_type: "default" aws: sts_role_arn: "arn:aws:iam::123456789012:role/MyPipelineAccessRole" processor: - parse_json: {} sink: - cloudwatch_logs: log_group: "@original" **Using Amazon S3 as a pipeline source** The following is an example of a `Body` property value for the `Configuration` object. { "Type": "AWS::ObservabilityAdmin::TelemetryPipelines", "Properties": { "Configuration": { "Body": "pipeline:\n source:\n s3:\n sqs:\n visibility_timeout: \"PT60S\"\n visibility_duplication_protection: true\n maximum_messages: 10\n queue_url: \"https://sqs.us-east-1.amazonaws.com/123456789012/my-sqs-queue\"\n notification_type: \"sqs\"\n codec:\n ndjson: {}\n aws:\n region: \"us-east-1\"\n sts_role_arn: \"arn:aws:iam::123456789012:role/MyAccessRole\"\n data_source_name: \"crowdstrike_falcon\"\n processor:\n - ocsf:\n version: \"1.5\"\n mapping_version: \"1.5.0\"\n schema:\n crowdstrike_falcon:\n sink:\n - cloudwatch_logs:\n log_group: \"my-log-group\"" } } } Type: AWS::ObservabilityAdmin::TelemetryPipelines Properties: Configuration: Body: | pipeline: source: s3: sqs: visibility_timeout: "PT60S" visibility_duplication_protection: true maximum_messages: 10 queue_url: "https://sqs.us-east-1.amazonaws.com/123456789012/my-sqs-queue" notification_type: "sqs" codec: ndjson: {} aws: region: "us-east-1" sts_role_arn: "arn:aws:iam::123456789012:role/MyAccessRole" data_source_name: "crowdstrike_falcon" processor: - ocsf: version: "1.5" mapping_version: "1.5.0" schema: crowdstrike_falcon: sink: - cloudwatch_logs: log_group: "my-log-group"

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"

cfnTelemetryPipelines := awscdk.Aws_observabilityadmin.NewCfnTelemetryPipelines(this, jsii.String("MyCfnTelemetryPipelines"), &CfnTelemetryPipelinesProps{
	Configuration: &TelemetryPipelineConfigurationProperty{
		Body: jsii.String("body"),
	},

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

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetrypipelines.html

func NewCfnTelemetryPipelines added in v2.232.0

func NewCfnTelemetryPipelines(scope constructs.Construct, id *string, props *CfnTelemetryPipelinesProps) CfnTelemetryPipelines

Create a new `AWS::ObservabilityAdmin::TelemetryPipelines`.

type CfnTelemetryPipelinesProps added in v2.232.0

type CfnTelemetryPipelinesProps struct {
	// The configuration that defines how the telemetry pipeline processes data, including sources, processors, and destinations.
	//
	// For more information, see the [Amazon CloudWatch User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Creating-pipelines.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetrypipelines.html#cfn-observabilityadmin-telemetrypipelines-configuration
	//
	Configuration interface{} `field:"required" json:"configuration" yaml:"configuration"`
	// The name of the telemetry pipeline to create.
	//
	// The name must be unique within your account.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetrypipelines.html#cfn-observabilityadmin-telemetrypipelines-name
	//
	Name *string `field:"optional" json:"name" yaml:"name"`
	// The key-value pairs to associate with the telemetry pipeline resource for categorization and management purposes.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetrypipelines.html#cfn-observabilityadmin-telemetrypipelines-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnTelemetryPipelines`.

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"

cfnTelemetryPipelinesProps := &CfnTelemetryPipelinesProps{
	Configuration: &TelemetryPipelineConfigurationProperty{
		Body: jsii.String("body"),
	},

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

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetrypipelines.html

type CfnTelemetryPipelines_TelemetryPipelineConfigurationProperty added in v2.232.0

type CfnTelemetryPipelines_TelemetryPipelineConfigurationProperty struct {
	// The pipeline configuration body that defines the data processing rules and transformations.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetrypipelines-telemetrypipelineconfiguration.html#cfn-observabilityadmin-telemetrypipelines-telemetrypipelineconfiguration-body
	//
	Body *string `field:"required" json:"body" yaml:"body"`
}

Defines the configuration for a pipeline, including how data flows from sources through processors to destinations.

The configuration is specified in YAML format and must include a valid pipeline definition with required source and sink components. This pipeline enables end-to-end telemetry data collection, transformation, and delivery while supporting optional processing steps and extensions for enhanced functionality.

The primary pipeline configuration section are:

- *Source:* Defines where log data originates from (S3 buckets, CloudWatch Logs, third-party APIs). Each pipeline must have exactly one source. - *Processors (optional):* Transform, parse, and enrich log data as it flows through the pipeline. Processors are applied sequentially in the order they are defined. - *Sink:* Defines the destination where processed log data is sent. Each pipeline must have exactly one sink. - *Extensions (optional):* Provide additional functionality such as AWS Secrets Manager integration for credential management.

For more details on each configuration section see [CloudWatch pipelines User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-pipelines.html) . Additional comprehensive configuration examples can be found in the [CreateTelemetryPipeline API docs](https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_CreateTelemetryPipeline.html#API_CreateTelemetryPipeline_Examples) .

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"

telemetryPipelineConfigurationProperty := &TelemetryPipelineConfigurationProperty{
	Body: jsii.String("body"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetrypipelines-telemetrypipelineconfiguration.html

type CfnTelemetryPipelines_TelemetryPipelineProperty added in v2.232.0

type CfnTelemetryPipelines_TelemetryPipelineProperty struct {
	// The Amazon Resource Name (ARN) of the telemetry pipeline.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetrypipelines-telemetrypipeline.html#cfn-observabilityadmin-telemetrypipelines-telemetrypipeline-arn
	//
	Arn *string `field:"optional" json:"arn" yaml:"arn"`
	// The configuration that defines how the telemetry pipeline processes data.
	//
	// For more information, see the [Amazon CloudWatch User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Creating-pipelines.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetrypipelines-telemetrypipeline.html#cfn-observabilityadmin-telemetrypipelines-telemetrypipeline-configuration
	//
	Configuration interface{} `field:"optional" json:"configuration" yaml:"configuration"`
	// The timestamp when the telemetry pipeline was created.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetrypipelines-telemetrypipeline.html#cfn-observabilityadmin-telemetrypipelines-telemetrypipeline-createdtimestamp
	//
	CreatedTimeStamp *float64 `field:"optional" json:"createdTimeStamp" yaml:"createdTimeStamp"`
	// The timestamp when the telemetry pipeline was last updated.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetrypipelines-telemetrypipeline.html#cfn-observabilityadmin-telemetrypipelines-telemetrypipeline-lastupdatetimestamp
	//
	LastUpdateTimeStamp *float64 `field:"optional" json:"lastUpdateTimeStamp" yaml:"lastUpdateTimeStamp"`
	// The name of the telemetry pipeline.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetrypipelines-telemetrypipeline.html#cfn-observabilityadmin-telemetrypipelines-telemetrypipeline-name
	//
	Name *string `field:"optional" json:"name" yaml:"name"`
	// The current status of the telemetry pipeline.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetrypipelines-telemetrypipeline.html#cfn-observabilityadmin-telemetrypipelines-telemetrypipeline-status
	//
	Status *string `field:"optional" json:"status" yaml:"status"`
	// Additional information about the pipeline status, including reasons for failure states.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetrypipelines-telemetrypipeline.html#cfn-observabilityadmin-telemetrypipelines-telemetrypipeline-statusreason
	//
	StatusReason interface{} `field:"optional" json:"statusReason" yaml:"statusReason"`
	// The key-value pairs associated with the telemetry pipeline resource.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetrypipelines-telemetrypipeline.html#cfn-observabilityadmin-telemetrypipelines-telemetrypipeline-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Represents a complete telemetry pipeline resource with configuration, status, and metadata for data processing and transformation.

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"

telemetryPipelineProperty := &TelemetryPipelineProperty{
	Arn: jsii.String("arn"),
	Configuration: &TelemetryPipelineConfigurationProperty{
		Body: jsii.String("body"),
	},
	CreatedTimeStamp: jsii.Number(123),
	LastUpdateTimeStamp: jsii.Number(123),
	Name: jsii.String("name"),
	Status: jsii.String("status"),
	StatusReason: &TelemetryPipelineStatusReasonProperty{
		Description: jsii.String("description"),
	},
	Tags: []CfnTag{
		&CfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetrypipelines-telemetrypipeline.html

type CfnTelemetryPipelines_TelemetryPipelineStatusReasonProperty added in v2.232.0

type CfnTelemetryPipelines_TelemetryPipelineStatusReasonProperty struct {
	// A description of the pipeline status reason, providing additional context about the current state.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetrypipelines-telemetrypipelinestatusreason.html#cfn-observabilityadmin-telemetrypipelines-telemetrypipelinestatusreason-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
}

Provides detailed information about the status of a telemetry pipeline, including reasons for specific states.

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"

telemetryPipelineStatusReasonProperty := &TelemetryPipelineStatusReasonProperty{
	Description: jsii.String("description"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetrypipelines-telemetrypipelinestatusreason.html

type CfnTelemetryRule

type CfnTelemetryRule interface {
	awscdk.CfnResource
	awscdk.IInspectable
	interfacesawsobservabilityadmin.ITelemetryRuleRef
	awscdk.ITaggableV2
	// The Amazon Resource Name (ARN) of the telemetry rule.
	AttrRuleArn() *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
	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
	// Retrieves the details of a specific telemetry rule in your account.
	Rule() interface{}
	SetRule(val interface{})
	// The name of the telemetry rule.
	RuleName() *string
	SetRuleName(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Lists all tags attached to the specified resource.
	Tags() *[]*awscdk.CfnTag
	SetTags(val *[]*awscdk.CfnTag)
	// A reference to a TelemetryRule resource.
	TelemetryRuleRef() *interfacesawsobservabilityadmin.TelemetryRuleReference
	// 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{})
	// Applies one or more mixins to this construct.
	//
	// Mixins are applied in order. The list of constructs is captured at the
	// start of the call, so constructs added by a mixin will not be visited.
	// Use multiple `with()` calls if subsequent mixins should apply to added
	// constructs.
	With(mixins ...constructs.IMixin) constructs.IConstruct
}

Creates a telemetry rule that defines how telemetry should be configured for AWS resources in your account.

The rule specifies which resources should have telemetry enabled and how that telemetry data should be collected based on resource type, telemetry type, and selection criteria.

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"

cfnTelemetryRule := awscdk.Aws_observabilityadmin.NewCfnTelemetryRule(this, jsii.String("MyCfnTelemetryRule"), &CfnTelemetryRuleProps{
	Rule: &TelemetryRuleProperty{
		ResourceType: jsii.String("resourceType"),
		TelemetryType: jsii.String("telemetryType"),

		// the properties below are optional
		DestinationConfiguration: &TelemetryDestinationConfigurationProperty{
			CloudtrailParameters: &CloudtrailParametersProperty{
				AdvancedEventSelectors: []interface{}{
					&AdvancedEventSelectorProperty{
						FieldSelectors: []interface{}{
							&AdvancedFieldSelectorProperty{
								EndsWith: []*string{
									jsii.String("endsWith"),
								},
								EqualTo: []*string{
									jsii.String("equalTo"),
								},
								Field: jsii.String("field"),
								NotEndsWith: []*string{
									jsii.String("notEndsWith"),
								},
								NotEquals: []*string{
									jsii.String("notEquals"),
								},
								NotStartsWith: []*string{
									jsii.String("notStartsWith"),
								},
								StartsWith: []*string{
									jsii.String("startsWith"),
								},
							},
						},

						// the properties below are optional
						Name: jsii.String("name"),
					},
				},
			},
			DestinationPattern: jsii.String("destinationPattern"),
			DestinationType: jsii.String("destinationType"),
			ElbLoadBalancerLoggingParameters: &ELBLoadBalancerLoggingParametersProperty{
				FieldDelimiter: jsii.String("fieldDelimiter"),
				OutputFormat: jsii.String("outputFormat"),
			},
			LogDeliveryParameters: &LogDeliveryParametersProperty{
				LogTypes: []*string{
					jsii.String("logTypes"),
				},
			},
			RetentionInDays: jsii.Number(123),
			VpcFlowLogParameters: &VPCFlowLogParametersProperty{
				LogFormat: jsii.String("logFormat"),
				MaxAggregationInterval: jsii.Number(123),
				TrafficType: jsii.String("trafficType"),
			},
			WafLoggingParameters: &WAFLoggingParametersProperty{
				LoggingFilter: &LoggingFilterProperty{
					DefaultBehavior: jsii.String("defaultBehavior"),
					Filters: []interface{}{
						&FilterProperty{
							Behavior: jsii.String("behavior"),
							Conditions: []interface{}{
								&ConditionProperty{
									ActionCondition: &ActionConditionProperty{
										Action: jsii.String("action"),
									},
									LabelNameCondition: &LabelNameConditionProperty{
										LabelName: jsii.String("labelName"),
									},
								},
							},
							Requirement: jsii.String("requirement"),
						},
					},
				},
				LogType: jsii.String("logType"),
				RedactedFields: []interface{}{
					&FieldToMatchProperty{
						Method: jsii.String("method"),
						QueryString: jsii.String("queryString"),
						SingleHeader: &SingleHeaderProperty{
							Name: jsii.String("name"),
						},
						UriPath: jsii.String("uriPath"),
					},
				},
			},
		},
		SelectionCriteria: jsii.String("selectionCriteria"),
		TelemetrySourceTypes: []*string{
			jsii.String("telemetrySourceTypes"),
		},
	},
	RuleName: jsii.String("ruleName"),

	// 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-observabilityadmin-telemetryrule.html

func NewCfnTelemetryRule

func NewCfnTelemetryRule(scope constructs.Construct, id *string, props *CfnTelemetryRuleProps) CfnTelemetryRule

Create a new `AWS::ObservabilityAdmin::TelemetryRule`.

type CfnTelemetryRuleProps

type CfnTelemetryRuleProps struct {
	// Retrieves the details of a specific telemetry rule in your account.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetryrule.html#cfn-observabilityadmin-telemetryrule-rule
	//
	Rule interface{} `field:"required" json:"rule" yaml:"rule"`
	// The name of the telemetry rule.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetryrule.html#cfn-observabilityadmin-telemetryrule-rulename
	//
	RuleName *string `field:"required" json:"ruleName" yaml:"ruleName"`
	// Lists all tags attached to the specified resource.
	//
	// Supports telemetry rule resources and telemetry pipeline resources.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-observabilityadmin-telemetryrule.html#cfn-observabilityadmin-telemetryrule-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnTelemetryRule`.

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"

cfnTelemetryRuleProps := &CfnTelemetryRuleProps{
	Rule: &TelemetryRuleProperty{
		ResourceType: jsii.String("resourceType"),
		TelemetryType: jsii.String("telemetryType"),

		// the properties below are optional
		DestinationConfiguration: &TelemetryDestinationConfigurationProperty{
			CloudtrailParameters: &CloudtrailParametersProperty{
				AdvancedEventSelectors: []interface{}{
					&AdvancedEventSelectorProperty{
						FieldSelectors: []interface{}{
							&AdvancedFieldSelectorProperty{
								EndsWith: []*string{
									jsii.String("endsWith"),
								},
								EqualTo: []*string{
									jsii.String("equalTo"),
								},
								Field: jsii.String("field"),
								NotEndsWith: []*string{
									jsii.String("notEndsWith"),
								},
								NotEquals: []*string{
									jsii.String("notEquals"),
								},
								NotStartsWith: []*string{
									jsii.String("notStartsWith"),
								},
								StartsWith: []*string{
									jsii.String("startsWith"),
								},
							},
						},

						// the properties below are optional
						Name: jsii.String("name"),
					},
				},
			},
			DestinationPattern: jsii.String("destinationPattern"),
			DestinationType: jsii.String("destinationType"),
			ElbLoadBalancerLoggingParameters: &ELBLoadBalancerLoggingParametersProperty{
				FieldDelimiter: jsii.String("fieldDelimiter"),
				OutputFormat: jsii.String("outputFormat"),
			},
			LogDeliveryParameters: &LogDeliveryParametersProperty{
				LogTypes: []*string{
					jsii.String("logTypes"),
				},
			},
			RetentionInDays: jsii.Number(123),
			VpcFlowLogParameters: &VPCFlowLogParametersProperty{
				LogFormat: jsii.String("logFormat"),
				MaxAggregationInterval: jsii.Number(123),
				TrafficType: jsii.String("trafficType"),
			},
			WafLoggingParameters: &WAFLoggingParametersProperty{
				LoggingFilter: &LoggingFilterProperty{
					DefaultBehavior: jsii.String("defaultBehavior"),
					Filters: []interface{}{
						&FilterProperty{
							Behavior: jsii.String("behavior"),
							Conditions: []interface{}{
								&ConditionProperty{
									ActionCondition: &ActionConditionProperty{
										Action: jsii.String("action"),
									},
									LabelNameCondition: &LabelNameConditionProperty{
										LabelName: jsii.String("labelName"),
									},
								},
							},
							Requirement: jsii.String("requirement"),
						},
					},
				},
				LogType: jsii.String("logType"),
				RedactedFields: []interface{}{
					&FieldToMatchProperty{
						Method: jsii.String("method"),
						QueryString: jsii.String("queryString"),
						SingleHeader: &SingleHeaderProperty{
							Name: jsii.String("name"),
						},
						UriPath: jsii.String("uriPath"),
					},
				},
			},
		},
		SelectionCriteria: jsii.String("selectionCriteria"),
		TelemetrySourceTypes: []*string{
			jsii.String("telemetrySourceTypes"),
		},
	},
	RuleName: jsii.String("ruleName"),

	// 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-observabilityadmin-telemetryrule.html

type CfnTelemetryRule_ActionConditionProperty added in v2.233.0

type CfnTelemetryRule_ActionConditionProperty struct {
	// The WAF action to match against (ALLOW, BLOCK, COUNT, CAPTCHA, CHALLENGE, EXCLUDED_AS_COUNT).
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-actioncondition.html#cfn-observabilityadmin-telemetryrule-actioncondition-action
	//
	Action *string `field:"optional" json:"action" yaml:"action"`
}

Condition that matches based on the specific WAF action taken on the request.

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"

actionConditionProperty := &ActionConditionProperty{
	Action: jsii.String("action"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-actioncondition.html

type CfnTelemetryRule_AdvancedEventSelectorProperty added in v2.233.0

type CfnTelemetryRule_AdvancedEventSelectorProperty struct {
	// Contains all selector statements in an advanced event selector.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-advancedeventselector.html#cfn-observabilityadmin-telemetryrule-advancedeventselector-fieldselectors
	//
	FieldSelectors interface{} `field:"required" json:"fieldSelectors" yaml:"fieldSelectors"`
	// An optional, descriptive name for an advanced event selector, such as "Log data events for only two S3 buckets".
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-advancedeventselector.html#cfn-observabilityadmin-telemetryrule-advancedeventselector-name
	//
	Name *string `field:"optional" json:"name" yaml:"name"`
}

Advanced event selectors let you create fine-grained selectors for management, data, and network activity events.

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"

advancedEventSelectorProperty := &AdvancedEventSelectorProperty{
	FieldSelectors: []interface{}{
		&AdvancedFieldSelectorProperty{
			EndsWith: []*string{
				jsii.String("endsWith"),
			},
			EqualTo: []*string{
				jsii.String("equalTo"),
			},
			Field: jsii.String("field"),
			NotEndsWith: []*string{
				jsii.String("notEndsWith"),
			},
			NotEquals: []*string{
				jsii.String("notEquals"),
			},
			NotStartsWith: []*string{
				jsii.String("notStartsWith"),
			},
			StartsWith: []*string{
				jsii.String("startsWith"),
			},
		},
	},

	// the properties below are optional
	Name: jsii.String("name"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-advancedeventselector.html

type CfnTelemetryRule_AdvancedFieldSelectorProperty added in v2.233.0

type CfnTelemetryRule_AdvancedFieldSelectorProperty struct {
	// Matches if the field value ends with the specified value.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-advancedfieldselector.html#cfn-observabilityadmin-telemetryrule-advancedfieldselector-endswith
	//
	EndsWith *[]*string `field:"optional" json:"endsWith" yaml:"endsWith"`
	// Matches if the field value equals the specified value.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-advancedfieldselector.html#cfn-observabilityadmin-telemetryrule-advancedfieldselector-equals
	//
	EqualTo *[]*string `field:"optional" json:"equalTo" yaml:"equalTo"`
	// The name of the field to use for selection.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-advancedfieldselector.html#cfn-observabilityadmin-telemetryrule-advancedfieldselector-field
	//
	Field *string `field:"optional" json:"field" yaml:"field"`
	// Matches if the field value does not end with the specified value.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-advancedfieldselector.html#cfn-observabilityadmin-telemetryrule-advancedfieldselector-notendswith
	//
	NotEndsWith *[]*string `field:"optional" json:"notEndsWith" yaml:"notEndsWith"`
	// Matches if the field value does not equal the specified value.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-advancedfieldselector.html#cfn-observabilityadmin-telemetryrule-advancedfieldselector-notequals
	//
	NotEquals *[]*string `field:"optional" json:"notEquals" yaml:"notEquals"`
	// Matches if the field value does not start with the specified value.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-advancedfieldselector.html#cfn-observabilityadmin-telemetryrule-advancedfieldselector-notstartswith
	//
	NotStartsWith *[]*string `field:"optional" json:"notStartsWith" yaml:"notStartsWith"`
	// Matches if the field value starts with the specified value.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-advancedfieldselector.html#cfn-observabilityadmin-telemetryrule-advancedfieldselector-startswith
	//
	StartsWith *[]*string `field:"optional" json:"startsWith" yaml:"startsWith"`
}

Defines criteria for selecting resources based on field values.

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"

advancedFieldSelectorProperty := &AdvancedFieldSelectorProperty{
	EndsWith: []*string{
		jsii.String("endsWith"),
	},
	EqualTo: []*string{
		jsii.String("equalTo"),
	},
	Field: jsii.String("field"),
	NotEndsWith: []*string{
		jsii.String("notEndsWith"),
	},
	NotEquals: []*string{
		jsii.String("notEquals"),
	},
	NotStartsWith: []*string{
		jsii.String("notStartsWith"),
	},
	StartsWith: []*string{
		jsii.String("startsWith"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-advancedfieldselector.html

type CfnTelemetryRule_CloudtrailParametersProperty added in v2.233.0

type CfnTelemetryRule_CloudtrailParametersProperty struct {
	// The advanced event selectors to use for filtering AWS CloudTrail events.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-cloudtrailparameters.html#cfn-observabilityadmin-telemetryrule-cloudtrailparameters-advancedeventselectors
	//
	AdvancedEventSelectors interface{} `field:"required" json:"advancedEventSelectors" yaml:"advancedEventSelectors"`
}

Parameters specific to AWS CloudTrail telemetry configuration.

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"

cloudtrailParametersProperty := &CloudtrailParametersProperty{
	AdvancedEventSelectors: []interface{}{
		&AdvancedEventSelectorProperty{
			FieldSelectors: []interface{}{
				&AdvancedFieldSelectorProperty{
					EndsWith: []*string{
						jsii.String("endsWith"),
					},
					EqualTo: []*string{
						jsii.String("equalTo"),
					},
					Field: jsii.String("field"),
					NotEndsWith: []*string{
						jsii.String("notEndsWith"),
					},
					NotEquals: []*string{
						jsii.String("notEquals"),
					},
					NotStartsWith: []*string{
						jsii.String("notStartsWith"),
					},
					StartsWith: []*string{
						jsii.String("startsWith"),
					},
				},
			},

			// the properties below are optional
			Name: jsii.String("name"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-cloudtrailparameters.html

type CfnTelemetryRule_ConditionProperty added in v2.233.0

type CfnTelemetryRule_ConditionProperty struct {
	// Matches log records based on the WAF rule action taken (ALLOW, BLOCK, COUNT, etc.).
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-condition.html#cfn-observabilityadmin-telemetryrule-condition-actioncondition
	//
	ActionCondition interface{} `field:"optional" json:"actionCondition" yaml:"actionCondition"`
	// Matches log records based on WAF rule labels applied to the request.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-condition.html#cfn-observabilityadmin-telemetryrule-condition-labelnamecondition
	//
	LabelNameCondition interface{} `field:"optional" json:"labelNameCondition" yaml:"labelNameCondition"`
}

A single condition that can match based on WAF rule action or label name.

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"

conditionProperty := &ConditionProperty{
	ActionCondition: &ActionConditionProperty{
		Action: jsii.String("action"),
	},
	LabelNameCondition: &LabelNameConditionProperty{
		LabelName: jsii.String("labelName"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-condition.html

type CfnTelemetryRule_ELBLoadBalancerLoggingParametersProperty added in v2.233.0

type CfnTelemetryRule_ELBLoadBalancerLoggingParametersProperty struct {
	// The delimiter character used to separate fields in ELB access log entries when using plain text format.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-elbloadbalancerloggingparameters.html#cfn-observabilityadmin-telemetryrule-elbloadbalancerloggingparameters-fielddelimiter
	//
	FieldDelimiter *string `field:"optional" json:"fieldDelimiter" yaml:"fieldDelimiter"`
	// The format for ELB access log entries (plain text or JSON format).
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-elbloadbalancerloggingparameters.html#cfn-observabilityadmin-telemetryrule-elbloadbalancerloggingparameters-outputformat
	//
	OutputFormat *string `field:"optional" json:"outputFormat" yaml:"outputFormat"`
}

Configuration parameters for ELB load balancer logging, including output format and field delimiter settings.

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"

eLBLoadBalancerLoggingParametersProperty := &ELBLoadBalancerLoggingParametersProperty{
	FieldDelimiter: jsii.String("fieldDelimiter"),
	OutputFormat: jsii.String("outputFormat"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-elbloadbalancerloggingparameters.html

type CfnTelemetryRule_FieldToMatchProperty added in v2.233.0

type CfnTelemetryRule_FieldToMatchProperty struct {
	// Redacts the HTTP method from WAF logs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-fieldtomatch.html#cfn-observabilityadmin-telemetryrule-fieldtomatch-method
	//
	Method *string `field:"optional" json:"method" yaml:"method"`
	// Redacts the entire query string from WAF logs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-fieldtomatch.html#cfn-observabilityadmin-telemetryrule-fieldtomatch-querystring
	//
	QueryString *string `field:"optional" json:"queryString" yaml:"queryString"`
	// Redacts a specific header field by name from WAF logs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-fieldtomatch.html#cfn-observabilityadmin-telemetryrule-fieldtomatch-singleheader
	//
	SingleHeader interface{} `field:"optional" json:"singleHeader" yaml:"singleHeader"`
	// Redacts the URI path from WAF logs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-fieldtomatch.html#cfn-observabilityadmin-telemetryrule-fieldtomatch-uripath
	//
	UriPath *string `field:"optional" json:"uriPath" yaml:"uriPath"`
}

Specifies a field in the request to redact from WAF logs, such as headers, query parameters, or body content.

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"

fieldToMatchProperty := &FieldToMatchProperty{
	Method: jsii.String("method"),
	QueryString: jsii.String("queryString"),
	SingleHeader: &SingleHeaderProperty{
		Name: jsii.String("name"),
	},
	UriPath: jsii.String("uriPath"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-fieldtomatch.html

type CfnTelemetryRule_FilterProperty added in v2.233.0

type CfnTelemetryRule_FilterProperty struct {
	// The action to take for log records matching this filter (KEEP or DROP).
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-filter.html#cfn-observabilityadmin-telemetryrule-filter-behavior
	//
	Behavior *string `field:"optional" json:"behavior" yaml:"behavior"`
	// The list of conditions that determine if a log record matches this filter.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-filter.html#cfn-observabilityadmin-telemetryrule-filter-conditions
	//
	Conditions interface{} `field:"optional" json:"conditions" yaml:"conditions"`
	// Whether the log record must meet all conditions (MEETS_ALL) or any condition (MEETS_ANY) to match this filter.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-filter.html#cfn-observabilityadmin-telemetryrule-filter-requirement
	//
	Requirement *string `field:"optional" json:"requirement" yaml:"requirement"`
}

A single filter condition that specifies behavior, requirement, and matching conditions for WAF log records.

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"

filterProperty := &FilterProperty{
	Behavior: jsii.String("behavior"),
	Conditions: []interface{}{
		&ConditionProperty{
			ActionCondition: &ActionConditionProperty{
				Action: jsii.String("action"),
			},
			LabelNameCondition: &LabelNameConditionProperty{
				LabelName: jsii.String("labelName"),
			},
		},
	},
	Requirement: jsii.String("requirement"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-filter.html

type CfnTelemetryRule_LabelNameConditionProperty added in v2.233.0

type CfnTelemetryRule_LabelNameConditionProperty struct {
	// The label name to match, supporting alphanumeric characters, underscores, hyphens, and colons.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-labelnamecondition.html#cfn-observabilityadmin-telemetryrule-labelnamecondition-labelname
	//
	LabelName *string `field:"optional" json:"labelName" yaml:"labelName"`
}

Condition that matches based on WAF rule labels, with label names limited to 1024 characters.

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"

labelNameConditionProperty := &LabelNameConditionProperty{
	LabelName: jsii.String("labelName"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-labelnamecondition.html

type CfnTelemetryRule_LogDeliveryParametersProperty added in v2.233.0

type CfnTelemetryRule_LogDeliveryParametersProperty struct {
	// The type of log that the source is sending.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-logdeliveryparameters.html#cfn-observabilityadmin-telemetryrule-logdeliveryparameters-logtypes
	//
	LogTypes *[]*string `field:"optional" json:"logTypes" yaml:"logTypes"`
}

Configuration parameters for Amazon Bedrock AgentCore logging, including `logType` settings.

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"

logDeliveryParametersProperty := &LogDeliveryParametersProperty{
	LogTypes: []*string{
		jsii.String("logTypes"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-logdeliveryparameters.html

type CfnTelemetryRule_LoggingFilterProperty added in v2.233.0

type CfnTelemetryRule_LoggingFilterProperty struct {
	// The default action (KEEP or DROP) for log records that don't match any filter conditions.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-loggingfilter.html#cfn-observabilityadmin-telemetryrule-loggingfilter-defaultbehavior
	//
	DefaultBehavior *string `field:"optional" json:"defaultBehavior" yaml:"defaultBehavior"`
	// A list of filter conditions that determine log record handling behavior.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-loggingfilter.html#cfn-observabilityadmin-telemetryrule-loggingfilter-filters
	//
	Filters interface{} `field:"optional" json:"filters" yaml:"filters"`
}

Configuration that determines which WAF log records to keep or drop based on specified conditions.

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{
	DefaultBehavior: jsii.String("defaultBehavior"),
	Filters: []interface{}{
		&FilterProperty{
			Behavior: jsii.String("behavior"),
			Conditions: []interface{}{
				&ConditionProperty{
					ActionCondition: &ActionConditionProperty{
						Action: jsii.String("action"),
					},
					LabelNameCondition: &LabelNameConditionProperty{
						LabelName: jsii.String("labelName"),
					},
				},
			},
			Requirement: jsii.String("requirement"),
		},
	},
}

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

type CfnTelemetryRule_SingleHeaderProperty added in v2.233.0

type CfnTelemetryRule_SingleHeaderProperty struct {
	// The name value, limited to 64 characters.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-singleheader.html#cfn-observabilityadmin-telemetryrule-singleheader-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
}

Structure containing a name field limited to 64 characters for header or query parameter identification.

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"

singleHeaderProperty := &SingleHeaderProperty{
	Name: jsii.String("name"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-singleheader.html

type CfnTelemetryRule_TelemetryDestinationConfigurationProperty

type CfnTelemetryRule_TelemetryDestinationConfigurationProperty struct {
	// Configuration parameters specific to AWS CloudTrail when CloudTrail is the source type.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-telemetryrule-telemetrydestinationconfiguration-cloudtrailparameters
	//
	CloudtrailParameters interface{} `field:"optional" json:"cloudtrailParameters" yaml:"cloudtrailParameters"`
	// The pattern used to generate the destination path or name, supporting macros like <resourceId> and <accountId>.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-telemetryrule-telemetrydestinationconfiguration-destinationpattern
	//
	DestinationPattern *string `field:"optional" json:"destinationPattern" yaml:"destinationPattern"`
	// The type of destination for the telemetry data (e.g., "Amazon CloudWatch Logs", "S3").
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-telemetryrule-telemetrydestinationconfiguration-destinationtype
	//
	DestinationType *string `field:"optional" json:"destinationType" yaml:"destinationType"`
	// Configuration parameters specific to ELB load balancer logging when ELB is the resource type.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-telemetryrule-telemetrydestinationconfiguration-elbloadbalancerloggingparameters
	//
	ElbLoadBalancerLoggingParameters interface{} `field:"optional" json:"elbLoadBalancerLoggingParameters" yaml:"elbLoadBalancerLoggingParameters"`
	// Configuration parameters specific to Amazon Bedrock AgentCore logging when Amazon Bedrock AgentCore is the resource type.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-telemetryrule-telemetrydestinationconfiguration-logdeliveryparameters
	//
	LogDeliveryParameters interface{} `field:"optional" json:"logDeliveryParameters" yaml:"logDeliveryParameters"`
	// The number of days to retain the telemetry data in the destination.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-telemetryrule-telemetrydestinationconfiguration-retentionindays
	//
	RetentionInDays *float64 `field:"optional" json:"retentionInDays" yaml:"retentionInDays"`
	// Configuration parameters specific to VPC Flow Logs when VPC is the resource type.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-telemetryrule-telemetrydestinationconfiguration-vpcflowlogparameters
	//
	VpcFlowLogParameters interface{} `field:"optional" json:"vpcFlowLogParameters" yaml:"vpcFlowLogParameters"`
	// Configuration parameters specific to WAF logging when WAF is the resource type.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetrydestinationconfiguration.html#cfn-observabilityadmin-telemetryrule-telemetrydestinationconfiguration-wafloggingparameters
	//
	WafLoggingParameters interface{} `field:"optional" json:"wafLoggingParameters" yaml:"wafLoggingParameters"`
}

Configuration specifying where and how telemetry data should be delivered for AWS resources.

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"

telemetryDestinationConfigurationProperty := &TelemetryDestinationConfigurationProperty{
	CloudtrailParameters: &CloudtrailParametersProperty{
		AdvancedEventSelectors: []interface{}{
			&AdvancedEventSelectorProperty{
				FieldSelectors: []interface{}{
					&AdvancedFieldSelectorProperty{
						EndsWith: []*string{
							jsii.String("endsWith"),
						},
						EqualTo: []*string{
							jsii.String("equalTo"),
						},
						Field: jsii.String("field"),
						NotEndsWith: []*string{
							jsii.String("notEndsWith"),
						},
						NotEquals: []*string{
							jsii.String("notEquals"),
						},
						NotStartsWith: []*string{
							jsii.String("notStartsWith"),
						},
						StartsWith: []*string{
							jsii.String("startsWith"),
						},
					},
				},

				// the properties below are optional
				Name: jsii.String("name"),
			},
		},
	},
	DestinationPattern: jsii.String("destinationPattern"),
	DestinationType: jsii.String("destinationType"),
	ElbLoadBalancerLoggingParameters: &ELBLoadBalancerLoggingParametersProperty{
		FieldDelimiter: jsii.String("fieldDelimiter"),
		OutputFormat: jsii.String("outputFormat"),
	},
	LogDeliveryParameters: &LogDeliveryParametersProperty{
		LogTypes: []*string{
			jsii.String("logTypes"),
		},
	},
	RetentionInDays: jsii.Number(123),
	VpcFlowLogParameters: &VPCFlowLogParametersProperty{
		LogFormat: jsii.String("logFormat"),
		MaxAggregationInterval: jsii.Number(123),
		TrafficType: jsii.String("trafficType"),
	},
	WafLoggingParameters: &WAFLoggingParametersProperty{
		LoggingFilter: &LoggingFilterProperty{
			DefaultBehavior: jsii.String("defaultBehavior"),
			Filters: []interface{}{
				&FilterProperty{
					Behavior: jsii.String("behavior"),
					Conditions: []interface{}{
						&ConditionProperty{
							ActionCondition: &ActionConditionProperty{
								Action: jsii.String("action"),
							},
							LabelNameCondition: &LabelNameConditionProperty{
								LabelName: jsii.String("labelName"),
							},
						},
					},
					Requirement: jsii.String("requirement"),
				},
			},
		},
		LogType: jsii.String("logType"),
		RedactedFields: []interface{}{
			&FieldToMatchProperty{
				Method: jsii.String("method"),
				QueryString: jsii.String("queryString"),
				SingleHeader: &SingleHeaderProperty{
					Name: jsii.String("name"),
				},
				UriPath: jsii.String("uriPath"),
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetrydestinationconfiguration.html

type CfnTelemetryRule_TelemetryRuleProperty

type CfnTelemetryRule_TelemetryRuleProperty struct {
	// The type of AWS resource to configure telemetry for (e.g., "AWS::EC2::VPC", "AWS::EKS::Cluster", "AWS::WAFv2::WebACL").
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetryrule.html#cfn-observabilityadmin-telemetryrule-telemetryrule-resourcetype
	//
	ResourceType *string `field:"required" json:"resourceType" yaml:"resourceType"`
	// The type of telemetry to collect (Logs, Metrics, or Traces).
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetryrule.html#cfn-observabilityadmin-telemetryrule-telemetryrule-telemetrytype
	//
	TelemetryType *string `field:"required" json:"telemetryType" yaml:"telemetryType"`
	// Configuration specifying where and how the telemetry data should be delivered.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetryrule.html#cfn-observabilityadmin-telemetryrule-telemetryrule-destinationconfiguration
	//
	DestinationConfiguration interface{} `field:"optional" json:"destinationConfiguration" yaml:"destinationConfiguration"`
	// Criteria for selecting which resources the rule applies to, such as resource tags.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetryrule.html#cfn-observabilityadmin-telemetryrule-telemetryrule-selectioncriteria
	//
	SelectionCriteria *string `field:"optional" json:"selectionCriteria" yaml:"selectionCriteria"`
	// The specific telemetry source types to configure for the resource, such as VPC_FLOW_LOGS or EKS_AUDIT_LOGS.
	//
	// TelemetrySourceTypes must be correlated with the specific resource type.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetryrule.html#cfn-observabilityadmin-telemetryrule-telemetryrule-telemetrysourcetypes
	//
	TelemetrySourceTypes *[]*string `field:"optional" json:"telemetrySourceTypes" yaml:"telemetrySourceTypes"`
}

Defines how telemetry should be configured for specific AWS resources.

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"

telemetryRuleProperty := &TelemetryRuleProperty{
	ResourceType: jsii.String("resourceType"),
	TelemetryType: jsii.String("telemetryType"),

	// the properties below are optional
	DestinationConfiguration: &TelemetryDestinationConfigurationProperty{
		CloudtrailParameters: &CloudtrailParametersProperty{
			AdvancedEventSelectors: []interface{}{
				&AdvancedEventSelectorProperty{
					FieldSelectors: []interface{}{
						&AdvancedFieldSelectorProperty{
							EndsWith: []*string{
								jsii.String("endsWith"),
							},
							EqualTo: []*string{
								jsii.String("equalTo"),
							},
							Field: jsii.String("field"),
							NotEndsWith: []*string{
								jsii.String("notEndsWith"),
							},
							NotEquals: []*string{
								jsii.String("notEquals"),
							},
							NotStartsWith: []*string{
								jsii.String("notStartsWith"),
							},
							StartsWith: []*string{
								jsii.String("startsWith"),
							},
						},
					},

					// the properties below are optional
					Name: jsii.String("name"),
				},
			},
		},
		DestinationPattern: jsii.String("destinationPattern"),
		DestinationType: jsii.String("destinationType"),
		ElbLoadBalancerLoggingParameters: &ELBLoadBalancerLoggingParametersProperty{
			FieldDelimiter: jsii.String("fieldDelimiter"),
			OutputFormat: jsii.String("outputFormat"),
		},
		LogDeliveryParameters: &LogDeliveryParametersProperty{
			LogTypes: []*string{
				jsii.String("logTypes"),
			},
		},
		RetentionInDays: jsii.Number(123),
		VpcFlowLogParameters: &VPCFlowLogParametersProperty{
			LogFormat: jsii.String("logFormat"),
			MaxAggregationInterval: jsii.Number(123),
			TrafficType: jsii.String("trafficType"),
		},
		WafLoggingParameters: &WAFLoggingParametersProperty{
			LoggingFilter: &LoggingFilterProperty{
				DefaultBehavior: jsii.String("defaultBehavior"),
				Filters: []interface{}{
					&FilterProperty{
						Behavior: jsii.String("behavior"),
						Conditions: []interface{}{
							&ConditionProperty{
								ActionCondition: &ActionConditionProperty{
									Action: jsii.String("action"),
								},
								LabelNameCondition: &LabelNameConditionProperty{
									LabelName: jsii.String("labelName"),
								},
							},
						},
						Requirement: jsii.String("requirement"),
					},
				},
			},
			LogType: jsii.String("logType"),
			RedactedFields: []interface{}{
				&FieldToMatchProperty{
					Method: jsii.String("method"),
					QueryString: jsii.String("queryString"),
					SingleHeader: &SingleHeaderProperty{
						Name: jsii.String("name"),
					},
					UriPath: jsii.String("uriPath"),
				},
			},
		},
	},
	SelectionCriteria: jsii.String("selectionCriteria"),
	TelemetrySourceTypes: []*string{
		jsii.String("telemetrySourceTypes"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-telemetryrule.html

type CfnTelemetryRule_VPCFlowLogParametersProperty

type CfnTelemetryRule_VPCFlowLogParametersProperty struct {
	// The format in which VPC Flow Log entries should be logged.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-vpcflowlogparameters.html#cfn-observabilityadmin-telemetryrule-vpcflowlogparameters-logformat
	//
	LogFormat *string `field:"optional" json:"logFormat" yaml:"logFormat"`
	// The maximum interval in seconds between the capture of flow log records.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-vpcflowlogparameters.html#cfn-observabilityadmin-telemetryrule-vpcflowlogparameters-maxaggregationinterval
	//
	MaxAggregationInterval *float64 `field:"optional" json:"maxAggregationInterval" yaml:"maxAggregationInterval"`
	// The type of traffic to log (ACCEPT, REJECT, or ALL).
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-vpcflowlogparameters.html#cfn-observabilityadmin-telemetryrule-vpcflowlogparameters-traffictype
	//
	TrafficType *string `field:"optional" json:"trafficType" yaml:"trafficType"`
}

Configuration parameters specific to VPC Flow 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"

vPCFlowLogParametersProperty := &VPCFlowLogParametersProperty{
	LogFormat: jsii.String("logFormat"),
	MaxAggregationInterval: jsii.Number(123),
	TrafficType: jsii.String("trafficType"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-vpcflowlogparameters.html

type CfnTelemetryRule_WAFLoggingParametersProperty added in v2.233.0

type CfnTelemetryRule_WAFLoggingParametersProperty struct {
	// A filter configuration that determines which WAF log records to include or exclude.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-wafloggingparameters.html#cfn-observabilityadmin-telemetryrule-wafloggingparameters-loggingfilter
	//
	LoggingFilter interface{} `field:"optional" json:"loggingFilter" yaml:"loggingFilter"`
	// The type of WAF logs to collect (currently supports WAF_LOGS).
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-wafloggingparameters.html#cfn-observabilityadmin-telemetryrule-wafloggingparameters-logtype
	//
	LogType *string `field:"optional" json:"logType" yaml:"logType"`
	// The fields to redact from WAF logs to protect sensitive information.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-wafloggingparameters.html#cfn-observabilityadmin-telemetryrule-wafloggingparameters-redactedfields
	//
	RedactedFields interface{} `field:"optional" json:"redactedFields" yaml:"redactedFields"`
}

Configuration parameters for WAF logging, including redacted fields and logging filters.

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"

wAFLoggingParametersProperty := &WAFLoggingParametersProperty{
	LoggingFilter: &LoggingFilterProperty{
		DefaultBehavior: jsii.String("defaultBehavior"),
		Filters: []interface{}{
			&FilterProperty{
				Behavior: jsii.String("behavior"),
				Conditions: []interface{}{
					&ConditionProperty{
						ActionCondition: &ActionConditionProperty{
							Action: jsii.String("action"),
						},
						LabelNameCondition: &LabelNameConditionProperty{
							LabelName: jsii.String("labelName"),
						},
					},
				},
				Requirement: jsii.String("requirement"),
			},
		},
	},
	LogType: jsii.String("logType"),
	RedactedFields: []interface{}{
		&FieldToMatchProperty{
			Method: jsii.String("method"),
			QueryString: jsii.String("queryString"),
			SingleHeader: &SingleHeaderProperty{
				Name: jsii.String("name"),
			},
			UriPath: jsii.String("uriPath"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-observabilityadmin-telemetryrule-wafloggingparameters.html

Source Files

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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