def describe_hsm(HsmArn=None, HsmSerialNumber=None):
    """
    Retrieves information about an HSM. You can identify the HSM by its ARN or its serial number.
    See also: AWS API Documentation
    
    
    :example: response = client.describe_hsm(
        HsmArn='string',
        HsmSerialNumber='string'
    )
    
    
    :type HsmArn: string
    :param HsmArn: The ARN of the HSM. Either the HsmArn or the SerialNumber parameter must be specified.

    :type HsmSerialNumber: string
    :param HsmSerialNumber: The serial number of the HSM. Either the HsmArn or the HsmSerialNumber parameter must be specified.

    :rtype: dict
    :return: {
        'HsmArn': 'string',
        'Status': 'PENDING'|'RUNNING'|'UPDATING'|'SUSPENDED'|'TERMINATING'|'TERMINATED'|'DEGRADED',
        'StatusDetails': 'string',
        'AvailabilityZone': 'string',
        'EniId': 'string',
        'EniIp': 'string',
        'SubscriptionType': 'PRODUCTION',
        'SubscriptionStartDate': 'string',
        'SubscriptionEndDate': 'string',
        'VpcId': 'string',
        'SubnetId': 'string',
        'IamRoleArn': 'string',
        'SerialNumber': 'string',
        'VendorName': 'string',
        'HsmType': 'string',
        'SoftwareVersion': 'string',
        'SshPublicKey': 'string',
        'SshKeyLastUpdated': 'string',
        'ServerCertUri': 'string',
        'ServerCertLastUpdated': 'string',
        'Partitions': [
            'string',
        ]
    }
    
    
    :returns: 
    PRODUCTION - The HSM is being used in a production environment.
    TRIAL - The HSM is being used in a product trial.
    
    """
    pass
