
from . import AWSObject
from .validators import boolean


class Workspace(AWSObject):
    resource_type = "AWS::WorkSpaces::Workspace"

    props = {
        'BundleId': (basestring, True),
        'DirectoryId': (basestring, True),
        'UserName': (basestring, True),
        'RootVolumeEncryptionEnabled': (boolean, False),
        'UserVolumeEncryptionEnabled': (boolean, False),
        'VolumeEncryptionKey': (basestring, False),
    }


from . import AWSObject, AWSProperty, Tags
from .validators import boolean, integer


class WorkspaceProperties(AWSProperty):
    props = {
        'ComputeTypeName': (basestring, False),
        'RootVolumeSizeGib': (integer, False),
        'RunningMode': (basestring, False),
        'RunningModeAutoStopTimeoutInMinutes': (integer, False),
        'UserVolumeSizeGib': (integer, False),
    }


class Workspace(AWSObject):
    resource_type = "AWS::WorkSpaces::Workspace"

    props = {
        'BundleId': (basestring, True),
        'DirectoryId': (basestring, True),
        'UserName': (basestring, True),
        'RootVolumeEncryptionEnabled': (boolean, False),
        'Tags': (Tags, False),
        'UserVolumeEncryptionEnabled': (boolean, False),
        'VolumeEncryptionKey': (basestring, False),
        'WorkspaceProperties': (WorkspaceProperties, False),
    }

Add Tags and WorkspaceProperties to WorkSpaces::Workspace
Add Tags and WorkspaceProperties to WorkSpaces::Workspace

  
- from . import AWSObject
+ from . import AWSObject, AWSProperty, Tags
- from .validators import boolean
+ from .validators import boolean, integer
+ 
+ 
+ class WorkspaceProperties(AWSProperty):
+     props = {
+         'ComputeTypeName': (basestring, False),
+         'RootVolumeSizeGib': (integer, False),
+         'RunningMode': (basestring, False),
+         'RunningModeAutoStopTimeoutInMinutes': (integer, False),
+         'UserVolumeSizeGib': (integer, False),
+     }
  
  
  class Workspace(AWSObject):
      resource_type = "AWS::WorkSpaces::Workspace"
  
      props = {
          'BundleId': (basestring, True),
          'DirectoryId': (basestring, True),
          'UserName': (basestring, True),
          'RootVolumeEncryptionEnabled': (boolean, False),
+         'Tags': (Tags, False),
          'UserVolumeEncryptionEnabled': (boolean, False),
          'VolumeEncryptionKey': (basestring, False),
+         'WorkspaceProperties': (WorkspaceProperties, False),
      }
  
Add Tags and WorkspaceProperties to WorkSpaces::Workspace
## Code Before:

from . import AWSObject
from .validators import boolean


class Workspace(AWSObject):
    resource_type = "AWS::WorkSpaces::Workspace"

    props = {
        'BundleId': (basestring, True),
        'DirectoryId': (basestring, True),
        'UserName': (basestring, True),
        'RootVolumeEncryptionEnabled': (boolean, False),
        'UserVolumeEncryptionEnabled': (boolean, False),
        'VolumeEncryptionKey': (basestring, False),
    }

## Instruction:
Add Tags and WorkspaceProperties to WorkSpaces::Workspace
## Code After:

from . import AWSObject, AWSProperty, Tags
from .validators import boolean, integer


class WorkspaceProperties(AWSProperty):
    props = {
        'ComputeTypeName': (basestring, False),
        'RootVolumeSizeGib': (integer, False),
        'RunningMode': (basestring, False),
        'RunningModeAutoStopTimeoutInMinutes': (integer, False),
        'UserVolumeSizeGib': (integer, False),
    }


class Workspace(AWSObject):
    resource_type = "AWS::WorkSpaces::Workspace"

    props = {
        'BundleId': (basestring, True),
        'DirectoryId': (basestring, True),
        'UserName': (basestring, True),
        'RootVolumeEncryptionEnabled': (boolean, False),
        'Tags': (Tags, False),
        'UserVolumeEncryptionEnabled': (boolean, False),
        'VolumeEncryptionKey': (basestring, False),
        'WorkspaceProperties': (WorkspaceProperties, False),
    }
