AppStream / Client / update_image_builder

update_image_builder

AppStream.Client.update_image_builder(**kwargs)

Updates the specified fields for the specified image builder. The image builder must be in the STOPPED state.

See also: AWS API Documentation

Request Syntax

response = client.update_image_builder(
    Name='string',
    Description='string',
    DisplayName='string',
    AgentAccessConfig={
        'Settings': [
            {
                'AgentAction': 'COMPUTER_VISION'|'COMPUTER_INPUT'|'FORWARD_MCP_TOOLS',
                'Permission': 'ENABLED'|'DISABLED'
            },
        ],
        'S3BucketArn': 'string',
        'ScreenshotsUploadEnabled': True|False,
        'ScreenResolution': 'W_1280xH_720',
        'ScreenImageFormat': 'PNG'|'JPEG',
        'UserControlMode': 'VIEW_ONLY'|'VIEW_STOP'|'DISABLED'
    },
    AttributesToDelete=[
        'AGENT_ACCESS_CONFIG',
    ]
)
Parameters:
  • Name (string) –

    [REQUIRED]

    The name of the image builder.

  • Description (string) – The description to display.

  • DisplayName (string) – The image builder name to display.

  • AgentAccessConfig (dict) –

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

    • Settings (list) –

      The list of agent access settings that define permissions for each agent action. These settings are merged with the stored settings by agent action. A setting that you specify replaces the stored setting for the same agent action. The merged settings must have at least one agent action enabled.

      • (dict) –

        A permission setting for an agent action. Each setting specifies an agent action and whether it is enabled or disabled.

        • AgentAction (string) – [REQUIRED]

          The agent action to configure. Valid values are COMPUTER_VISION, COMPUTER_INPUT, and FORWARD_MCP_TOOLS. If you enable COMPUTER_INPUT, you must also enable COMPUTER_VISION.

        • Permission (string) – [REQUIRED]

          Whether the agent action is enabled or disabled.

    • S3BucketArn (string) –

      The Amazon Resource Name (ARN) of the Amazon S3 bucket where agent screenshots are stored. If ScreenshotsUploadEnabled is false after the merge, the stored bucket ARN is removed.

    • ScreenshotsUploadEnabled (boolean) –

      Specifies whether screenshot uploads to Amazon S3 are enabled for agent sessions.

    • ScreenResolution (string) –

      The screen resolution for the agent streaming environment.

      • W_1280xH_720 - 1280 x 720 pixels.

    • ScreenImageFormat (string) –

      The image format for agent screen captures.

      • PNG - PNG format.

      • JPEG - JPEG format.

    • UserControlMode (string) –

      The user control mode for agent sessions. This setting determines how users can interact with agent sessions.

      • VIEW_ONLY - Users can view and observe agent actions as they happen.

      • VIEW_STOP - Users can view agent actions and stop the agent if needed.

      • DISABLED - Users cannot view or stop the agent session.

  • AttributesToDelete (list) –

    The image builder attributes to delete.

    • (string) –

      An image builder attribute that you can delete by using the AttributesToDelete parameter of UpdateImageBuilder.

      • AGENT_ACCESS_CONFIG - Removes the stored agent access configuration from the image builder.

Return type:

dict

Returns:

Response Syntax

