Skip to content

create_workspace_bundle async

create_workspace_bundle(
    bundle_name: WorkspaceBundleName,
    bundle_description: WorkspaceBundleDescription,
    image_id: WorkspaceImageId,
    compute_type: ComputeType,
    user_storage: UserStorage,
    *,
    config_overrides: Optional[AsyncWorkSpacesClientConfig] = None,
    root_storage: Optional[RootStorage] = None,
    tags: Optional[TagList] = None,
) -> CreateWorkspaceBundleResult

Creates the specified WorkSpace bundle. For more information about creating WorkSpace bundles, see Create a Custom WorkSpaces Image and Bundle.

Parameters:

  • bundle_name (WorkspaceBundleName) –

    The name of the bundle.

  • bundle_description (WorkspaceBundleDescription) –

    The description of the bundle.

  • image_id (WorkspaceImageId) –

    The identifier of the image that is used to create the bundle.

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

    The tags associated with the bundle.

    To add tags at the same time when you're creating the bundle, you must create an IAM policy that grants your IAM user permissions to use workspaces:CreateTags.

Raises:

Source code in docs_src/capo_workspaces/_services/async_work_spaces.py
async def create_workspace_bundle(
    self,
    bundle_name: "capo_workspaces.types.workspace_bundle_name.WorkspaceBundleName",
    bundle_description: "capo_workspaces.types.workspace_bundle_description.WorkspaceBundleDescription",
    image_id: "capo_workspaces.types.workspace_image_id.WorkspaceImageId",
    compute_type: "capo_workspaces.types.compute_type.ComputeType",
    user_storage: "capo_workspaces.types.user_storage.UserStorage",
    *,
    config_overrides: Optional[AsyncWorkSpacesClientConfig] = None,
    root_storage: Optional["capo_workspaces.types.root_storage.RootStorage"] = None,
    tags: Optional["capo_workspaces.types.tag_list.TagList"] = None,
) -> "capo_workspaces.types.create_workspace_bundle_result.CreateWorkspaceBundleResult":
    """<p>Creates the specified WorkSpace bundle. For more information about creating WorkSpace bundles, see <a href="https://docs.aws.amazon.com/workspaces/latest/adminguide/create-custom-bundle.html"> Create a Custom WorkSpaces Image and Bundle</a>.</p>

    Args:
        bundle_name: <p>The name of the bundle.</p>
        bundle_description: <p>The description of the bundle.</p>
        image_id: <p>The identifier of the image that is used to create the bundle.</p>
        tags: <p>The tags associated with the bundle.</p> <note> <p>To add tags at the same time when you're creating the bundle, you must create an IAM policy that grants your IAM user permissions to use <code>workspaces:CreateTags</code>. </p> </note>

    Raises:
        capo_workspaces.errors.access_denied_exception.AccessDeniedException: <p>The user is not authorized to access a resource.</p>
        capo_workspaces.errors.invalid_parameter_values_exception.InvalidParameterValuesException: <p>One or more parameter values are not valid.</p>
        capo_workspaces.errors.resource_already_exists_exception.ResourceAlreadyExistsException: <p>The specified resource already exists.</p>
        capo_workspaces.errors.resource_limit_exceeded_exception.ResourceLimitExceededException: <p>Your resource limits have been exceeded.</p>
        capo_workspaces.errors.resource_not_found_exception.ResourceNotFoundException: <p>The resource could not be found.</p>
        capo_workspaces.errors.resource_unavailable_exception.ResourceUnavailableException: <p>The specified resource is not available.</p>
        capo_workspaces.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_workspaces.types.create_workspace_bundle_request.CreateWorkspaceBundleRequest]",
    ) -> AsyncOperationResponse[
        "capo_workspaces.types.create_workspace_bundle_result.CreateWorkspaceBundleResult"
    ]:
        import capo_workspaces._operations.workspaces_service.create_workspace_bundle

        (
            output,
            http_response,
        ) = await capo_workspaces._operations.workspaces_service.create_workspace_bundle.async_create_workspace_bundle(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateWorkspaceBundle")
    )
    input_: capo_workspaces.types.create_workspace_bundle_request.CreateWorkspaceBundleRequest = {
        "bundle_name": bundle_name,
        "bundle_description": bundle_description,
        "image_id": image_id,
        "compute_type": compute_type,
        "user_storage": user_storage,
    }
    if root_storage is not None:
        input_["root_storage"] = root_storage
    if tags is not None:
        input_["tags"] = tags

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