Bug description
VDI launch fails with Error creating sessions: 'str' object has no attribute 'get' error message when project used for launching the VDI has tags configured.
Affected versions
Mitigation
Tip: We recommend running the following commands in AWS CloudShell in the same account and region where RES is deployed. CloudShell comes with pre-installed dependencies and helps eliminates other local environment conditions that may affect the patching process.
- Set up a Python 3.12 virtual environment and install all dependencies:
sudo yum install -y python3.12
python3.12 -m venv /tmp/patch-env
source /tmp/patch-env/bin/activate
pip install boto3
- Create an S3 bucket with ACLs disabled. If you already have an S3 bucket with ACLs disabled, you can skip this step. Otherwise, create one using either the console or the CLI:
- Option A (AWS Console):
- Follow the Creating a bucket guide in the Amazon S3 User Guide. When configuring the bucket:
- Enter a bucket name and select the region where RES is deployed
- Under Object Ownership, keep the default setting ACLs disabled (Bucket owner enforced)
- Configure the remaining settings as needed (block public access, versioning, etc.)
- Click Create bucket
- Option B (CLI):
- Replace
<BUCKET-NAME> and <res-environment-aws-region> with your values and run the command:
aws s3api create-bucket \
--bucket <BUCKET-NAME> \
--region <res-environment-aws-region> \
--create-bucket-configuration LocationConstraint=<res-environment-aws-region> \
--object-ownership BucketOwnerEnforced
Note: If your region is us-east-1, omit the —create-bucket-configuration parameter.
- Download
res_lambda_tool_2026.06.py and res_lambda_layer_tool_2026.06.py and updated function code and lambda layer zip for version 2026.06 by replacing <output-directory> with the directory to download the patch script, <environment-name> with the name of your RES environment, <bucket-name> with the name of a ACLs disabled S3 bucket under the account/region where RES is deployed, and <partition> with Classic or GovCloud:
- The patch applies to 2026.06
- Configure the AWS CLI for the account / region where RES is deployed and make sure that you have Lambda permissions to update function code and make sure that you have S3 permissions to read and write to the bucket provided through
<bucket-name>.
OUTPUT_DIRECTORY=<output-directory>
ENVIRONMENT_NAME=<environment-name>
PARTITION=<partition>
BUCKET_NAME=<bucket-name>
mkdir -p ${OUTPUT_DIRECTORY}
curl https://research-engineering-studio-us-east-1.s3.us-east-1.amazonaws.com/releases/2026.06/patch_scripts/res_lambda_tool_2026.06.py --output ${OUTPUT_DIRECTORY}/res_lambda_tool_2026.06.py
curl https://research-engineering-studio-us-east-1.s3.us-east-1.amazonaws.com/releases/2026.06/patch_scripts/res_lambda_layer_tool_2026.06.py --output ${OUTPUT_DIRECTORY}/res_lambda_layer_tool_2026.06.py
curl https://research-engineering-studio-us-east-1.s3.us-east-1.amazonaws.com/releases/2026.06/patch_scripts/patches/backend-lambda-39a4ee0c.zip --output ${OUTPUT_DIRECTORY}/backend-lambda-39a4ee0c.zip
curl https://research-engineering-studio-us-east-1.s3.us-east-1.amazonaws.com/releases/2026.06/patch_scripts/patches/lambda-layer-39a4ee0c.zip --output ${OUTPUT_DIRECTORY}/lambda-layer-39a4ee0c.zip
- Update the lambda function code and lambda layer by running the following patch command by replacing
<environment-name> with the RES environment name, and <cloudformation-root-stack-name> with the root RES environment CloudFormation stack name:
ENVIRONMENT_NAME=<environment-name>
STACK_NAME=<cloudformation-root-stack-name>
LIBRARY_LAYER_NAME=$(aws lambda get-function --function-name ${ENVIRONMENT_NAME}-backend-lambda --query "Configuration.Layers[0].Arn" --output text | cut -d: -f7)
python3 ${OUTPUT_DIRECTORY}/res_lambda_tool_2026.06.py --zip-file ${OUTPUT_DIRECTORY}/backend-lambda-39a4ee0c.zip --lambda-name ${ENVIRONMENT_NAME}-backend-lambda --s3-bucket ${BUCKET_NAME}
python3 ${OUTPUT_DIRECTORY}/res_lambda_layer_tool_2026.06.py --zip-file ${OUTPUT_DIRECTORY}/lambda-layer-39a4ee0c.zip --environment-name ${ENVIRONMENT_NAME} --stack-name ${STACK_NAME} --lambda-layer ${LIBRARY_LAYER_NAME} --partition ${PARTITION} --s3-bucket ${BUCKET_NAME}
Once the patches have been applied the Last modified attribute of the Lambda function should be recent, and VDI launch will be successful when project has tags configured.
Rollback
The patch scripts saved the original lambda function code and lambda layer within the S3 bucket you provided. To rollback, re-run the exact commands from the patching step with an extra --rollback flag.
- If you are running this in a new terminal session, make sure to set up the variables again:
OUTPUT_DIRECTORY=<output-directory>
ENVIRONMENT_NAME=<environment-name>
PARTITION=<partition>
BUCKET_NAME=<bucket-name>
STACK_NAME=<cloudformation-root-stack-name>
LIBRARY_LAYER_NAME=$(aws lambda get-function --function-name ${ENVIRONMENT_NAME}-backend-lambda --query "Configuration.Layers[0].Arn" --output text | cut -d: -f7)
python3 ${OUTPUT_DIRECTORY}/res_lambda_tool_2026.06.py --zip-file ${OUTPUT_DIRECTORY}/backend-lambda-39a4ee0c.zip --lambda-name ${ENVIRONMENT_NAME}-backend-lambda --s3-bucket ${BUCKET_NAME} --rollback
python3 ${OUTPUT_DIRECTORY}/res_lambda_layer_tool_2026.06.py --zip-file ${OUTPUT_DIRECTORY}/lambda-layer-39a4ee0c.zip --environment-name ${ENVIRONMENT_NAME} --stack-name ${STACK_NAME} --lambda-layer ${LIBRARY_LAYER_NAME} --partition ${PARTITION} --s3-bucket ${BUCKET_NAME} --rollback
Bug description
VDI launch fails with Error
creating sessions: 'str' object has no attribute 'get'error message when project used for launching the VDI has tags configured.Affected versions
Mitigation
<BUCKET-NAME>and<res-environment-aws-region>with your values and run the command:Note: If your region is us-east-1, omit the —create-bucket-configuration parameter.
res_lambda_tool_2026.06.pyandres_lambda_layer_tool_2026.06.pyand updated function code and lambda layer zip for version2026.06by replacing<output-directory>with the directory to download the patch script,<environment-name>with the name of your RES environment,<bucket-name>with the name of a ACLs disabled S3 bucket under the account/region where RES is deployed, and<partition>with Classic or GovCloud:<bucket-name>.<environment-name>with the RES environment name, and<cloudformation-root-stack-name>with the root RES environment CloudFormation stack name:Once the patches have been applied the Last modified attribute of the Lambda function should be recent, and VDI launch will be successful when project has tags configured.
Rollback
The patch scripts saved the original lambda function code and lambda layer within the S3 bucket you provided. To rollback, re-run the exact commands from the patching step with an extra
--rollbackflag.