Class: AWSCDK::ApplicationSignals::CfnGroupingConfiguration::GroupingAttributeDefinitionProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
application_signals/cfn_grouping_configuration.rb

Overview

A structure that defines how services should be grouped based on specific attributes.

This includes the friendly name for the grouping, the source keys to derive values from, and an optional default value.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(grouping_name:, grouping_source_keys:, default_grouping_value: nil) ⇒ GroupingAttributeDefinitionProperty

Returns a new instance of GroupingAttributeDefinitionProperty.

Parameters:

  • grouping_name (String)

    The friendly name for this grouping attribute, such as BusinessUnit or Environment .

  • grouping_source_keys (Array<String>)

    An array of source keys used to derive the grouping attribute value from telemetry data, AWS tags, or other sources.

  • default_grouping_value (String, nil) (defaults to: nil)

    The default value to use for this grouping attribute when no value can be derived from the source keys.



514
515
516
517
518
519
520
521
# File 'application_signals/cfn_grouping_configuration.rb', line 514

def initialize(grouping_name:, grouping_source_keys:, default_grouping_value: nil)
  @grouping_name = grouping_name
  Jsii::Type.check_type(@grouping_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "groupingName")
  @grouping_source_keys = grouping_source_keys
  Jsii::Type.check_type(@grouping_source_keys, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "groupingSourceKeys")
  @default_grouping_value = default_grouping_value
  Jsii::Type.check_type(@default_grouping_value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "defaultGroupingValue") unless @default_grouping_value.nil?
end

Instance Attribute Details

#default_grouping_valueString? (readonly)

The default value to use for this grouping attribute when no value can be derived from the source keys.

This ensures all services have a grouping value even if the source data is missing.



543
544
545
# File 'application_signals/cfn_grouping_configuration.rb', line 543

def default_grouping_value
  @default_grouping_value
end

#grouping_nameString (readonly)

The friendly name for this grouping attribute, such as BusinessUnit or Environment .

This name is used to identify the grouping in the console and APIs.



529
530
531
# File 'application_signals/cfn_grouping_configuration.rb', line 529

def grouping_name
  @grouping_name
end

#grouping_source_keysArray<String> (readonly)

An array of source keys used to derive the grouping attribute value from telemetry data, AWS tags, or other sources.

For example, ["business_unit", "team"] would look for values in those fields.



536
537
538
# File 'application_signals/cfn_grouping_configuration.rb', line 536

def grouping_source_keys
  @grouping_source_keys
end

Class Method Details

.jsii_propertiesObject



545
546
547
548
549
550
551
# File 'application_signals/cfn_grouping_configuration.rb', line 545

def self.jsii_properties
  {
    :grouping_name => "groupingName",
    :grouping_source_keys => "groupingSourceKeys",
    :default_grouping_value => "defaultGroupingValue",
  }
end

Instance Method Details

#to_jsiiObject



553
554
555
556
557
558
559
560
561
# File 'application_signals/cfn_grouping_configuration.rb', line 553

def to_jsii
  result = {}
  result.merge!({
    "groupingName" => @grouping_name,
    "groupingSourceKeys" => @grouping_source_keys,
    "defaultGroupingValue" => @default_grouping_value,
  })
  result.compact
end