mirror of
				https://github.com/OpenKMIP/PyKMIP.git
				synced 2025-11-04 05:25:17 +01:00 
			
		
		
		
	This implementation supports version 1.1 of the KMIP spec. The library supports the following operations for SymmetricKey objects: create register get destroy
		
			
				
	
	
		
			74 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# Copyright (c) 2014 The Johns Hopkins University/Applied Physics Laboratory
 | 
						|
# All Rights Reserved.
 | 
						|
#
 | 
						|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
 | 
						|
# not use this file except in compliance with the License. You may obtain
 | 
						|
# a copy of the License at
 | 
						|
#
 | 
						|
#    http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
#
 | 
						|
# Unless required by applicable law or agreed to in writing, software
 | 
						|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 | 
						|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 | 
						|
# License for the specific language governing permissions and limitations
 | 
						|
# under the License.
 | 
						|
 | 
						|
 | 
						|
class ManagedObjectRepo(object):
 | 
						|
    """Stores and manages KMIP managed objects.
 | 
						|
 | 
						|
    The KMIP specification details the managed objects that are stored by a
 | 
						|
    KMIP server. This repository abstraction is an interface for KMIP servers
 | 
						|
    to store managed objects.
 | 
						|
    """
 | 
						|
 | 
						|
    def __init__(self):
 | 
						|
        pass
 | 
						|
 | 
						|
    def save(self, managed_object, attributes):
 | 
						|
        """Save a managed object
 | 
						|
 | 
						|
        This saves a managed object into the repository and returns a UUID
 | 
						|
        string that can be used to reference the object in the repository.
 | 
						|
        :param managed_object: managed object to save from secrets.py
 | 
						|
        :param attributes: attributes to store with the managed object
 | 
						|
        :returns: a UUID string that can be used to retrieve the object later
 | 
						|
        """
 | 
						|
        raise NotImplementedError
 | 
						|
 | 
						|
    def get(self, uuid):
 | 
						|
        """Retrieve a managed object
 | 
						|
 | 
						|
        Retrieve a managed object from the repository. The UUID is used to
 | 
						|
        identify the managed object to return. The UUID is returned from the
 | 
						|
        save call.
 | 
						|
 | 
						|
        A tuple is returned that contains the managed object and all of its
 | 
						|
        attributes.
 | 
						|
        :param uuid: UUID of the managed object
 | 
						|
        :returns: (managed_object, attributes) if object exists, otherwise
 | 
						|
        (None, None)
 | 
						|
        """
 | 
						|
        raise NotImplementedError
 | 
						|
 | 
						|
    def update(self, uuid, managed_object, attributes):
 | 
						|
        """Updates a managed object
 | 
						|
 | 
						|
        Updates the values for a managed_object.
 | 
						|
        :param uuid: UUID of the managed object
 | 
						|
        :param managed_object: managed object
 | 
						|
        :param attributes: attributes to store with the managed object
 | 
						|
        :returns: True if object existed and successfully updated, otherwise
 | 
						|
        False
 | 
						|
        """
 | 
						|
        raise NotImplementedError
 | 
						|
 | 
						|
    def delete(self, uuid):
 | 
						|
        """Delete a managed object from the repository
 | 
						|
 | 
						|
        Delete a managed object from the repository.
 | 
						|
        :param uuid: UUID of the managed object
 | 
						|
        :returns: True if successfully deleted, False if not found
 | 
						|
        """
 | 
						|
        raise NotImplementedError
 |