{
    'ImageBuilder': {
        'Name': 'string',
        'Arn': 'string',
        'ImageArn': 'string',
        'Description': 'string',
        'DisplayName': 'string',
        'VpcConfig': {
            'SubnetIds': [
                'string',
            ],
            'SecurityGroupIds': [
                'string',
            ]
        },
        'InstanceType': 'string',
        'Platform': 'WINDOWS'|'WINDOWS_SERVER_2016'|'WINDOWS_SERVER_2019'|'WINDOWS_SERVER_2022'|'WINDOWS_SERVER_2025'|'WINDOWS_11'|'AMAZON_LINUX2'|'RHEL8'|'ROCKY_LINUX8'|'UBUNTU_PRO_2404',
        'IamRoleArn': 'string',
        'State': 'PENDING'|'UPDATING_AGENT'|'RUNNING'|'STOPPING'|'STOPPED'|'REBOOTING'|'SNAPSHOTTING'|'DELETING'|'FAILED'|'UPDATING'|'PENDING_QUALIFICATION'|'PENDING_SYNCING_APPS'|'SYNCING_APPS'|'PENDING_IMAGE_IMPORT',
        'StateChangeReason': {
            'Code': 'INTERNAL_ERROR'|'IMAGE_UNAVAILABLE',
            'Message': 'string'
        },
        'CreatedTime': datetime(2015, 1, 1),
        'EnableDefaultInternetAccess': True|False,
        'DomainJoinInfo': {
            'DirectoryName': 'string',
            'OrganizationalUnitDistinguishedName': 'string'
        },
        'NetworkAccessConfiguration': {
            'EniPrivateIpAddress': 'string',
            'EniIpv6Addresses': [
                'string',
            ],
            'EniId': 'string'
        },
        'ImageBuilderErrors': [
            {
                'ErrorCode': 'IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION'|'IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION'|'IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION'|'NETWORK_INTERFACE_LIMIT_EXCEEDED'|'INTERNAL_SERVICE_ERROR'|'IAM_SERVICE_ROLE_IS_MISSING'|'MACHINE_ROLE_IS_MISSING'|'STS_DISABLED_IN_REGION'|'SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES'|'IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION'|'SUBNET_NOT_FOUND'|'IMAGE_NOT_FOUND'|'INVALID_SUBNET_CONFIGURATION'|'SECURITY_GROUPS_NOT_FOUND'|'IGW_NOT_ATTACHED'|'IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION'|'FLEET_STOPPED'|'FLEET_INSTANCE_PROVISIONING_FAILURE'|'DOMAIN_JOIN_ERROR_FILE_NOT_FOUND'|'DOMAIN_JOIN_ERROR_ACCESS_DENIED'|'DOMAIN_JOIN_ERROR_LOGON_FAILURE'|'DOMAIN_JOIN_ERROR_INVALID_PARAMETER'|'DOMAIN_JOIN_ERROR_MORE_DATA'|'DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN'|'DOMAIN_JOIN_ERROR_NOT_SUPPORTED'|'DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME'|'DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED'|'DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED'|'DOMAIN_JOIN_NERR_PASSWORD_EXPIRED'|'DOMAIN_JOIN_INTERNAL_SERVICE_ERROR'|'VALIDATION_ERROR',
                'ErrorMessage': 'string',
                'ErrorTimestamp': datetime(2015, 1, 1)
            },
        ],
        'AppstreamAgentVersion': 'string',
        'AccessEndpoints': [
            {
                'EndpointType': 'STREAMING',
                'VpceId': 'string'
            },
        ],
        'RootVolumeConfig': {
            'VolumeSizeInGb': 123
        },
        'LatestAppstreamAgentVersion': 'TRUE'|'FALSE',
        'DisableIMDSV1': True|False,
        'AgentAccessConfig': {
            'Settings': [
                {
                    'AgentAction': 'COMPUTER_VISION'|'COMPUTER_INPUT'|'FORWARD_MCP_TOOLS',
                    'Permission': 'ENABLED'|'DISABLED'
                },
            ],
            'S3BucketArn': 'string',
            'ScreenshotsUploadEnabled': True|False,
            'ScreenResolution': 'W_1280xH_720',
            'ScreenImageFormat': 'PNG'|'JPEG',
            'UserControlMode': 'VIEW_ONLY'|'VIEW_STOP'|'DISABLED'
        }
    }
}

