Class: AWSCDK::ObservabilityAdmin::CfnOrganizationTelemetryRule::TelemetryDestinationConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
observability_admin/cfn_organization_telemetry_rule.rb

Overview

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(cloudtrail_parameters: nil, destination_pattern: nil, destination_type: nil, elb_load_balancer_logging_parameters: nil, log_delivery_parameters: nil, retention_in_days: nil, vpc_flow_log_parameters: nil, waf_logging_parameters: nil) ⇒ TelemetryDestinationConfigurationProperty

Returns a new instance of TelemetryDestinationConfigurationProperty.

Parameters:



1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
# File 'observability_admin/cfn_organization_telemetry_rule.rb', line 1153

def initialize(cloudtrail_parameters: nil, destination_pattern: nil, destination_type: nil, elb_load_balancer_logging_parameters: nil, log_delivery_parameters: nil, retention_in_days: nil, vpc_flow_log_parameters: nil, waf_logging_parameters: nil)
  @cloudtrail_parameters = cloudtrail_parameters.is_a?(Hash) ? ::AWSCDK::ObservabilityAdmin::CfnOrganizationTelemetryRule::CloudtrailParametersProperty.new(**cloudtrail_parameters.transform_keys(&:to_sym)) : cloudtrail_parameters
  Jsii::Type.check_type(@cloudtrail_parameters, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19vYnNlcnZhYmlsaXR5YWRtaW4uQ2ZuT3JnYW5pemF0aW9uVGVsZW1ldHJ5UnVsZS5DbG91ZHRyYWlsUGFyYW1ldGVyc1Byb3BlcnR5In1dfX0=")), "cloudtrailParameters") unless @cloudtrail_parameters.nil?
  @destination_pattern = destination_pattern
  Jsii::Type.check_type(@destination_pattern, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "destinationPattern") unless @destination_pattern.nil?
  @destination_type = destination_type
  Jsii::Type.check_type(@destination_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "destinationType") unless @destination_type.nil?
  @elb_load_balancer_logging_parameters = elb_load_balancer_logging_parameters.is_a?(Hash) ? ::AWSCDK::ObservabilityAdmin::CfnOrganizationTelemetryRule::ELBLoadBalancerLoggingParametersProperty.new(**elb_load_balancer_logging_parameters.transform_keys(&:to_sym)) : elb_load_balancer_logging_parameters
  Jsii::Type.check_type(@elb_load_balancer_logging_parameters, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19vYnNlcnZhYmlsaXR5YWRtaW4uQ2ZuT3JnYW5pemF0aW9uVGVsZW1ldHJ5UnVsZS5FTEJMb2FkQmFsYW5jZXJMb2dnaW5nUGFyYW1ldGVyc1Byb3BlcnR5In1dfX0=")), "elbLoadBalancerLoggingParameters") unless @elb_load_balancer_logging_parameters.nil?
  @log_delivery_parameters = log_delivery_parameters.is_a?(Hash) ? ::AWSCDK::ObservabilityAdmin::CfnOrganizationTelemetryRule::LogDeliveryParametersProperty.new(**log_delivery_parameters.transform_keys(&:to_sym)) : log_delivery_parameters
  Jsii::Type.check_type(@log_delivery_parameters, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19vYnNlcnZhYmlsaXR5YWRtaW4uQ2ZuT3JnYW5pemF0aW9uVGVsZW1ldHJ5UnVsZS5Mb2dEZWxpdmVyeVBhcmFtZXRlcnNQcm9wZXJ0eSJ9XX19")), "logDeliveryParameters") unless @log_delivery_parameters.nil?
  @retention_in_days = retention_in_days
  Jsii::Type.check_type(@retention_in_days, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "retentionInDays") unless @retention_in_days.nil?
  @vpc_flow_log_parameters = vpc_flow_log_parameters.is_a?(Hash) ? ::AWSCDK::ObservabilityAdmin::CfnOrganizationTelemetryRule::VPCFlowLogParametersProperty.new(**vpc_flow_log_parameters.transform_keys(&:to_sym)) : vpc_flow_log_parameters
  Jsii::Type.check_type(@vpc_flow_log_parameters, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19vYnNlcnZhYmlsaXR5YWRtaW4uQ2ZuT3JnYW5pemF0aW9uVGVsZW1ldHJ5UnVsZS5WUENGbG93TG9nUGFyYW1ldGVyc1Byb3BlcnR5In1dfX0=")), "vpcFlowLogParameters") unless @vpc_flow_log_parameters.nil?
  @waf_logging_parameters = waf_logging_parameters.is_a?(Hash) ? ::AWSCDK::ObservabilityAdmin::CfnOrganizationTelemetryRule::WAFLoggingParametersProperty.new(**waf_logging_parameters.transform_keys(&:to_sym)) : waf_logging_parameters
  Jsii::Type.check_type(@waf_logging_parameters, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19vYnNlcnZhYmlsaXR5YWRtaW4uQ2ZuT3JnYW5pemF0aW9uVGVsZW1ldHJ5UnVsZS5XQUZMb2dnaW5nUGFyYW1ldGVyc1Byb3BlcnR5In1dfX0=")), "wafLoggingParameters") unless @waf_logging_parameters.nil?
end

Instance Attribute Details

#cloudtrail_parametersAWSCDK::IResolvable, ... (readonly)

Configuration parameters specific to AWS CloudTrail when CloudTrail is the source type.



1176
1177
1178
# File 'observability_admin/cfn_organization_telemetry_rule.rb', line 1176

def cloudtrail_parameters
  @cloudtrail_parameters
end

#destination_patternString? (readonly)

The pattern used to generate the destination path or name, supporting macros like and .



1181
1182
1183
# File 'observability_admin/cfn_organization_telemetry_rule.rb', line 1181

def destination_pattern
  @destination_pattern
end

#destination_typeString? (readonly)

The type of destination for the telemetry data (e.g., "Amazon CloudWatch Logs", "S3").



1186
1187
1188
# File 'observability_admin/cfn_organization_telemetry_rule.rb', line 1186

def destination_type
  @destination_type
end

#elb_load_balancer_logging_parametersAWSCDK::IResolvable, ... (readonly)

Configuration parameters specific to ELB load balancer logging when ELB is the resource type.



1191
1192
1193
# File 'observability_admin/cfn_organization_telemetry_rule.rb', line 1191

def elb_load_balancer_logging_parameters
  @elb_load_balancer_logging_parameters
end

#log_delivery_parametersAWSCDK::IResolvable, ... (readonly)

Parameters for log delivery configuration.



1196
1197
1198
# File 'observability_admin/cfn_organization_telemetry_rule.rb', line 1196

def log_delivery_parameters
  @log_delivery_parameters
end

#retention_in_daysNumeric? (readonly)

The number of days to retain the telemetry data in the destination.



1201
1202
1203
# File 'observability_admin/cfn_organization_telemetry_rule.rb', line 1201

def retention_in_days
  @retention_in_days
end

#vpc_flow_log_parametersAWSCDK::IResolvable, ... (readonly)

Configuration parameters specific to VPC Flow Logs when VPC is the resource type.



1206
1207
1208
# File 'observability_admin/cfn_organization_telemetry_rule.rb', line 1206

def vpc_flow_log_parameters
  @vpc_flow_log_parameters
end

#waf_logging_parametersAWSCDK::IResolvable, ... (readonly)

Configuration parameters specific to WAF logging when WAF is the resource type.



1211
1212
1213
# File 'observability_admin/cfn_organization_telemetry_rule.rb', line 1211

def waf_logging_parameters
  @waf_logging_parameters
end

Class Method Details

.jsii_propertiesObject



1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
# File 'observability_admin/cfn_organization_telemetry_rule.rb', line 1213

def self.jsii_properties
  {
    :cloudtrail_parameters => "cloudtrailParameters",
    :destination_pattern => "destinationPattern",
    :destination_type => "destinationType",
    :elb_load_balancer_logging_parameters => "elbLoadBalancerLoggingParameters",
    :log_delivery_parameters => "logDeliveryParameters",
    :retention_in_days => "retentionInDays",
    :vpc_flow_log_parameters => "vpcFlowLogParameters",
    :waf_logging_parameters => "wafLoggingParameters",
  }
end

Instance Method Details

#to_jsiiObject



1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
# File 'observability_admin/cfn_organization_telemetry_rule.rb', line 1226

def to_jsii
  result = {}
  result.merge!({
    "cloudtrailParameters" => @cloudtrail_parameters,
    "destinationPattern" => @destination_pattern,
    "destinationType" => @destination_type,
    "elbLoadBalancerLoggingParameters" => @elb_load_balancer_logging_parameters,
    "logDeliveryParameters" => @log_delivery_parameters,
    "retentionInDays" => @retention_in_days,
    "vpcFlowLogParameters" => @vpc_flow_log_parameters,
    "wafLoggingParameters" => @waf_logging_parameters,
  })
  result.compact
end