Skip to content

update_stack

update_stack(
    *,
    config_overrides: Optional[AppStreamClientConfig] = None,
    display_name: Optional[DisplayName] = None,
    description: Optional[Description] = None,
    name: Optional[String] = None,
    storage_connectors: Optional[StorageConnectorList] = None,
    delete_storage_connectors: Optional[Boolean] = None,
    redirect_url: Optional[RedirectURL] = None,
    feedback_url: Optional[FeedbackURL] = None,
    attributes_to_delete: Optional[StackAttributes] = None,
    user_settings: Optional[UserSettingList] = None,
    application_settings: Optional[ApplicationSettings] = None,
    access_endpoints: Optional[AccessEndpointList] = None,
    embed_host_domains: Optional[EmbedHostDomains] = None,
    streaming_experience_settings: Optional[StreamingExperienceSettings] = None,
    content_redirection: Optional[ContentRedirection] = None,
    agent_access_config: Optional[AgentAccessConfigForUpdate] = None,
    storage_connector_authentication: Optional[StorageConnectorAuthentication] = None,
) -> UpdateStackResult

Updates the specified fields for the specified stack.

Parameters:

  • display_name (Optional[DisplayName], default: None ) –

    The stack name to display.

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

    The description to display.

  • name (Optional[String], default: None ) –

    The name of the stack.

  • storage_connectors (Optional[StorageConnectorList], default: None ) –

    The storage connectors to enable.

  • delete_storage_connectors (Optional[Boolean], default: None ) –

    Deletes the storage connectors currently enabled for the stack.

  • redirect_url (Optional[RedirectURL], default: None ) –

    The URL that users are redirected to after their streaming session ends.

  • feedback_url (Optional[FeedbackURL], default: None ) –

    The URL that users are redirected to after they choose the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.

  • attributes_to_delete (Optional[StackAttributes], default: None ) –

    The stack attributes to delete.

  • user_settings (Optional[UserSettingList], default: None ) –

    The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled.

  • application_settings (Optional[ApplicationSettings], default: None ) –

    The persistent application settings for users of a stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and applied to the next session.

  • access_endpoints (Optional[AccessEndpointList], default: None ) –

    The list of interface VPC endpoint (interface endpoint) objects. Users of the stack can connect to WorkSpaces Applications only through the specified endpoints.

  • embed_host_domains (Optional[EmbedHostDomains], default: None ) –

    The domains where WorkSpaces Applications streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded WorkSpaces Applications streaming sessions.

  • streaming_experience_settings (Optional[StreamingExperienceSettings], default: None ) –

    The streaming protocol you want your stack to prefer. This can be UDP or TCP. Currently, UDP is only supported in the Windows native client.

  • agent_access_config (Optional[AgentAccessConfigForUpdate], default: None ) –

    The configuration for agent access on the stack. Specify this to update agent access settings. To remove agent access, use AttributesToDelete with the AGENT_ACCESS_CONFIG value.

  • storage_connector_authentication (Optional[StorageConnectorAuthentication], default: None ) –

    Specifies whether users' cloud storage authentication persists across streaming sessions. When you specify FORCE_REAUTHENTICATION, WorkSpaces Applications removes the stored authentication for the stack's OneDrive and Google Drive connectors when a user's session ends. The user links their cloud storage again on their next session. To clear this attribute, add STORAGE_CONNECTOR_AUTHENTICATION to AttributesToDelete.

Raises:

