def update_server_engine_attributes(ServerName=None, AttributeName=None,
    AttributeValue=None):
    """
    Updates engine-specific attributes on a specified server. The server enters the MODIFYING state when this operation is in progress. Only one update can occur at a time. You can use this command to reset the Chef server's private key (CHEF_PIVOTAL_KEY ).
    This operation is asynchronous.
    This operation can only be called for servers in HEALTHY or UNHEALTHY states. Otherwise, an InvalidStateException is raised. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid.
    See also: AWS API Documentation
    
    
    :example: response = client.update_server_engine_attributes(
        ServerName='string',
        AttributeName='string',
        AttributeValue='string'
    )
    
    
    :type ServerName: string
    :param ServerName: [REQUIRED]
            The name of the server to update.
            

    :type AttributeName: string
    :param AttributeName: [REQUIRED]
            The name of the engine attribute to update.
            

    :type AttributeValue: string
    :param AttributeValue: The value to set for the attribute.

    :rtype: dict
    :return: {
        'Server': {
            'AssociatePublicIpAddress': True|False,
            'BackupRetentionCount': 123,
            'ServerName': 'string',
            'CreatedAt': datetime(2015, 1, 1),
            'CloudFormationStackArn': 'string',
            'DisableAutomatedBackup': True|False,
            'Endpoint': 'string',
            'Engine': 'string',
            'EngineModel': 'string',
            'EngineAttributes': [
                {
                    'Name': 'string',
                    'Value': 'string'
                },
            ],
            'EngineVersion': 'string',
            'InstanceProfileArn': 'string',
            'InstanceType': 'string',
            'KeyPair': 'string',
            'MaintenanceStatus': 'SUCCESS'|'FAILED',
            'PreferredMaintenanceWindow': 'string',
            'PreferredBackupWindow': 'string',
            'SecurityGroupIds': [
                'string',
            ],
            'ServiceRoleArn': 'string',
            'Status': 'BACKING_UP'|'CONNECTION_LOST'|'CREATING'|'DELETING'|'MODIFYING'|'FAILED'|'HEALTHY'|'RUNNING'|'RESTORING'|'SETUP'|'UNDER_MAINTENANCE'|'UNHEALTHY'|'TERMINATED',
            'StatusReason': 'string',
            'SubnetIds': [
                'string',
            ],
            'ServerArn': 'string'
        }
    }
    
    
    :returns: 
    CHEF_PIVOTAL_KEY : A base64-encoded RSA private key that is generated by AWS OpsWorks for Chef Automate. This private key is required to access the Chef API.
    CHEF_STARTER_KIT : A base64-encoded ZIP file. The ZIP file contains a Chef starter kit, which includes a README, a configuration file, and the required RSA private key. Save this file, unzip it, and then change to the directory where you've unzipped the file contents. From this directory, you can run Knife commands.
    
    """
    pass
