I'm trying to automate the creation of AWS workspace but i'm running into this error as output. Any idea on what could be causing the error?
$jsonObject = '{
"UserNames": ["user1", "user2", "user3"],
"DirectoryId": "xxxxxxxxxxx",
"BundleId": "xxxxxxxx",
"VolumeEncryptionKey": "xxxxxxxxxxxx",
"UserVolumeEncryptionEnabled": true,
"RootVolumeEncryptionEnabled": true,
"WorkspaceProperties": {
"RunningMode": "ALWAYS_ON",
"RootVolumeSizeGib": 175,
"UserVolumeSizeGib": 100,
"ComputeTypeName": "PERFORMANCE"
},
"Tags": [
{
"Key": "xxxxxxx",
"Value": "xxxxxxxxxxx"
}
]
}'
$workspaceData = $jsonObject | ConvertFrom-Json
$failedRequests = @()
foreach ($username in $workspaceData.UserNames) {
$workspaceProperties = @{
"RunningMode" = $workspaceData.WorkspaceProperties.RunningMode
"RootVolumeSizeGib" = $workspaceData.WorkspaceProperties.RootVolumeSizeGib
"UserVolumeSizeGib" = $workspaceData.WorkspaceProperties.UserVolumeSizeGib
"ComputeTypeName" = $workspaceData.WorkspaceProperties.ComputeTypeName
}
$tags = $workspaceData.Tags | ForEach-Object {
$tag = New-Object -TypeName "Amazon.WorkSpaces.Model.Tag"
$tag.Key = $_.Key
$tag.Value = $_.Value
$tag
}
$workspace = New-Object -TypeName "Amazon.WorkSpaces.Model.WorkspaceRequest"
$workspace.DirectoryId = $workspaceData.DirectoryId
$workspace.UserName = $username
$workspace.BundleId = $workspaceData.BundleId
$workspace.VolumeEncryptionKey = $workspaceData.VolumeEncryptionKey
$workspace.UserVolumeEncryptionEnabled = $workspaceData.UserVolumeEncryptionEnabled
$workspace.RootVolumeEncryptionEnabled = $workspaceData.RootVolumeEncryptionEnabled
$workspace.WorkspaceProperties = $workspaceProperties
$workspace.Tags = $tags
try {
New-WKSWorkspace -Workspace $workspace
} catch {
$failedRequests += $_.Exception.Response.FailedRequests
}
}
$failedRequests # Display the failed requests, if any
Running the script with the actual users even without the array generates the same error and there is no error code to reference FailedRequests PendingRequests
{Amazon.WorkSpaces.Model.FailedCreateWorkspaceRequest} {}