def disassociate_address(DryRun=None, PublicIp=None, AssociationId=None):
    """
    Disassociates an Elastic IP address from the instance or network interface it's associated with.
    An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide .
    This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.
    See also: AWS API Documentation
    
    Examples
    This example disassociates an Elastic IP address from an instance in a VPC.
    Expected Output:
    This example disassociates an Elastic IP address from an instance in EC2-Classic.
    Expected Output:
    
    :example: response = client.disassociate_address(
        DryRun=True|False,
        PublicIp='string',
        AssociationId='string'
    )
    
    
    :type DryRun: boolean
    :param DryRun: Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation . Otherwise, it is UnauthorizedOperation .

    :type PublicIp: string
    :param PublicIp: [EC2-Classic] The Elastic IP address. Required for EC2-Classic.

    :type AssociationId: string
    :param AssociationId: [EC2-VPC] The association ID. Required for EC2-VPC.

    :return: response = client.disassociate_address(
        AssociationId='eipassoc-2bebb745',
    )
    
    print(response)
    
    
    """
    pass
