Skip to content

add_region async

add_region(
    directory_id: DirectoryId,
    region_name: RegionName,
    vpc_settings: DirectoryVpcSettings,
    *,
    config_overrides: Optional[AsyncDirectoryServiceClientConfig] = None,
) -> AddRegionResult

Adds two domain controllers in the specified Region for the specified directory.

Parameters:

  • directory_id (DirectoryId) –

    The identifier of the directory to which you want to add Region replication.

  • region_name (RegionName) –

    The name of the Region where you want to add domain controllers for replication. For example, us-east-1.

Raises:

Source code in docs_src/capo_directory_service/_services/async_directory_service.py
async def add_region(
    self,
    directory_id: "capo_directory_service.types.directory_id.DirectoryId",
    region_name: "capo_directory_service.types.region_name.RegionName",
    vpc_settings: "capo_directory_service.types.directory_vpc_settings.DirectoryVpcSettings",
    *,
    config_overrides: Optional[AsyncDirectoryServiceClientConfig] = None,
) -> "capo_directory_service.types.add_region_result.AddRegionResult":
    """<p>Adds two domain controllers in the specified Region for the specified directory.</p>

    Args:
        directory_id: <p>The identifier of the directory to which you want to add Region replication.</p>
        region_name: <p>The name of the Region where you want to add domain controllers for replication. For example, <code>us-east-1</code>.</p>

    Raises:
        capo_directory_service.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
        capo_directory_service.errors.client_exception.ClientException: <p>A client exception has occurred.</p>
        capo_directory_service.errors.directory_already_in_region_exception.DirectoryAlreadyInRegionException: <p>The Region you specified is the same Region where the Managed Microsoft AD directory was created. Specify a different Region and try again.</p>
        capo_directory_service.errors.directory_does_not_exist_exception.DirectoryDoesNotExistException: <p>The specified directory does not exist in the system.</p>
        capo_directory_service.errors.directory_unavailable_exception.DirectoryUnavailableException: <p>The specified directory is unavailable.</p>
        capo_directory_service.errors.entity_does_not_exist_exception.EntityDoesNotExistException: <p>The specified entity could not be found.</p>
        capo_directory_service.errors.invalid_parameter_exception.InvalidParameterException: <p>One or more parameters are not valid.</p>
        capo_directory_service.errors.region_limit_exceeded_exception.RegionLimitExceededException: <p>You have reached the limit for maximum number of simultaneous Region replications per directory.</p>
        capo_directory_service.errors.service_exception.ServiceException: <p>An exception has occurred in Directory Service.</p>
        capo_directory_service.errors.unsupported_operation_exception.UnsupportedOperationException: <p>The operation is not supported.</p>
        capo_directory_service.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_directory_service.types.add_region_request.AddRegionRequest]",
    ) -> AsyncOperationResponse[
        "capo_directory_service.types.add_region_result.AddRegionResult"
    ]:
        import capo_directory_service._operations.directory_service_20150416.add_region

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

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("AddRegion")
    )
    input_: capo_directory_service.types.add_region_request.AddRegionRequest = {
        "directory_id": directory_id,
        "region_name": region_name,
        "vpc_settings": vpc_settings,
    }

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