Skip to content

add_region

add_region(
    directory_id: DirectoryId,
    region_name: RegionName,
    vpc_settings: DirectoryVpcSettings,
    *,
    config_overrides: Optional[DirectoryServiceClientConfig] = 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/directory_service.py
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[DirectoryServiceClientConfig] = 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.
    """

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

        output, http_response = (
            capo_directory_service._operations.directory_service_20150416.add_region.add_region(
                req.options, req.input
            )
        )
        return OperationResponse(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 = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output