Class: AWSCDK::Datasync::CfnLocationAzureBlobProps

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

Overview

Properties for defining a CfnLocationAzureBlob.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(azure_blob_authentication_type:, agent_arns: nil, azure_access_tier: nil, azure_blob_container_url: nil, azure_blob_sas_configuration: nil, azure_blob_type: nil, cmk_secret_config: nil, custom_secret_config: nil, subdirectory: nil, tags: nil) ⇒ CfnLocationAzureBlobProps

Returns a new instance of CfnLocationAzureBlobProps.

Parameters:

  • azure_blob_authentication_type (String)

    Specifies the authentication method DataSync uses to access your Azure Blob Storage.

  • agent_arns (Array<String>, nil) (defaults to: nil)

    (Optional) Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container.

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

    Specifies the access tier that you want your objects or files transferred into.

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

    Specifies the URL of the Azure Blob Storage container involved in your transfer.

  • azure_blob_sas_configuration (AWSCDK::IResolvable, AWSCDK::Datasync::CfnLocationAzureBlob::AzureBlobSasConfigurationProperty, nil) (defaults to: nil)

    Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage.

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

    Specifies the type of blob that you want your objects or files to be when transferring them into Azure Blob Storage.

  • cmk_secret_config (AWSCDK::IResolvable, AWSCDK::Datasync::CfnLocationAzureBlob::CmkSecretConfigProperty, nil) (defaults to: nil)

    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 .

  • custom_secret_config (AWSCDK::IResolvable, AWSCDK::Datasync::CfnLocationAzureBlob::CustomSecretConfigProperty, nil) (defaults to: nil)

    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).

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

    Specifies path segments if you want to limit your transfer to a virtual directory in your container (for example, /my/images ).

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    Specifies labels that help you categorize, filter, and search for your AWS resources.



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'datasync/cfn_location_azure_blob_props.rb', line 19

