Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ability to Add, Modify, Set and Delete attributes, Query and Poll. #547

Open
KBassford opened this issue Jun 13, 2019 · 1 comment
Open

Comments

@KBassford
Copy link

KBassford commented Jun 13, 2019

This issue is an expansion of #277 and then some, so excuse the catch-all and feel free to split this issue into components if you so choose.

Attributes ...

  1. At present only a select few attributes are populated, and there are some that appear to be part of the object (get command) that do not seem to be populated, but are repeated under the attributes section (get_attributes command) where they are populated.

  2. As noted in our conversations, the commands add_attribute, adjust_attribute, delete_attribute, modify_attribute and set_attribute are not implemented yet. KMIP 2.0 radically rewrote how attributes are handled, basically allowing users to create custom attributes, which has only complicated implementation. I would suggest only concentrating on set_attribute (which can add or modify), revising get_attributes to handle the new paradigm, then delete_attribute. The other commands are redundant to the functionality provided by the three aforementioned commands.

Other commands ...

  1. Export: Helpful, but not critical. Can be done with a get command followed by a get_attributes command.

  2. Import: Helpful, but not critical. The register command can store an object, but until set_attribute is implemented the attributes associated with that object cannot be set.

  3. Poll: In larger environments the ability to "poll" the status of asynchronous operations will become critical to keep clients from timing out.

  4. Query: As per our conversations, this was implemented in the old ProxyKMIPClient, not yet in the new client.

@PeterHamilton
Copy link
Contributor

Thanks for filing this @KBassford . For now we can keep this as an overarching tracker for these different features and link in smaller issues as each part gets addressed.

PeterHamilton added a commit that referenced this issue Oct 31, 2019
This change adds support for the CurrentAttribute structure added
in KMIP 2.0. The CurrentAttribute structure is a basic container
structure that contains a single attribute instance for use by
attribute operations. A new unit test suite has been added to cover
the new additions.

Partially implements #547
PeterHamilton added a commit that referenced this issue Nov 1, 2019
This change adds support for the CurrentAttribute structure added
in KMIP 2.0. The CurrentAttribute structure is a basic container
structure that contains a single attribute instance for use by
attribute operations. A new unit test suite has been added to cover
the new additions.

Partially implements #547
PeterHamilton added a commit that referenced this issue Nov 1, 2019
This change adds support for the DeleteAttribute operation in the
form of request and response payload structures. These will be used
in a future updates by the client and server to fully support the
DeleteAttribute operation. A new unit test suite has been added to
cover the new changes.

Partially implements #547
PeterHamilton added a commit that referenced this issue Nov 1, 2019
This change adds support for the DeleteAttribute operation in the
form of request and response payload structures. These will be used
in a future updates by the client and server to fully support the
DeleteAttribute operation. A new unit test suite has been added to
cover the new changes.

Partially implements #547
PeterHamilton added a commit that referenced this issue Nov 8, 2019
This change adds DeleteAttribute operation support to the PyKMIP
server, supporting functionality unique to KMIP 1.0 - 1.4 and the
newer KMIP 2.0. Due to the current list of attributes supported
by the server, only multivalued attributes can currently be
deleted from a stored KMIP object. Over a dozen unit tests have
been added to verify the functionality of the new additions.

Partially implements #547
PeterHamilton added a commit that referenced this issue Nov 8, 2019
This change adds DeleteAttribute operation support to the PyKMIP
server, supporting functionality unique to KMIP 1.0 - 1.4 and the
newer KMIP 2.0. Due to the current list of attributes supported
by the server, only multivalued attributes can currently be
deleted from a stored KMIP object. Over a dozen unit tests have
been added to verify the functionality of the new additions.

Partially implements #547
PeterHamilton added a commit that referenced this issue Nov 8, 2019
This change adds DeleteAttribute operation support to the PyKMIP
server, supporting functionality unique to KMIP 1.0 - 1.4 and the
newer KMIP 2.0. Due to the current list of attributes supported
by the server, only multivalued attributes can currently be
deleted from a stored KMIP object. Over a dozen unit tests have
been added to verify the functionality of the new additions.

