Class: AWSCDK::Datasync::CfnLocationObjectStorage::CmkSecretConfigProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
datasync/cfn_location_object_storage.rb

Overview

Specifies configuration information for a DataSync-managed secret, such as an authentication token, secret key, password, or Kerberos keytab that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key .

You can use either CmkSecretConfig or CustomSecretConfig to provide credentials for a CreateLocation request. Do not provide both parameters for the same request.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(kms_key_arn: nil, secret_arn: nil) ⇒ CmkSecretConfigProperty

Returns a new instance of CmkSecretConfigProperty.

Parameters:

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

    Specifies the ARN for the customer-managed AWS KMS key that DataSync uses to encrypt the DataSync-managed secret stored for SecretArn .

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

    Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location.



688
689
690
691
692
693
# File 'datasync/cfn_location_object_storage.rb', line 688

def initialize(kms_key_arn: nil, secret_arn: 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?
  @secret_arn = secret_arn
  Jsii::Type.check_type(@secret_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "secretArn") unless @secret_arn.nil?
end

Instance Attribute Details

#kms_key_arnString? (readonly)

Specifies the ARN for the customer-managed AWS KMS key that DataSync uses to encrypt the DataSync-managed secret stored for SecretArn .

DataSync provides this key to AWS Secrets Manager .



701
702
703
# File 'datasync/cfn_location_object_storage.rb', line 701

def kms_key_arn
  @kms_key_arn
end

#secret_arnString? (readonly)

Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location.

This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for KmsKeyArn .



708
709
710
# File 'datasync/cfn_location_object_storage.rb', line 708

def secret_arn
  @secret_arn
end

Class Method Details

.jsii_propertiesObject



710
711
712
713
714
715
# File 'datasync/cfn_location_object_storage.rb', line 710

def self.jsii_properties
  {
    :kms_key_arn => "kmsKeyArn",
    :secret_arn => "secretArn",
  }
end

Instance Method Details

#to_jsiiObject



717
718
719
720
721
722
723
724
# File 'datasync/cfn_location_object_storage.rb', line 717

def to_jsii
  result = {}
  result.merge!({
    "kmsKeyArn" => @kms_key_arn,
    "secretArn" => @secret_arn,
  })
  result.compact
end