'Requests a description of a specified set of deployments.
You must specify at least one of the parameters.
**Required Permissions**: To use this action, an IAM user must
have a Show, Deploy, or Manage permissions level for the
stack, or an attached policy that explicitly grants
permissions. For more information on user permissions, see
`Managing User Permissions`_.
:type stack_id: string
:param stack_id: The stack ID. If you include this parameter,
`DescribeDeployments` returns a description of the commands
associated with the specified stack.
:type app_id: string
:param app_id: The app ID. If you include this parameter,
`DescribeDeployments` returns a description of the commands
associated with the specified app.
:type deployment_ids: list
:param deployment_ids: An array of deployment IDs to be described. If
you include this parameter, `DescribeDeployments` returns a
description of the specified deployments. Otherwise, it returns a
description of every deployment.'

def describe_deployments(self, stack_id=None, app_id=None, deployment_ids=None):

    params = {}
    if (stack_id is not None):
        params['StackId'] = stack_id
    if (app_id is not None):
        params['AppId'] = app_id
    if (deployment_ids is not None):
        params['DeploymentIds'] = deployment_ids
    return self.make_request(action='DescribeDeployments', body=json.dumps(params))
