Class: AWSCDK::Datasync::CfnLocationObjectStorageProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::Datasync::CfnLocationObjectStorageProps
- Defined in:
- datasync/cfn_location_object_storage_props.rb
Overview
Properties for defining a CfnLocationObjectStorage.
Instance Attribute Summary collapse
-
#access_key ⇒ String?
readonly
Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.
-
#agent_arns ⇒ Array<String>?
readonly
(Optional) Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.
-
#bucket_name ⇒ String?
readonly
Specifies the name of the object storage bucket involved in the transfer.
-
#cmk_secret_config ⇒ AWSCDK::IResolvable, ...
readonly
Specifies configuration information for a DataSync-managed secret, which includes the
SecretKeythat DataSync uses to access a specific object storage location, with a customer-managed AWS KMS key . -
#custom_secret_config ⇒ AWSCDK::IResolvable, ...
readonly
Specifies configuration information for a customer-managed Secrets Manager secret where the secret key for a specific object storage location is stored in plain text, in Secrets Manager.
-
#secret_key ⇒ String?
readonly
Specifies the secret key (for example, a password) if credentials are required to authenticate with the object storage server.
-
#server_certificate ⇒ String?
readonly
Specifies a certificate chain for DataSync to authenticate with your object storage system if the system uses a private or self-signed certificate authority (CA).
-
#server_hostname ⇒ String?
readonly
Specifies the domain name or IP address (IPv4 or IPv6) of the object storage server that your DataSync agent connects to.
-
#server_port ⇒ Numeric?
readonly
Specifies the port that your object storage server accepts inbound network traffic on (for example, port 443).
-
#server_protocol ⇒ String?
readonly
Specifies the protocol that your object storage server uses to communicate.
-
#subdirectory ⇒ String?
readonly
Specifies the object prefix for your object storage server.
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
Specifies the key-value pair that represents a tag that you want to add to the resource.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(access_key: nil, agent_arns: nil, bucket_name: nil, cmk_secret_config: nil, custom_secret_config: nil, secret_key: nil, server_certificate: nil, server_hostname: nil, server_port: nil, server_protocol: nil, subdirectory: nil, tags: nil) ⇒ CfnLocationObjectStorageProps
constructor
A new instance of CfnLocationObjectStorageProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(access_key: nil, agent_arns: nil, bucket_name: nil, cmk_secret_config: nil, custom_secret_config: nil, secret_key: nil, server_certificate: nil, server_hostname: nil, server_port: nil, server_protocol: nil, subdirectory: nil, tags: nil) ⇒ CfnLocationObjectStorageProps
Returns a new instance of CfnLocationObjectStorageProps.
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'datasync/cfn_location_object_storage_props.rb', line 21 def initialize(access_key: nil, agent_arns: nil, bucket_name: nil, cmk_secret_config: nil, custom_secret_config: nil, secret_key: nil, server_certificate: nil, server_hostname: nil, server_port: nil, server_protocol: nil, subdirectory: nil, tags: nil) @access_key = access_key Jsii::Type.check_type(@access_key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "accessKey") unless @access_key.nil? @agent_arns = agent_arns Jsii::Type.check_type(@agent_arns, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "agentArns") unless @agent_arns.nil? @bucket_name = bucket_name Jsii::Type.check_type(@bucket_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "bucketName") unless @bucket_name.nil? @cmk_secret_config = cmk_secret_config.is_a?(Hash) ? ::AWSCDK::Datasync::CfnLocationObjectStorage::CmkSecretConfigProperty.new(**cmk_secret_config.transform_keys(&:to_sym)) : cmk_secret_config Jsii::Type.check_type(@cmk_secret_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhc3luYy5DZm5Mb2NhdGlvbk9iamVjdFN0b3JhZ2UuQ21rU2VjcmV0Q29uZmlnUHJvcGVydHkifV19fQ==")), "cmkSecretConfig") unless @cmk_secret_config.nil? @custom_secret_config = custom_secret_config.is_a?(Hash) ? ::AWSCDK::Datasync::CfnLocationObjectStorage::CustomSecretConfigProperty.new(**custom_secret_config.transform_keys(&:to_sym)) : custom_secret_config Jsii::Type.check_type(@custom_secret_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhc3luYy5DZm5Mb2NhdGlvbk9iamVjdFN0b3JhZ2UuQ3VzdG9tU2VjcmV0Q29uZmlnUHJvcGVydHkifV19fQ==")), "customSecretConfig") unless @custom_secret_config.nil? @secret_key = secret_key Jsii::Type.check_type(@secret_key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "secretKey") unless @secret_key.nil? @server_certificate = server_certificate Jsii::Type.check_type(@server_certificate, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serverCertificate") unless @server_certificate.nil? @server_hostname = server_hostname Jsii::Type.check_type(@server_hostname, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serverHostname") unless @server_hostname.nil? @server_port = server_port Jsii::Type.check_type(@server_port, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "serverPort") unless @server_port.nil? @server_protocol = server_protocol Jsii::Type.check_type(@server_protocol, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serverProtocol") unless @server_protocol.nil? @subdirectory = subdirectory Jsii::Type.check_type(@subdirectory, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "subdirectory") unless @subdirectory.nil? @tags = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil? end |
Instance Attribute Details
#access_key ⇒ String? (readonly)
Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.
52 53 54 |
# File 'datasync/cfn_location_object_storage_props.rb', line 52 def access_key @access_key end |
#agent_arns ⇒ Array<String>? (readonly)
(Optional) Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.
If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter.
Make sure you configure this parameter correctly when you first create your storage location. You cannot add or remove agents from a storage location after you create it.
61 62 63 |
# File 'datasync/cfn_location_object_storage_props.rb', line 61 def agent_arns @agent_arns end |
#bucket_name ⇒ String? (readonly)
Specifies the name of the object storage bucket involved in the transfer.
66 67 68 |
# File 'datasync/cfn_location_object_storage_props.rb', line 66 def bucket_name @bucket_name end |
#cmk_secret_config ⇒ AWSCDK::IResolvable, ... (readonly)
Specifies configuration information for a DataSync-managed secret, which includes the SecretKey that DataSync uses to access a specific object storage location, with a customer-managed AWS KMS key .
When you include this parameter as part of a CreateLocationObjectStorage request, you provide only the KMS key ARN. DataSync uses this KMS key together with the value you specify for the SecretKey parameter to create a DataSync-managed secret to store the location access credentials.
Make sure that DataSync has permission to access the KMS key that you specify.
You can use either
CmkSecretConfig(withSecretKey) orCustomSecretConfig(withoutSecretKey) to provide credentials for aCreateLocationObjectStoragerequest. Do not provide both parameters for the same request.
77 78 79 |
# File 'datasync/cfn_location_object_storage_props.rb', line 77 def cmk_secret_config @cmk_secret_config end |
#custom_secret_config ⇒ AWSCDK::IResolvable, ... (readonly)
Specifies configuration information for a customer-managed Secrets Manager secret where the secret key for a specific object storage location is stored in plain text, in Secrets Manager.
This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret.
You can use either
CmkSecretConfig(withSecretKey) orCustomSecretConfig(withoutSecretKey) to provide credentials for aCreateLocationObjectStoragerequest. Do not provide both parameters for the same request.
86 87 88 |
# File 'datasync/cfn_location_object_storage_props.rb', line 86 def custom_secret_config @custom_secret_config end |
#secret_key ⇒ String? (readonly)
Specifies the secret key (for example, a password) if credentials are required to authenticate with the object storage server.
If you provide a secret using
SecretKey, but do not provide secret configuration details usingCmkSecretConfigorCustomSecretConfig, then DataSync stores the token using your AWS account's Secrets Manager secret.
93 94 95 |
# File 'datasync/cfn_location_object_storage_props.rb', line 93 def secret_key @secret_key end |
#server_certificate ⇒ String? (readonly)
Specifies a certificate chain for DataSync to authenticate with your object storage system if the system uses a private or self-signed certificate authority (CA).
You must specify a single .pem file with a full certificate chain (for example, file:///home/user/.ssh/object_storage_certificates.pem ).
The certificate chain might include:
- The object storage system's certificate
- All intermediate certificates (if there are any)
- The root certificate of the signing CA
You can concatenate your certificates into a .pem file (which can be up to 32768 bytes before base64 encoding). The following example cat command creates an object_storage_certificates.pem file that includes three certificates:
cat object_server_certificate.pem intermediate_certificate.pem ca_root_certificate.pem > object_storage_certificates.pem
To use this parameter, configure ServerProtocol to HTTPS .
112 113 114 |
# File 'datasync/cfn_location_object_storage_props.rb', line 112 def server_certificate @server_certificate end |
#server_hostname ⇒ String? (readonly)
Specifies the domain name or IP address (IPv4 or IPv6) of the object storage server that your DataSync agent connects to.
117 118 119 |
# File 'datasync/cfn_location_object_storage_props.rb', line 117 def server_hostname @server_hostname end |
#server_port ⇒ Numeric? (readonly)
Specifies the port that your object storage server accepts inbound network traffic on (for example, port 443).
122 123 124 |
# File 'datasync/cfn_location_object_storage_props.rb', line 122 def server_port @server_port end |
#server_protocol ⇒ String? (readonly)
Specifies the protocol that your object storage server uses to communicate.
If not specified, the default value is HTTPS .
129 130 131 |
# File 'datasync/cfn_location_object_storage_props.rb', line 129 def server_protocol @server_protocol end |
#subdirectory ⇒ String? (readonly)
Specifies the object prefix for your object storage server.
If this is a source location, DataSync only copies objects with this prefix. If this is a destination location, DataSync writes all objects with this prefix.
136 137 138 |
# File 'datasync/cfn_location_object_storage_props.rb', line 136 def subdirectory @subdirectory end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
Specifies the key-value pair that represents a tag that you want to add to the resource.
Tags can help you manage, filter, and search for your resources. We recommend creating a name tag for your location.
143 144 145 |
# File 'datasync/cfn_location_object_storage_props.rb', line 143 def @tags end |
Class Method Details
.jsii_properties ⇒ Object
145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 |
# File 'datasync/cfn_location_object_storage_props.rb', line 145 def self.jsii_properties { :access_key => "accessKey", :agent_arns => "agentArns", :bucket_name => "bucketName", :cmk_secret_config => "cmkSecretConfig", :custom_secret_config => "customSecretConfig", :secret_key => "secretKey", :server_certificate => "serverCertificate", :server_hostname => "serverHostname", :server_port => "serverPort", :server_protocol => "serverProtocol", :subdirectory => "subdirectory", :tags => "tags", } end |
Instance Method Details
#to_jsii ⇒ Object
162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 |
# File 'datasync/cfn_location_object_storage_props.rb', line 162 def to_jsii result = {} result.merge!({ "accessKey" => @access_key, "agentArns" => @agent_arns, "bucketName" => @bucket_name, "cmkSecretConfig" => @cmk_secret_config, "customSecretConfig" => @custom_secret_config, "secretKey" => @secret_key, "serverCertificate" => @server_certificate, "serverHostname" => @server_hostname, "serverPort" => @server_port, "serverProtocol" => @server_protocol, "subdirectory" => @subdirectory, "tags" => @tags, }) result.compact end |