def describe_volumes(InstanceId=None, StackId=None, RaidArrayId=None,
    VolumeIds=None):
    """
    Describes an instance's Amazon EBS volumes.
    See also: AWS API Documentation
    
    
    :example: response = client.describe_volumes(
        InstanceId='string',
        StackId='string',
        RaidArrayId='string',
        VolumeIds=[
            'string',
        ]
    )
    
    
    :type InstanceId: string
    :param InstanceId: The instance ID. If you use this parameter, DescribeVolumes returns descriptions of the volumes associated with the specified instance.

    :type StackId: string
    :param StackId: A stack ID. The action describes the stack's registered Amazon EBS volumes.

    :type RaidArrayId: string
    :param RaidArrayId: The RAID array ID. If you use this parameter, DescribeVolumes returns descriptions of the volumes associated with the specified RAID array.

    :type VolumeIds: list
    :param VolumeIds: Am array of volume IDs. If you use this parameter, DescribeVolumes returns descriptions of the specified volumes. Otherwise, it returns a description of every volume.
            (string) --
            

    :rtype: dict
    :return: {
        'Volumes': [
            {
                'VolumeId': 'string',
                'Ec2VolumeId': 'string',
                'Name': 'string',
                'RaidArrayId': 'string',
                'InstanceId': 'string',
                'Status': 'string',
                'Size': 123,
                'Device': 'string',
                'MountPoint': 'string',
                'Region': 'string',
                'AvailabilityZone': 'string',
                'VolumeType': 'string',
                'Iops': 123
            },
        ]
    }
    
    
    """
    pass