Source code in docs_src/capo_appstream/_services/app_stream.py
def update_stack(
    self,
    *,
    config_overrides: Optional[AppStreamClientConfig] = None,
    display_name: Optional["capo_appstream.types.display_name.DisplayName"] = None,
    description: Optional["capo_appstream.types.description.Description"] = None,
    name: Optional["capo_appstream.types.string.String"] = None,
    storage_connectors: Optional[
        "capo_appstream.types.storage_connector_list.StorageConnectorList"
    ] = None,
    delete_storage_connectors: Optional[
        "capo_appstream.types.boolean.Boolean"
    ] = None,
    redirect_url: Optional["capo_appstream.types.redirect_url.RedirectURL"] = None,
    feedback_url: Optional["capo_appstream.types.feedback_url.FeedbackURL"] = None,
    attributes_to_delete: Optional[
        "capo_appstream.types.stack_attributes.StackAttributes"
    ] = None,
    user_settings: Optional[
        "capo_appstream.types.user_setting_list.UserSettingList"
    ] = None,
    application_settings: Optional[
        "capo_appstream.types.application_settings.ApplicationSettings"
    ] = None,
    access_endpoints: Optional[
        "capo_appstream.types.access_endpoint_list.AccessEndpointList"
    ] = None,
    embed_host_domains: Optional[
        "capo_appstream.types.embed_host_domains.EmbedHostDomains"
    ] = None,
    streaming_experience_settings: Optional[
        "capo_appstream.types.streaming_experience_settings.StreamingExperienceSettings"
    ] = None,
    content_redirection: Optional[
        "capo_appstream.types.content_redirection.ContentRedirection"
    ] = None,
    agent_access_config: Optional[
        "capo_appstream.types.agent_access_config_for_update.AgentAccessConfigForUpdate"
    ] = None,
    storage_connector_authentication: Optional[
        "capo_appstream.types.storage_connector_authentication.StorageConnectorAuthentication"
    ] = None,
) -> "capo_appstream.types.update_stack_result.UpdateStackResult":
    """<p>Updates the specified fields for the specified stack.</p>

    Args:
        display_name: <p>The stack name to display.</p>
        description: <p>The description to display.</p>
        name: <p>The name of the stack.</p>
        storage_connectors: <p>The storage connectors to enable.</p>
        delete_storage_connectors: <p>Deletes the storage connectors currently enabled for the stack.</p>
        redirect_url: <p>The URL that users are redirected to after their streaming session ends.</p>
        feedback_url: <p>The URL that users are redirected to after they choose the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.</p>
        attributes_to_delete: <p>The stack attributes to delete.</p>
        user_settings: <p>The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled.</p>
        application_settings: <p>The persistent application settings for users of a stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and applied to the next session.</p>
        access_endpoints: <p>The list of interface VPC endpoint (interface endpoint) objects. Users of the stack can connect to WorkSpaces Applications only through the specified endpoints.</p>
        embed_host_domains: <p>The domains where WorkSpaces Applications streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded WorkSpaces Applications streaming sessions. </p>
        streaming_experience_settings: <p>The streaming protocol you want your stack to prefer. This can be UDP or TCP. Currently, UDP is only supported in the Windows native client.</p>
        agent_access_config: <p>The configuration for agent access on the stack. Specify this to update agent access settings. To remove agent access, use AttributesToDelete with the AGENT_ACCESS_CONFIG value.</p>
        storage_connector_authentication: <p>Specifies whether users' cloud storage authentication persists across streaming sessions. When you specify FORCE_REAUTHENTICATION, WorkSpaces Applications removes the stored authentication for the stack's OneDrive and Google Drive connectors when a user's session ends. The user links their cloud storage again on their next session. To clear this attribute, add STORAGE_CONNECTOR_AUTHENTICATION to AttributesToDelete.</p>

    Raises:
        capo_appstream.errors.concurrent_modification_exception.ConcurrentModificationException: <p>An API error occurred. Wait a few minutes and try again.</p>
        capo_appstream.errors.incompatible_image_exception.IncompatibleImageException: <p>The image can't be updated because it's not compatible for updates.</p>
        capo_appstream.errors.invalid_account_status_exception.InvalidAccountStatusException: <p>The resource cannot be created because your AWS account is suspended. For assistance, contact AWS Support. </p>
        capo_appstream.errors.invalid_parameter_combination_exception.InvalidParameterCombinationException: <p>Indicates an incorrect combination of parameters, or a missing parameter.</p>
        capo_appstream.errors.invalid_role_exception.InvalidRoleException: <p>The specified role is invalid.</p>
        capo_appstream.errors.limit_exceeded_exception.LimitExceededException: <p>The requested limit exceeds the permitted limit for an account.</p>
        capo_appstream.errors.operation_not_permitted_exception.OperationNotPermittedException: <p>The attempted operation is not permitted.</p>
        capo_appstream.errors.resource_in_use_exception.ResourceInUseException: <p>The specified resource is in use.</p>
        capo_appstream.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource was not found.</p>
        capo_appstream.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_appstream.types.update_stack_request.UpdateStackRequest]",
    ) -> OperationResponse[
        "capo_appstream.types.update_stack_result.UpdateStackResult"
    ]:
        import capo_appstream._operations.photon_admin_proxy_service.update_stack

        output, http_response = (
            capo_appstream._operations.photon_admin_proxy_service.update_stack.update_stack(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateStack")
    )
    input_: capo_appstream.types.update_stack_request.UpdateStackRequest = {}
    if display_name is not None:
        input_["display_name"] = display_name
    if description is not None:
        input_["description"] = description
    if name is not None:
        input_["name"] = name
    if storage_connectors is not None:
        input_["storage_connectors"] = storage_connectors
    if delete_storage_connectors is not None:
        input_["delete_storage_connectors"] = delete_storage_connectors
    if redirect_url is not None:
        input_["redirect_url"] = redirect_url
    if feedback_url is not None:
        input_["feedback_url"] = feedback_url
    if attributes_to_delete is not None:
        input_["attributes_to_delete"] = attributes_to_delete
    if user_settings is not None:
        input_["user_settings"] = user_settings
    if application_settings is not None:
        input_["application_settings"] = application_settings
    if access_endpoints is not None:
        input_["access_endpoints"] = access_endpoints
    if embed_host_domains is not None:
        input_["embed_host_domains"] = embed_host_domains
    if streaming_experience_settings is not None:
        input_["streaming_experience_settings"] = streaming_experience_settings
    if content_redirection is not None:
        input_["content_redirection"] = content_redirection
    if agent_access_config is not None:
        input_["agent_access_config"] = agent_access_config
    if storage_connector_authentication is not None:
        input_["storage_connector_authentication"] = (
            storage_connector_authentication
        )

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output