UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

989 lines 241 kB
import * as cdk from "../../core/lib"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; import { AgentReference, IAgentRef, ILocationAzureBlobRef, ILocationEFSRef, ILocationFSxLustreRef, ILocationFSxONTAPRef, ILocationFSxOpenZFSRef, ILocationFSxWindowsRef, ILocationHDFSRef, ILocationNFSRef, ILocationObjectStorageRef, ILocationS3Ref, ILocationSMBRef, ITaskRef, LocationAzureBlobReference, LocationEFSReference, LocationFSxLustreReference, LocationFSxONTAPReference, LocationFSxOpenZFSReference, LocationFSxWindowsReference, LocationHDFSReference, LocationNFSReference, LocationObjectStorageReference, LocationS3Reference, LocationSMBReference, TaskReference } from "../../interfaces/generated/aws-datasync-interfaces.generated"; import { aws_datasync as dataSyncRefs, aws_efs as efsRefs, aws_logs as logsRefs, aws_s3 as s3Refs } from "../../interfaces"; /** * The `AWS::DataSync::Agent` resource activates an AWS DataSync agent that you've deployed for storage discovery or data transfers. * * The activation process associates the agent with your AWS account . * * For more information, see the following topics in the *AWS DataSync User Guide* : * * - [DataSync agent requirements](https://docs.aws.amazon.com/datasync/latest/userguide/agent-requirements.html) * - [DataSync network requirements](https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html) * - [Create a DataSync agent](https://docs.aws.amazon.com/datasync/latest/userguide/configure-agent.html) * * @cloudformationResource AWS::DataSync::Agent * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html */ export declare class CfnAgent extends cdk.CfnResource implements cdk.IInspectable, IAgentRef, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnAgent from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnAgent; /** * Checks whether the given object is a CfnAgent */ static isCfnAgent(x: any): x is CfnAgent; static arnForAgent(resource: IAgentRef): string; /** * Specifies your DataSync agent's activation key. */ private _activationKey?; /** * Specifies a name for your agent. */ private _agentName?; /** * The Amazon Resource Names (ARNs) of the security groups used to protect your data transfer task subnets. */ private _securityGroupArns?; /** * Specifies the ARN of the subnet where your VPC service endpoint is located. */ private _subnetArns?; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * Specifies labels that help you categorize, filter, and search for your AWS resources. */ private _tagsRaw?; /** * The ID of the virtual private cloud (VPC) endpoint that the agent has access to. */ private _vpcEndpointId?; /** * Create a new `AWS::DataSync::Agent`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props?: CfnAgentProps); get agentRef(): AgentReference; /** * Specifies your DataSync agent's activation key. */ get activationKey(): string | undefined; /** * Specifies your DataSync agent's activation key. */ set activationKey(value: string | undefined); /** * Specifies a name for your agent. */ get agentName(): string | undefined; /** * Specifies a name for your agent. */ set agentName(value: string | undefined); /** * The Amazon Resource Names (ARNs) of the security groups used to protect your data transfer task subnets. */ get securityGroupArns(): Array<string> | undefined; /** * The Amazon Resource Names (ARNs) of the security groups used to protect your data transfer task subnets. */ set securityGroupArns(value: Array<string> | undefined); /** * Specifies the ARN of the subnet where your VPC service endpoint is located. */ get subnetArns(): Array<string> | undefined; /** * Specifies the ARN of the subnet where your VPC service endpoint is located. */ set subnetArns(value: Array<string> | undefined); /** * Specifies labels that help you categorize, filter, and search for your AWS resources. */ get tagsRaw(): Array<cdk.CfnTag> | undefined; /** * Specifies labels that help you categorize, filter, and search for your AWS resources. */ set tagsRaw(value: Array<cdk.CfnTag> | undefined); /** * The ID of the virtual private cloud (VPC) endpoint that the agent has access to. */ get vpcEndpointId(): string | undefined; /** * The ID of the virtual private cloud (VPC) endpoint that the agent has access to. */ set vpcEndpointId(value: string | undefined); /** * The Amazon Resource Name (ARN) of the agent. Use the `ListAgents` operation to return a list of agents for your account and AWS Region . * * @cloudformationAttribute AgentArn */ get attrAgentArn(): string; /** * The type of endpoint that your agent is connected to. If the endpoint is a VPC endpoint, the agent is not accessible over the public internet. * * @cloudformationAttribute EndpointType */ get attrEndpointType(): string; protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } /** * Properties for defining a `CfnAgent` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html */ export interface CfnAgentProps { /** * Specifies your DataSync agent's activation key. * * If you don't have an activation key, see [Activating your agent](https://docs.aws.amazon.com/datasync/latest/userguide/activate-agent.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html#cfn-datasync-agent-activationkey */ readonly activationKey?: string; /** * Specifies a name for your agent. * * We recommend specifying a name that you can remember. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html#cfn-datasync-agent-agentname */ readonly agentName?: string; /** * The Amazon Resource Names (ARNs) of the security groups used to protect your data transfer task subnets. * * See [SecurityGroupArns](https://docs.aws.amazon.com/datasync/latest/userguide/API_Ec2Config.html#DataSync-Type-Ec2Config-SecurityGroupArns) . * * *Pattern* : `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\-0-9]*:[0-9]{12}:security-group/.*$` * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html#cfn-datasync-agent-securitygrouparns */ readonly securityGroupArns?: Array<string>; /** * Specifies the ARN of the subnet where your VPC service endpoint is located. * * You can only specify one ARN. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html#cfn-datasync-agent-subnetarns */ readonly subnetArns?: Array<string>; /** * Specifies labels that help you categorize, filter, and search for your AWS resources. * * We recommend creating at least one tag for your agent. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html#cfn-datasync-agent-tags */ readonly tags?: Array<cdk.CfnTag>; /** * The ID of the virtual private cloud (VPC) endpoint that the agent has access to. * * This is the client-side VPC endpoint, powered by AWS PrivateLink . If you don't have an AWS PrivateLink VPC endpoint, see [AWS PrivateLink and VPC endpoints](https://docs.aws.amazon.com//vpc/latest/userguide/endpoint-services-overview.html) in the *Amazon VPC User Guide* . * * For more information about activating your agent in a private network based on a VPC, see [Using AWS DataSync in a Virtual Private Cloud](https://docs.aws.amazon.com/datasync/latest/userguide/datasync-in-vpc.html) in the *AWS DataSync User Guide.* * * A VPC endpoint ID looks like this: `vpce-01234d5aff67890e1` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html#cfn-datasync-agent-vpcendpointid */ readonly vpcEndpointId?: string; } /** * Creates a transfer *location* for a Microsoft Azure Blob Storage container. * * AWS DataSync can use this location as a transfer source or destination. You can make transfers with or without a [DataSync agent](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-creating-agent) that connects to your container. * * Before you begin, make sure you know [how DataSync accesses Azure Blob Storage](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access) and works with [access tiers](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access-tiers) and [blob types](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#blob-types) . * * @cloudformationResource AWS::DataSync::LocationAzureBlob * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html */ export declare class CfnLocationAzureBlob extends cdk.CfnResource implements cdk.IInspectable, ILocationAzureBlobRef, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnLocationAzureBlob from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnLocationAzureBlob; /** * Checks whether the given object is a CfnLocationAzureBlob */ static isCfnLocationAzureBlob(x: any): x is CfnLocationAzureBlob; /** * (Optional) Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container. */ private _agentArns?; /** * Specifies the access tier that you want your objects or files transferred into. */ private _azureAccessTier?; /** * Specifies the authentication method DataSync uses to access your Azure Blob Storage. */ private _azureBlobAuthenticationType; /** * Specifies the URL of the Azure Blob Storage container involved in your transfer. */ private _azureBlobContainerUrl?; /** * Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage. */ private _azureBlobSasConfiguration?; /** * Specifies the type of blob that you want your objects or files to be when transferring them into Azure Blob Storage. */ private _azureBlobType?; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * 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 . */ private _cmkSecretConfig?; /** * 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). */ private _customSecretConfig?; /** * Specifies path segments if you want to limit your transfer to a virtual directory in your container (for example, `/my/images` ). */ private _subdirectory?; /** * Specifies labels that help you categorize, filter, and search for your AWS resources. */ private _tags?; /** * Create a new `AWS::DataSync::LocationAzureBlob`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnLocationAzureBlobProps); get locationAzureBlobRef(): LocationAzureBlobReference; /** * (Optional) Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container. */ get agentArns(): Array<string> | undefined; /** * (Optional) Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container. */ set agentArns(value: Array<string> | undefined); /** * Specifies the access tier that you want your objects or files transferred into. */ get azureAccessTier(): string | undefined; /** * Specifies the access tier that you want your objects or files transferred into. */ set azureAccessTier(value: string | undefined); /** * Specifies the authentication method DataSync uses to access your Azure Blob Storage. */ get azureBlobAuthenticationType(): string; /** * Specifies the authentication method DataSync uses to access your Azure Blob Storage. */ set azureBlobAuthenticationType(value: string); /** * Specifies the URL of the Azure Blob Storage container involved in your transfer. */ get azureBlobContainerUrl(): string | undefined; /** * Specifies the URL of the Azure Blob Storage container involved in your transfer. */ set azureBlobContainerUrl(value: string | undefined); /** * Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage. */ get azureBlobSasConfiguration(): CfnLocationAzureBlob.AzureBlobSasConfigurationProperty | cdk.IResolvable | undefined; /** * Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage. */ set azureBlobSasConfiguration(value: CfnLocationAzureBlob.AzureBlobSasConfigurationProperty | cdk.IResolvable | undefined); /** * Specifies the type of blob that you want your objects or files to be when transferring them into Azure Blob Storage. */ get azureBlobType(): string | undefined; /** * Specifies the type of blob that you want your objects or files to be when transferring them into Azure Blob Storage. */ set azureBlobType(value: string | undefined); /** * 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 . */ get cmkSecretConfig(): CfnLocationAzureBlob.CmkSecretConfigProperty | cdk.IResolvable | undefined; /** * 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 . */ set cmkSecretConfig(value: CfnLocationAzureBlob.CmkSecretConfigProperty | cdk.IResolvable | undefined); /** * 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). */ get customSecretConfig(): CfnLocationAzureBlob.CustomSecretConfigProperty | cdk.IResolvable | undefined; /** * 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). */ set customSecretConfig(value: CfnLocationAzureBlob.CustomSecretConfigProperty | cdk.IResolvable | undefined); /** * Specifies path segments if you want to limit your transfer to a virtual directory in your container (for example, `/my/images` ). */ get subdirectory(): string | undefined; /** * Specifies path segments if you want to limit your transfer to a virtual directory in your container (for example, `/my/images` ). */ set subdirectory(value: string | undefined); /** * Specifies labels that help you categorize, filter, and search for your AWS resources. */ get tags(): Array<cdk.CfnTag> | undefined; /** * Specifies labels that help you categorize, filter, and search for your AWS resources. */ set tags(value: Array<cdk.CfnTag> | undefined); /** * 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` . * * @cloudformationAttribute CmkSecretConfig.SecretArn */ get attrCmkSecretConfigSecretArn(): string; /** * The ARN of the Azure Blob Storage transfer location that you created. * * @cloudformationAttribute LocationArn */ get attrLocationArn(): string; /** * The URI of the Azure Blob Storage transfer location that you created. * * @cloudformationAttribute LocationUri */ get attrLocationUri(): string; /** * Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location. DataSync uses the default AWS-managed KMS key to encrypt this secret in AWS Secrets Manager. * * @cloudformationAttribute ManagedSecretConfig */ get attrManagedSecretConfig(): cdk.IResolvable; protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } export declare namespace CfnLocationAzureBlob { /** * The shared access signature (SAS) configuration that allows AWS DataSync to access your Microsoft Azure Blob Storage. * * For more information, see [SAS tokens](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-sas-tokens) for accessing your Azure Blob Storage. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-azureblobsasconfiguration.html */ interface AzureBlobSasConfigurationProperty { /** * Specifies a SAS token that provides permissions to access your Azure Blob Storage. * * The token is part of the SAS URI string that comes after the storage resource URI and a question mark. A token looks something like this: * * `sp=r&st=2023-12-20T14:54:52Z&se=2023-12-20T22:54:52Z&spr=https&sv=2021-06-08&sr=c&sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D` * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-azureblobsasconfiguration.html#cfn-datasync-locationazureblob-azureblobsasconfiguration-azureblobsastoken */ readonly azureBlobSasToken: string; } /** * 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. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-cmksecretconfig.html */ interface CmkSecretConfigProperty { /** * 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 . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-cmksecretconfig.html#cfn-datasync-locationazureblob-cmksecretconfig-kmskeyarn */ readonly kmsKeyArn?: string; /** * 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` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-cmksecretconfig.html#cfn-datasync-locationazureblob-cmksecretconfig-secretarn */ readonly secretArn?: string; } /** * 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. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-customsecretconfig.html */ interface CustomSecretConfigProperty { /** * Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for `SecretArn` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-customsecretconfig.html#cfn-datasync-locationazureblob-customsecretconfig-secretaccessrolearn */ readonly secretAccessRoleArn: string; /** * Specifies the ARN for an AWS Secrets Manager secret. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-customsecretconfig.html#cfn-datasync-locationazureblob-customsecretconfig-secretarn */ readonly secretArn: string; } /** * Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location. * * DataSync uses the default AWS -managed KMS key to encrypt this secret in AWS Secrets Manager . * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-managedsecretconfig.html */ interface ManagedSecretConfigProperty { /** * Specifies the ARN for an AWS Secrets Manager secret. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-managedsecretconfig.html#cfn-datasync-locationazureblob-managedsecretconfig-secretarn */ readonly secretArn: string; } } /** * Properties for defining a `CfnLocationAzureBlob` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html */ export interface CfnLocationAzureBlobProps { /** * (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](https://docs.aws.amazon.com/datasync/latest/userguide/multiple-agents.html) . * * > 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. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-agentarns */ readonly agentArns?: Array<string>; /** * 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](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access-tiers) . * * @default - "HOT" * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-azureaccesstier */ readonly azureAccessTier?: string; /** * Specifies the authentication method DataSync uses to access your Azure Blob Storage. * * DataSync can access blob storage using a shared access signature (SAS). * * @default - "SAS" * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-azureblobauthenticationtype */ readonly azureBlobAuthenticationType: string; /** * Specifies the URL of the Azure Blob Storage container involved in your transfer. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-azureblobcontainerurl */ readonly azureBlobContainerUrl?: string; /** * 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. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-azureblobsasconfiguration */ readonly azureBlobSasConfiguration?: CfnLocationAzureBlob.AzureBlobSasConfigurationProperty | cdk.IResolvable; /** * 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](https://docs.aws.amazon.com/https://learn.microsoft.com/en-us/rest/api/storageservices/understanding-block-blobs--append-blobs--and-page-blobs) . * * @default - "BLOCK" * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-azureblobtype */ readonly azureBlobType?: string; /** * 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. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-cmksecretconfig */ readonly cmkSecretConfig?: CfnLocationAzureBlob.CmkSecretConfigProperty | cdk.IResolvable; /** * 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. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-customsecretconfig */ readonly customSecretConfig?: CfnLocationAzureBlob.CustomSecretConfigProperty | cdk.IResolvable; /** * Specifies path segments if you want to limit your transfer to a virtual directory in your container (for example, `/my/images` ). * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-subdirectory */ readonly subdirectory?: string; /** * 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. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-tags */ readonly tags?: Array<cdk.CfnTag>; } /** * The `AWS::DataSync::LocationEFS` resource creates an endpoint for an Amazon EFS file system. * * AWS DataSync can access this endpoint as a source or destination location. * * @cloudformationResource AWS::DataSync::LocationEFS * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html */ export declare class CfnLocationEFS extends cdk.CfnResource implements cdk.IInspectable, ILocationEFSRef, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnLocationEFS from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnLocationEFS; /** * Checks whether the given object is a CfnLocationEFS */ static isCfnLocationEFS(x: any): x is CfnLocationEFS; /** * Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses to mount your Amazon EFS file system. */ private _accessPointArn?; /** * Specifies the subnet and security groups DataSync uses to connect to one of your Amazon EFS file system's [mount targets](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html) . */ private _ec2Config; /** * Specifies the ARN for your Amazon EFS file system. */ private _efsFilesystemArn?; /** * Specifies an AWS Identity and Access Management (IAM) role that allows DataSync to access your Amazon EFS file system. */ private _fileSystemAccessRoleArn?; /** * Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2 encryption when it transfers data to or from your Amazon EFS file system. */ private _inTransitEncryption?; /** * Specifies a mount path for your Amazon EFS file system. */ private _subdirectory?; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * Specifies the key-value pair that represents a tag that you want to add to the resource. */ private _tagsRaw?; /** * Create a new `AWS::DataSync::LocationEFS`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnLocationEFSProps); get locationEfsRef(): LocationEFSReference; /** * Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses to mount your Amazon EFS file system. */ get accessPointArn(): string | undefined; /** * Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses to mount your Amazon EFS file system. */ set accessPointArn(value: string | undefined); /** * Specifies the subnet and security groups DataSync uses to connect to one of your Amazon EFS file system's [mount targets](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html) . */ get ec2Config(): CfnLocationEFS.Ec2ConfigProperty | cdk.IResolvable; /** * Specifies the subnet and security groups DataSync uses to connect to one of your Amazon EFS file system's [mount targets](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html) . */ set ec2Config(value: CfnLocationEFS.Ec2ConfigProperty | cdk.IResolvable); /** * Specifies the ARN for your Amazon EFS file system. */ get efsFilesystemArn(): string | undefined; /** * Specifies the ARN for your Amazon EFS file system. */ set efsFilesystemArn(value: string | undefined); /** * Specifies an AWS Identity and Access Management (IAM) role that allows DataSync to access your Amazon EFS file system. */ get fileSystemAccessRoleArn(): string | undefined; /** * Specifies an AWS Identity and Access Management (IAM) role that allows DataSync to access your Amazon EFS file system. */ set fileSystemAccessRoleArn(value: string | undefined); /** * Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2 encryption when it transfers data to or from your Amazon EFS file system. */ get inTransitEncryption(): string | undefined; /** * Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2 encryption when it transfers data to or from your Amazon EFS file system. */ set inTransitEncryption(value: string | undefined); /** * Specifies a mount path for your Amazon EFS file system. */ get subdirectory(): string | undefined; /** * Specifies a mount path for your Amazon EFS file system. */ set subdirectory(value: string | undefined); /** * Specifies the key-value pair that represents a tag that you want to add to the resource. */ get tagsRaw(): Array<cdk.CfnTag> | undefined; /** * Specifies the key-value pair that represents a tag that you want to add to the resource. */ set tagsRaw(value: Array<cdk.CfnTag> | undefined); /** * The Amazon Resource Name (ARN) of the Amazon EFS file system. * * @cloudformationAttribute LocationArn */ get attrLocationArn(): string; /** * The URI of the Amazon EFS file system. * * @cloudformationAttribute LocationUri */ get attrLocationUri(): string; protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } export declare namespace CfnLocationEFS { /** * The subnet and security groups that AWS DataSync uses to connect to one of your Amazon EFS file system's [mount targets](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html) . * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationefs-ec2config.html */ interface Ec2ConfigProperty { /** * Specifies the Amazon Resource Names (ARNs) of the security groups associated with an Amazon EFS file system's mount target. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationefs-ec2config.html#cfn-datasync-locationefs-ec2config-securitygrouparns */ readonly securityGroupArns: Array<string>; /** * Specifies the ARN of a subnet where DataSync creates the [network interfaces](https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces.html) for managing traffic during your transfer. * * The subnet must be located: * * - In the same virtual private cloud (VPC) as the Amazon EFS file system. * - In the same Availability Zone as at least one mount target for the Amazon EFS file system. * * > You don't need to specify a subnet that includes a file system mount target. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationefs-ec2config.html#cfn-datasync-locationefs-ec2config-subnetarn */ readonly subnetArn: string; } } /** * Properties for defining a `CfnLocationEFS` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html */ export interface CfnLocationEFSProps { /** * Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses to mount your Amazon EFS file system. * * For more information, see [Accessing restricted file systems](https://docs.aws.amazon.com/datasync/latest/userguide/create-efs-location.html#create-efs-location-iam) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html#cfn-datasync-locationefs-accesspointarn */ readonly accessPointArn?: string; /** * Specifies the subnet and security groups DataSync uses to connect to one of your Amazon EFS file system's [mount targets](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html#cfn-datasync-locationefs-ec2config */ readonly ec2Config: CfnLocationEFS.Ec2ConfigProperty | cdk.IResolvable; /** * Specifies the ARN for your Amazon EFS file system. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html#cfn-datasync-locationefs-efsfilesystemarn */ readonly efsFilesystemArn?: efsRefs.IFileSystemRef | string; /** * Specifies an AWS Identity and Access Management (IAM) role that allows DataSync to access your Amazon EFS file system. * * For information on creating this role, see [Creating a DataSync IAM role for file system access](https://docs.aws.amazon.com/datasync/latest/userguide/create-efs-location.html#create-efs-location-iam-role) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html#cfn-datasync-locationefs-filesystemaccessrolearn */ readonly fileSystemAccessRoleArn?: string; /** * Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2 encryption when it transfers data to or from your Amazon EFS file system. * * If you specify an access point using `AccessPointArn` or an IAM role using `FileSystemAccessRoleArn` , you must set this parameter to `TLS1_2` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html#cfn-datasync-locationefs-intransitencryption */ readonly inTransitEncryption?: string; /** * Specifies a mount path for your Amazon EFS file system. * * This is where DataSync reads or writes data on your file system (depending on if this is a source or destination location). * * By default, DataSync uses the root directory (or [access point](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) if you provide one by using `AccessPointArn` ). You can also include subdirectories using forward slashes (for example, `/path/to/folder` ). * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html#cfn-datasync-locationefs-subdirectory */ readonly subdirectory?: string; /** * Specifies the key-value pair that represents a tag that you want to add to the resource. * * The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html#cfn-datasync-locationefs-tags */ readonly tags?: Array<cdk.CfnTag>; } /** * The `AWS::DataSync::LocationFSxLustre` resource specifies an endpoint for an Amazon FSx for Lustre file system. * * @cloudformationResource AWS::DataSync::LocationFSxLustre * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxlustre.html */ export declare class CfnLocationFSxLustre extends cdk.CfnResource implements cdk.IInspectable, ILocationFSxLustreRef, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnLocationFSxLustre from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnLocationFSxLustre; /** * Checks whether the given object is a CfnLocationFSxLustre */ static isCfnLocationFSxLustre(x: any): x is CfnLocationFSxLustre; /** * Specifies the Amazon Resource Name (ARN) of the FSx for Lustre file system. */ private _fsxFilesystemArn?; /** * The ARNs of the security groups that are used to configure the FSx for Lustre file system. */ private _securityGroupArns; /** * Specifies a mount path for your FSx for Lustre file system. The path can include subdirectories. */ private _subdirectory?; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * Specifies labels that help you categorize, filter, and search for your AWS resources. */ private _tagsRaw?; /** * Create a new `AWS::DataSync::LocationFSxLustre`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnLocationFSxLustreProps); get locationFSxLustreRef(): LocationFSxLustreReference; /** * Specifies the Amazon Resource Name (ARN) of the FSx for Lustre file system. */ get fsxFilesystemArn(): string | undefined; /** * Specifies the Amazon Resource Name (ARN) of the FSx for Lustre file system. */ set fsxFilesystemArn(value: string | undefined); /** * The ARNs of the security groups that are used to configure the FSx for Lustre file system. */ get securityGroupArns(): Array<string>; /** * The ARNs of the security groups that are used to configure the FSx for Lustre file system. */ set securityGroupArns(value: Array<string>); /** * Specifies a mount path for your FSx for Lustre file system. The path can include subdirectories. */ get subdirectory(): string | undefined; /** * Specifies a mount path for your FSx for Lustre file system. The path can include subdirectories. */ set subdirectory(value: string | undefined); /** * Specifies labels that help you categorize, filter, and search for your AWS resources. */ get tagsRaw(): Array<cdk.CfnTag> | undefined; /** * Specifies labels that help you categorize, filter, and search for your AWS resources. */ set tagsRaw(value: Array<cdk.CfnTag> | undefined); /** * The ARN of the specified FSx for Lustre file system location. * * @cloudformationAttribute LocationArn */ get attrLocationArn(): string; /** * The URI of the specified FSx for Lustre file system location. * * @cloudformationAttribute LocationUri */ get attrLocationUri(): string; protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } /** * Properties for defining a `CfnLocationFSxLustre` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxlustre.html */ export interface CfnLocationFSxLustreProps { /** * Specifies the Amazon Resource Name (ARN) of the FSx for Lustre file system. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxlustre.html#cfn-datasync-locationfsxlustre-fsxfilesystemarn */ readonly fsxFilesystemArn?: string; /** * The ARNs of the security groups that are used to configure the FSx for Lustre file system. * * *Pattern* : `^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\-0-9]*:[0-9]{12}:security-group/.*$` * * *Length constraints* : Maximum length of 128. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxlustre.html#cfn-datasync-locationfsxlustre-securitygrouparns */ readonly securityGroupArns: Array<string>; /** * Specifies a mount path for your FSx for Lustre file system. The path can include subdirectories. * * When the location is used as a source, DataSync reads data from the mount path. When the location is used as a destination, DataSync writes data to the mount path. If you don't include this parameter, DataSync uses the file system's root directory ( `/` ). * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxlustre.html#cfn-datasync-locationfsxlustre-subdirectory */ readonly subdirectory?: string; /** * Specifies labels that help you categorize, filter, and search for your AWS resources. * * We recommend creating at least a name tag for your location. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxlustre.html#cfn-datasync-locationfsxlustre-tags */ readonly tags?: Array<cdk.CfnTag>; } /** * The `AWS::DataSync::LocationFSxONTAP` resource creates an endpoint for an Amazon FSx for NetApp ONTAP file system. * * AWS DataSync can access this endpoint as a source or destination location. * * @cloudformationResource AWS::DataSync::LocationFSxONTAP * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxontap.html */ export declare class