Class: AWSCDK::Datasync::CfnLocationObjectStorage::CustomSecretConfigProperty

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

Overview

Specifies configuration information for a customer-managed Secrets Manager secret where a storage location credentials is stored in Secrets Manager as plain text (for authentication token, secret key, or password) or as binary (for Kerberos keytab).

This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret.

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(secret_access_role_arn:, secret_arn:) ⇒ CustomSecretConfigProperty

Returns a new instance of CustomSecretConfigProperty.

Parameters:

  • secret_access_role_arn (String)

    Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for SecretArn .

  • secret_arn (String)

    Specifies the ARN for an AWS Secrets Manager secret.



739
740
741
742
743
744
# File 'datasync/cfn_location_object_storage.rb', line 739

def initialize(secret_access_role_arn:, secret_arn:)
  @secret_access_role_arn = secret_access_role_arn
  Jsii::Type.check_type(@secret_access_role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "secretAccessRoleArn")
  @secret_arn = secret_arn
  Jsii::Type.check_type(@secret_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "secretArn")
end

Instance Attribute Details

#secret_access_role_arnString (readonly)

Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for SecretArn .



750
751
752
# File 'datasync/cfn_location_object_storage.rb', line 750

def secret_access_role_arn
  @secret_access_role_arn
end

#secret_arnString (readonly)

Specifies the ARN for an AWS Secrets Manager secret.



755
756
757
# File 'datasync/cfn_location_object_storage.rb', line 755

def secret_arn
  @secret_arn
end

Class Method Details

.jsii_propertiesObject



757
758
759
760
761
762
# File 'datasync/cfn_location_object_storage.rb', line 757

def self.jsii_properties
  {
    :secret_access_role_arn => "secretAccessRoleArn",
    :secret_arn => "secretArn",
  }
end

Instance Method Details

#to_jsiiObject



764
765
766
767
768
769
770
771
# File 'datasync/cfn_location_object_storage.rb', line 764

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