Skip to content

connect_directory async

connect_directory(
    name: DirectoryName,
    password: ConnectPassword,
    size: DirectorySize,
    connect_settings: DirectoryConnectSettings,
    *,
    config_overrides: Optional[AsyncDirectoryServiceClientConfig] = None,
    short_name: Optional[DirectoryShortName] = None,
    description: Optional[Description] = None,
    tags: Optional[Tags] = None,
    network_type: Optional[NetworkType] = None,
) -> ConnectDirectoryResult

Creates an AD Connector to connect to a self-managed directory.

Before you call ConnectDirectory, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the ConnectDirectory operation, see Directory Service API Permissions: Actions, Resources, and Conditions Reference.

Parameters:

  • name (DirectoryName) –

    The fully qualified name of your self-managed directory, such as corp.example.com.

  • short_name (Optional[DirectoryShortName], default: None ) –

    The NetBIOS name of your self-managed directory, such as CORP.

  • password (ConnectPassword) –

    The password for your self-managed user account.

  • description (Optional[Description], default: None ) –

    A description for the directory.

  • size (DirectorySize) –

    The size of the directory.

  • connect_settings (DirectoryConnectSettings) –

    A DirectoryConnectSettings object that contains additional information for the operation.

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

    The tags to be assigned to AD Connector.

  • network_type (Optional[NetworkType], default: None ) –

    The network type for your directory. The default value is IPv4 or IPv6 based on the provided subnet capabilities.

Raises:

Examples:

To connect to an on-premises directory The following example creates an AD Connector to connect to an on-premises directory.

>>> await client.connect_directory(name='corp.example.com', short_name='corp', password='Str0ngP@ssw0rd', description='Connector to corp', size='Small', connect_settings={'CustomerUserName': 'Administrator', 'VpcId': 'vpc-45025421', 'SubnetIds': ['subnet-ba0146de', 'subnet-bef46bc8'], 'CustomerDnsIps': ['172.30.21.228']})
Source code in docs_src/capo_directory_service/_services/async_directory_service.py
async def connect_directory(
    self,
    name: "capo_directory_service.types.directory_name.DirectoryName",
    password: "capo_directory_service.types.connect_password.ConnectPassword",
    size: "capo_directory_service.types.directory_size.DirectorySize",
    connect_settings: "capo_directory_service.types.directory_connect_settings.DirectoryConnectSettings",
    *,
    config_overrides: Optional[AsyncDirectoryServiceClientConfig] = None,
    short_name: Optional[
        "capo_directory_service.types.directory_short_name.DirectoryShortName"
    ] = None,
    description: Optional[
        "capo_directory_service.types.description.Description"
    ] = None,
    tags: Optional["capo_directory_service.types.tags.Tags"] = None,
    network_type: Optional[
        "capo_directory_service.types.network_type.NetworkType"
    ] = None,
) -> "capo_directory_service.types.connect_directory_result.ConnectDirectoryResult":
    """<p>Creates an AD Connector to connect to a self-managed directory.</p> <p>Before you call <code>ConnectDirectory</code>, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the <code>ConnectDirectory</code> operation, see <a href="http://docs.aws.amazon.com/directoryservice/latest/admin-guide/UsingWithDS_IAM_ResourcePermissions.html">Directory Service API Permissions: Actions, Resources, and Conditions Reference</a>.</p>

    Args:
        name: <p>The fully qualified name of your self-managed directory, such as <code>corp.example.com</code>.</p>
        short_name: <p>The NetBIOS name of your self-managed directory, such as <code>CORP</code>.</p>
        password: <p>The password for your self-managed user account.</p>
        description: <p>A description for the directory.</p>
        size: <p>The size of the directory.</p>
        connect_settings: <p>A <a>DirectoryConnectSettings</a> object that contains additional information for the operation.</p>
        tags: <p>The tags to be assigned to AD Connector.</p>
        network_type: <p>The network type for your directory. The default value is <code>IPv4</code> or <code>IPv6</code> based on the provided subnet capabilities.</p>

    Raises:
        capo_directory_service.errors.client_exception.ClientException: <p>A client exception has occurred.</p>
        capo_directory_service.errors.directory_limit_exceeded_exception.DirectoryLimitExceededException: <p>The maximum number of directories in the region has been reached. You can use the <a>GetDirectoryLimits</a> operation to determine your directory limits in the region.</p>
        capo_directory_service.errors.invalid_parameter_exception.InvalidParameterException: <p>One or more parameters are not valid.</p>
        capo_directory_service.errors.service_exception.ServiceException: <p>An exception has occurred in Directory Service.</p>
        capo_directory_service.errors.UnknownServiceError: The service returned an error code this client does not model.

    Examples:
        To connect to an on-premises directory
        The following example creates an AD Connector to connect to an on-premises directory.

        >>> await client.connect_directory(name='corp.example.com', short_name='corp', password='Str0ngP@ssw0rd', description='Connector to corp', size='Small', connect_settings={'CustomerUserName': 'Administrator', 'VpcId': 'vpc-45025421', 'SubnetIds': ['subnet-ba0146de', 'subnet-bef46bc8'], 'CustomerDnsIps': ['172.30.21.228']})
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_directory_service.types.connect_directory_request.ConnectDirectoryRequest]",
    ) -> AsyncOperationResponse[
        "capo_directory_service.types.connect_directory_result.ConnectDirectoryResult"
    ]:
        import capo_directory_service._operations.directory_service_20150416.connect_directory

        (
            output,
            http_response,
        ) = await capo_directory_service._operations.directory_service_20150416.connect_directory.async_connect_directory(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_directory_service.types.connect_directory_request.ConnectDirectoryRequest",
    ) -> dict[str, Any]:
        import capo_directory_service.types.connect_directory_request

        return (
            capo_directory_service.types.connect_directory_request.redact_sensitive(
                input_
            )
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("ConnectDirectory", redact_input=_redact_input),
    )
    input_: capo_directory_service.types.connect_directory_request.ConnectDirectoryRequest = {
        "name": name,
        "password": password,
        "size": size,
        "connect_settings": connect_settings,
    }
    if short_name is not None:
        input_["short_name"] = short_name
    if description is not None:
        input_["description"] = description
    if tags is not None:
        input_["tags"] = tags
    if network_type is not None:
        input_["network_type"] = network_type

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