Partially implements #547
PeterHamilton added a commit that referenced this issue Nov 15, 2019
This change adds DeleteAttribute support to the ProxyKmipClient,
leveraging the new generic request capability in the underlying
KMIPProxy client. Going forward all new attribute support will
leverage the new request capability and older supported operations
will be migrated to use it as well, with the ultimate vision
being a final merger of the two client classes into one easy to
use architecture. New unit tests have been added to cover the new
client additions.

Partially implements #547
PeterHamilton added a commit that referenced this issue Nov 15, 2019
This change adds DeleteAttribute support to the ProxyKmipClient,
leveraging the new generic request capability in the underlying
KMIPProxy client. Going forward all new attribute support will
leverage the new request capability and older supported operations
will be migrated to use it as well, with the ultimate vision
being a final merger of the two client classes into one easy to
use architecture. New unit tests have been added to cover the new
client additions.

Partially implements #547
PeterHamilton added a commit that referenced this issue Nov 15, 2019
This change adds support for the NewAttribute structure added
in KMIP 2.0. The NewAttribute structure is a basic container
structure that contains a single attribute instance for use by
attribute operations. A new unit test suite has been added to cover
the new additions.

Partially implements #547
PeterHamilton added a commit that referenced this issue Nov 18, 2019
This change adds support for the NewAttribute structure added
in KMIP 2.0. The NewAttribute structure is a basic container
structure that contains a single attribute instance for use by
attribute operations. A new unit test suite has been added to cover
the new additions.

Partially implements #547
PeterHamilton added a commit that referenced this issue Nov 19, 2019
This change adds support for the SetAttribute operation in the
form of request and response payload structures. These will be used
in future updates to the client and server to fully support the
SetAttribute operation. A new unit test suite has been added to
cover the new changes.

Partially Implements #547
PeterHamilton added a commit that referenced this issue Nov 20, 2019
This change adds support for the SetAttribute operation in the
form of request and response payload structures. These will be used
in future updates to the client and server to fully support the
SetAttribute operation. A new unit test suite has been added to
cover the new changes.

Partially Implements #547
PeterHamilton added a commit that referenced this issue Nov 21, 2019
This change adds support for the ModifyAttribute operation in the
form of request and response payload structures. These will be used
in future updates to the client and server to fully support the
ModifyAttribute operation. A new unit test suite has been added to
cover the new changes.

Partially Implements #547
PeterHamilton added a commit that referenced this issue Nov 21, 2019
This change adds support for the ModifyAttribute operation in the
form of request and response payload structures. These will be used
in future updates to the client and server to fully support the
ModifyAttribute operation. A new unit test suite has been added to
cover the new changes.

Partially Implements #547
PeterHamilton added a commit that referenced this issue Nov 22, 2019
This change adds SetAttribute operation support to the PyKMIP
server, including additional attribute policy functionality to
check for certain attribute characteristics that preclude
SetAttribute operation functionality. Specifically, the operation
cannot set the value of any multivalued attribute nor the value
of any attribute not modifiable by the client. New unit tests
have been added to cover these changes.

Partially implements #547
PeterHamilton added a commit that referenced this issue Nov 22, 2019
This change adds SetAttribute operation support to the PyKMIP
server, including additional attribute policy functionality to
check for certain attribute characteristics that preclude
SetAttribute operation functionality. Specifically, the operation
cannot set the value of any multivalued attribute nor the value
of any attribute not modifiable by the client. New unit tests
have been added to cover these changes.

Partially implements #547
PeterHamilton added a commit that referenced this issue Nov 22, 2019
This change adds SetAttribute support to the ProxyKmipClient,
leveraging the new generic request capability in the underlying
KMIPProxy client. New unit tests have been added to cover the new
client additions.

Partially implements #547
PeterHamilton added a commit that referenced this issue Nov 22, 2019
This change adds SetAttribute support to the ProxyKmipClient,
leveraging the new generic request capability in the underlying
KMIPProxy client. New unit tests have been added to cover the new
client additions.

Partially implements #547
PeterHamilton added a commit that referenced this issue Nov 27, 2019
This change adds ModifyAttribute support to the ProxyKmipClient,
leveraging the new generic request capability in the underlying
KMIPProxy client. New unit tests have been added to cover the new
client additions.