def initialize(azure_blob_authentication_type:, agent_arns: nil, azure_access_tier: nil, azure_blob_container_url: nil, azure_blob_sas_configuration: nil, azure_blob_type: nil, cmk_secret_config: nil, custom_secret_config: nil, subdirectory: nil, tags: nil)
  @azure_blob_authentication_type = azure_blob_authentication_type
  Jsii::Type.check_type(@azure_blob_authentication_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "azureBlobAuthenticationType")
  @agent_arns = agent_arns
  Jsii::Type.check_type(@agent_arns, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "agentArns") unless @agent_arns.nil?
  @azure_access_tier = azure_access_tier
  Jsii::Type.check_type(@azure_access_tier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "azureAccessTier") unless @azure_access_tier.nil?
  @azure_blob_container_url = azure_blob_container_url
  Jsii::Type.check_type(@azure_blob_container_url, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "azureBlobContainerUrl") unless @azure_blob_container_url.nil?
  @azure_blob_sas_configuration = azure_blob_sas_configuration.is_a?(Hash) ? ::AWSCDK::Datasync::CfnLocationAzureBlob::AzureBlobSasConfigurationProperty.new(**azure_blob_sas_configuration.transform_keys(&:to_sym)) : azure_blob_sas_configuration
  Jsii::Type.check_type(@azure_blob_sas_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhc3luYy5DZm5Mb2NhdGlvbkF6dXJlQmxvYi5BenVyZUJsb2JTYXNDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "azureBlobSasConfiguration") unless @azure_blob_sas_configuration.nil?
  @azure_blob_type = azure_blob_type
  Jsii::Type.check_type(@azure_blob_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "azureBlobType") unless @azure_blob_type.nil?
  @cmk_secret_config = cmk_secret_config.is_a?(Hash) ? ::AWSCDK::Datasync::CfnLocationAzureBlob::CmkSecretConfigProperty.new(**cmk_secret_config.transform_keys(&:to_sym)) : cmk_secret_config
  Jsii::Type.check_type(@cmk_secret_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhc3luYy5DZm5Mb2NhdGlvbkF6dXJlQmxvYi5DbWtTZWNyZXRDb25maWdQcm9wZXJ0eSJ9XX19")), "cmkSecretConfig") unless @cmk_secret_config.nil?
  @custom_secret_config = custom_secret_config.is_a?(Hash) ? ::AWSCDK::Datasync::CfnLocationAzureBlob::CustomSecretConfigProperty.new(**custom_secret_config.transform_keys(&:to_sym)) : custom_secret_config
  Jsii::Type.check_type(@custom_secret_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kYXRhc3luYy5DZm5Mb2NhdGlvbkF6dXJlQmxvYi5DdXN0b21TZWNyZXRDb25maWdQcm9wZXJ0eSJ9XX19")), "customSecretConfig") unless @custom_secret_config.nil?
  @subdirectory = subdirectory
  Jsii::Type.check_type(@subdirectory, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "subdirectory") unless @subdirectory.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
end

Instance Attribute Details

#agent_arnsArray<String>? (readonly)

(Optional) Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container.

If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter.

You can specify more than one agent. For more information, see Using multiple agents for your transfer .

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.



60
61
62
# File 'datasync/cfn_location_azure_blob_props.rb', line 60

def agent_arns
  @agent_arns
end

#azure_access_tierString? (readonly)

Note:

Default: - "HOT"

Specifies the access tier that you want your objects or files transferred into.

This only applies when using the location as a transfer destination. For more information, see Access tiers .



68
69
70
# File 'datasync/cfn_location_azure_blob_props.rb', line 68

def azure_access_tier
  @azure_access_tier
end

#azure_blob_authentication_typeString (readonly)

Note:

Default: - "SAS"

Specifies the authentication method DataSync uses to access your Azure Blob Storage.

DataSync can access blob storage using a shared access signature (SAS).



49
50
51
# File 'datasync/cfn_location_azure_blob_props.rb', line 49

def azure_blob_authentication_type
  @azure_blob_authentication_type
end

#azure_blob_container_urlString? (readonly)

Specifies the URL of the Azure Blob Storage container involved in your transfer.



73
74
75
# File 'datasync/cfn_location_azure_blob_props.rb', line 73

def azure_blob_container_url
  @azure_blob_container_url
end

#azure_blob_sas_configurationAWSCDK::IResolvable, ... (readonly)

Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage.

If you provide an authentication token using SasConfiguration , but do not provide secret configuration details using CmkSecretConfig or CustomSecretConfig , then DataSync stores the token using your AWS account's secrets manager secret.



80
81
82
# File 'datasync/cfn_location_azure_blob_props.rb', line 80

def azure_blob_sas_configuration
  @azure_blob_sas_configuration
end

#azure_blob_typeString? (readonly)

Note:

Default: - "BLOCK"

Specifies the type of blob that you want your objects or files to be when transferring them into Azure Blob Storage.

Currently, DataSync only supports moving data into Azure Blob Storage as block blobs. For more information on blob types, see the Azure Blob Storage documentation .



88
89
90
# File 'datasync/cfn_location_azure_blob_props.rb', line 88

def azure_blob_type
  @azure_blob_type
end

#cmk_secret_configAWSCDK::IResolvable, ... (readonly)

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.



95
96
97
# File 'datasync/cfn_location_azure_blob_props.rb', line 95

def cmk_secret_config
  @cmk_secret_config
end

#custom_secret_configAWSCDK::IResolvable, ... (readonly)

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.



104
105
106
# File 'datasync/cfn_location_azure_blob_props.rb', line 104

def custom_secret_config
  @custom_secret_config
end

#subdirectoryString? (readonly)

Specifies path segments if you want to limit your transfer to a virtual directory in your container (for example, /my/images ).



109
110
111
# File 'datasync/cfn_location_azure_blob_props.rb', line 109

def subdirectory
  @subdirectory
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

Specifies labels that help you categorize, filter, and search for your AWS resources.

We recommend creating at least a name tag for your transfer location.



116
117
118
# File 'datasync/cfn_location_azure_blob_props.rb', line 116

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



118
119
120
121
122
123
124
125
126
127
128
129
130
131
# File 'datasync/cfn_location_azure_blob_props.rb', line 118

def self.jsii_properties
  {
    :azure_blob_authentication_type => "azureBlobAuthenticationType",
    :agent_arns => "agentArns",
    :azure_access_tier => "azureAccessTier",
    :azure_blob_container_url => "azureBlobContainerUrl",
    :azure_blob_sas_configuration => "azureBlobSasConfiguration",
    :azure_blob_type => "azureBlobType",
    :cmk_secret_config => "cmkSecretConfig",
    :custom_secret_config => "customSecretConfig",
    :subdirectory => "subdirectory",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# File 'datasync/cfn_location_azure_blob_props.rb', line 133

def to_jsii
  result = {}
  result.merge!({
    "azureBlobAuthenticationType" => @azure_blob_authentication_type,
    "agentArns" => @agent_arns,
    "azureAccessTier" => @azure_access_tier,
    "azureBlobContainerUrl" => @azure_blob_container_url,
    "azureBlobSasConfiguration" => @azure_blob_sas_configuration,
    "azureBlobType" => @azure_blob_type,
    "cmkSecretConfig" => @cmk_secret_config,
    "customSecretConfig" => @custom_secret_config,
    "subdirectory" => @subdirectory,
    "tags" => @tags,
  })
  result.compact
end