def create_build(Name=None, Version=None, StorageLocation=None,
    OperatingSystem=None):
    """
    Creates a new Amazon GameLift build from a set of game server binary files stored in an Amazon Simple Storage Service (Amazon S3) location. When using this API call, you must create a .zip file containing all of the build files and store it in an Amazon S3 bucket under your AWS account. For help on packaging your build files and creating a build, see Uploading Your Game to Amazon GameLift .
    To create a new build using CreateBuild , identify the storage location and operating system of your game build. You also have the option of specifying a build name and version. If successful, this action creates a new build record with an unique build ID and in INITIALIZED status. Use the API call  DescribeBuild to check the status of your build. A build must be in READY status before it can be used to create fleets to host your game.
    See also: AWS API Documentation
    
    
    :example: response = client.create_build(
        Name='string',
        Version='string',
        StorageLocation={
            'Bucket': 'string',
            'Key': 'string',
            'RoleArn': 'string'
        },
        OperatingSystem='WINDOWS_2012'|'AMAZON_LINUX'
    )
    
    
    :type Name: string
    :param Name: Descriptive label that is associated with a build. Build names do not need to be unique. You can use UpdateBuild to change this value later.

    :type Version: string
    :param Version: Version that is associated with this build. Version strings do not need to be unique. You can use UpdateBuild to change this value later.

    :type StorageLocation: dict
    :param StorageLocation: Amazon S3 location of the game build files to be uploaded. The S3 bucket must be owned by the same AWS account that you're using to manage Amazon GameLift. It also must in the same region that you want to create a new build in. Before calling CreateBuild with this location, you must allow Amazon GameLift to access your Amazon S3 bucket (see Create a Build with Files in Amazon S3 ).
            Bucket (string) --Amazon S3 bucket identifier. This is the name of your S3 bucket.
            Key (string) --Name of the zip file containing your build files.
            RoleArn (string) --Amazon Resource Name (ARN ) for the access role that allows Amazon GameLift to access your S3 bucket.
            

    :type OperatingSystem: string
    :param OperatingSystem: Operating system that the game server binaries are built to run on. This value determines the type of fleet resources that you can use for this build. If your game build contains multiple executables, they all must run on the same operating system.

    :rtype: dict
    :return: {
        'Build': {
            'BuildId': 'string',
            'Name': 'string',
            'Version': 'string',
            'Status': 'INITIALIZED'|'READY'|'FAILED',
            'SizeOnDisk': 123,
            'OperatingSystem': 'WINDOWS_2012'|'AMAZON_LINUX',
            'CreationTime': datetime(2015, 1, 1)
        },
        'UploadCredentials': {
            'AccessKeyId': 'string',
            'SecretAccessKey': 'string',
            'SessionToken': 'string'
        },
        'StorageLocation': {
            'Bucket': 'string',
            'Key': 'string',
            'RoleArn': 'string'
        }
    }
    
    
    :returns: 
    INITIALIZED  A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this status. When a build is successfully created, the build status is set to this value.
    READY  The game build has been successfully uploaded. You can now create new fleets for this build.
    FAILED  The game build upload failed. You cannot create new fleets for this build.
    
    """
    pass