Partially implements #547
PeterHamilton added a commit that referenced this issue Nov 27, 2019
This change adds ModifyAttribute support to the ProxyKmipClient,
leveraging the new generic request capability in the underlying
KMIPProxy client. New unit tests have been added to cover the new
client additions.

Partially implements #547
PeterHamilton added a commit that referenced this issue Dec 6, 2019
This change adds ModifyAttribute operation support to the PyKMIP
server, including additional attribute policy functionality to
check for certain attribute characteristics that preclude
ModifyAttribute operation functionality. New unit tests have been
added to cover these changes.

Partially implements #547
PeterHamilton added a commit that referenced this issue Dec 9, 2019
This change adds ModifyAttribute operation support to the PyKMIP
server, including additional attribute policy functionality to
check for certain attribute characteristics that preclude
ModifyAttribute operation functionality. New unit tests have been
added to cover these changes.

Partially implements #547
PeterHamilton added a commit that referenced this issue Dec 9, 2019
This change adds ModifyAttribute operation support to the PyKMIP
server, including additional attribute policy functionality to
check for certain attribute characteristics that preclude
ModifyAttribute operation functionality. New unit tests have been
added to cover these changes.

Partially implements #547
PeterHamilton added a commit that referenced this issue Dec 13, 2019
This change updates the request and response payload factories to
add support for the Set, Modify, and DeleteAttribute payloads.
Unit tests have been added to cover the changes.

Partially implements #547
PeterHamilton added a commit that referenced this issue Dec 13, 2019
This change updates the request and response payload factories to
add support for the Set, Modify, and DeleteAttribute payloads.
Unit tests have been added to cover the changes.

Partially implements #547
PeterHamilton added a commit that referenced this issue Dec 13, 2019
This change adds ProxyKmipClient demos for the new Set, Modify,
and Delete Attribute operations. The demos are not intended for
general use but instead to show how the client can be used to
execute these new operations against a KMIP server. See the
demo scripts themselves for more information.

Partially implements #547
PeterHamilton added a commit that referenced this issue Dec 13, 2019
This change adds ProxyKmipClient demos for the new Set, Modify,
and Delete Attribute operations. The demos are not intended for
general use but instead to show how the client can be used to
execute these new operations against a KMIP server. See the
demo scripts themselves for more information.

Partially implements #547
PeterHamilton added a commit that referenced this issue Dec 13, 2019
This change adds ProxyKmipClient demos for the new Set, Modify,
and Delete Attribute operations. The demos are not intended for
general use but instead to show how the client can be used to
execute these new operations against a KMIP server. See the
demo scripts themselves for more information.

Partially implements #547
PeterHamilton added a commit that referenced this issue Dec 13, 2019
This changes fixes a minor bug with proper attribute index range
checking in the server implementation of ModifyAttribute. A corner
case that previously slipped through index checking and testing
has been closed. An existing unit test has been modified to fix
this bug.

Partially implements #547
PeterHamilton added a commit that referenced this issue Dec 13, 2019
This change adds entries for the SetAttribute operation for each
object type in the default server operation policy. This enables
future SetAttribute operation integration tests.

Partially implements #547
PeterHamilton added a commit that referenced this issue Dec 13, 2019
This change adds entries for the SetAttribute operation for each
object type in the default server operation policy. This enables
future SetAttribute operation integration tests.

Partially implements #547
PeterHamilton added a commit that referenced this issue Dec 13, 2019
This changes fixes a minor bug with proper attribute index range
checking in the server implementation of ModifyAttribute. A corner
case that previously slipped through index checking and testing
has been closed. An existing unit test has been modified to fix
this bug.

Partially implements #547
PeterHamilton added a commit that referenced this issue Dec 13, 2019
This change adds entries for the SetAttribute operation for each
object type in the default server operation policy. This enables
future SetAttribute operation integration tests.

Partially implements #547
PeterHamilton added a commit that referenced this issue Dec 13, 2019
This change adds integration tests for the client and server for
the Modify and DeleteAttribute operations, proving they work in
tandem. Minor bug fixes in the client are included to enable
correct test execution.

Partially implements #547
PeterHamilton added a commit that referenced this issue Dec 13, 2019
This change adds integration tests for the client and server for
the Modify and DeleteAttribute operations, proving they work in
tandem. Minor bug fixes in the client are included to enable
correct test execution.

Partially implements #547
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants