def create_instances_from_snapshot(instanceNames=None, availabilityZone=
    None, instanceSnapshotName=None, bundleId=None, userData=None,
    keyPairName=None):
    """
    Uses a specific snapshot as a blueprint for creating one or more new instances that are based on that identical configuration.
    See also: AWS API Documentation
    
    
    :example: response = client.create_instances_from_snapshot(
        instanceNames=[
            'string',
        ],
        availabilityZone='string',
        instanceSnapshotName='string',
        bundleId='string',
        userData='string',
        keyPairName='string'
    )
    
    
    :type instanceNames: list
    :param instanceNames: [REQUIRED]
            The names for your new instances.
            (string) --
            

    :type availabilityZone: string
    :param availabilityZone: [REQUIRED]
            The Availability Zone where you want to create your instances. Use the following formatting: us-east-1a (case sensitive). You can get a list of availability zones by using the get regions operation. Be sure to add the include availability zones parameter to your request.
            

    :type instanceSnapshotName: string
    :param instanceSnapshotName: [REQUIRED]
            The name of the instance snapshot on which you are basing your new instances. Use the get instance snapshots operation to return information about your existing snapshots.
            

    :type bundleId: string
    :param bundleId: [REQUIRED]
            The bundle of specification information for your virtual private server (or instance ), including the pricing plan (e.g., micro_1_0 ).
            

    :type userData: string
    :param userData: You can create a launch script that configures a server with additional user data. For example, apt-get  y update .
            Note
            Depending on the machine image you choose, the command to get software on your instance varies. Amazon Linux and CentOS use yum , Debian and Ubuntu use apt-get , and FreeBSD uses pkg . For a complete list, see the Dev Guide .
            

    :type keyPairName: string
    :param keyPairName: The name for your key pair.

    :rtype: dict
    :return: {
        'operations': [
            {
                'id': 'string',
                'resourceName': 'string',
                'resourceType': 'Instance'|'StaticIp'|'KeyPair'|'InstanceSnapshot'|'Domain'|'PeeredVpc',
                'createdAt': datetime(2015, 1, 1),
                'location': {
                    'availabilityZone': 'string',
                    'regionName': 'us-east-1'|'us-west-1'|'us-west-2'|'eu-west-1'|'eu-central-1'|'ap-south-1'|'ap-southeast-1'|'ap-southeast-2'|'ap-northeast-1'|'ap-northeast-2'
                },
                'isTerminal': True|False,
                'operationDetails': 'string',
                'operationType': 'DeleteInstance'|'CreateInstance'|'StopInstance'|'StartInstance'|'RebootInstance'|'OpenInstancePublicPorts'|'PutInstancePublicPorts'|'CloseInstancePublicPorts'|'AllocateStaticIp'|'ReleaseStaticIp'|'AttachStaticIp'|'DetachStaticIp'|'UpdateDomainEntry'|'DeleteDomainEntry'|'CreateDomain'|'DeleteDomain'|'CreateInstanceSnapshot'|'DeleteInstanceSnapshot'|'CreateInstancesFromSnapshot',
                'status': 'NotStarted'|'Started'|'Failed'|'Completed',
                'statusChangedAt': datetime(2015, 1, 1),
                'errorCode': 'string',
                'errorDetails': 'string'
            },
        ]
    }
    
    
    """
    pass