Response Structure

  • (dict) –

    • ImageBuilder (dict) –

      Information about the image builder.

      • Name (string) –

        The name of the image builder.

      • Arn (string) –

        The ARN for the image builder.

      • ImageArn (string) –

        The ARN of the image from which this builder was created.

      • Description (string) –

        The description to display.

      • DisplayName (string) –

        The image builder name to display.

      • VpcConfig (dict) –

        The VPC configuration of the image builder.

        • SubnetIds (list) –

          The identifiers of the subnets to which a network interface is attached from the fleet instance or image builder instance. Fleet instances use one or more subnets. Image builder instances use one subnet.

          • (string) –

        • SecurityGroupIds (list) –

          The identifiers of the security groups for the fleet or image builder.

          • (string) –

      • InstanceType (string) –

        The instance type for the image builder. The following instance types are available:

        • stream.standard.small

        • stream.standard.medium

        • stream.standard.large

        • stream.compute.large

        • stream.compute.xlarge

        • stream.compute.2xlarge

        • stream.compute.4xlarge

        • stream.compute.8xlarge

        • stream.memory.large

        • stream.memory.xlarge

        • stream.memory.2xlarge

        • stream.memory.4xlarge

        • stream.memory.8xlarge

        • stream.memory.z1d.large

        • stream.memory.z1d.xlarge

        • stream.memory.z1d.2xlarge

        • stream.memory.z1d.3xlarge

        • stream.memory.z1d.6xlarge

        • stream.memory.z1d.12xlarge

        • stream.graphics.g4dn.xlarge

        • stream.graphics.g4dn.2xlarge

        • stream.graphics.g4dn.4xlarge

        • stream.graphics.g4dn.8xlarge

        • stream.graphics.g4dn.12xlarge

        • stream.graphics.g4dn.16xlarge

        • stream.graphics.g5.xlarge

        • stream.graphics.g5.2xlarge

        • stream.graphics.g5.4xlarge

        • stream.graphics.g5.8xlarge

        • stream.graphics.g5.16xlarge

        • stream.graphics.g5.12xlarge

        • stream.graphics.g5.24xlarge

        • stream.graphics.g6.xlarge

        • stream.graphics.g6.2xlarge

        • stream.graphics.g6.4xlarge

        • stream.graphics.g6.8xlarge

        • stream.graphics.g6.16xlarge

        • stream.graphics.g6.12xlarge

        • stream.graphics.g6.24xlarge

        • stream.graphics.gr6.4xlarge

        • stream.graphics.gr6.8xlarge

        • stream.graphics.g6f.large

        • stream.graphics.g6f.xlarge

        • stream.graphics.g6f.2xlarge

        • stream.graphics.g6f.4xlarge

        • stream.graphics.gr6f.4xlarge

      • Platform (string) –

        The operating system platform of the image builder.

      • IamRoleArn (string) –

        The ARN of the IAM role that is applied to the image builder. To assume a role, the image builder calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. WorkSpaces Applications retrieves the temporary credentials and creates the appstream_machine_role credential profile on the instance.

        For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on WorkSpaces Applications Streaming Instances in the Amazon WorkSpaces Applications Administration Guide.

      • State (string) –

        The state of the image builder.

      • StateChangeReason (dict) –

        The reason why the last state change occurred.

        • Code (string) –

          The state change reason code.

        • Message (string) –

          The state change reason message.

      • CreatedTime (datetime) –

        The time stamp when the image builder was created.

      • EnableDefaultInternetAccess (boolean) –

        Enables or disables default internet access for the image builder.

      • DomainJoinInfo (dict) –

        The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain.

        • DirectoryName (string) –

          The fully qualified name of the directory (for example, corp.example.com).

        • OrganizationalUnitDistinguishedName (string) –

          The distinguished name of the organizational unit for computer accounts.

      • NetworkAccessConfiguration (dict) –

        Describes the network details of the fleet or image builder instance.

        • EniPrivateIpAddress (string) –

          The private IP address of the elastic network interface that is attached to instances in your VPC.

        • EniIpv6Addresses (list) –

          The IPv6 addresses assigned to the elastic network interface. This field supports IPv6 connectivity for WorkSpaces Applications instances.

          • (string) –

        • EniId (string) –

          The resource identifier of the elastic network interface that is attached to instances in your VPC. All network interfaces have the eni-xxxxxxxx resource identifier.

      • ImageBuilderErrors (list) –

        The image builder errors.

        • (dict) –

          Describes a resource error.

          • ErrorCode (string) –

            The error code.

          • ErrorMessage (string) –

            The error message.

          • ErrorTimestamp (datetime) –

            The time the error occurred.

      • AppstreamAgentVersion (string) –

        The version of the WorkSpaces Applications agent that is currently being used by the image builder.

      • AccessEndpoints (list) –

        The list of virtual private cloud (VPC) interface endpoint objects. Administrators can connect to the image builder only through the specified endpoints.

        • (dict) –

          Describes an interface VPC endpoint (interface endpoint) that lets you create a private connection between the virtual private cloud (VPC) that you specify and WorkSpaces Applications. When you specify an interface endpoint for a stack, users of the stack can connect to WorkSpaces Applications only through that endpoint. When you specify an interface endpoint for an image builder, administrators can connect to the image builder only through that endpoint.

          • EndpointType (string) –

            The type of interface endpoint.

          • VpceId (string) –

            The identifier (ID) of the VPC in which the interface endpoint is used.

      • RootVolumeConfig (dict) –

        The current configuration of the root volume for the image builder, including the storage size in GB.

        • VolumeSizeInGb (integer) –

          The size of the root volume in GB. Valid range is 200-500 GB. The default is 200 GB, which is included in the hourly instance rate. Additional storage beyond 200 GB incurs extra charges and applies to instances regardless of their running state.

      • LatestAppstreamAgentVersion (string) –

        Indicates whether the image builder is using the latest WorkSpaces Applications agent version or not.

      • DisableIMDSV1 (boolean) –

        Indicates whether Instance Metadata Service Version 1 (IMDSv1) is disabled for the image builder.

      • AgentAccessConfig (dict) –

        The agent access configuration of the image builder, if agent access is enabled.

        • Settings (list) –

          The list of agent access settings that define permissions for each agent action. You must specify at least one setting, and at least one agent action must be enabled.

          • (dict) –

            A permission setting for an agent action. Each setting specifies an agent action and whether it is enabled or disabled.

            • AgentAction (string) –

              The agent action to configure. Valid values are COMPUTER_VISION, COMPUTER_INPUT, and FORWARD_MCP_TOOLS. If you enable COMPUTER_INPUT, you must also enable COMPUTER_VISION.

            • Permission (string) –

              Whether the agent action is enabled or disabled.

        • S3BucketArn (string) –

          The Amazon Resource Name (ARN) of the Amazon S3 bucket where agent screenshots are stored. Required when ScreenshotsUploadEnabled is true.

        • ScreenshotsUploadEnabled (boolean) –

          Specifies whether screenshot uploads to Amazon S3 are enabled for agent sessions.

        • ScreenResolution (string) –

          The screen resolution for the agent streaming environment.

          • W_1280xH_720 - 1280 x 720 pixels.

        • ScreenImageFormat (string) –

          The image format for agent screen captures.

          • PNG - PNG format.

          • JPEG - JPEG format.

        • UserControlMode (string) –

          The user control mode for agent sessions. This setting determines how users can interact with agent sessions.

          • VIEW_ONLY - Users can view and observe agent actions as they happen.

          • VIEW_STOP - Users can view agent actions and stop the agent if needed.

          • DISABLED - Users cannot view or stop the agent session.

Exceptions

  • AppStream.Client.exceptions.ConcurrentModificationException

  • AppStream.Client.exceptions.IncompatibleImageException

  • AppStream.Client.exceptions.InvalidAccountStatusException

  • AppStream.Client.exceptions.InvalidParameterCombinationException

  • AppStream.Client.exceptions.OperationNotPermittedException

  • AppStream.Client.exceptions.RequestLimitExceededException

  • AppStream.Client.exceptions.ResourceNotFoundException