Class: AWSCDK::ObservabilityAdmin::CfnOrganizationCentralizationRule::LogsEncryptionConfigurationProperty

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

Overview

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.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(encryption_strategy:, encryption_conflict_resolution_strategy: nil, kms_key_arn: nil) ⇒ LogsEncryptionConfigurationProperty

Returns a new instance of LogsEncryptionConfigurationProperty.

Parameters:

  • encryption_strategy (String)

    Configuration that determines the encryption strategy of the destination log groups.

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

    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.

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

    KMS Key ARN belonging to the primary destination account and region, to encrypt newly created central log groups in the primary destination.



856
857
858
859
860
861
862
863
# File 'observability_admin/cfn_organization_centralization_rule.rb', line 856

def initialize(encryption_strategy:, encryption_conflict_resolution_strategy: nil, kms_key_arn: nil)
  @encryption_strategy = encryption_strategy
  Jsii::Type.check_type(@encryption_strategy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "encryptionStrategy")
  @encryption_conflict_resolution_strategy = encryption_conflict_resolution_strategy
  Jsii::Type.check_type(@encryption_conflict_resolution_strategy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "encryptionConflictResolutionStrategy") unless @encryption_conflict_resolution_strategy.nil?
  @kms_key_arn = kms_key_arn
  Jsii::Type.check_type(@kms_key_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyArn") unless @kms_key_arn.nil?
end

Instance Attribute Details

#encryption_conflict_resolution_strategyString? (readonly)

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.



878
879
880
# File 'observability_admin/cfn_organization_centralization_rule.rb', line 878

def encryption_conflict_resolution_strategy
  @encryption_conflict_resolution_strategy
end

#encryption_strategyString (readonly)

Configuration that determines the encryption strategy of the destination log groups.

CUSTOMER_MANAGED uses the configured KmsKeyArn to encrypt newly created destination log groups.



871
872
873
# File 'observability_admin/cfn_organization_centralization_rule.rb', line 871

def encryption_strategy
  @encryption_strategy
end

#kms_key_arnString? (readonly)

KMS Key ARN belonging to the primary destination account and region, to encrypt newly created central log groups in the primary destination.



883
884
885
# File 'observability_admin/cfn_organization_centralization_rule.rb', line 883

def kms_key_arn
  @kms_key_arn
end

Class Method Details

.jsii_propertiesObject



885
886
887
888
889
890
891
# File 'observability_admin/cfn_organization_centralization_rule.rb', line 885

def self.jsii_properties
  {
    :encryption_strategy => "encryptionStrategy",
    :encryption_conflict_resolution_strategy => "encryptionConflictResolutionStrategy",
    :kms_key_arn => "kmsKeyArn",
  }
end

Instance Method Details

#to_jsiiObject



893
894
895
896
897
898
899
900
901
# File 'observability_admin/cfn_organization_centralization_rule.rb', line 893

def to_jsii
  result = {}
  result.merge!({
    "encryptionStrategy" => @encryption_strategy,
    "encryptionConflictResolutionStrategy" => @encryption_conflict_resolution_strategy,
    "kmsKeyArn" => @kms_key_arn,
  })
  result.compact
end