def describe_compute_environments(computeEnvironments=None, maxResults=None,
    nextToken=None):
    """
    Describes one or more of your compute environments.
    If you are using an unmanaged compute environment, you can use the DescribeComputeEnvironment operation to determine the ecsClusterArn that you should launch your Amazon ECS container instances into.
    See also: AWS API Documentation
    
    Examples
    This example describes the P2OnDemand compute environment.
    Expected Output:
    
    :example: response = client.describe_compute_environments(
        computeEnvironments=[
            'string',
        ],
        maxResults=123,
        nextToken='string'
    )
    
    
    :type computeEnvironments: list
    :param computeEnvironments: A list of up to 100 compute environment names or full Amazon Resource Name (ARN) entries.
            (string) --
            

    :type maxResults: integer
    :param maxResults: The maximum number of cluster results returned by DescribeComputeEnvironments in paginated output. When this parameter is used, DescribeComputeEnvironments only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeComputeEnvironments request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then DescribeComputeEnvironments returns up to 100 results and a nextToken value if applicable.

    :type nextToken: string
    :param nextToken: The nextToken value returned from a previous paginated DescribeComputeEnvironments request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return.
            Note
            This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.
            

    :rtype: dict
    :return: {
        'computeEnvironments': [
            {
                'computeEnvironmentName': 'string',
                'computeEnvironmentArn': 'string',
                'ecsClusterArn': 'string',
                'type': 'MANAGED'|'UNMANAGED',
                'state': 'ENABLED'|'DISABLED',
                'status': 'CREATING'|'UPDATING'|'DELETING'|'DELETED'|'VALID'|'INVALID',
                'statusReason': 'string',
                'computeResources': {
                    'type': 'EC2'|'SPOT',
                    'minvCpus': 123,
                    'maxvCpus': 123,
                    'desiredvCpus': 123,
                    'instanceTypes': [
                        'string',
                    ],
                    'imageId': 'string',
                    'subnets': [
                        'string',
                    ],
                    'securityGroupIds': [
                        'string',
                    ],
                    'ec2KeyPair': 'string',
                    'instanceRole': 'string',
                    'tags': {
                        'string': 'string'
                    },
                    'bidPercentage': 123,
                    'spotIamFleetRole': 'string'
                },
                'serviceRole': 'string'
            },
        ],
        'nextToken': 'string'
    }
    
    
    :returns: 
    (string) --
    
    """
    pass
