Class: AWSCDK::ObservabilityAdmin::CfnOrganizationTelemetryRule::TelemetryRuleProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::ObservabilityAdmin::CfnOrganizationTelemetryRule::TelemetryRuleProperty
- Defined in:
- observability_admin/cfn_organization_telemetry_rule.rb
Overview
Defines how telemetry should be configured for specific AWS resources.
Instance Attribute Summary collapse
-
#all_regions ⇒ Boolean, ...
readonly
When true, the rule is replicated to all supported regions.
-
#allow_field_updates ⇒ Boolean, ...
readonly
When true, configuration drift in managed telemetry resources will be detected and remediated for resource-level fields.
-
#destination_configuration ⇒ AWSCDK::IResolvable, ...
readonly
Configuration specifying where and how the telemetry data should be delivered.
-
#regions ⇒ Array<String>?
readonly
List of AWS region codes where the rule should be replicated.
-
#resource_type ⇒ String
readonly
The type of AWS resource to configure telemetry for (e.g., "AWS::EC2::VPC", "AWS::EKS::Cluster", "AWS::WAFv2::WebACL").
-
#scope ⇒ String?
readonly
The organizational scope to which the rule applies, specified using accounts or organizational units.
-
#selection_criteria ⇒ String?
readonly
Criteria for selecting which resources the rule applies to, such as resource tags.
-
#telemetry_source_types ⇒ Array<String>?
readonly
The specific telemetry source types to configure for the resource, such as VPC_FLOW_LOGS or EKS_AUDIT_LOGS.
-
#telemetry_type ⇒ String
readonly
The type of telemetry to collect (Logs, Metrics, or Traces).
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(resource_type:, telemetry_type:, allow_field_updates: nil, all_regions: nil, destination_configuration: nil, regions: nil, scope: nil, selection_criteria: nil, telemetry_source_types: nil) ⇒ TelemetryRuleProperty
constructor
A new instance of TelemetryRuleProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(resource_type:, telemetry_type:, allow_field_updates: nil, all_regions: nil, destination_configuration: nil, regions: nil, scope: nil, selection_criteria: nil, telemetry_source_types: nil) ⇒ TelemetryRuleProperty
Returns a new instance of TelemetryRuleProperty.
1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 |
# File 'observability_admin/cfn_organization_telemetry_rule.rb', line 1257 def initialize(resource_type:, telemetry_type:, allow_field_updates: nil, all_regions: nil, destination_configuration: nil, regions: nil, scope: nil, selection_criteria: nil, telemetry_source_types: nil) @resource_type = resource_type Jsii::Type.check_type(@resource_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "resourceType") @telemetry_type = telemetry_type Jsii::Type.check_type(@telemetry_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "telemetryType") @allow_field_updates = allow_field_updates Jsii::Type.check_type(@allow_field_updates, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "allowFieldUpdates") unless @allow_field_updates.nil? @all_regions = all_regions Jsii::Type.check_type(@all_regions, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "allRegions") unless @all_regions.nil? @destination_configuration = destination_configuration.is_a?(Hash) ? ::AWSCDK::ObservabilityAdmin::CfnOrganizationTelemetryRule::TelemetryDestinationConfigurationProperty.new(**destination_configuration.transform_keys(&:to_sym)) : destination_configuration Jsii::Type.check_type(@destination_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19vYnNlcnZhYmlsaXR5YWRtaW4uQ2ZuT3JnYW5pemF0aW9uVGVsZW1ldHJ5UnVsZS5UZWxlbWV0cnlEZXN0aW5hdGlvbkNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "destinationConfiguration") unless @destination_configuration.nil? @regions = regions Jsii::Type.check_type(@regions, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "regions") unless @regions.nil? @scope = scope Jsii::Type.check_type(@scope, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "scope") unless @scope.nil? @selection_criteria = selection_criteria Jsii::Type.check_type(@selection_criteria, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "selectionCriteria") unless @selection_criteria.nil? @telemetry_source_types = telemetry_source_types Jsii::Type.check_type(@telemetry_source_types, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "telemetrySourceTypes") unless @telemetry_source_types.nil? end |
Instance Attribute Details
#all_regions ⇒ Boolean, ... (readonly)
When true, the rule is replicated to all supported regions.
1298 1299 1300 |
# File 'observability_admin/cfn_organization_telemetry_rule.rb', line 1298 def all_regions @all_regions end |
#allow_field_updates ⇒ Boolean, ... (readonly)
Default: - false
When true, configuration drift in managed telemetry resources will be detected and remediated for resource-level fields.
1293 1294 1295 |
# File 'observability_admin/cfn_organization_telemetry_rule.rb', line 1293 def allow_field_updates @allow_field_updates end |
#destination_configuration ⇒ AWSCDK::IResolvable, ... (readonly)
Configuration specifying where and how the telemetry data should be delivered.
1303 1304 1305 |
# File 'observability_admin/cfn_organization_telemetry_rule.rb', line 1303 def destination_configuration @destination_configuration end |
#regions ⇒ Array<String>? (readonly)
List of AWS region codes where the rule should be replicated.
1308 1309 1310 |
# File 'observability_admin/cfn_organization_telemetry_rule.rb', line 1308 def regions @regions end |
#resource_type ⇒ String (readonly)
The type of AWS resource to configure telemetry for (e.g., "AWS::EC2::VPC", "AWS::EKS::Cluster", "AWS::WAFv2::WebACL").
1282 1283 1284 |
# File 'observability_admin/cfn_organization_telemetry_rule.rb', line 1282 def resource_type @resource_type end |
#scope ⇒ String? (readonly)
The organizational scope to which the rule applies, specified using accounts or organizational units.
1313 1314 1315 |
# File 'observability_admin/cfn_organization_telemetry_rule.rb', line 1313 def scope @scope end |
#selection_criteria ⇒ String? (readonly)
Criteria for selecting which resources the rule applies to, such as resource tags.
1318 1319 1320 |
# File 'observability_admin/cfn_organization_telemetry_rule.rb', line 1318 def selection_criteria @selection_criteria end |
#telemetry_source_types ⇒ Array<String>? (readonly)
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.
1325 1326 1327 |
# File 'observability_admin/cfn_organization_telemetry_rule.rb', line 1325 def telemetry_source_types @telemetry_source_types end |
#telemetry_type ⇒ String (readonly)
The type of telemetry to collect (Logs, Metrics, or Traces).
1287 1288 1289 |
# File 'observability_admin/cfn_organization_telemetry_rule.rb', line 1287 def telemetry_type @telemetry_type end |
Class Method Details
.jsii_properties ⇒ Object
1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 |
# File 'observability_admin/cfn_organization_telemetry_rule.rb', line 1327 def self.jsii_properties { :resource_type => "resourceType", :telemetry_type => "telemetryType", :allow_field_updates => "allowFieldUpdates", :all_regions => "allRegions", :destination_configuration => "destinationConfiguration", :regions => "regions", :scope => "scope", :selection_criteria => "selectionCriteria", :telemetry_source_types => "telemetrySourceTypes", } end |
Instance Method Details
#to_jsii ⇒ Object
1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 |
# File 'observability_admin/cfn_organization_telemetry_rule.rb', line 1341 def to_jsii result = {} result.merge!({ "resourceType" => @resource_type, "telemetryType" => @telemetry_type, "allowFieldUpdates" => @allow_field_updates, "allRegions" => @all_regions, "destinationConfiguration" => @destination_configuration, "regions" => @regions, "scope" => @scope, "selectionCriteria" => @selection_criteria, "telemetrySourceTypes" => @telemetry_source_types, }) result.compact end |