Skip to content

create_location_fsx_windows async

create_location_fsx_windows(
    fsx_filesystem_arn: FsxFilesystemArn,
    security_group_arns: Ec2SecurityGroupArnList,
    user: SmbUser,
    *,
    config_overrides: Optional[AsyncDataSyncClientConfig] = None,
    subdirectory: Optional[FsxWindowsSubdirectory] = None,
    tags: Optional[InputTagList] = None,
    domain: Optional[SmbDomain] = None,
    password: Optional[SmbPassword] = None,
    cmk_secret_config: Optional[CmkSecretConfig] = None,
    custom_secret_config: Optional[CustomSecretConfig] = None,
) -> CreateLocationFsxWindowsResponse

Creates a transfer location for an Amazon FSx for Windows File Server file system. DataSync can use this location as a source or destination for transferring data.

Before you begin, make sure that you understand how DataSync accesses FSx for Windows File Server file systems.

Parameters:

  • subdirectory (Optional[FsxWindowsSubdirectory], default: None ) –

    Specifies a mount path for your file system using forward slashes. This is where DataSync reads or writes data (depending on if this is a source or destination location).

  • fsx_filesystem_arn (FsxFilesystemArn) –

    Specifies the Amazon Resource Name (ARN) for the FSx for Windows File Server file system.

  • security_group_arns (Ec2SecurityGroupArnList) –

    Specifies the ARNs of the Amazon EC2 security groups that provide access to your file system's preferred subnet.

    The security groups that you specify must be able to communicate with your file system's security groups. For information about configuring security groups for file system access, see the Amazon FSx for Windows File Server User Guide .

    If you choose a security group that doesn't allow connections from within itself, do one of the following:

    • Configure the security group to allow it to communicate within itself.

    • Choose a different security group that can communicate with the mount target's security group.

  • tags (Optional[InputTagList], default: None ) –

    Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources. We recommend creating at least a name tag for your location.

  • user (SmbUser) –

    Specifies the user with the permissions to mount and access the files, folders, and file metadata in your FSx for Windows File Server file system.

    For information about choosing a user with the right level of access for your transfer, see required permissions for FSx for Windows File Server locations.

  • domain (Optional[SmbDomain], default: None ) –

    Specifies the name of the Windows domain that the FSx for Windows File Server file system belongs to.

    If you have multiple Active Directory domains in your environment, configuring this parameter makes sure that DataSync connects to the right file system.

  • password (Optional[SmbPassword], default: None ) –

    Specifies the password of the user with the permissions to mount and access the files, folders, and file metadata in your FSx for Windows File Server file system.

  • cmk_secret_config (Optional[CmkSecretConfig], default: None ) –

    Specifies configuration information for a DataSync-managed secret, which includes the password that DataSync uses to access a specific FSx Windows storage location, with a customer-managed KMS key.

    When you include this parameter as part of a CreateLocationFsxWindows request, you provide only the KMS key ARN. DataSync uses this KMS key together with the Password you specify for 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. For more information, see Using a service-managed secret encrypted with a custom KMS key.

    You can use either CmkSecretConfig (with Password) or CustomSecretConfig (without Password) to provide credentials for a CreateLocationFsxWindows request. Do not provide both parameters for the same request.

  • custom_secret_config (Optional[CustomSecretConfig], default: None ) –

    Specifies configuration information for a customer-managed Secrets Manager secret where the password for an FSx for Windows File Server 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. For more information, see Using a secret that you manage.

    You can use either CmkSecretConfig (with Password) or CustomSecretConfig (without Password) to provide credentials for a CreateLocationFsxWindows request. Do not provide both parameters for the same request.

Raises:

