Skip to content
v2.275.0

TelemetryRuleProperty Struct ​

Defines how telemetry should be configured for specific AWS resources.

Example ​

ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_observabilityadmin as observabilityadmin } from 'aws-cdk-lib';
const telemetryRuleProperty: observabilityadmin.CfnTelemetryRule.TelemetryRuleProperty = {
  resourceType: 'resourceType',
  telemetryType: 'telemetryType',

  // the properties below are optional
  allowFieldUpdates: false,
  allRegions: false,
  destinationConfiguration: {
    cloudtrailParameters: {
      advancedEventSelectors: [{
        fieldSelectors: [{
          endsWith: ['endsWith'],
          equalTo: ['equalTo'],
          field: 'field',
          notEndsWith: ['notEndsWith'],
          notEquals: ['notEquals'],
          notStartsWith: ['notStartsWith'],
          startsWith: ['startsWith'],
        }],

        // the properties below are optional
        name: 'name',
      }],
    },
    destinationPattern: 'destinationPattern',
    destinationType: 'destinationType',
    elbLoadBalancerLoggingParameters: {
      fieldDelimiter: 'fieldDelimiter',
      outputFormat: 'outputFormat',
    },
    kmsKeyArn: 'kmsKeyArn',
    logDeliveryParameters: {
      logTypes: ['logTypes'],
    },
    mskMonitoringParameters: {
      enhancedMonitoring: 'enhancedMonitoring',
    },
    retentionInDays: 123,
    vpcFlowLogParameters: {
      logFormat: 'logFormat',
      maxAggregationInterval: 123,
      trafficType: 'trafficType',
    },
    wafLoggingParameters: {
      loggingFilter: {
        defaultBehavior: 'defaultBehavior',
        filters: [{
          behavior: 'behavior',
          conditions: [{
            actionCondition: {
              action: 'action',
            },
            labelNameCondition: {
              labelName: 'labelName',
            },
          }],
          requirement: 'requirement',
        }],
      },
      logType: 'logType',
      redactedFields: [{
        method: 'method',
        queryString: 'queryString',
        singleHeader: {
          name: 'name',
        },
        uriPath: 'uriPath',
      }],
    },
  },
  regions: ['regions'],
  selectionCriteria: 'selectionCriteria',
  telemetrySourceTypes: ['telemetrySourceTypes'],
};

Properties ​

allowFieldUpdatesoptionalboolean | IResolvableallow_field_updatesoptionaltyping.Union[bool, IResolvable]allowFieldUpdatesoptionalBooleanAllowFieldUpdatesoptionalboolAllowFieldUpdatesoptionalinterface{}= false#
When true, configuration drift in managed telemetry resources will be detected and remediated for resource-level fields.
allRegionsoptionalboolean | IResolvableall_regionsoptionaltyping.Union[bool, IResolvable]allRegionsoptionalBooleanAllRegionsoptionalboolAllRegionsoptionalinterface{}#
When true, the rule is replicated to all supported regions.
destinationConfigurationoptionalIResolvable | CfnTelemetryRule.TelemetryDestinationConfigurationPropertydestination_configurationoptionaltyping.Union[IResolvable, TelemetryDestinationConfigurationProperty]destinationConfigurationoptionalIResolvableDestinationConfigurationoptionalIResolvableDestinationConfigurationoptionalinterface{}#
Configuration specifying where and how the telemetry data should be delivered.
regionsoptionalstring[]regionsoptionaltyping.List[str]regionsoptionalList<String>Regionsoptionalstring[]Regionsoptional*[]*string#
List of AWS region codes where the rule should be replicated.
resourceTypestringresource_typestrresourceTypeStringResourceTypestringResourceType*stringrequired#
The type of AWS resource to configure telemetry for (e.g., "AWS::EC2::VPC", "AWS::EKS::Cluster", "AWS::WAFv2::WebACL").
selectionCriteriaoptionalstringselection_criteriaoptionalstrselectionCriteriaoptionalStringSelectionCriteriaoptionalstringSelectionCriteriaoptional*string#
Criteria for selecting which resources the rule applies to, such as resource tags.
telemetrySourceTypesoptionalstring[]telemetry_source_typesoptionaltyping.List[str]telemetrySourceTypesoptionalList<String>TelemetrySourceTypesoptionalstring[]TelemetrySourceTypesoptional*[]*string#
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.

telemetryTypestringtelemetry_typestrtelemetryTypeStringTelemetryTypestringTelemetryType*stringrequired#
The type of telemetry to collect (Logs, Metrics, or Traces).