github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/pkg/providers/aws/msk/msk.go (about)

     1  package msk
     2  
     3  import (
     4  	defsecTypes "github.com/khulnasoft-lab/defsec/pkg/types"
     5  )
     6  
     7  type MSK struct {
     8  	Clusters []Cluster
     9  }
    10  
    11  type Cluster struct {
    12  	Metadata            defsecTypes.Metadata
    13  	EncryptionInTransit EncryptionInTransit
    14  	EncryptionAtRest    EncryptionAtRest
    15  	Logging             Logging
    16  }
    17  
    18  const (
    19  	ClientBrokerEncryptionTLS            = "TLS"
    20  	ClientBrokerEncryptionPlaintext      = "PLAINTEXT"
    21  	ClientBrokerEncryptionTLSOrPlaintext = "TLS_PLAINTEXT"
    22  )
    23  
    24  type EncryptionInTransit struct {
    25  	Metadata     defsecTypes.Metadata
    26  	ClientBroker defsecTypes.StringValue
    27  }
    28  
    29  type EncryptionAtRest struct {
    30  	Metadata  defsecTypes.Metadata
    31  	KMSKeyARN defsecTypes.StringValue
    32  	Enabled   defsecTypes.BoolValue
    33  }
    34  
    35  type Logging struct {
    36  	Metadata defsecTypes.Metadata
    37  	Broker   BrokerLogging
    38  }
    39  
    40  type BrokerLogging struct {
    41  	Metadata   defsecTypes.Metadata
    42  	S3         S3Logging
    43  	Cloudwatch CloudwatchLogging
    44  	Firehose   FirehoseLogging
    45  }
    46  
    47  type S3Logging struct {
    48  	Metadata defsecTypes.Metadata
    49  	Enabled  defsecTypes.BoolValue
    50  }
    51  
    52  type CloudwatchLogging struct {
    53  	Metadata defsecTypes.Metadata
    54  	Enabled  defsecTypes.BoolValue
    55  }
    56  
    57  type FirehoseLogging struct {
    58  	Metadata defsecTypes.Metadata
    59  	Enabled  defsecTypes.BoolValue
    60  }