Source code in docs_src/capo_datasync/_services/async_data_sync.py
async def create_location_fsx_windows(
    self,
    fsx_filesystem_arn: "capo_datasync.types.fsx_filesystem_arn.FsxFilesystemArn",
    security_group_arns: "capo_datasync.types.ec2_security_group_arn_list.Ec2SecurityGroupArnList",
    user: "capo_datasync.types.smb_user.SmbUser",
    *,
    config_overrides: Optional[AsyncDataSyncClientConfig] = None,
    subdirectory: Optional[
        "capo_datasync.types.fsx_windows_subdirectory.FsxWindowsSubdirectory"
    ] = None,
    tags: Optional["capo_datasync.types.input_tag_list.InputTagList"] = None,
    domain: Optional["capo_datasync.types.smb_domain.SmbDomain"] = None,
    password: Optional["capo_datasync.types.smb_password.SmbPassword"] = None,
    cmk_secret_config: Optional[
        "capo_datasync.types.cmk_secret_config.CmkSecretConfig"
    ] = None,
    custom_secret_config: Optional[
        "capo_datasync.types.custom_secret_config.CustomSecretConfig"
    ] = None,
) -> "capo_datasync.types.create_location_fsx_windows_response.CreateLocationFsxWindowsResponse":
    """<p>Creates a transfer <i>location</i> for an Amazon FSx for Windows File Server file system. DataSync can use this location as a source or destination for transferring data.</p> <p>Before you begin, make sure that you understand how DataSync <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-fsx-location.html#create-fsx-location-access">accesses FSx for Windows File Server file systems</a>.</p>

    Args:
        subdirectory: <p>Specifies a mount path for your file system using forward slashes. This is where DataSync reads or writes data (depending on if this is a source or destination location).</p>
        fsx_filesystem_arn: <p>Specifies the Amazon Resource Name (ARN) for the FSx for Windows File Server file system.</p>
        security_group_arns: <p>Specifies the ARNs of the Amazon EC2 security groups that provide access to your file system's preferred subnet.</p> <p>The security groups that you specify must be able to communicate with your file system's security groups. For information about configuring security groups for file system access, see the <a href="https://docs.aws.amazon.com/fsx/latest/WindowsGuide/limit-access-security-groups.html"> <i>Amazon FSx for Windows File Server User Guide</i> </a>.</p> <note> <p>If you choose a security group that doesn't allow connections from within itself, do one of the following:</p> <ul> <li> <p>Configure the security group to allow it to communicate within itself.</p> </li> <li> <p>Choose a different security group that can communicate with the mount target's security group.</p> </li> </ul> </note>
        tags: <p>Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources. We recommend creating at least a name tag for your location.</p>
        user: <p>Specifies the user with the permissions to mount and access the files, folders, and file metadata in your FSx for Windows File Server file system.</p> <p>For information about choosing a user with the right level of access for your transfer, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-fsx-location.html#create-fsx-windows-location-permissions">required permissions</a> for FSx for Windows File Server locations.</p>
        domain: <p>Specifies the name of the Windows domain that the FSx for Windows File Server file system belongs to.</p> <p>If you have multiple Active Directory domains in your environment, configuring this parameter makes sure that DataSync connects to the right file system.</p>
        password: <p>Specifies the password of the user with the permissions to mount and access the files, folders, and file metadata in your FSx for Windows File Server file system.</p>
        cmk_secret_config: <p>Specifies configuration information for a DataSync-managed secret, which includes the password that DataSync uses to access a specific FSx Windows storage location, with a customer-managed KMS key.</p> <p>When you include this parameter as part of a <code>CreateLocationFsxWindows</code> request, you provide only the KMS key ARN. DataSync uses this KMS key together with the <code>Password</code> you specify for to create a DataSync-managed secret to store the location access credentials.</p> <p>Make sure that DataSync has permission to access the KMS key that you specify. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/location-credentials.html#service-secret-custom-key"> Using a service-managed secret encrypted with a custom KMS key</a>.</p> <note> <p>You can use either <code>CmkSecretConfig</code> (with <code>Password</code>) or <code>CustomSecretConfig</code> (without <code>Password</code>) to provide credentials for a <code>CreateLocationFsxWindows</code> request. Do not provide both parameters for the same request.</p> </note>
        custom_secret_config: <p>Specifies configuration information for a customer-managed Secrets Manager secret where the password for an FSx for Windows File Server 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. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/location-credentials.html#custom-secret-custom-key"> Using a secret that you manage</a>.</p> <note> <p>You can use either <code>CmkSecretConfig</code> (with <code>Password</code>) or <code>CustomSecretConfig</code> (without <code>Password</code>) to provide credentials for a <code>CreateLocationFsxWindows</code> request. Do not provide both parameters for the same request.</p> </note>

    Raises:
        capo_datasync.errors.internal_exception.InternalException: <p>This exception is thrown when an error occurs in the DataSync service.</p>
        capo_datasync.errors.invalid_request_exception.InvalidRequestException: <p>This exception is thrown when the client submits a malformed request.</p>
        capo_datasync.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_datasync.types.create_location_fsx_windows_request.CreateLocationFsxWindowsRequest]",
    ) -> AsyncOperationResponse[
        "capo_datasync.types.create_location_fsx_windows_response.CreateLocationFsxWindowsResponse"
    ]:
        import capo_datasync._operations.fmrs_service.create_location_fsx_windows

        (
            output,
            http_response,
        ) = await capo_datasync._operations.fmrs_service.create_location_fsx_windows.async_create_location_fsx_windows(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_datasync.types.create_location_fsx_windows_request.CreateLocationFsxWindowsRequest",
    ) -> dict[str, Any]:
        import capo_datasync.types.create_location_fsx_windows_request

        return capo_datasync.types.create_location_fsx_windows_request.redact_sensitive(
            input_
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("CreateLocationFsxWindows", redact_input=_redact_input),
    )
    input_: capo_datasync.types.create_location_fsx_windows_request.CreateLocationFsxWindowsRequest = {
        "fsx_filesystem_arn": fsx_filesystem_arn,
        "security_group_arns": security_group_arns,
        "user": user,
    }
    if subdirectory is not None:
        input_["subdirectory"] = subdirectory
    if tags is not None:
        input_["tags"] = tags
    if domain is not None:
        input_["domain"] = domain
    if password is not None:
        input_["password"] = password
    if cmk_secret_config is not None:
        input_["cmk_secret_config"] = cmk_secret_config
    if custom_secret_config is not None:
        input_["custom_secret_config"] = custom_secret_config

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output